mesa/src
Alyssa Rosenzweig b8d37eb1bb pan/bi: Schedule around blend shader register clobbering
By software ABI, a blend shader is permitted to clobber registers
R0-R15. The scheduler needs to be aware of this, to avoid moving a write
to one of these registers past the BLEND itself. Otherwise the schedule
is invalid.

This bug affects GLES3.0, but is rare enough in practice that we had
missed it. It requires a fragment shader to write to multiple render
targets with attached blend shaders, and have temporaries register
allocated to R0-R15 that are not read by the blend shader, but are sunk
past the BLEND instruction by the scheduler. Prevents a regression when
switching boolean representations on:

dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry.uvec4_lowp_fragment

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14577>
2022-01-15 21:51:57 +00:00
..
amd spirv,radv: Fix some GL enum comments 2022-01-14 15:08:09 +00:00
android_stub android_stub: update platform headers to include atrace 2021-10-09 00:42:32 +00:00
asahi glsl/nir: don't pass gl_context to the convertor routine. 2022-01-07 06:19:49 +00:00
broadcom anv,lavapipe,v3dv: use wsi_common_get_image 2022-01-14 17:41:42 +00:00
compiler spirv,radv: Fix some GL enum comments 2022-01-14 15:08:09 +00:00
drm-shim
egl replace 0 with NULL for NULL pointers 2022-01-10 22:53:32 +00:00
etnaviv ci: Uprev piglit to af1785f31 2022-01-10 21:52:42 +00:00
freedreno freedreno/decode: Handle chip-id 2022-01-14 23:17:03 +00:00
gallium driconf: Fix unhandled tags in static conf 2022-01-14 22:09:50 +00:00
gbm replace 0 with NULL for NULL pointers 2022-01-10 22:53:32 +00:00
getopt
glx replace 0 with NULL for NULL pointers 2022-01-10 22:53:32 +00:00
gtest gtest: Fix output of array ASSERT/EXPECT macros 2021-11-11 09:53:09 -08:00
hgl
imgui
intel anv: Don't fill lowered_storage_image_param on SKL+ 2022-01-14 21:47:48 +00:00
loader loader: Restore i915g support. 2021-12-09 09:05:23 -08:00
mapi mapi: generate correct dispatch for EXT_draw_instanced 2022-01-03 21:37:34 +00:00
mesa mesa: Remove unused src/mesa/x86-64 2022-01-15 03:14:00 +00:00
microsoft Revert "ci: disable vs2019 windows build" 2022-01-12 21:45:11 +00:00
nouveau
panfrost pan/bi: Schedule around blend shader register clobbering 2022-01-15 21:51:57 +00:00
tool pps: increase intel.cfg buffer size 2022-01-14 20:17:44 +00:00
util driconf: Fix unhandled tags in static conf 2022-01-14 22:09:50 +00:00
virtio venus: VkExternalImageFormatProperties is optional 2022-01-13 02:59:51 +00:00
vulkan vulkan/wsi: add wsi_common_get_image 2022-01-14 17:41:42 +00:00
meson.build meson: make mesa/tests/glx depend on gallium 2021-12-07 13:03:53 +00:00