Closed Bug 1955911 Opened 1 year ago Closed 11 months ago

Use correct pixel format for exported dmabuf surfaces [FEATURE_DMABUF_SURFACE_EXPORT]

Categories

(Core :: Widget: Gtk, defect)

defect

Tracking

()

RESOLVED FIXED
139 Branch
Tracking Status
firefox139 --- fixed

People

(Reporter: stransky, Assigned: stransky)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

If Linux/HDR rendering is used, we need to clear framebuffer of WebGL. Shared&recycled surfaces are used for framebuffer so it contains content of previous frames.

Severity: -- → S3

Happens if FEATURE_DMABUF_SURFACE_EXPORT is used only.

Summary: Clear WebGL frame buffer background for direct compositing → Clear WebGL frame buffer background for direct compositing [FEATURE_DMABUF_SURFACE_EXPORT]

Looks like working in KDE, broken in Mutter only.

Flags: needinfo?(stransky)

Doesn't look to be a problem with simple frame buffer clear. If I disable surface recycling and clear dmabuf surfaces before use, there is still transparent/missing background. Produces different results with alpha set.

More investigation reveals we create GBM buffers as transparent while exported ones are marked as opaque so we don't paint underlying layer and we see the artifacts here.

Component: Graphics: WebRender → Widget: Gtk
Summary: Clear WebGL frame buffer background for direct compositing [FEATURE_DMABUF_SURFACE_EXPORT] → Use correct pixel format for exported dmabuf surfaces [FEATURE_DMABUF_SURFACE_EXPORT]
  • Translate DRM formats to gfx::SurfaceFormat.
  • Update DMABufSurface::HasAlpha() for different drm formats.
Assignee: nobody → stransky
Status: NEW → ASSIGNED
Flags: needinfo?(stransky)
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/7b87c7308511 [Linux] Get correct DRM surface format for dmabuf surfaces created by EGL_MESA_image_dma_buf_export r=emilio https://hg.mozilla.org/integration/autoland/rev/1cc6a56b71a1 [Linux] Don't create DMABufSurface with unsupported DRM format r=emilio
Status: ASSIGNED → RESOLVED
Closed: 11 months ago
Resolution: --- → FIXED
Target Milestone: --- → 139 Branch
Blocks: 1959086
QA Whiteboard: [qa-triage-done-c140/b139]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: