From f0902ee813c7939e114d3adca3baa9ca13eed6ce Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Wed, 11 May 2016 13:05:22 -0700 Subject: mesa: Add extension tracking for GL_OES_shader_io_blocks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit v2: Also support GL_EXT_shader_io_blocks. It's pretty much identical to the OES extension. Suggested by Ilia. Signed-off-by: Ian Romanick Reviewed-by: Timothy Arceri Reviewed-by: Alejandro PiƱeiro --- src/compiler/glsl/glcpp/glcpp-parse.y | 5 +++++ src/compiler/glsl/glsl_parser_extras.cpp | 2 ++ src/compiler/glsl/glsl_parser_extras.h | 4 ++++ 3 files changed, 11 insertions(+) (limited to 'src/compiler/glsl') diff --git a/src/compiler/glsl/glcpp/glcpp-parse.y b/src/compiler/glsl/glcpp/glcpp-parse.y index ee0d8f1942f..402272796d0 100644 --- a/src/compiler/glsl/glcpp/glcpp-parse.y +++ b/src/compiler/glsl/glcpp/glcpp-parse.y @@ -2329,6 +2329,11 @@ _glcpp_parser_handle_version_declaration(glcpp_parser_t *parser, intmax_t versio add_builtin_define(parser, "GL_EXT_texture_buffer", 1); add_builtin_define(parser, "GL_OES_texture_buffer", 1); } + + if (extensions->OES_shader_io_blocks) { + add_builtin_define(parser, "GL_EXT_shader_io_blocks", 1); + add_builtin_define(parser, "GL_OES_shader_io_blocks", 1); + } } } } else { diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp index 1d9b4c56808..916fca83e22 100644 --- a/src/compiler/glsl/glsl_parser_extras.cpp +++ b/src/compiler/glsl/glsl_parser_extras.cpp @@ -626,6 +626,7 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = { EXT(OES_gpu_shader5, false, true, ARB_gpu_shader5), EXT(OES_sample_variables, false, true, OES_sample_variables), EXT(OES_shader_image_atomic, false, true, ARB_shader_image_load_store), + EXT(OES_shader_io_blocks, false, true, OES_shader_io_blocks), EXT(OES_shader_multisample_interpolation, false, true, OES_sample_variables), EXT(OES_standard_derivatives, false, true, OES_standard_derivatives), EXT(OES_texture_3D, false, true, dummy_true), @@ -645,6 +646,7 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = { EXT(EXT_gpu_shader5, false, true, ARB_gpu_shader5), EXT(EXT_separate_shader_objects, false, true, dummy_true), EXT(EXT_shader_integer_mix, true, true, EXT_shader_integer_mix), + EXT(EXT_shader_io_blocks, false, true, OES_shader_io_blocks), EXT(EXT_shader_samples_identical, true, true, EXT_shader_samples_identical), EXT(EXT_texture_array, true, false, EXT_texture_array), EXT(EXT_texture_buffer, false, true, OES_texture_buffer), diff --git a/src/compiler/glsl/glsl_parser_extras.h b/src/compiler/glsl/glsl_parser_extras.h index 0c8405d02fc..d70a31b32b5 100644 --- a/src/compiler/glsl/glsl_parser_extras.h +++ b/src/compiler/glsl/glsl_parser_extras.h @@ -626,6 +626,8 @@ struct _mesa_glsl_parse_state { bool OES_sample_variables_warn; bool OES_shader_image_atomic_enable; bool OES_shader_image_atomic_warn; + bool OES_shader_io_blocks_enable; + bool OES_shader_io_blocks_warn; bool OES_shader_multisample_interpolation_enable; bool OES_shader_multisample_interpolation_warn; bool OES_standard_derivatives_enable; @@ -661,6 +663,8 @@ struct _mesa_glsl_parse_state { bool EXT_separate_shader_objects_warn; bool EXT_shader_integer_mix_enable; bool EXT_shader_integer_mix_warn; + bool EXT_shader_io_blocks_enable; + bool EXT_shader_io_blocks_warn; bool EXT_shader_samples_identical_enable; bool EXT_shader_samples_identical_warn; bool EXT_texture_array_enable; -- cgit v1.2.3