mesa/src/amd
Qiang Yu 67244fc88a aco: remove p_end_with_regs from needs_exact()
ps needs to handle wqm:
1. main part may compute with args from prolog in wqm mode, so
   prolog need to compute these args in wqm mode too.
2. prolog and main part need to end with exact exec, so next
   shader part which inherit previous shader part's exec won't
   do valid job for helper threads

1 need p_end_with_regs to operate in wqm mode and itself can't
be exact, otherwise some move instruction added by it won't be
in wqm mode so helper threads' compute result is not passed to
next shader part as args.

2 is done by p_end_wqm added by finish_program automatically
after p_end_with_regs.

Piglit tests can trigger the problem:

1. gl-2.1-polygon-stipple-fs
  a. ps prolog call discard_if
  b. ps main pass wqm exec to epilog
  c. ps epilog export color for discarded pixel

2. fs-fwidth-color.shader_test
  a. ps prolog need to pass args computed in wqm mode
  b. set p_end_with_regs to exact will end wqm mode before
     the move instructions, so helper threads's result is not
     passed to next shader part

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24973>
2023-10-10 02:36:33 +00:00
..
addrlib amd: rename GFX110x to NAVI31-33 2023-09-30 23:08:47 +00:00
ci ci: skip dEQP-VK.api.driver_properties.conformance_version for everyone 2023-10-06 17:37:20 +00:00
common ac,radeonsi: move ps arg pos_fixed_pt to ac_shader_args 2023-10-10 02:36:33 +00:00
compiler aco: remove p_end_with_regs from needs_exact() 2023-10-10 02:36:33 +00:00
drm-shim amd: rename GFX110x to NAVI31-33 2023-09-30 23:08:47 +00:00
llvm ac/llvm: fix flat PS input corruption 2023-09-30 23:08:47 +00:00
registers ac: change offsets of DMA_DATA dwords to prevent reg offset conflicts 2023-08-19 19:36:55 +00:00
vulkan radv: fix re-emitting streamout descriptors for NGG streamout 2023-10-06 22:51:31 +00:00
meson.build meson: build radeonsi with aco 2023-05-15 02:01:10 +00:00