summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>2016-09-07 17:28:44 +0100
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>2016-09-21 12:01:06 +0300
commitb8162d6b6e2600cf52eddeceb4c44d250d4b823e (patch)
tree616de34bc2bbb80058c17e240ee8b0c538a5eb4d
parentf2d43b44d7c8168228ca1fe85023dffb3a933dca (diff)
anv: pipeline: use correct number of thread for compute
Reproduces this commit : commit 0fb85ac08d61d365e67c8f79d6955e9f89543560 Author: Kenneth Graunke <kenneth@whitecape.org> Date: Mon Jun 6 21:37:34 2016 -0700 i965: Use the correct number of threads for compute shaders. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-rw-r--r--src/intel/vulkan/genX_pipeline.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c
index 3ecc29e953..e1929da25f 100644
--- a/src/intel/vulkan/genX_pipeline.c
+++ b/src/intel/vulkan/genX_pipeline.c
@@ -104,6 +104,8 @@ genX(compute_pipeline_create)(
ALIGN(cs_prog_data->push.per_thread.regs * cs_prog_data->threads +
cs_prog_data->push.cross_thread.regs, 2);
+ const uint32_t subslices = MAX2(physical_device->subslice_total, 1);
+
anv_batch_emit(&pipeline->batch, GENX(MEDIA_VFE_STATE), vfe) {
vfe.ScratchSpaceBasePointer = (struct anv_address) {
.bo = anv_scratch_pool_alloc(device, &device->scratch_pool,
@@ -117,7 +119,8 @@ genX(compute_pipeline_create)(
#else
vfe.GPGPUMode = true;
#endif
- vfe.MaximumNumberofThreads = physical_device->max_cs_threads - 1;
+ vfe.MaximumNumberofThreads =
+ physical_device->max_cs_threads * subslices - 1;
vfe.NumberofURBEntries = GEN_GEN <= 7 ? 0 : 2;
vfe.ResetGatewayTimer = true;
#if GEN_GEN <= 8