X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglsl%2Fir_uniform.h;h=0b6f7201a20a73f345049bd9b0199bbb8c2d1c0c;hb=f90c6b1ce0d96c7dbdd32ab913d5c88913700ba2;hp=21b5d05c11a03c5d7882552fbda462bb4c6b5415;hpb=0c0bfb2ead03789164cee364fbf405994d876ca3;p=mesa.git diff --git a/src/glsl/ir_uniform.h b/src/glsl/ir_uniform.h index 21b5d05c11a..0b6f7201a20 100644 --- a/src/glsl/ir_uniform.h +++ b/src/glsl/ir_uniform.h @@ -114,6 +114,8 @@ struct gl_uniform_storage { struct gl_opaque_uniform_index image[MESA_SHADER_STAGES]; + struct gl_opaque_uniform_index subroutine[MESA_SHADER_STAGES]; + /** * Storage used by the driver for the uniform */ @@ -173,14 +175,25 @@ struct gl_uniform_storage { /** * The 'base location' for this uniform in the uniform remap table. For * arrays this is the first element in the array. + * for subroutines this is in shader subroutine uniform remap table. */ unsigned remap_location; + /** + * The number of compatible subroutines with this subroutine uniform. + */ + unsigned num_compatible_subroutines; + /** * This is a compiler-generated uniform that should not be advertised * via the API. */ bool hidden; + + /** + * This is a built-in uniform that should not be modified through any gl API. + */ + bool builtin; }; #ifdef __cplusplus