summaryrefslogtreecommitdiffstats
path: root/wayland-egl.patch
blob: 34e274e6c3da3147a4546679bf5beddebbc91b7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc	2020-10-07 09:38:47.000000000 -0700
+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc	2020-10-08 14:09:34.550174093 -0700
@@ -698,7 +698,6 @@
   // The X11/ANGLE implementation can use |vaapi_wrapper_| to copy from an
   // internal libva buffer into an X Pixmap without having to use a processing
   // wrapper.
-#if !defined(USE_X11)
   // If we aren't in BufferAllocationMode::kNone, we have to allocate a
   // |vpp_vaapi_wrapper_| for VaapiPicture to DownloadFromSurface() the VA's
   // internal decoded frame.
@@ -708,6 +707,7 @@
           VaapiWrapper::kVideoProcess, VAProfileNone,
           base::Bind(&ReportVaapiErrorToUMA,
                      "Media.VaapiVideoDecodeAccelerator.Vpp.VAAPIError"));
+#if !defined(USE_X11)
       RETURN_AND_NOTIFY_ON_FAILURE(vpp_vaapi_wrapper_,
                                    "Failed to initialize VppVaapiWrapper",
                                    PLATFORM_FAILURE, );
@@ -715,11 +715,15 @@
       RETURN_AND_NOTIFY_ON_FAILURE(
           vpp_vaapi_wrapper_->CreateContext(gfx::Size()),
           "Failed to create Context", PLATFORM_FAILURE, );
+#else
+      if (vpp_vaapi_wrapper_)
+          vpp_vaapi_wrapper_->CreateContext(gfx::Size());
+#endif  // !defined(USE_X11)
     }
-    vaapi_wrapper_for_picture = vpp_vaapi_wrapper_;
+    vaapi_wrapper_for_picture = (vpp_vaapi_wrapper_)?
+        vpp_vaapi_wrapper_:vaapi_wrapper_for_picture;
   }
 
-#endif  // !defined(USE_X11)
 
   for (size_t i = 0; i < buffers.size(); ++i) {
     // TODO(b/139460315): Create with buffers[i] once the AMD driver issue is
--- a/ui/gl/gl_image_native_pixmap.cc	2020-05-18 11:40:06.000000000 -0700
+++ b/ui/gl/gl_image_native_pixmap.cc	2020-05-22 02:07:16.007770442 -0700
@@ -288,6 +288,8 @@
                                std::move(scoped_fd));
   }
 
+  handle.planes[0].size = size_.GetArea();
+
   return handle;
 #endif  // !defined(OS_FUCHSIA)
 }
--- a/gpu/command_buffer/service/error_state.cc	2020-05-18 11:39:22.000000000 -0700
+++ b/gpu/command_buffer/service/error_state.cc	2020-05-22 13:43:09.181180388 -0700
@@ -115,6 +115,8 @@
     // buffer.
     error = GL_NO_ERROR;
   }
+  if (error == GL_INVALID_ENUM)
+    error = GL_NO_ERROR;
   return error;
 }