mesa/src/amd/llvm
Pierre-Eric Pelloux-Prayer 9d4d9e6150 ac/llvm: enable wqm for ac_build_quad_swizzle from ac_build_fs_interp_mov
Without this, WQM is only used for the lds_param_load like this:

   s_wqm_b64 exec, exec
   lds_param_load v5, attr0.x wait_vdst:15
   s_mov_b64 exec, s[0:1]
   v_mov_b32_dpp v5, v5 quad_perm:[0,0,0,0] row_mask:0xf bank_mask:0xf

With this change we get:
   s_wqm_b64 exec, exec
   lds_param_load v5, attr0.x wait_vdst:15
   s_mov_b64 exec, s[0:1]
   ...
   s_wqm_b64 exec, exec
   v_mov_b32_dpp v5, v5 quad_perm:[0,0,0,0] row_mask:0xf bank_mask:0xf
   s_mov_b64 exec, s[0:1]

This fixes KHR-GL46.shaders.uniform_block.random.nested_structs_instance_arrays.0
and other similar tests with LLVM.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32959>
2025-01-17 09:55:45 +00:00
..
ac_llvm_build.c ac/llvm: enable wqm for ac_build_quad_swizzle from ac_build_fs_interp_mov 2025-01-17 09:55:45 +00:00
ac_llvm_build.h ac/llvm: add wqm param to ac_build_quad_swizzle 2025-01-17 09:55:45 +00:00
ac_llvm_helper.cpp ac/llvm: remove unused code 2024-12-26 10:12:43 +00:00
ac_llvm_util.c ac/llvm: remove the low-optimizing compiler option 2025-01-16 02:58:03 +00:00
ac_llvm_util.h ac/llvm: remove the low-optimizing compiler option 2025-01-16 02:58:03 +00:00
ac_nir_to_llvm.c ac/llvm: add wqm param to ac_build_quad_swizzle 2025-01-17 09:55:45 +00:00
ac_nir_to_llvm.h amd: lower load_local_invocation_index in NIR 2025-01-02 17:36:55 +00:00
ac_shader_abi.h amd: lower load_tess_rel_patch_id/primitive_id/tess_coord and overwrite.. in NIR 2025-01-02 17:36:55 +00:00
meson.build build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00