From 5fc57f471b10e74546f999269a2a8f9186da9731 Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Thu, 27 Jan 2011 01:40:22 -0800 Subject: glsl: Define enum ir_depth_layout --- src/glsl/ir.cpp | 16 ++++++++++++++++ src/glsl/ir.h | 19 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp index 460d43b02e..b3676d5707 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 7b83c2836e..7399df4038 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: -- cgit v1.2.3