From 44ea8b9b8edc5f59da546683fe64129a1c1be449 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 21 Jul 2015 14:59:01 +1000 Subject: [PATCH] mesa/mtypes: add gl_subroutine_function and uniform storage to shader (v2) This adds the necessary storage for subroutine info to gl_shader. v2: add comments, rename one member Acked-by: Kenneth Graunke Signed-off-by: Dave Airlie --- src/mesa/main/mtypes.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index c5673e268db..a252bf46606 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2414,6 +2414,15 @@ struct gl_ati_fragment_shader_state struct ati_fragment_shader *Current; }; +/** + * Shader subroutine function definition + */ +struct gl_subroutine_function +{ + char *name; + int num_compat_types; + const struct glsl_type **types; +}; /** * A GLSL vertex or fragment shader object. @@ -2600,6 +2609,25 @@ struct gl_shader */ unsigned LocalSize[3]; } Comp; + + /** + * Number of types for subroutine uniforms. + */ + GLuint NumSubroutineUniformTypes; + + /** + * Subroutine uniform remap table + * based on the program level uniform remap table. + */ + GLuint NumSubroutineUniformRemapTable; + struct gl_uniform_storage **SubroutineUniformRemapTable; + + /** + * Num of subroutine functions for this stage + * and storage for them. + */ + GLuint NumSubroutineFunctions; + struct gl_subroutine_function *SubroutineFunctions; }; -- 2.30.2