tgsi_to_nir: only update TGSI properties of the current shader stage

The implementation introduced in "tgsi_to_nir: be careful about not
losing any TGSI properties silently (v2)" updates all the TGSI properties,
but it didn't take into account that the shader_info structure uses a union
to store the different attributes for each shader stage.

Now we only update the attributes if they affect current shader stage,
avoiding to overwrite members of the union that should be overwritten.
This has created hundreds of regressions in v3d.

For example the TGSI_PROPERTY_VS_BLIT_SGPRS_AMD was overwritting the
same position used by TGSI_PROPERY_CS_FIXED_BLOCK_DEPTH.

Fixes: e3003651 ("tgsi_to_nir: be careful about not losing any TGSI properties silently (v2)")

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
17 jobs for !1713 with tgsi_to_nir_fix_tgsi_properties in 49 minutes and 14 seconds (queued for 4 seconds)
detached
Status Name Job ID Coverage
  Containers Build
passed debian #517524

00:00:21

 
  Build+Test
passed meson-arm64 #517533

00:03:26

passed meson-armhf #517532

00:05:24

passed meson-clang #517526

00:11:25

passed meson-clover #517530

00:11:01

passed meson-i386 #517534

00:04:10

passed meson-main #517529

00:13:14

passed meson-swr-glvnd #517525

00:09:11

passed meson-vulkan #517531

00:05:36

passed scons-llvm #517536

00:03:45

passed scons-nollvm #517535

00:04:20

passed scons-swr #517527

00:04:20

passed scons-win64 #517528

00:09:59

 
  Test
passed test-llvmpipe-gles2 1/4 #517537

00:04:07

passed test-llvmpipe-gles2 2/4 #517538

00:04:16

passed test-llvmpipe-gles2 3/4 #517539

00:04:14

passed test-llvmpipe-gles2 4/4 #517540

00:04:33