glsl: Eliminate one of the templates for simpler operations
[mesa.git] / src / compiler / glsl / glsl_parser_extras.cpp
index 14a5540063c38228d4d4da72d8a9a992303cfde3..8429c7ab96c2f9876607d0c6c29514048b38484c 100644 (file)
@@ -292,6 +292,7 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx,
    this->in_qualifier = new(this) ast_type_qualifier();
    this->out_qualifier = new(this) ast_type_qualifier();
    this->fs_early_fragment_tests = false;
+   this->fs_blend_support = 0;
    memset(this->atomic_counter_offsets, 0,
           sizeof(this->atomic_counter_offsets));
    this->allow_extension_directive_midshader =
@@ -622,6 +623,7 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = {
 
    /* KHR extensions go here, sorted alphabetically.
     */
+   EXT(KHR_blend_equation_advanced),
 
    /* OES extensions go here, sorted alphabetically.
     */
@@ -638,6 +640,7 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = {
    EXT(OES_tessellation_shader),
    EXT(OES_texture_3D),
    EXT(OES_texture_buffer),
+   EXT(OES_texture_cube_map_array),
    EXT(OES_texture_storage_multisample_2d_array),
 
    /* All other extensions go here, sorted alphabetically.
@@ -650,8 +653,11 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = {
    EXT(EXT_blend_func_extended),
    EXT(EXT_draw_buffers),
    EXT(EXT_clip_cull_distance),
+   EXT(EXT_geometry_point_size),
+   EXT(EXT_geometry_shader),
    EXT(EXT_gpu_shader5),
    EXT(EXT_separate_shader_objects),
+   EXT(EXT_shader_framebuffer_fetch),
    EXT(EXT_shader_integer_mix),
    EXT(EXT_shader_io_blocks),
    EXT(EXT_shader_samples_identical),
@@ -659,6 +665,7 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = {
    EXT(EXT_tessellation_shader),
    EXT(EXT_texture_array),
    EXT(EXT_texture_buffer),
+   EXT(EXT_texture_cube_map_array),
    EXT(MESA_shader_integer_functions),
 };
 
@@ -1763,6 +1770,7 @@ set_shader_inout_layout(struct gl_shader *shader,
       shader->info.ARB_fragment_coord_conventions_enable =
          state->ARB_fragment_coord_conventions_enable;
       shader->info.EarlyFragmentTests = state->fs_early_fragment_tests;
+      shader->info.BlendSupport = state->fs_blend_support;
       break;
 
    default: