Mesa (master): anv/pipeline: Set the correct binding count for compute shaders
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Dec 12 15:31:25 UTC 2018
Module: Mesa
Branch: master
Commit: e4fdc650f1c5ada29037daa954b2fd3b031cb328
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4fdc650f1c5ada29037daa954b2fd3b031cb328
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Mon Feb 12 19:34:48 2018 -0800
anv/pipeline: Set the correct binding count for compute shaders
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/intel/vulkan/genX_pipeline.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c
index cf15e79db5..629df477e7 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),
More information about the mesa-commit
mailing list