diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2010-06-18 19:00:28 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-06-23 10:56:03 -0700 |
commit | 950ceb2bd60c25e7fecdff0fbcbf6e69015588f3 (patch) | |
tree | 15e91df092d34ec3b9b9daca22e35c220bbaed35 | |
parent | cc22c5a5447d1d710e49524ee61b76268c7da6b9 (diff) |
ir_variable: Add method to get string representing interpolation qualifier
-rw-r--r-- | ir.cpp | 17 | ||||
-rw-r--r-- | ir.h | 10 |
2 files changed, 27 insertions, 0 deletions
@@ -738,6 +738,23 @@ ir_variable::ir_variable(const struct glsl_type *type, const char *name) } +const char * +ir_variable::interpolation_string() const +{ + if (!this->shader_in && !this->shader_out) + return ""; + + switch (this->interpolation) { + case ir_var_smooth: return "smooth"; + case ir_var_flat: return "flat"; + case ir_var_noperspective: return "noperspective"; + } + + assert(!"Should not get here."); + return ""; +} + + ir_function_signature::ir_function_signature(const glsl_type *return_type) : return_type(return_type), is_defined(false) { @@ -177,6 +177,16 @@ public: return var; } + /** + * Get the string value for the interpolation qualifier + * + * \return + * If none of \c shader_in or \c shader_out is set, an empty string will + * be returned. Otherwise the string that would be used in a shader to + * specify \c mode will be returned. + */ + const char *interpolation_string() const; + const char *name; /** |