freedreno,tu: Don't request fragcoord components not being read.
authorHyunjun Ko <zzoon@igalia.com>
Thu, 7 May 2020 06:06:59 +0000 (06:06 +0000)
committerMarge Bot <eric+marge@anholt.net>
Fri, 8 May 2020 17:45:03 +0000 (17:45 +0000)
commit094c7646a3ae4980f76605a922572fe2ed78f6f1
tree5a33b702839a74969ce74456055fb4b18d03ed91
parentab5590e92bc36e2b785a088751c433d31989d778
freedreno,tu: Don't request fragcoord components not being read.

v1. Replace the existed bool type with new bitfield and edit register
files to take a mask instead of duplicating codes to do masking.

v2. Use fragcoord_compmask != 0 instead of fragcoord_compmask > 0 since
it represents a bitfield.

Tested with
  dEQP-VK.glsl.builtin_var.simple.fragcoord_xyz/w
  dEQP-GLES2.functional.shaders.builtin_variable.fragcoord_xyz/w

Closes: #2680
Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4723>
13 files changed:
src/freedreno/ir3/ir3_compiler_nir.c
src/freedreno/ir3/ir3_shader.h
src/freedreno/registers/a3xx.xml
src/freedreno/registers/a4xx.xml
src/freedreno/registers/a5xx.xml
src/freedreno/registers/a6xx.xml
src/freedreno/vulkan/tu_pipeline.c
src/gallium/drivers/freedreno/a3xx/fd3_emit.c
src/gallium/drivers/freedreno/a4xx/fd4_emit.c
src/gallium/drivers/freedreno/a4xx/fd4_program.c
src/gallium/drivers/freedreno/a5xx/fd5_emit.c
src/gallium/drivers/freedreno/a5xx/fd5_program.c
src/gallium/drivers/freedreno/a6xx/fd6_program.c