From: Ilia Mirkin Date: Fri, 16 Sep 2016 17:59:27 +0000 (-0400) Subject: glsl: add OES_viewport_array enables and use them to expose gl_ViewportIndex X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=70aef97f9e22323200eb8d1a02a9b35f4f4d5fe8;p=mesa.git glsl: add OES_viewport_array enables and use them to expose gl_ViewportIndex Signed-off-by: Ilia Mirkin Reviewed-by: Anuj Phogat --- diff --git a/src/compiler/glsl/builtin_variables.cpp b/src/compiler/glsl/builtin_variables.cpp index b66ad00d7ad..36a8667e2af 100644 --- a/src/compiler/glsl/builtin_variables.cpp +++ b/src/compiler/glsl/builtin_variables.cpp @@ -876,7 +876,8 @@ builtin_variable_generator::generate_constants() } if (state->is_version(410, 0) || - state->ARB_viewport_array_enable) + state->ARB_viewport_array_enable || + state->OES_viewport_array_enable) add_const("gl_MaxViewports", state->Const.MaxViewports); if (state->has_tessellation_shader()) { @@ -1096,7 +1097,8 @@ builtin_variable_generator::generate_gs_special_vars() var = add_output(VARYING_SLOT_LAYER, int_t, "gl_Layer"); var->data.interpolation = INTERP_MODE_FLAT; - if (state->is_version(410, 0) || state->ARB_viewport_array_enable) { + if (state->is_version(410, 0) || state->ARB_viewport_array_enable || + state->OES_viewport_array_enable) { var = add_output(VARYING_SLOT_VIEWPORT, int_t, "gl_ViewportIndex"); var->data.interpolation = INTERP_MODE_FLAT; } @@ -1226,7 +1228,8 @@ builtin_variable_generator::generate_fs_special_vars() } if (state->is_version(430, 0) || - state->ARB_fragment_layer_viewport_enable) { + state->ARB_fragment_layer_viewport_enable || + state->OES_viewport_array_enable) { var = add_input(VARYING_SLOT_VIEWPORT, int_t, "gl_ViewportIndex"); var->data.interpolation = INTERP_MODE_FLAT; } diff --git a/src/compiler/glsl/glsl_parser_extras.h b/src/compiler/glsl/glsl_parser_extras.h index e19f6ade59a..f4050e37de1 100644 --- a/src/compiler/glsl/glsl_parser_extras.h +++ b/src/compiler/glsl/glsl_parser_extras.h @@ -698,6 +698,8 @@ struct _mesa_glsl_parse_state { bool OES_texture_cube_map_array_warn; bool OES_texture_storage_multisample_2d_array_enable; bool OES_texture_storage_multisample_2d_array_warn; + bool OES_viewport_array_enable; + bool OES_viewport_array_warn; /* All other extensions go here, sorted alphabetically. */