Reproduces this commit : commit 0fb85ac08d61d365e67c8f79d6955e9f89543560 Author: Kenneth Graunke <kenn...@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.landwer...@intel.com> Cc: Kenneth Graunke <kenn...@whitecape.org> Cc: Jason Ekstrand <ja...@jlekstrand.net> --- src/intel/vulkan/genX_pipeline.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index 3ecc29e..e1929da 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 -- 2.9.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev