radv: Always use 3D block ID and grid size in task shaders.
authorTimur Kristóf <timur.kristof@gmail.com>
Mon, 28 Feb 2022 13:21:36 +0000 (14:21 +0100)
committerMarge Bot <emma+marge@anholt.net>
Wed, 15 Jun 2022 18:28:58 +0000 (18:28 +0000)
These are needed to address the task draw and payload ring buffers
when the task shader dispatch is 3 dimensional.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17023>

src/amd/vulkan/radv_shader_info.c

index eabee36..825b50d 100644 (file)
@@ -607,6 +607,9 @@ radv_nir_shader_info_pass(struct radv_device *device, const struct nir_shader *n
 
          /* Needed to address the task draw/payload rings. */
          info->cs.uses_block_id[0] = true;
+         info->cs.uses_block_id[1] = true;
+         info->cs.uses_block_id[2] = true;
+         info->cs.uses_grid_size = true;
 
          /* Needed for storing draw ready only on the 1st thread. */
          info->cs.uses_local_invocation_idx = true;