diff options
author | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2024-05-02 09:11:38 +0200 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2024-05-03 06:07:46 +0000 |
commit | 3b41fbd4b8c249f11146cfc747180afec4b60f4a (patch) | |
tree | a3706b5bd3bd5ba33666432e8b3fabcc87c975de /src/amd/vulkan/radv_cmd_buffer.c | |
parent | 0549649bcfbc32cc4a2d2d72baeb6541f7f6584b (diff) |
radv: precompute compute/task shader register values
To make emission faster.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29014>
Diffstat (limited to 'src/amd/vulkan/radv_cmd_buffer.c')
-rw-r--r-- | src/amd/vulkan/radv_cmd_buffer.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index e6ca331d76b..3270a05db69 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -1916,12 +1916,11 @@ radv_emit_compute_shader(const struct radv_physical_device *pdev, struct radeon_ radeon_set_sh_reg(cs, R_00B8A0_COMPUTE_PGM_RSRC3, shader->config.rsrc3); } - radeon_set_sh_reg(cs, R_00B854_COMPUTE_RESOURCE_LIMITS, radv_get_compute_resource_limits(pdev, shader)); - + radeon_set_sh_reg(cs, R_00B854_COMPUTE_RESOURCE_LIMITS, shader->info.regs.cs.compute_resource_limits); radeon_set_sh_reg_seq(cs, R_00B81C_COMPUTE_NUM_THREAD_X, 3); - radeon_emit(cs, S_00B81C_NUM_THREAD_FULL(shader->info.cs.block_size[0])); - radeon_emit(cs, S_00B81C_NUM_THREAD_FULL(shader->info.cs.block_size[1])); - radeon_emit(cs, S_00B81C_NUM_THREAD_FULL(shader->info.cs.block_size[2])); + radeon_emit(cs, shader->info.regs.cs.compute_num_thread_x); + radeon_emit(cs, shader->info.regs.cs.compute_num_thread_y); + radeon_emit(cs, shader->info.regs.cs.compute_num_thread_z); } static void |