From d386cef246b5949a1199f3b9d53a9e6d125e4869 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 22 Apr 2016 14:26:50 +0200 Subject: [PATCH] tgsi: Add WORK_DIM System Value Add a new WORK_DIM SV type, this is will return the grid dimensions (1-4) for compute (opencl) kernels. This is necessary to implement the opencl get_work_dim() function. Signed-off-by: Hans de Goede Reviewed-by: Ilia Mirkin Reviewed-by: Samuel Pitoiset --- src/gallium/auxiliary/tgsi/tgsi_strings.c | 1 + src/gallium/docs/source/tgsi.rst | 8 ++++++++ src/gallium/include/pipe/p_shader_tokens.h | 1 + 3 files changed, 10 insertions(+) diff --git a/src/gallium/auxiliary/tgsi/tgsi_strings.c b/src/gallium/auxiliary/tgsi/tgsi_strings.c index c13f7ea..536a4c8 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_strings.c +++ b/src/gallium/auxiliary/tgsi/tgsi_strings.c @@ -99,6 +99,7 @@ const char *tgsi_semantic_names[TGSI_SEMANTIC_COUNT] = "HELPER_INVOCATION", "BASEINSTANCE", "DRAWID", + "WORK_DIM", }; const char *tgsi_texture_names[TGSI_TEXTURE_COUNT] = diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst index bf09406..c6e5ceb 100644 --- a/src/gallium/docs/source/tgsi.rst +++ b/src/gallium/docs/source/tgsi.rst @@ -3046,6 +3046,14 @@ For vertex shaders, the zero-based index of the current draw in a component is used. +TGSI_SEMANTIC_WORK_DIM +"""""""""""""""""""""" + +For compute shaders started via opencl this retrieves the work_dim +parameter to the clEnqueueNDRangeKernel call with which the shader +was started. + + Declaration Interpolate ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h index abf26d3..7621ab9 100644 --- a/src/gallium/include/pipe/p_shader_tokens.h +++ b/src/gallium/include/pipe/p_shader_tokens.h @@ -199,6 +199,7 @@ enum tgsi_semantic { TGSI_SEMANTIC_HELPER_INVOCATION, /**< current invocation is helper */ TGSI_SEMANTIC_BASEINSTANCE, TGSI_SEMANTIC_DRAWID, + TGSI_SEMANTIC_WORK_DIM, /**< opencl get_work_dim value */ TGSI_SEMANTIC_COUNT, /**< number of semantic values */ }; -- 2.7.4