diff options
-rw-r--r-- | ir.cpp | 1 | ||||
-rw-r--r-- | ir.h | 17 |
2 files changed, 18 insertions, 0 deletions
@@ -731,6 +731,7 @@ ir_variable::ir_variable(const struct glsl_type *type, const char *name) { this->type = type; this->name = name; + this->location = -1; this->constant_value = NULL; if (type && type->base_type == GLSL_TYPE_SAMPLER) @@ -218,6 +218,23 @@ public: unsigned array_lvalue:1; /** + * Storage location of the base of this variable + * + * The precise meaning of this field depends on the nature of the variable. + * + * - Vertex shader input: one of the values from \c gl_vert_attrib. + * - Vertex shader output: one of the values from \c gl_vert_result. + * - Fragment shader input: one of the values from \c gl_frag_attrib. + * - Fragment shader output: one of the values from \c gl_frag_result. + * - Uniforms: Per-stage uniform slot number. + * - Other: This field is not currently used. + * + * If the variable is a uniform, shader input, or shader output, and the + * slot has not been assigned, the value will be -1. + */ + int location; + + /** * Emit a warning if this variable is accessed. */ const char *warn_extension; |