gecko-dev/gfx/angle/cherry_picks.txt

184 lines
7.2 KiB
Plaintext

commit 419cd2c3213b594f8e2488bf48034fed20ace81d
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date: Mon Mar 27 13:05:36 2023 -0400
Translator: Initialize out arguments too for WebGL
Local variables were initialized for WebGL, but not `out` arguments.
However, `out` arguments completely overwrite the passed-in variable at
call site, so they should also be zeroed out.
Bug: chromium:1425685
Change-Id: Ib2f61a962eea74c4933aafa4d5ad377189cec578
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4375137
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
commit 7918168436578718b234bfd56da152e34a85af1d
Author: Kelsey Gilbert <kelsey.gilbert@mozilla.com>
Date: Tue Jun 4 15:37:29 2024 -0700
Add GLSL variable byte size limits to ShBuiltInResources.
commit 31c0a5bff1330706aff3c4594c8166745814a45b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date: Wed May 3 13:41:36 2023 -0400
WebGL: Limit total size of private data
... not just individual arrays.
Bug: chromium:1431761
Change-Id: I721e29aeceeaf12c3f6a67b668abffb8dfbc89b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4503753
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
commit ddaf44ac75d5d0390873c2af193e02159ecbe672
Author: Geoff Lang <geofflang@chromium.org>
Date: Fri Dec 8 13:20:36 2023 -0500
Validate Uniform variable limits with each iteration
VariablePacker would loop over all variables and sum up the total
row counts before validating. Each variable can take hundreds of rows
so it is possible to overflow the counters before validating them.
Validate the limits with each iteration and early-out when the limits
are exceeded.
https://bugzilla.mozilla.org/show_bug.cgi?id=1864587
Bug: chromium:1864587
Change-Id: Ic235ada1516a0d5a9948d82b22f6316a037c09ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5106408
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
commit 6784271c1c6273a1be0b6a2dad9ac7b921521ad8
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date: Tue Mar 28 11:43:23 2023 -0400
Translator: Limit the size of private variables in WebGL shaders
As a follow up to
https://chromium-review.googlesource.com/c/angle/angle/+/3023033, the
limit to shader-private variables (locals and globals) is further
reduced to 1MB. A variable that large will not fit in GPU registers and
will spill to memory, killing performance.
Bug: chromium:1427865
Change-Id: I77314d4b891c591cd9a83ad2aebb77d7256f3ada
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4377639
Reviewed-by: Kenneth Russell <kbr@chromium.org>
commit 23347851217a581f3b9d877af203a0dcc4b7b6e9
Author: Kelsey Gilbert <kelsey.gilbert@mozilla.com>
Date: Wed Mar 29 16:13:39 2023 -0700
Add ShCompileOptions.initGLPointSize.
Change-Id: I1d998867f3e829ed0dc8181fa76be5fe701dde70
commit aa3a569c8ddc1122d55663749a6db63e48b3033c
Author: Ashley Hale <ahale@mozilla.com>
Date: Wed Mar 1 18:03:04 2023 -0800
Disable ClearView with scissor on Skylake iGPU because of observed bugs with edge corruption. (#27)
commit d93c05cd2d786f2c624fbf8f4465238b38a771a1
Author: Kelsey Gilbert <jgilbert@mozilla.com>
Date: Thu Sep 8 17:10:21 2022 -0700
Import <cmath> in SymbolTable_ESSL_autogen.cpp.
Fixes Snap builds of Firefox.
Change-Id: I8d71d230d5e4a5a042e6afd4e31342da9a085bed
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
commit 0bf5781fddeb50d02b703dd89cc77b2c5f07e334
Author: Erich Gubler <erichdongubler@gmail.com>
Date: Thu Jan 19 00:20:06 2023 -0500
build(linux): disable `PoolAlloc` to work around `asan` failures
We noticed this causing problems in [Firefox CI][failing-ci].
[failing-ci]: https://treeherder.mozilla.org/jobs?repo=autoland&author=egubler%40mozilla.com&selectedTaskRun=e6KdZgnNTCOE9weaOnTjVQ.0
commit ea4d354f6cfc83c31446a855f3fd5603737eae76
Author: Erich Gubler <erichdongubler@gmail.com>
Date: Wed Nov 16 20:54:23 2022 -0500
fix(windows,pre-c++20): use default ctors for `std::atomic<angle::Mutex*>`
commit 9bcfaed62b60e210004217fd5e79c25f3e2b3760
Author: Jeff Gilbert <jdashg@gmail.com>
Date: Thu Jul 15 15:56:45 2021 -0700
Add missing header to build config.
commit 16baec7195df362b9d615ccb7e5d51673501e10e
Author: Jeff Gilbert <jdashg@gmail.com>
Date: Thu Feb 11 17:34:00 2021 -0800
Don't assert for non-sampleable non-ms sources in blitRenderbufferRect if we can CopySubResource.
In Firefox, we can have a source from DirectComposition without
D3D11_BIND_SHADER_RESOURCE. This is fine so long as our formats etc
match enough to hit the CopySubResource path.
Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1692355
commit 43e9d9a7c95b509869a774fab62bf42d6d15b745
Author: Jeff Muizelaar <jrmuizel@gmail.com>
Date: Wed May 6 14:04:42 2020 -0400
Don't use ClearView if we previously used dual source blending on Intel gen6. (#22)
Doing a ClearView after a dual source blend seems to cause a TDR on
Intel SandyBridge. Presumeably this is because the ClearView is
implemented as a regular draw and the driver doesn't properly set up the
state.
If we detect that this is going to happen we fall back to the manual
draw call path. This lets us use ClearView most of the time still.
commit b16ebaa05424354c06c2ccdccc36df2c7c1b191e
Author: Erich Gubler <erichdongubler@gmail.com>
Date: Wed Nov 9 21:12:44 2022 -0500
Fix broken build from `-Wexit-time-destructors` on Windows x64
commit 4c3a473aec4e09ffacd0466817cb851529087767
Author: Dzmitry Malyshau <dmalyshau@mozilla.com>
Date: Thu Dec 5 13:02:14 2019 -0500
Restrict the slow texture upload workaround to 128bit formats. (#21)
The workaround is slow for having a CPU-visible mirror of the texture, but that mirror is not properly recycled with regards to GPU usage, thus causing a CPU stall on update.
Original reports were related to WebRender vertex texture updates that are RGBA32F and RGBA32U formats. Limiting the workaround to these formats would allow the affected platforms to upload regular texture data faster without stalls.
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
Above: cherries picked
================================================================================
Below: merge base from: origin/chromium/5359
commit ceec659ac60b0c8ee9d9c602ca1a878ec1d3a88f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date: Mon Oct 31 10:29:45 2022 -0400
M108: Vulkan: Disable logicOp dynamic state on Intel/Mesa
Hits a stack overflow inside the driver.
Bug: chromium:1379201
Change-Id: I790d7ef0333ba17eedbe91e4fc9c3a2b94563bff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4004440
Reviewed-by: Yuxin Hu <yuxinhu@google.com>