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