X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fcompiler%2Fglsl%2Fir_uniform.h;h=9770790cb260f1ef97f1e00a9e6aa62818b2439a;hb=810dde2a6b8179780e145e5f30142ca1deed6e67;hp=1854279925bf4ff8aea55a6ad6bcba3a643fc96a;hpb=741744f691d6ef63e9f9a4c03136f969f2ffb0bf;p=mesa.git diff --git a/src/compiler/glsl/ir_uniform.h b/src/compiler/glsl/ir_uniform.h index 1854279925b..9770790cb26 100644 --- a/src/compiler/glsl/ir_uniform.h +++ b/src/compiler/glsl/ir_uniform.h @@ -21,7 +21,6 @@ * DEALINGS IN THE SOFTWARE. */ -#pragma once #ifndef IR_UNIFORM_H #define IR_UNIFORM_H @@ -29,7 +28,7 @@ /* stdbool.h is necessary because this file is included in both C and C++ code. */ #include - +#include "util/macros.h" #include "program/prog_parameter.h" /* For union gl_constant_value. */ /** @@ -105,12 +104,12 @@ struct gl_uniform_storage { */ unsigned array_elements; + struct gl_opaque_uniform_index opaque[MESA_SHADER_STAGES]; + /** - * Has this uniform ever been set? + * Mask of shader stages (1 << MESA_SHADER_xxx) where this uniform is used. */ - bool initialized; - - struct gl_opaque_uniform_index opaque[MESA_SHADER_STAGES]; + unsigned active_shader_mask; /** * Storage used by the driver for the uniform @@ -207,6 +206,12 @@ struct gl_uniform_storage { * top-level shader storage block member. (GL_TOP_LEVEL_ARRAY_STRIDE). */ unsigned top_level_array_stride; + + /** + * Whether this uniform variable has the bindless_sampler or bindless_image + * layout qualifier as specified by ARB_bindless_texture. + */ + bool is_bindless; }; #ifdef __cplusplus