From: Jason Ekstrand Date: Tue, 13 Feb 2018 03:34:48 +0000 (-0800) Subject: anv/pipeline: Set the correct binding count for compute shaders X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e4fdc650f1c5ada29037daa954b2fd3b031cb328;p=mesa.git anv/pipeline: Set the correct binding count for compute shaders Reviewed-by: Kenneth Graunke --- diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index cf15e79db51..629df477e73 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -1956,8 +1956,12 @@ compute_pipeline_create( .KernelStartPointer = cs_bin->kernel.offset, /* WA_1606682166 */ .SamplerCount = GEN_GEN == 11 ? 0 : get_sampler_count(cs_bin), - /* Gen 11 workarounds table #2056 WABTPPrefetchDisable */ - .BindingTableEntryCount = GEN_GEN == 11 ? 0 : get_binding_table_entry_count(cs_bin), + /* Gen 11 workarounds table #2056 WABTPPrefetchDisable + * + * We add 1 because the CS indirect parameters buffer isn't accounted + * for in bind_map.surface_count. + */ + .BindingTableEntryCount = GEN_GEN == 11 ? 0 : 1 + MIN2(cs_bin->bind_map.surface_count, 30), .BarrierEnable = cs_prog_data->uses_barrier, .SharedLocalMemorySize = encode_slm_size(GEN_GEN, cs_prog_data->base.total_shared),