gecko-dev/gfx/gl
Jamie Nicol 96a8082a23 Bug 1866020 - Override buggy colorspace conversion on Pixel devices. r=gw,padenot,geckoview-reviewers,owlish
Pixel 6, 7, and 8 devices running Android 14 are affected by a bug
where video frames with SMPTE 432 color primaries are rendered
incorrectly when sampled from an external texture in GLES. To work
around this, we force these frames to be converted to RGB using BT709
colorspace instead. While this won't look exactly right, it is much
better than the current situation.

When we detect that a frame is decoded with that color space on an
affected device, we set a "ForceBT709" flag which gets passed through
to webrender as a new ImageBufferKind. Rendering this ImageBufferKind
is handled via a new shader feature TEXTURE_EXTERNAL_BT709, which
works much like the existing TEXTURE_EXTERNAL feature, but
additionally uses the EXT_YUV_TARGET extension to override the
colorspace transformation.

This approach could be extended in the future to handle additional
colorspace transformations, but for now only handles the one required
to workaround this particular driver bug.

Differential Revision: https://phabricator.services.mozilla.com/D195800
2023-12-13 09:06:29 +00:00
..
gtest Bug 1799258 - No-op equal tfs rather than inverting. r=bradwerth 2023-03-13 21:04:10 +00:00
AndroidNativeWindow.h
AndroidSurfaceTexture.cpp
AndroidSurfaceTexture.h
AutoMappable.h
Colorspaces.cpp Bug 1799258 - Fix constexpr issue on base toolchain builds. r=gfx-reviewers,lsalzman 2023-03-13 21:04:13 +00:00
Colorspaces.h Bug 1799258 - Support outByIn.size()<2 in SampleOutByIn. r=bradwerth 2023-03-13 21:04:11 +00:00
ForceDiscreteGPUHelperCGL.h
GfxTexturesReporter.cpp
GfxTexturesReporter.h
GLBlitHelper.cpp Bug 1833855 [Linux] Build dmabuf support on Linux/Gtk and don't request Wayland for it r=lsalzman 2023-06-22 13:42:38 +00:00
GLBlitHelper.h Bug 1833855 [Linux] Build dmabuf support on Linux/Gtk and don't request Wayland for it r=lsalzman 2023-06-22 13:42:38 +00:00
GLBlitHelperD3D.cpp Bug 1855598 - Split GpuProcessD3D11TextureMap class to its own file r=gfx-reviewers,lsalzman 2023-09-28 05:07:06 +00:00
GLConsts.h
GLConsts.py
GLContext.cpp Bug 1829026 - Allow invalidating the current TLS context on establishing TLS scope. r=aosmond 2023-12-12 07:35:02 +00:00
GLContext.h Bug 1829026 - Allow invalidating the current TLS context on establishing TLS scope. r=aosmond 2023-12-12 07:35:02 +00:00
GLContextCGL.h
GLContextEAGL.h Bug 1834922: Update GLContextEAGL method signature to match superclass definition. r=jgilbert 2023-06-16 22:21:24 +00:00
GLContextEGL.h Bug 1856560 [Wayland] Rename SavedGLSurface to WaylandOffscreenGLSurface r=lsalzman 2023-11-15 08:54:58 +00:00
GLContextFeatures.cpp Bug 1825673 - Implement WEBGL_provoking_vertex. r=gfx-reviewers,webidl,lsalzman,saschanaz 2023-04-01 00:33:25 +00:00
GLContextGLX.h
GLContextProvider.h
GLContextProviderCGL.mm Bug 1851529 - Set clang-format ColumnLimit consistently. r=sylvestre,necko-reviewers,kershaw 2023-09-05 11:23:01 +00:00
GLContextProviderEAGL.mm Bug 1851529 - Set clang-format ColumnLimit consistently. r=sylvestre,necko-reviewers,kershaw 2023-09-05 11:23:01 +00:00
GLContextProviderEGL.cpp Bug 1843782 - WebGL software rendering when mesa/vmwgfx driver detected r=gfx-reviewers,bradwerth,jrmuizel,jgilbert 2023-11-29 21:45:27 +00:00
GLContextProviderGLX.cpp
GLContextProviderImpl.h
GLContextProviderLinux.cpp
GLContextProviderNull.cpp
GLContextProviderWGL.cpp Bug 1519636 - Reformat recent changes to the Google coding style r=emilio,media-playback-reviewers,padenot 2023-12-04 10:09:36 +00:00
GLContextSymbols.h Bug 1825673 - Implement WEBGL_provoking_vertex. r=gfx-reviewers,webidl,lsalzman,saschanaz 2023-04-01 00:33:25 +00:00
GLContextTypes.h Backed out changeset 7aa58b8ef68a (bug 1655101) for causing bustages on dom/WebGLIpdl.h. CLOSED TREE 2023-11-30 21:06:53 +02:00
GLContextWGL.h
GLDebugUtils.cpp
GLDebugUtils.h
GLDefs.h
GLLibraryEGL.cpp Bug 1843782 - WebGL software rendering when mesa/vmwgfx driver detected r=gfx-reviewers,bradwerth,jrmuizel,jgilbert 2023-11-29 21:45:27 +00:00
GLLibraryEGL.h
GLLibraryLoader.cpp
GLLibraryLoader.h
GLReadTexImageHelper.cpp Bug 1863367 - Part 2. Refactor ReadPixelsIntoDataSurface to allow reading into buffers. r=gfx-reviewers,lsalzman 2023-11-14 02:04:04 +00:00
GLReadTexImageHelper.h Bug 1863367 - Part 2. Refactor ReadPixelsIntoDataSurface to allow reading into buffers. r=gfx-reviewers,lsalzman 2023-11-14 02:04:04 +00:00
GLScreenBuffer.cpp
GLScreenBuffer.h
GLTextureImage.cpp
GLTextureImage.h
GLTypes.h
GLUploadHelpers.cpp
GLUploadHelpers.h
GLVendor.h Backed out changeset 7aa58b8ef68a (bug 1655101) for causing bustages on dom/WebGLIpdl.h. CLOSED TREE 2023-11-30 21:06:53 +02:00
GLXLibrary.h
HeapCopyOfStackArray.h
moz.build Backed out changeset 7aa58b8ef68a (bug 1655101) for causing bustages on dom/WebGLIpdl.h. CLOSED TREE 2023-11-30 21:06:53 +02:00
MozFramebuffer.cpp
MozFramebuffer.h
ScopedGLHelpers.cpp
ScopedGLHelpers.h
SharedSurface.cpp Bug 1833855 [Linux] Build dmabuf support on Linux/Gtk and don't request Wayland for it r=lsalzman 2023-06-22 13:42:38 +00:00
SharedSurface.h
SharedSurfaceAndroidHardwareBuffer.cpp
SharedSurfaceAndroidHardwareBuffer.h
SharedSurfaceANGLE.cpp Bug 1866412 - Add FenceD3D11 for wrapping ID3D11Fence r=gfx-reviewers,jrmuizel 2023-12-09 11:55:15 +00:00
SharedSurfaceANGLE.h
SharedSurfaceD3D11Interop.cpp Bug 1866412 - Add FenceD3D11 for wrapping ID3D11Fence r=gfx-reviewers,jrmuizel 2023-12-09 11:55:15 +00:00
SharedSurfaceD3D11Interop.h Bug 1824068 - Make gfx/gl buildable outside of a unified build environment r=andi 2023-03-24 07:01:07 +00:00
SharedSurfaceDMABUF.cpp Bug 1833855 [Linux] Build dmabuf support on Linux/Gtk and don't request Wayland for it r=lsalzman 2023-06-22 13:42:38 +00:00
SharedSurfaceDMABUF.h
SharedSurfaceEGL.cpp Bug 1866020 - Override buggy colorspace conversion on Pixel devices. r=gw,padenot,geckoview-reviewers,owlish 2023-12-13 09:06:29 +00:00
SharedSurfaceEGL.h
SharedSurfaceGL.cpp
SharedSurfaceGL.h
SharedSurfaceIO.cpp
SharedSurfaceIO.h
SurfaceTypes.h
WGLLibrary.h