[Mesa-dev] [PATCH 24/24] i965: Update compute workgroup size limit calculation for SIMD32.
Jordan Justen
jordan.l.justen at intel.com
Fri May 27 22:54:40 UTC 2016
On 2016-05-26 20:46:29, Francisco Jerez wrote:
> This should have the side effect of enabling the ARB_compute_shader
> extension on Gen8+ hardware and all Gen7 platforms that didn't
> previously expose it (VLV and IVB GT1) due to the number of hardware
> threads per subslice being insufficient in SIMD16 mode.
> ---
> src/mesa/drivers/dri/i965/brw_context.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
> index 1ab02ae..1121728 100644
> --- a/src/mesa/drivers/dri/i965/brw_context.c
> +++ b/src/mesa/drivers/dri/i965/brw_context.c
> @@ -717,7 +717,7 @@ brw_initialize_cs_context_constants(struct brw_context *brw, unsigned max_thread
> * is not always true. This allows us to run more test cases, and will be
> * required based on desktop GL compute shader requirements.
> */
> - const int simd_size = ctx->API == API_OPENGL_CORE ? 16 : 8;
> + const int simd_size = ctx->API == API_OPENGL_CORE ? 32 : 8;
The only reason I put 8 for ES was some lingering doubts about no16()
back then. Maybe we can just use 32 in the calculation now.
Or, maybe just set max_invocations below to 1024 or 128 based on the
API.
Any of these seem fine to me,
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
>
> const uint32_t max_invocations = simd_size * max_threads;
> ctx->Const.MaxComputeWorkGroupSize[0] = max_invocations;
> --
> 2.7.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list