[Mesa-dev] [PATCH] glcpp: Don't define macros for extensions that aren't in ES
Kenneth Graunke
kenneth at whitecape.org
Wed Nov 14 16:45:31 PST 2012
On 11/14/2012 10:34 AM, Matt Turner wrote:
> 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);
Nitpick: Could you leave the /* Add pre-defined macros. */ comment
before the new if statement? Both branches do that...it's just that
the set of pre-defined macros depends on your API.
Assuming you fix the OES_image_external bit,
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
> - 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;
>
More information about the mesa-dev
mailing list