From: Dave Airlie Date: Tue, 21 Jul 2015 04:59:01 +0000 (+1000) Subject: mesa/mtypes: add gl_subroutine_function and uniform storage to shader (v2) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=44ea8b9b8edc5f59da546683fe64129a1c1be449;p=mesa.git 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 --- 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; };