Mesa (master): glsl: Define enum ir_depth_layout

Chad Versace chadversary at kemper.freedesktop.org
Thu Jan 27 01:49:39 UTC 2011


Module: Mesa
Branch: master
Commit: 5fc57f471b10e74546f999269a2a8f9186da9731
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5fc57f471b10e74546f999269a2a8f9186da9731

Author: Chad Versace <chad.versace at intel.com>
Date:   Thu Jan 27 01:40:22 2011 -0800

glsl: Define enum ir_depth_layout

---

 src/glsl/ir.cpp |   16 ++++++++++++++++
 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 460d43b..b3676d5 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 7b83c28..7399df4 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:




More information about the mesa-commit mailing list