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 <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
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) {
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)
return this->interface_type;
}
+ /**
+ * 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
*/
ir_state_slot *state_slots; /**< State descriptors. */
/*@}*/
- /**
- * Emit a warning if this variable is accessed.
- */
- const char *warn_extension;
-
/**
* Value assigned in the initializer of a variable declared "const"
*/
* \sa ir_variable::location
*/
const glsl_type *interface_type;
+
+ /**
+ * Emit a warning if this variable is accessed.
+ */
+ const char *warn_extension;
};
/**