diff options
author | Ian Romanick <[email protected]> | 2014-05-13 11:59:01 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2014-09-30 13:34:41 -0700 |
commit | baf5a756640fde8cd4d4e704ed8c9c45da3e5407 (patch) | |
tree | 0657ef8f218275aae628cd8d006becf66d713161 /src/glsl | |
parent | 1012e95a40fe08f5d4f6219c1bc9812ad8f91423 (diff) |
glsl: Use accessors for ir_variable::warn_extension
The payoff for this will come in the next patch.
No change Valgrind massif results for a trimmed apitrace of dota2.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
Reviewed-by: Tapani Pälli <[email protected]>
Diffstat (limited to 'src/glsl')
-rw-r--r-- | src/glsl/builtin_variables.cpp | 4 | ||||
-rw-r--r-- | src/glsl/ir.cpp | 11 | ||||
-rw-r--r-- | src/glsl/ir.h | 22 |
3 files changed, 30 insertions, 7 deletions
diff --git a/src/glsl/builtin_variables.cpp b/src/glsl/builtin_variables.cpp index 5b6f4ae6220..ddfdc1227c9 100644 --- a/src/glsl/builtin_variables.cpp +++ b/src/glsl/builtin_variables.cpp @@ -908,14 +908,14 @@ builtin_variable_generator::generate_fs_special_vars() ir_variable *const var = add_output(FRAG_RESULT_STENCIL, int_t, "gl_FragStencilRefARB"); if (state->ARB_shader_stencil_export_warn) - var->warn_extension = "GL_ARB_shader_stencil_export"; + var->enable_extension_warning("GL_ARB_shader_stencil_export"); } if (state->AMD_shader_stencil_export_enable) { ir_variable *const var = add_output(FRAG_RESULT_STENCIL, int_t, "gl_FragStencilRefAMD"); if (state->AMD_shader_stencil_export_warn) - var->warn_extension = "GL_AMD_shader_stencil_export"; + var->enable_extension_warning("GL_AMD_shader_stencil_export"); } if (state->ARB_sample_shading_enable) { diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp index 739a9f41257..b83884163d5 100644 --- a/src/glsl/ir.cpp +++ b/src/glsl/ir.cpp @@ -1617,6 +1617,17 @@ ir_variable::determine_interpolation_mode(bool flat_shade) return INTERP_QUALIFIER_SMOOTH; } +void +ir_variable::enable_extension_warning(const char *extension) +{ + this->warn_extension = extension; +} + +const char * +ir_variable::get_extension_warning() const +{ + return this->warn_extension; +} ir_function_signature::ir_function_signature(const glsl_type *return_type, builtin_available_predicate b) diff --git a/src/glsl/ir.h b/src/glsl/ir.h index 8003f88ce3d..3537ecfd9ac 100644 --- a/src/glsl/ir.h +++ b/src/glsl/ir.h @@ -527,6 +527,18 @@ public: } /** + * Enable emitting extension warnings for this variable + */ + void enable_extension_warning(const char *extension); + + /** + * Get the extension warning string for this variable + * + * If warnings are not enabled, \c NULL is returned. + */ + const char *get_extension_warning() const; + + /** * Declared type of the variable */ const struct glsl_type *type; @@ -783,11 +795,6 @@ public: /*@}*/ /** - * Emit a warning if this variable is accessed. - */ - const char *warn_extension; - - /** * Value assigned in the initializer of a variable declared "const" */ ir_constant *constant_value; @@ -810,6 +817,11 @@ private: * \sa ir_variable::location */ const glsl_type *interface_type; + + /** + * Emit a warning if this variable is accessed. + */ + const char *warn_extension; }; /** |