summaryrefslogtreecommitdiff
path: root/www-client/chromium/files/chromium-vaapi-fix-87.patch
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/chromium/files/chromium-vaapi-fix-87.patch')
-rw-r--r--www-client/chromium/files/chromium-vaapi-fix-87.patch200
1 files changed, 0 insertions, 200 deletions
diff --git a/www-client/chromium/files/chromium-vaapi-fix-87.patch b/www-client/chromium/files/chromium-vaapi-fix-87.patch
deleted file mode 100644
index 231434b..0000000
--- a/www-client/chromium/files/chromium-vaapi-fix-87.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-diff --git a/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc b/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc
-index 843cf226e..af0389503 100644
---- a/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc
-+++ b/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc
-@@ -7,6 +7,8 @@
- #include "media/gpu/vaapi/va_surface.h"
- #include "media/gpu/vaapi/vaapi_wrapper.h"
- #include "ui/base/ui_base_features.h"
-+#include "ui/gfx/x/connection.h"
-+#include "ui/gfx/x/xproto.h"
- #include "ui/gl/gl_bindings.h"
- #include "ui/gl/gl_image_egl_pixmap.h"
- #include "ui/gl/scoped_binders.h"
-@@ -15,25 +17,31 @@ namespace media {
-
- namespace {
-
--inline Pixmap CreatePixmap(const gfx::Size& size) {
-- auto* display = gfx::GetXDisplay();
-- if (!display)
-- return 0;
-+inline ::Pixmap CreatePixmap(const gfx::Size& size) {
-+ auto* connection = x11::Connection::Get();
-+ if (!connection->Ready())
-+ return base::strict_cast<::Pixmap>(x11::Pixmap::None);
-
-- int screen = DefaultScreen(display);
-- auto root = XRootWindow(display, screen);
-- if (root == BadValue)
-- return 0;
-+ auto root = connection->default_root();
-
-- XWindowAttributes win_attr = {};
-- // returns 0 on failure, see:
-- // https://tronche.com/gui/x/xlib/introduction/errors.html#Status
-- if (!XGetWindowAttributes(display, root, &win_attr))
-- return 0;
-+ uint8_t depth = 0;
-+ if (auto reply = connection->GetGeometry({root}).Sync())
-+ depth = reply->depth;
-+ else
-+ return base::strict_cast<::Pixmap>(x11::Pixmap::None);
-
- // TODO(tmathmeyer) should we use the depth from libva instead of root window?
-- return XCreatePixmap(display, root, size.width(), size.height(),
-- win_attr.depth);
-+ auto pixmap = connection->GenerateId<x11::Pixmap>();
-+ uint16_t pixmap_width, pixmap_height;
-+ if (!base::CheckedNumeric<int>(size.width()).AssignIfValid(&pixmap_width) ||
-+ !base::CheckedNumeric<int>(size.height()).AssignIfValid(&pixmap_height)) {
-+ return base::strict_cast<::Pixmap>(x11::Pixmap::None);
-+ }
-+ auto req = connection->CreatePixmap(
-+ {depth, pixmap, root, pixmap_width, pixmap_height});
-+ if (req.Sync().error)
-+ pixmap = x11::Pixmap::None;
-+ return base::strict_cast<::Pixmap>(pixmap);
- }
-
- } // namespace
-@@ -71,11 +79,8 @@ VaapiPictureNativePixmapAngle::~VaapiPictureNativePixmapAngle() {
- DCHECK_EQ(glGetError(), static_cast<GLenum>(GL_NO_ERROR));
- }
-
-- if (x_pixmap_) {
-- if (auto* display = gfx::GetXDisplay()) {
-- XFreePixmap(display, x_pixmap_);
-- }
-- }
-+ if (x_pixmap_)
-+ x11::Connection::Get()->FreePixmap({static_cast<x11::Pixmap>(x_pixmap_)});
- }
-
- Status VaapiPictureNativePixmapAngle::Allocate(gfx::BufferFormat format) {
-diff --git a/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h b/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h
-index de4698abe..41f52376d 100644
---- a/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h
-+++ b/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h
-@@ -46,7 +46,7 @@ class VaapiPictureNativePixmapAngle : public VaapiPictureNativePixmap {
- VASurfaceID va_surface_id() const override;
-
- private:
-- Pixmap x_pixmap_ = 0;
-+ ::Pixmap x_pixmap_ = 0;
-
- DISALLOW_COPY_AND_ASSIGN(VaapiPictureNativePixmapAngle);
- };
-diff --git a/media/gpu/vaapi/vaapi_picture_tfp.cc b/media/gpu/vaapi/vaapi_picture_tfp.cc
-index 9ff0372fa..a571b4b2b 100644
---- a/media/gpu/vaapi/vaapi_picture_tfp.cc
-+++ b/media/gpu/vaapi/vaapi_picture_tfp.cc
-@@ -7,6 +7,7 @@
- #include "media/gpu/vaapi/va_surface.h"
- #include "media/gpu/vaapi/vaapi_wrapper.h"
- #include "ui/base/ui_base_features.h"
-+#include "ui/gfx/x/connection.h"
- #include "ui/gfx/x/x11_types.h"
- #include "ui/gl/gl_bindings.h"
- #include "ui/gl/gl_image_glx.h"
-@@ -33,7 +34,7 @@ VaapiTFPPicture::VaapiTFPPicture(
- texture_id,
- client_texture_id,
- texture_target),
-- x_display_(gfx::GetXDisplay()),
-+ connection_(x11::Connection::Get()),
- x_pixmap_(0) {
- DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
- DCHECK(!features::IsUsingOzonePlatform());
-@@ -49,7 +50,7 @@ VaapiTFPPicture::~VaapiTFPPicture() {
- }
-
- if (x_pixmap_)
-- XFreePixmap(x_display_, x_pixmap_);
-+ connection_->FreePixmap({static_cast<x11::Pixmap>(x_pixmap_)});
- }
-
- Status VaapiTFPPicture::Initialize() {
-@@ -84,16 +85,33 @@ Status VaapiTFPPicture::Allocate(gfx::BufferFormat format) {
- return StatusCode::kVaapiUnsupportedFormat;
- }
-
-- XWindowAttributes win_attr;
-- int screen = DefaultScreen(x_display_);
-- XGetWindowAttributes(x_display_, XRootWindow(x_display_, screen), &win_attr);
-+ if (!connection_->Ready())
-+ return StatusCode::kVaapiNoPixmap;
-+
-+ auto root = connection_->default_root();
-+
-+ uint8_t depth = 0;
-+ if (auto reply = connection_->GetGeometry({root}).Sync())
-+ depth = reply->depth;
-+ else
-+ return StatusCode::kVaapiNoPixmap;
-+
- // TODO(posciak): pass the depth required by libva, not the RootWindow's
- // depth
-- x_pixmap_ = XCreatePixmap(x_display_, XRootWindow(x_display_, screen),
-- size_.width(), size_.height(), win_attr.depth);
-- if (!x_pixmap_) {
-+ auto pixmap = connection_->GenerateId<x11::Pixmap>();
-+ uint16_t pixmap_width, pixmap_height;
-+ if (!base::CheckedNumeric<int>(size_.width()).AssignIfValid(&pixmap_width) ||
-+ !base::CheckedNumeric<int>(size_.height())
-+ .AssignIfValid(&pixmap_height)) {
-+ return StatusCode::kVaapiNoPixmap;
-+ }
-+ auto req = connection_->CreatePixmap(
-+ {depth, pixmap, root, pixmap_width, pixmap_height});
-+ if (req.Sync().error) {
- DLOG(ERROR) << "Failed creating an X Pixmap for TFP";
- return StatusCode::kVaapiNoPixmap;
-+ } else {
-+ x_pixmap_ = base::strict_cast<::Pixmap>(pixmap);
- }
-
- return Initialize();
-diff --git a/media/gpu/vaapi/vaapi_picture_tfp.h b/media/gpu/vaapi/vaapi_picture_tfp.h
-index c4eb2c1b5..8da323717 100644
---- a/media/gpu/vaapi/vaapi_picture_tfp.h
-+++ b/media/gpu/vaapi/vaapi_picture_tfp.h
-@@ -11,6 +11,7 @@
- #include "base/memory/ref_counted.h"
- #include "media/gpu/vaapi/vaapi_picture.h"
- #include "ui/gfx/geometry/size.h"
-+#include "ui/gfx/x/connection.h"
- #include "ui/gl/gl_bindings.h"
-
- namespace gl {
-@@ -47,9 +48,9 @@ class VaapiTFPPicture : public VaapiPicture {
- private:
- Status Initialize();
-
-- Display* x_display_;
-+ x11::Connection* const connection_;
-
-- Pixmap x_pixmap_;
-+ ::Pixmap x_pixmap_;
- scoped_refptr<gl::GLImageGLX> glx_image_;
-
- DISALLOW_COPY_AND_ASSIGN(VaapiTFPPicture);
-diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc
-index 2ad0b997e..a98823343 100644
---- a/media/gpu/vaapi/vaapi_wrapper.cc
-+++ b/media/gpu/vaapi/vaapi_wrapper.cc
-@@ -57,8 +57,13 @@
- #include "ui/gl/gl_implementation.h"
-
- #if defined(USE_X11)
--#include <va/va_x11.h>
- #include "ui/gfx/x/x11_types.h" // nogncheck
-+
-+typedef XID Drawable;
-+
-+extern "C" {
-+#include "media/gpu/vaapi/va_x11.sigs"
-+}
- #endif
-
- #if defined(USE_OZONE)