From: Jordan Justen Date: Sat, 25 Jan 2014 20:43:26 +0000 (-0800) Subject: glsl: add gl_InvocationID variable for ARB_gpu_shader5 X-Git-Tag: upstream/10.3~3550 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d09901993539385c015c6389310c186cba9bb263;p=platform%2Fupstream%2Fmesa.git glsl: add gl_InvocationID variable for ARB_gpu_shader5 v2: * Make gl_InvocationID a system value Signed-off-by: Jordan Justen Reviewed-by: Paul Berry Reviewed-by: Anuj Phogat --- diff --git a/src/glsl/builtin_variables.cpp b/src/glsl/builtin_variables.cpp index 2fa509f..4176ae6 100644 --- a/src/glsl/builtin_variables.cpp +++ b/src/glsl/builtin_variables.cpp @@ -854,6 +854,8 @@ builtin_variable_generator::generate_gs_special_vars() add_output(VARYING_SLOT_LAYER, int_t, "gl_Layer"); if (state->ARB_viewport_array_enable) add_output(VARYING_SLOT_VIEWPORT, int_t, "gl_ViewportIndex"); + if (state->ARB_gpu_shader5_enable) + add_system_value(SYSTEM_VALUE_INVOCATION_ID, int_t, "gl_InvocationID"); /* Although gl_PrimitiveID appears in tessellation control and tessellation * evaluation shaders, it has a different function there than it has in diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index bc02969..4c5f028 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2013,6 +2013,7 @@ typedef enum SYSTEM_VALUE_SAMPLE_ID, /**< Fragment shader only */ SYSTEM_VALUE_SAMPLE_POS, /**< Fragment shader only */ SYSTEM_VALUE_SAMPLE_MASK_IN, /**< Fragment shader only */ + SYSTEM_VALUE_INVOCATION_ID, /**< Geometry shader only */ SYSTEM_VALUE_MAX /**< Number of values */ } gl_system_value;