Mesa (arb_geometry_shader4): gs: recognize "varying in|out" language

Zack Rusin zack at kemper.freedesktop.org
Tue May 19 01:16:53 UTC 2009


Module: Mesa
Branch: arb_geometry_shader4
Commit: baf438c8a5c0927024777956edf807ae3bd6232c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=baf438c8a5c0927024777956edf807ae3bd6232c

Author: Zack Rusin <zackr at vmware.com>
Date:   Mon May 18 21:07:25 2009 -0400

gs: recognize "varying in|out" language

---

 src/mesa/shader/slang/library/slang_shader.syn   |    5 +++++
 src/mesa/shader/slang/library/slang_shader_syn.h |    3 +++
 src/mesa/shader/slang/slang_compile.c            |    2 ++
 src/mesa/state_tracker/st_program.c              |    2 +-
 4 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/src/mesa/shader/slang/library/slang_shader.syn b/src/mesa/shader/slang/library/slang_shader.syn
index f3fd1f8..66e2fd9 100644
--- a/src/mesa/shader/slang/library/slang_shader.syn
+++ b/src/mesa/shader/slang/library/slang_shader.syn
@@ -137,6 +137,7 @@
 .emtcode TYPE_QUALIFIER_UNIFORM                     4
 .emtcode TYPE_QUALIFIER_FIXEDOUTPUT                 5
 .emtcode TYPE_QUALIFIER_FIXEDINPUT                  6
+.emtcode TYPE_QUALIFIER_VARYING_IN                  7
 
 /* invariant qualifier */
 .emtcode TYPE_VARIANT                               90
@@ -957,6 +958,8 @@ centroid_qualifier
  * <type_qualifier> ::= "const"
  *                    | "attribute" // Vertex only.
  *                    | "varying"
+ *                    | "varying out"
+ *                    | "varying in"
  *                    | "uniform"
  *                    | "__fixed_output"
  *                    | "__fixed_input"
@@ -968,6 +971,8 @@ type_qualifier
     "const" .emit TYPE_QUALIFIER_CONST .or
     .if (shader_type == 2) "attribute" .emit TYPE_QUALIFIER_ATTRIBUTE .or
     "varying" .emit TYPE_QUALIFIER_VARYING .or
+    "varying out" .emit TYPE_QUALIFIER_VARYING .or
+    "varying in" .emit TYPE_QUALIFIER_VARYING_IN .or
     "uniform" .emit TYPE_QUALIFIER_UNIFORM .or
     .if (parsing_builtin != 0) "__fixed_output" .emit TYPE_QUALIFIER_FIXEDOUTPUT .or
     .if (parsing_builtin != 0) "__fixed_input" .emit TYPE_QUALIFIER_FIXEDINPUT;
diff --git a/src/mesa/shader/slang/library/slang_shader_syn.h b/src/mesa/shader/slang/library/slang_shader_syn.h
index 9312270..8c0884f 100644
--- a/src/mesa/shader/slang/library/slang_shader_syn.h
+++ b/src/mesa/shader/slang/library/slang_shader_syn.h
@@ -49,6 +49,7 @@
 ".emtcode TYPE_QUALIFIER_UNIFORM 4\n"
 ".emtcode TYPE_QUALIFIER_FIXEDOUTPUT 5\n"
 ".emtcode TYPE_QUALIFIER_FIXEDINPUT 6\n"
+".emtcode TYPE_QUALIFIER_VARYING_IN 7\n"
 ".emtcode TYPE_VARIANT 90\n"
 ".emtcode TYPE_INVARIANT 91\n"
 ".emtcode TYPE_CENTER 95\n"
@@ -468,6 +469,8 @@
 " \"const\" .emit TYPE_QUALIFIER_CONST .or\n"
 " .if (shader_type == 2) \"attribute\" .emit TYPE_QUALIFIER_ATTRIBUTE .or\n"
 " \"varying\" .emit TYPE_QUALIFIER_VARYING .or\n"
+" \"varying out\" .emit TYPE_QUALIFIER_VARYING .or\n"
+" \"varying in\" .emit TYPE_QUALIFIER_VARYING_IN .or\n"
 " \"uniform\" .emit TYPE_QUALIFIER_UNIFORM .or\n"
 " .if (parsing_builtin != 0) \"__fixed_output\" .emit TYPE_QUALIFIER_FIXEDOUTPUT .or\n"
 " .if (parsing_builtin != 0) \"__fixed_input\" .emit TYPE_QUALIFIER_FIXEDINPUT;\n"
diff --git a/src/mesa/shader/slang/slang_compile.c b/src/mesa/shader/slang/slang_compile.c
index ebb5f5b..5512b95 100644
--- a/src/mesa/shader/slang/slang_compile.c
+++ b/src/mesa/shader/slang/slang_compile.c
@@ -562,6 +562,7 @@ parse_type_centroid(slang_parse_ctx * C, slang_type_centroid *centroid)
 #define TYPE_QUALIFIER_UNIFORM 4
 #define TYPE_QUALIFIER_FIXEDOUTPUT 5
 #define TYPE_QUALIFIER_FIXEDINPUT 6
+#define TYPE_QUALIFIER_VARYING_IN 7
 
 static int
 parse_type_qualifier(slang_parse_ctx * C, slang_type_qualifier * qual)
@@ -578,6 +579,7 @@ parse_type_qualifier(slang_parse_ctx * C, slang_type_qualifier * qual)
       *qual = SLANG_QUAL_ATTRIBUTE;
       break;
    case TYPE_QUALIFIER_VARYING:
+   case TYPE_QUALIFIER_VARYING_IN:
       *qual = SLANG_QUAL_VARYING;
       break;
    case TYPE_QUALIFIER_UNIFORM:
diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
index d451c26..082a6e9 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -649,7 +649,7 @@ st_translate_geometry_program(struct st_context *st,
     * Determine number of outputs, the (default) output register
     * mapping and the semantic information for each output.
     */
-   for (attr = 0; attr < VERT_RESULT_MAX; attr++) {
+   for (attr = 0; attr < GEOM_RESULT_MAX; attr++) {
       if (stgp->Base.Base.OutputsWritten & (1 << attr)) {
          GLuint slot;
 




More information about the mesa-commit mailing list