From: Chad Versace Date: Thu, 27 Jan 2011 09:40:22 +0000 (-0800) Subject: glsl: Define enum ir_depth_layout X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5fc57f471b10e74546f999269a2a8f9186da9731;p=mesa.git glsl: Define enum ir_depth_layout --- 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: