[Mesa-dev] [PATCH] glcpp: Don't define macros for extensions that aren't in ES

Matt Turner mattst88 at gmail.com
Wed Nov 14 10:34:52 PST 2012


Fixes 54 gles3conform tests.
---
 src/glsl/glcpp/glcpp-parse.y |   59 +++++++++++++++++++++--------------------
 1 files changed, 30 insertions(+), 29 deletions(-)

The changes in whitespace make this patch hard to read. Here it is
without whitespace changes:

--- a/src/glsl/glcpp/glcpp-parse.y
+++ b/src/glsl/glcpp/glcpp-parse.y
@@ -1138,13 +1138,13 @@ glcpp_parser_create (const struct gl_extensions *extensions, int api)
 	parser->has_new_source_number = 0;
 	parser->new_source_number = 0;
 
+	if (api == API_OPENGLES2)
+		add_builtin_define(parser, "GL_ES", 1);
+	else {
 	/* Add pre-defined macros. */
 	add_builtin_define(parser, "GL_ARB_draw_buffers", 1);
 	add_builtin_define(parser, "GL_ARB_texture_rectangle", 1);
 
-	if (api == API_OPENGLES2)
-		add_builtin_define(parser, "GL_ES", 1);
-
 	if (extensions != NULL) {
 	   if (extensions->EXT_texture_array) {
 	      add_builtin_define(parser, "GL_EXT_texture_array", 1);
@@ -1180,6 +1180,7 @@ glcpp_parser_create (const struct gl_extensions *extensions, int api)
 	   if (extensions->ARB_texture_cube_map_array)
 	      add_builtin_define(parser, "GL_ARB_texture_cube_map_array", 1);
 	}
+	}
 
 	language_version = 110;
 	add_builtin_define(parser, "__VERSION__", language_version);
--

diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y
index d487521..72308e0 100644
--- a/src/glsl/glcpp/glcpp-parse.y
+++ b/src/glsl/glcpp/glcpp-parse.y
@@ -1138,47 +1138,48 @@ glcpp_parser_create (const struct gl_extensions *extensions, int api)
 	parser->has_new_source_number = 0;
 	parser->new_source_number = 0;
 
-	/* Add pre-defined macros. */
-	add_builtin_define(parser, "GL_ARB_draw_buffers", 1);
-	add_builtin_define(parser, "GL_ARB_texture_rectangle", 1);
-
 	if (api == API_OPENGLES2)
 		add_builtin_define(parser, "GL_ES", 1);
+	else {
+	   /* Add pre-defined macros. */
+	   add_builtin_define(parser, "GL_ARB_draw_buffers", 1);
+	   add_builtin_define(parser, "GL_ARB_texture_rectangle", 1);
 
-	if (extensions != NULL) {
-	   if (extensions->EXT_texture_array) {
-	      add_builtin_define(parser, "GL_EXT_texture_array", 1);
-	   }
+	   if (extensions != NULL) {
+	      if (extensions->EXT_texture_array) {
+	         add_builtin_define(parser, "GL_EXT_texture_array", 1);
+	      }
 
-	   if (extensions->ARB_fragment_coord_conventions)
-	      add_builtin_define(parser, "GL_ARB_fragment_coord_conventions",
-				 1);
+	      if (extensions->ARB_fragment_coord_conventions)
+	         add_builtin_define(parser, "GL_ARB_fragment_coord_conventions",
+				    1);
 
-	   if (extensions->ARB_explicit_attrib_location)
-	      add_builtin_define(parser, "GL_ARB_explicit_attrib_location", 1);
+	      if (extensions->ARB_explicit_attrib_location)
+	         add_builtin_define(parser, "GL_ARB_explicit_attrib_location", 1);
 
-	   if (extensions->ARB_shader_texture_lod)
-	      add_builtin_define(parser, "GL_ARB_shader_texture_lod", 1);
+	      if (extensions->ARB_shader_texture_lod)
+	         add_builtin_define(parser, "GL_ARB_shader_texture_lod", 1);
 
-	   if (extensions->ARB_draw_instanced)
-	      add_builtin_define(parser, "GL_ARB_draw_instanced", 1);
+	      if (extensions->ARB_draw_instanced)
+	         add_builtin_define(parser, "GL_ARB_draw_instanced", 1);
 
-	   if (extensions->ARB_conservative_depth) {
-	      add_builtin_define(parser, "GL_AMD_conservative_depth", 1);
-	      add_builtin_define(parser, "GL_ARB_conservative_depth", 1);
-	   }
+	      if (extensions->ARB_conservative_depth) {
+	         add_builtin_define(parser, "GL_AMD_conservative_depth", 1);
+	         add_builtin_define(parser, "GL_ARB_conservative_depth", 1);
+	      }
 
-	   if (extensions->OES_EGL_image_external)
-	      add_builtin_define(parser, "GL_OES_EGL_image_external", 1);
+	      if (extensions->OES_EGL_image_external)
+	         add_builtin_define(parser, "GL_OES_EGL_image_external", 1);
 
-	   if (extensions->ARB_shader_bit_encoding)
-	      add_builtin_define(parser, "GL_ARB_shader_bit_encoding", 1);
+	      if (extensions->ARB_shader_bit_encoding)
+	         add_builtin_define(parser, "GL_ARB_shader_bit_encoding", 1);
 
-	   if (extensions->ARB_uniform_buffer_object)
-	      add_builtin_define(parser, "GL_ARB_uniform_buffer_object", 1);
+	      if (extensions->ARB_uniform_buffer_object)
+	         add_builtin_define(parser, "GL_ARB_uniform_buffer_object", 1);
 
-	   if (extensions->ARB_texture_cube_map_array)
-	      add_builtin_define(parser, "GL_ARB_texture_cube_map_array", 1);
+	      if (extensions->ARB_texture_cube_map_array)
+	         add_builtin_define(parser, "GL_ARB_texture_cube_map_array", 1);
+	   }
 	}
 
 	language_version = 110;
-- 
1.7.8.6


More information about the mesa-dev mailing list