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