mesa/src
Marek Olšák 3632d39835 radeonsi: rewrite si_update_ps_colorbuf0_slot to fix crashes and recursions
I'm convinced that u_blitter interactions with fbfetch can't be handled
in si_update_ps_colorbuf0_slot alone, so it has to be force-disabled
by si_blitter_begin. Another reason why it has to be disabled for u_blitter
and not ignored is because FBFETCH with MSAA enables sample shading
regardless of context states, and we don't want that for u_blitter.

Also, si_update_ps_colorbuf0_slot now disables FBFETCH explicitly before
its own DCC and CMASK decompression because even though u_blitter can't do
anything (due to blitter_running), si_blitter_end calls it too.

The result is that no recursion can occur thanks to the blitter_running
and suppress_update_ps_colorbuf0_slot flags, and FBFETCH is always
force-disabled before those flags are set, which is the state we want
to be in.

Fixes: bc6d22b920 ("radeonsi: fix ps_uses_fbfetch value")

Acked-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20318>
2023-01-10 21:26:39 +00:00
..
amd aco/gfx11: increase vgpr_limit to 256 2023-01-10 16:01:38 +00:00
android_stub
asahi agx: Remove dead arg 2023-01-10 05:19:25 +00:00
broadcom broadcom/ci: drop duplicate job definition 2023-01-10 17:15:16 +00:00
c11 c11: Remove _MTX_INITIALIZER_NP for windows 2022-11-09 04:38:28 +00:00
compiler nir_lower_fragcoord_wtrans: Support Vulkan shaders 2023-01-10 04:25:26 +00:00
drm-shim drm-shim: Use hide_drm_device_path() to hide other drm devices 2022-12-30 15:51:11 -08:00
egl dri: get rid of LIBGL_SHOW_FPS 2023-01-09 14:25:51 +01:00
etnaviv tree-wide: Use __func__ instead of __FUNCTION__ in non-gallium code 2022-11-22 06:53:46 +00:00
freedreno ir3/print: Consider the size of input when matching it to a reg 2023-01-10 12:37:19 +00:00
gallium radeonsi: rewrite si_update_ps_colorbuf0_slot to fix crashes and recursions 2023-01-10 21:26:39 +00:00
gbm gbm: Don't look up the DRI2_FENCE extension. 2022-12-09 05:32:18 +00:00
getopt
glx dri: get rid of LIBGL_SHOW_FPS 2023-01-09 14:25:51 +01:00
gtest gtest: Fix maybe-uninitialized compiler warning 2022-06-29 21:02:18 +00:00
hgl
imagination pvr: Remove PVR_STATIC_CLEAR_.*_BIT and use VkImageAspectFlags. 2023-01-04 16:30:39 +00:00
imgui
intel anv: use the null surface with unused push descriptor binding table entries 2023-01-09 23:00:24 +00:00
loader loader/dri3: Overhaul draw->cur_num_back handling 2023-01-10 10:44:17 +00:00
mapi glx: Remove the GetProcAddress special case for indirect rendering 2023-01-03 23:36:26 +00:00
mesa util/driconf: add Dune: Spice Wars workaround 2023-01-10 03:53:19 +00:00
microsoft microsoft/spirv_to_dxil: Let linking report the need of runtime data 2023-01-10 13:43:01 +00:00
nouveau nir: Eliminate nir_op_i2b 2022-12-14 06:23:21 +00:00
panfrost meson: add missing dependency 2023-01-06 15:40:39 +00:00
tool pps: make pps-producer RT only on freedreno 2022-11-15 21:21:42 +00:00
util util/disk_cache: Fix rw cache lookup when using combined ro+rw caches 2023-01-10 04:53:44 +00:00
virtio ci/venus: temporarily disable due to instability 2023-01-10 19:55:07 +00:00
vulkan vulkan/runtime: Preserve pNext when upgrading to synchronization2 structs 2023-01-03 17:20:30 +00:00
meson.build meson: build radeon drm-shim also for r300 and r600 2022-11-16 14:37:47 +00:00