gecko-dev/gfx
Jamie Nicol 34616ad68b Bug 1507074 - Use GL_OES_EGL_image_external to render external textures. r=nical
On android video data is provided to webrender via EGL external
images. Webrender currently relies on the extension
GL_OES_EGL_image_external_essl3 to render these images. Unfortunately,
however, there are a number of devices which support GLES 3, but do
not support GL_OES_EGL_image_external_essl3.

This means we that must use the older GL_OES_EGL_image_external
(non-essl3) extension to render video on such devices. This requires
shaders to be written in ESSL1 rather than ESSL3.

Most of webrender's shaders use too many modern GLSL features to be
compatible with ESSL1. For that reason, this patch implements ESSL1
compatible variants of just the composite and cs_scale shaders, as
they are both relatively simple.

In the happy path, videos are promoted to compositor surfaces and we
simply use this new composite shader variant. In other cases, this
patch makes it so that we use a render task to perform a copy of the
video frame using the cs_scale shader, then the output of that render
task can be rendered using the regular ESSL3 TEXTURE_2D variant of
whatever shader is required. The extra copy is unfortunate, but
rewriting every shader to be ESSL1 compatible is unrealistic.

Differential Revision: https://phabricator.services.mozilla.com/D108908
2021-03-18 18:31:26 +00:00
..
2d Backed out changeset f155cf6af343 (bug 1697670) for bustage on gfxUtils.cpp. CLOSED TREE 2021-03-17 02:41:15 +02:00
angle Bug 1696581: Fix linter warnings 2021-03-16 20:37:56 +00:00
cairo Bug 1696844 - Fix mask access in pixman sse2 code. r=jrmuizel 2021-03-17 16:49:27 +00:00
config Bug 1698953 - Allow gfx.webrender.force-disable to override Fission requiring WebRender. r=jrmuizel 2021-03-16 20:58:35 +00:00
docs Bug 1541472 - Remove Advanced Layers, since it's disabled everywhere now. r=jrmuizel 2021-02-10 02:04:41 +00:00
gl Bug 1684194 [Linux] Use RenderCompositorEGL on X11/EGL, r=sotaro 2021-03-18 13:46:03 +00:00
graphite2
harfbuzz Bug 1684110 - Define UNICODE on some directories. r=glandium 2021-01-13 22:49:59 +00:00
ipc Backed out changeset f155cf6af343 (bug 1697670) for bustage on gfxUtils.cpp. CLOSED TREE 2021-03-17 02:41:15 +02:00
layers Bug 1698643 - Implement a telemetry probe to collect the input latency from mouseup(followed by a click) to the next composition r=smaug 2021-03-18 14:20:20 +00:00
ots Bug 1696935 - Update OTS to 8.1.4. r=jfkthame 2021-03-10 15:45:45 +00:00
qcms Bug 1698363 - Use trait objects instead of home grown polymorphism. r=aosmond 2021-03-15 18:44:17 +00:00
sfntly
skia Bug 1684050 - choose appropriate stroke res scale for PathSkia::StrokeContainsPoint. r=bobowen 2021-01-14 09:01:54 +00:00
src Bug 1696845 - Use dlsym for gdk_*_display_get_type. r=stransky 2021-03-11 14:32:53 +00:00
tests Bug 1697887 - Remove TransfromPrecache test. r=aosmond 2021-03-14 19:45:47 +00:00
thebes Bug 1667977 - Safely return null if we fail to get a shared-mem block in Pointer::ToPtr. r=jwatt 2021-03-18 10:57:11 +00:00
vr Bug 1634281 - Use nsTHashMap instead of nsDataHashtable. r=xpcom-reviewers,necko-reviewers,jgilbert,nika,valentin 2021-03-10 10:47:47 +00:00
webrender_bindings Bug 1684194 [Linux] Use RenderCompositorEGL on X11/EGL, r=sotaro 2021-03-18 13:46:03 +00:00
wgpu Bug 1697509 - Fix WebGPU shaders and adapter limits r=jgilbert 2021-03-16 22:57:08 +00:00
wgpu_bindings Bug 1697509 - Fix WebGPU shaders and adapter limits r=jgilbert 2021-03-16 22:57:08 +00:00
wr Bug 1507074 - Use GL_OES_EGL_image_external to render external textures. r=nical 2021-03-18 18:31:26 +00:00
ycbcr Bug 1684688 - Fix alpha support in nsAVIFDecoder. r=aosmond 2021-01-26 00:24:57 +00:00
moz.build