gecko-dev/gfx
Jamie Nicol 1229a40148 Bug 1828248 - Use QCOM_tiled_rendering when rendering color and picture cache targets. r=gfx-reviewers,nical
We have seen reports that various websites, including twitter, perform
poorly on older Adreno devices due, to backdrop filter. We previously
encountered similar on Mali-G710 devices in bug 1809738, and it
appeared to be due to having to copy the contents of large
framebuffers--required to render the backdrop filter--to and from the
GPU's tile memory. On Mali we were able to avoid this penalty by
ensuring we performed an unscissored clear immediately after binding
the framebuffer, allowing the driver to omit initalizing the contents
of tile memory prior to rendering.

It's plausible that older Adreno drivers are not clever enough to be
able to make this optimization. However, there exists an extension
QCOM_tiled_rendering, which allows us to explicitly tell the driver
which subregion of a render target we are rendering too, and whether
it must be pre-initilized or post-resolved.

This patch makes use of this extension when rendering to color and
picture cache targets. In both cases we supply the region that is
being rendered and must only resolve the color attachment back to main
memory. In most cases we can additionally avoid initializing tile
memory prior to rendering, with the exception being in
draw_color_target() when we do not perform an initial clear, in which
case we must initialize the color attachment.

This results in a significant performance improvement on twitter when
tested on a Nexus 5 (Adreno 330) device.

Differential Revision: https://phabricator.services.mozilla.com/D176154
2023-04-24 16:37:07 +00:00
..
2d Bug 1829507: Fix typo in DrawEventRecorder.h. r=jrmuizel 2023-04-23 02:05:57 +00:00
angle Bug 1794292 - [ANGLE] cherry-pick init-gl-point-size. r=gfx-reviewers,bradwerth 2023-03-30 21:54:32 +00:00
cairo Bug 1803059 - Remove obsolete patch files from gfx/cairo, and create patch files to record locally-applied fixes. r=gfx-reviewers,lsalzman DONTBUILD 2022-12-14 16:18:01 +00:00
config Bug 1818047 - Add prefs to control WebRender scissored cache clears. r=gfx-reviewers,jrmuizel 2023-02-21 20:50:58 +00:00
docs Bug 1780018 - Fix the link for reftests docs in APZ docs. r=botond 2022-07-18 16:57:32 +00:00
gl Backed out 6 changesets (bug 1829303, bug 1828071) for causing causing Linux crashes (bug 1829462) a=backout 2023-04-24 12:50:04 +03:00
graphite2 Bug 1802158 - Remove gfx/graphite2 dead C++ cluster 2. r=sylvestre 2022-11-30 16:14:08 +00:00
harfbuzz Bug 1820063 - Update harfbuzz to 7.1.0 r=jfkthame 2023-03-03 09:20:12 +00:00
ipc Bug 1824465 - Part 9: Make PVsyncBridge refcounted, r=ipc-reviewers,mccr8 2023-04-19 22:10:08 +00:00
layers Merge mozilla-central to autoland a=merge on a CLOSED TREE 2023-04-24 13:02:02 +03:00
ots Bug 1827704 - Migrate to the upstream wasm2c for RLBox sandboxing r=glandium 2023-04-21 01:31:35 +00:00
qcms Bug 1799258 - [qcms] Add query for profile data and lut tables. r=jrmuizel 2023-03-13 21:04:09 +00:00
skia Bug 1829203 - Fix valgrind suppression in Skia. r=aosmond 2023-04-20 19:14:22 +00:00
src Bug 1821815 - Remove some unused ServoStyleConstsInlines includes. r=boris 2023-03-11 02:00:25 +00:00
tests Bug 1804140 - Enable SHIP by default on desktop, whether or not Fission is disabled. r=smaug,jgraham,webdriver-reviewers,whimboo 2023-04-18 07:07:05 +00:00
thebes Backed out 6 changesets (bug 1829303, bug 1828071) for causing causing Linux crashes (bug 1829462) a=backout 2023-04-24 12:50:04 +03:00
vr Bug 1824465 - Part 16: Make PVRManager refcounted, r=ipc-reviewers,mccr8 2023-04-19 22:10:09 +00:00
webrender_bindings Bug 1828248 - Update gleam to 0.15. r=gfx-reviewers,supply-chain-reviewers,jrmuizel 2023-04-24 16:37:06 +00:00
wgpu_bindings Bug 1829121 - Update wgpu to revision 25cb9f61e9a6be572ee42536bbe57aa5f759a700. r=webgpu-reviewers,ErichDonGubler 2023-04-21 15:39:25 +00:00
wr Bug 1828248 - Use QCOM_tiled_rendering when rendering color and picture cache targets. r=gfx-reviewers,nical 2023-04-24 16:37:07 +00:00
ycbcr Bug 1698699 - P7 - add missing include for hybrid builds. r=ng 2022-06-28 16:29:41 +00:00
metrics.yaml Bug 1784297 Remove "pseudo-main" ping r=TravisLong 2022-11-14 19:58:20 +00:00
moz.build Bug 1822594 - remove webrender test schedule. r=jmaher,ahal 2023-03-20 10:45:48 +00:00