From 3a5b9ee59e7f32cab3d56166e4acbbdb24ae5c55 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Wed, 23 Oct 2024 11:30:29 +0300 Subject: [PATCH] anv: fix binding table entry count for compute shaders We're not using a binding table entry anymore for num_workgroups. Signed-off-by: Lionel Landwerlin Fixes: 02294961ee ("anv: stop using a binding table entry for gl_NumWorkgroups") Reviewed-by: Caio Oliveira Part-of: --- src/intel/vulkan/genX_cmd_compute.c | 2 +- src/intel/vulkan/genX_pipeline.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/intel/vulkan/genX_cmd_compute.c b/src/intel/vulkan/genX_cmd_compute.c index efc01d1d9cc..afabf38b705 100644 --- a/src/intel/vulkan/genX_cmd_compute.c +++ b/src/intel/vulkan/genX_cmd_compute.c @@ -332,7 +332,7 @@ get_interface_descriptor_data(struct anv_cmd_buffer *cmd_buffer, .BindingTablePointer = cmd_buffer->state.binding_tables[MESA_SHADER_COMPUTE].offset, /* Typically set to 0 to avoid prefetching on every thread dispatch. */ .BindingTableEntryCount = devinfo->verx10 == 125 ? - 0 : 1 + MIN2(shader->bind_map.surface_count, 30), + 0 : MIN2(shader->bind_map.surface_count, 30), .NumberofThreadsinGPGPUThreadGroup = dispatch->threads, .SharedLocalMemorySize = intel_compute_slm_encode_size(GFX_VER, prog_data->base.total_shared), .PreferredSLMAllocationSize = diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index 9354930ac08..6631bc9734c 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -2202,7 +2202,7 @@ genX(compute_pipeline_emit)(struct anv_compute_pipeline *pipeline) * Typically set to 0 to avoid prefetching on every thread dispatch. */ .BindingTableEntryCount = devinfo->verx10 == 125 ? - 0 : 1 + MIN2(pipeline->cs->bind_map.surface_count, 30), + 0 : MIN2(pipeline->cs->bind_map.surface_count, 30), .BarrierEnable = cs_prog_data->uses_barrier, .SharedLocalMemorySize = intel_compute_slm_encode_size(GFX_VER, cs_prog_data->base.total_shared),