tgsi: add interpolation location modifier support to text parser
authorIlia Mirkin <imirkin@alum.mit.edu>
Sat, 5 Jul 2014 03:27:11 +0000 (23:27 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Wed, 9 Jul 2014 23:26:32 +0000 (19:26 -0400)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/auxiliary/tgsi/tgsi_text.c

index e424d99702d50429115744731737fd6b59d72a7a..640334465905830e3695b98307ec82c4094ffc28 100644 (file)
@@ -1375,6 +1375,23 @@ static boolean parse_declaration( struct translate_ctx *ctx )
       }
    }
 
+   cur = ctx->cur;
+   eat_opt_white( &cur );
+   if (*cur == ',' && !is_vs_input) {
+      uint i;
+
+      cur++;
+      eat_opt_white( &cur );
+      for (i = 0; i < TGSI_INTERPOLATE_LOC_COUNT; i++) {
+         if (str_match_nocase_whole( &cur, tgsi_interpolate_locations[i] )) {
+            decl.Interp.Location = i;
+
+            ctx->cur = cur;
+            break;
+         }
+      }
+   }
+
    advance = tgsi_build_full_declaration(
       &decl,
       ctx->tokens_cur,