mesa/src
Marcin Ślusarz 3f5449f049 iris: fix scratch address patching for TESS_EVAL stage
Scratch patching code in iris_upload_dirty_render_state (see MERGE_SCRATCH_ADDR
calls) assumes that in all shader stages derived_data field stores 3DSTATE_XS
packet first.

This is not true for TESS_EVAL (DS), so we end up patching 3DSTATE_TE
instead of 3DSTATE_DS leading to DWordLength becoming 11 instead of 9
(9 == 3DSTATE_DS.DWordLength, 2 == 3DSTATE_TE.DWordLength, and 9|2 == 11),
and hardware hanging on the next instruction.

Fix this by reversing the order of packets for TESS_EVAL stage.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5499

Fixes: 4256f7ed58 ("iris: Fill out scratch base address dynamically")
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13358>
(cherry picked from commit 5387522bd0)
2021-10-15 09:05:23 -07:00
..
amd ac/surface: don't overwrite DCC settings for imported buffers 2021-10-14 16:35:40 +00:00
android_stub egl/android: refactor to use the legit vndk/window.h header 2021-06-09 21:07:54 +00:00
asahi agx: Plug memory leak in register allocator 2021-07-26 12:16:50 -07:00
broadcom v3d: add R10G10B10X2_UNORM to format table 2021-09-28 12:31:55 -07:00
compiler nir/loop_unroll: Always unroll loops that iterate at most once 2021-10-14 13:19:22 -07:00
drm-shim drm-shim: Support kernels with >4k pages 2021-08-16 11:40:28 -07:00
egl egl: set TSD as NULL after deinit 2021-10-15 09:05:22 -07:00
etnaviv android: Drop the Android.mk build system 2021-07-08 14:44:02 -05:00
freedreno freedreno/drm: Move pipe unref after fence removal 2021-10-11 09:19:40 -07:00
gallium iris: fix scratch address patching for TESS_EVAL stage 2021-10-15 09:05:23 -07:00
gbm gbm/dri: Fix leaking bo memory on failure path 2021-07-13 11:15:44 +00:00
getopt scons: Remove. 2021-03-20 10:38:55 +00:00
glx glx: Prevent crashes when an extension isn't found 2021-09-08 11:27:45 -07:00
gtest
hgl hgl: Major refactor and cleanup 2021-01-09 20:51:35 -06:00
imgui
intel isl: only bump the min row pitch for display when not specified 2021-10-14 13:19:30 -07:00
loader loader/dri3: fix swap out of order when changing swap interval 2021-10-01 08:57:31 -07:00
mapi glthread: use custom marshal/unmarshal for CallList 2021-07-09 10:05:46 +00:00
mesa i965: Emit a NULL surface for buffer textures with no buffer 2021-10-15 09:05:21 -07:00
microsoft nir: Drop nir_ssa_def::name and nir_register::name 2021-07-08 17:34:41 +00:00
nouveau nouveau: add drm-shim support 2021-01-11 22:45:01 +00:00
panfrost panfrost: Move special_varying to compiler definitions 2021-10-06 10:05:06 -07:00
tool pps: Panfrost pps driver 2021-07-13 11:03:55 +00:00
util util/fossilize_db: Don't corrupt keys during entry read. 2021-09-08 11:27:44 -07:00
virtio venus: free queues after vkDestroyDevice is emitted 2021-08-09 14:46:36 -07:00
vulkan vulkan: Set unused entrypoints to vk_entrypoint_stub when compiling with MSVC 2021-10-14 13:19:31 -07:00
meson.build panfrost: Add a Vulkan driver for Midgard/Bifrost GPUs 2021-06-22 14:07:34 +00:00