summaryrefslogtreecommitdiff
path: root/src/amd/vulkan/radv_cmd_buffer.c
diff options
context:
space:
mode:
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>2024-05-02 09:11:38 +0200
committerMarge Bot <emma+marge@anholt.net>2024-05-03 06:07:46 +0000
commit3b41fbd4b8c249f11146cfc747180afec4b60f4a (patch)
treea3706b5bd3bd5ba33666432e8b3fabcc87c975de /src/amd/vulkan/radv_cmd_buffer.c
parent0549649bcfbc32cc4a2d2d72baeb6541f7f6584b (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.c9
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