1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- From 44a44adecbc97242371cf67f8bbd5553c95fa123 Mon Sep 17 00:00:00 2001
- From: Yaowei Zhou <yaowei.zhou@intel.com>
- Date: Wed, 18 Jan 2023 17:00:50 +0800
- Subject: [PATCH] Adjust the order of wayland drm and zwp dma buf in WaylandBufferFactory
- Adjust the order as buffer format implementation of zwp dma buffer from
- Mutter, which will cause inconsistent with gbm support format list of
- GPU process.
- Bug: N/A
- Change-Id: Ice63c52fbd6eff0a099c35c0943e24c1fd1a1d70
- ---
- diff --git a/ui/ozone/platform/wayland/host/wayland_buffer_factory.cc b/ui/ozone/platform/wayland/host/wayland_buffer_factory.cc
- index 2376d77..7d6c032e 100644
- --- a/ui/ozone/platform/wayland/host/wayland_buffer_factory.cc
- +++ b/ui/ozone/platform/wayland/host/wayland_buffer_factory.cc
- @@ -25,13 +25,13 @@
- uint32_t planes_count,
- wl::OnRequestBufferCallback callback) const {
- DCHECK(SupportsDmabuf());
- - if (wayland_zwp_dmabuf_) {
- + if (wayland_drm_) {
- + wayland_drm_->CreateBuffer(fd, size, strides, offsets, modifiers, format,
- + planes_count, std::move(callback));
- + } else if (wayland_zwp_dmabuf_) {
- wayland_zwp_dmabuf_->CreateBuffer(fd, size, strides, offsets, modifiers,
- format, planes_count,
- std::move(callback));
- - } else if (wayland_drm_) {
- - wayland_drm_->CreateBuffer(fd, size, strides, offsets, modifiers, format,
- - planes_count, std::move(callback));
- } else {
- // This method must never be called if neither zwp_linux_dmabuf or wl_drm
- // are supported.
- @@ -52,10 +52,11 @@
- wl::BufferFormatsWithModifiersMap
- WaylandBufferFactory::GetSupportedBufferFormats() const {
- #if defined(WAYLAND_GBM)
- - if (wayland_zwp_dmabuf_)
- - return wayland_zwp_dmabuf_->supported_buffer_formats();
- - else if (wayland_drm_)
- + if (wayland_drm_) {
- return wayland_drm_->supported_buffer_formats();
- + } else if (wayland_zwp_dmabuf_) {
- + return wayland_zwp_dmabuf_->supported_buffer_formats();
- + }
- #endif
- return {};
- }
- @@ -71,10 +72,11 @@
-
- bool WaylandBufferFactory::CanCreateDmabufImmed() const {
- #if defined(WAYLAND_GBM)
- - if (wayland_zwp_dmabuf_)
- - return wayland_zwp_dmabuf_->CanCreateBufferImmed();
- - else if (wayland_drm_)
- + if (wayland_drm_) {
- return wayland_drm_->CanCreateBufferImmed();
- + } else if (wayland_zwp_dmabuf_) {
- + return wayland_zwp_dmabuf_->CanCreateBufferImmed();
- + }
- #endif
- return false;
- }
|