Mesa (master): glsl: Slight refactor of error / warning checking for ARB_fcc layout

Ian Romanick idr at kemper.freedesktop.org
Fri Oct 8 21:24:58 UTC 2010


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

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue Oct  5 16:18:56 2010 -0700

glsl: Slight refactor of error / warning checking for ARB_fcc layout

---

 src/glsl/glsl_parser.ypp |   16 +++++++---------
 1 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/glsl/glsl_parser.ypp b/src/glsl/glsl_parser.ypp
index 9d31109..649f437 100644
--- a/src/glsl/glsl_parser.ypp
+++ b/src/glsl/glsl_parser.ypp
@@ -977,11 +977,11 @@ layout_qualifier_id_list:
 layout_qualifier_id:
 	IDENTIFIER
 	{
+	   bool got_one = false;
+
 	   $$.i = 0;
 
 	   if (state->ARB_fragment_coord_conventions_enable) {
-	      bool got_one = false;
-
 	      if (strcmp($1, "origin_upper_left") == 0) {
 		 got_one = true;
 		 $$.q.origin_upper_left = 1;
@@ -989,21 +989,19 @@ layout_qualifier_id:
 		 got_one = true;
 		 $$.q.pixel_center_integer = 1;
 	      }
-
-	      if (state->ARB_fragment_coord_conventions_warn && got_one) {
-		 _mesa_glsl_warning(& @1, state,
-				    "GL_ARB_fragment_coord_conventions layout "
-				    "identifier `%s' used\n", $1);
-	      }
 	   }
 
 	   /* If the identifier didn't match any known layout identifiers,
 	    * emit an error.
 	    */
-	   if ($$.i == 0) {
+	   if (!got_one) {
 	      _mesa_glsl_error(& @1, state, "unrecognized layout identifier "
 			       "`%s'\n", $1);
 	      YYERROR;
+	   } else if (state->ARB_fragment_coord_conventions_warn) {
+	      _mesa_glsl_warning(& @1, state,
+				 "GL_ARB_fragment_coord_conventions layout "
+				 "identifier `%s' used\n", $1);
 	   }
 	}
 	;




More information about the mesa-commit mailing list