gecko-dev/gfx
Jamie Nicol 942a3f5367 Bug 1826134 - Avoid interleaving glBufferSubData calls with draw calls in DrawTargetWebgl. r=gfx-reviewers,jgilbert,lsalzman
DrawTargetWebgl renders a path by uploading vertex data to the back of
a large VBO using glBufferSubData then issuing a draw call, orphaning
the buffer when it becomes full. This results in many glBufferSubData
calls being interleaved with draw calls. On Mali GPUs this causes
severe performance issues as the driver is unable to determine that
any pending draw calls do not reference the updated region of the
buffer, and therefore must create a copy of the buffer for each
update.

However, since *we* know that we never overwrite a region that is
referenced by a submitted draw call, we can force the driver to avoid
making these copies. We do so by adding a new function
UnsynchronizedBufferSubData(), which acts like BufferSubData so long
as this rule is followed. Internally, this uses glMapBufferRange with
GL_MAP_UNSYNCHRONIZED_BIT, allowing the driver to omit the extraneous
copies.

Differential Revision: https://phabricator.services.mozilla.com/D174685
2023-04-07 07:25:50 +00:00
..
2d Bug 1816775 - Handle OP_CLEAR in DrawTargetD2D1. r=aosmond 2023-03-31 07:51:00 +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 Bug 1826134 - Avoid interleaving glBufferSubData calls with draw calls in DrawTargetWebgl. r=gfx-reviewers,jgilbert,lsalzman 2023-04-07 07:25:50 +00: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 Backed out 24 changesets (bug 1824465) for causing failures in nsISupportsImpl.cpp CLOSED TREE 2023-04-06 01:50:55 +03:00
layers Bug 1826743 - Run root-scrollbar-async-zoomed-{in,out} with apz.scrollthumb.recalc=true on desktop. r=dlrobertson 2023-04-07 03:51:28 +00:00
ots Bug 1761233 - Apply VDMX sanitization fix from https://github.com/khaledhosny/ots/pull/250 to avoid generating invalid "sanitized" data. r=gfx-reviewers,lsalzman 2022-10-06 10:05:26 +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 1822827 - Remove explicit NEON flags from skia build r=glandium 2023-03-17 22:59:50 +00:00
src Bug 1821815 - Remove some unused ServoStyleConstsInlines includes. r=boris 2023-03-11 02:00:25 +00:00
tests Bug 1824173 - Automatically fix some ESLint issues raised by the valid-jsdoc configuration. r=mossop,webcompat-reviewers,denschub 2023-03-24 19:35:24 +00:00
thebes Bug 1826013 - Tidy up BreakAndMeasureText params, and replace some never-NULL pointers with references. r=gfx-reviewers,lsalzman 2023-04-03 08:19:49 +00:00
vr Backed out 24 changesets (bug 1824465) for causing failures in nsISupportsImpl.cpp CLOSED TREE 2023-04-06 01:50:55 +03:00
webrender_bindings Bug 1826280 - Add RemoteTexture async waiting capability r=gfx-reviewers,lsalzman 2023-04-06 05:27:08 +00:00
wgpu_bindings Bug 1808602: Implement 'dom.webgpu.wgpu-backend' pref. r=jrmuizel 2023-03-23 21:27:05 +00:00
wr Bug 1825518 - Use highp for v_color_mat varying to avoid crash on Mali-T devices. r=gfx-reviewers,lsalzman 2023-04-05 16:17:19 +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