diff options
author | Chad Versace <[email protected]> | 2011-01-27 01:40:22 -0800 |
---|---|---|
committer | Chad Versace <[email protected]> | 2011-01-26 16:37:44 -0800 |
commit | 5fc57f471b10e74546f999269a2a8f9186da9731 (patch) | |
tree | 89d95eefffe0779bb8a18c29962c66dc65f0514d /src | |
parent | 39cad66a889b453d78e83e6a20560bcc338000de (diff) |
glsl: Define enum ir_depth_layout
Diffstat (limited to 'src')
-rw-r--r-- | src/glsl/ir.cpp | 16 | ||||
-rw-r--r-- | src/glsl/ir.h | 19 |
2 files changed, 35 insertions, 0 deletions
diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp index 460d43b02e1..b3676d57076 100644 --- a/src/glsl/ir.cpp +++ b/src/glsl/ir.cpp @@ -472,6 +472,22 @@ const char *ir_expression::operator_string() return operator_string(this->operation); } +const char* +depth_layout_string(ir_depth_layout layout) +{ + switch(layout) { + case ir_depth_layout_none: return ""; + case ir_depth_layout_any: return "depth_any"; + case ir_depth_layout_greater: return "depth_greater"; + case ir_depth_layout_less: return "depth_less"; + case ir_depth_layout_unchanged: return "depth_unchanged"; + + default: + assert(0); + return ""; + } +} + ir_expression_operation ir_expression::get_operator(const char *str) { diff --git a/src/glsl/ir.h b/src/glsl/ir.h index 7b83c2836ee..7399df40385 100644 --- a/src/glsl/ir.h +++ b/src/glsl/ir.h @@ -235,6 +235,25 @@ enum ir_variable_interpolation { ir_var_noperspective }; +/** + * \brief Layout qualifiers for gl_FragDepth. + * + * The AMD_conservative_depth extension allows gl_FragDepth to be redeclared + * with a layout qualifier. + */ +enum ir_depth_layout { + ir_depth_layout_none, /**< No depth layout is specified. */ + ir_depth_layout_any, + ir_depth_layout_greater, + ir_depth_layout_less, + ir_depth_layout_unchanged +}; + +/** + * \brief Convert depth layout qualifier to string. + */ +const char* +depth_layout_string(ir_depth_layout layout); class ir_variable : public ir_instruction { public: |