mesa: GL_ARB_shader_subroutine is not optional in core profile

text	   data	    bss	    dec	    hex	filename
7038459	 235248	  37280	7310987	 6f8e8b	32-bit i965_dri.so before
7038227	 235248	  37280	7310755	 6f8da3	32-bit i965_dri.so after
6681438	 303400	  50608	7035446	 6b5a36	64-bit i965_dri.so before
6681254	 303400	  50608	7035262	 6b597e	64-bit i965_dri.so after

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
Ian Romanick 2016-08-19 15:10:51 +01:00
parent b026f45bdd
commit 7174e3f22b
9 changed files with 3 additions and 49 deletions

View file

@ -183,7 +183,6 @@ void initialize_context_to_defaults(struct gl_context *ctx, gl_api api)
ctx->Extensions.ARB_shader_bit_encoding = true;
ctx->Extensions.ARB_shader_draw_parameters = true;
ctx->Extensions.ARB_shader_stencil_export = true;
ctx->Extensions.ARB_shader_subroutine = true;
ctx->Extensions.ARB_shader_texture_lod = true;
ctx->Extensions.ARB_shading_language_420pack = true;
ctx->Extensions.ARB_shading_language_packing = true;

View file

@ -196,7 +196,6 @@ intelInitExtensions(struct gl_context *ctx)
* slightly differently when the extension is enabled.
*/
if (ctx->API == API_OPENGL_CORE) {
ctx->Extensions.ARB_shader_subroutine = true;
ctx->Extensions.ARB_shader_viewport_layer_array = true;
ctx->Extensions.ARB_viewport_array = true;
ctx->Extensions.AMD_vertex_shader_viewport_index = true;

View file

@ -118,7 +118,7 @@ EXT(ARB_shader_objects , dummy_true
EXT(ARB_shader_precision , ARB_shader_precision , GLL, GLC, x , x , 2010)
EXT(ARB_shader_stencil_export , ARB_shader_stencil_export , GLL, GLC, x , x , 2009)
EXT(ARB_shader_storage_buffer_object , ARB_shader_storage_buffer_object , GLL, GLC, x , x , 2012)
EXT(ARB_shader_subroutine , ARB_shader_subroutine , x , GLC, x , x , 2010)
EXT(ARB_shader_subroutine , dummy_true , x , GLC, x , x , 2010)
EXT(ARB_shader_texture_image_samples , ARB_shader_texture_image_samples , GLL, GLC, x , x , 2014)
EXT(ARB_shader_texture_lod , ARB_shader_texture_lod , GLL, GLC, x , x , 2009)
EXT(ARB_shader_viewport_layer_array , ARB_shader_viewport_layer_array , x , GLC, x , x , 2015)

View file

@ -490,7 +490,6 @@ EXTRA_EXT(ARB_clip_control);
EXTRA_EXT(EXT_polygon_offset_clamp);
EXTRA_EXT(ARB_framebuffer_no_attachments);
EXTRA_EXT(ARB_tessellation_shader);
EXTRA_EXT(ARB_shader_subroutine);
EXTRA_EXT(ARB_shader_storage_buffer_object);
EXTRA_EXT(ARB_indirect_parameters);
EXTRA_EXT(ATI_meminfo);

View file

@ -957,8 +957,8 @@ descriptor=[
# Enums restricted to OpenGL Core profile
{ "apis": ["GL_CORE"], "params": [
# GL_ARB_shader_subroutine
[ "MAX_SUBROUTINES", "CONST(MAX_SUBROUTINES), extra_ARB_shader_subroutine" ],
[ "MAX_SUBROUTINE_UNIFORM_LOCATIONS", "CONST(MAX_SUBROUTINE_UNIFORM_LOCATIONS), extra_ARB_shader_subroutine" ],
[ "MAX_SUBROUTINES", "CONST(MAX_SUBROUTINES), NO_EXTRA" ],
[ "MAX_SUBROUTINE_UNIFORM_LOCATIONS", "CONST(MAX_SUBROUTINE_UNIFORM_LOCATIONS), NO_EXTRA" ],
# GL_ARB_indirect_parameters
[ "PARAMETER_BUFFER_BINDING_ARB", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_indirect_parameters" ],

View file

@ -4003,7 +4003,6 @@ struct gl_extensions
GLboolean ARB_shader_precision;
GLboolean ARB_shader_stencil_export;
GLboolean ARB_shader_storage_buffer_object;
GLboolean ARB_shader_subroutine;
GLboolean ARB_shader_texture_image_samples;
GLboolean ARB_shader_texture_lod;
GLboolean ARB_shader_viewport_layer_array;

View file

@ -2354,11 +2354,6 @@ _mesa_GetSubroutineUniformLocation(GLuint program, GLenum shadertype,
GLenum resource_type;
gl_shader_stage stage;
if (!_mesa_has_ARB_shader_subroutine(ctx)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return -1;
}
if (!_mesa_validate_shader_target(ctx, shadertype)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return -1;
@ -2389,11 +2384,6 @@ _mesa_GetSubroutineIndex(GLuint program, GLenum shadertype,
GLenum resource_type;
gl_shader_stage stage;
if (!_mesa_has_ARB_shader_subroutine(ctx)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return -1;
}
if (!_mesa_validate_shader_target(ctx, shadertype)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return -1;
@ -2433,11 +2423,6 @@ _mesa_GetActiveSubroutineUniformiv(GLuint program, GLenum shadertype,
GLenum resource_type;
int count, i, j;
if (!_mesa_has_ARB_shader_subroutine(ctx)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return;
}
if (!_mesa_validate_shader_target(ctx, shadertype)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return;
@ -2520,11 +2505,6 @@ _mesa_GetActiveSubroutineUniformName(GLuint program, GLenum shadertype,
GLenum resource_type;
gl_shader_stage stage;
if (!_mesa_has_ARB_shader_subroutine(ctx)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return;
}
if (!_mesa_validate_shader_target(ctx, shadertype)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return;
@ -2559,11 +2539,6 @@ _mesa_GetActiveSubroutineName(GLuint program, GLenum shadertype,
GLenum resource_type;
gl_shader_stage stage;
if (!_mesa_has_ARB_shader_subroutine(ctx)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return;
}
if (!_mesa_validate_shader_target(ctx, shadertype)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return;
@ -2593,11 +2568,6 @@ _mesa_UniformSubroutinesuiv(GLenum shadertype, GLsizei count,
gl_shader_stage stage;
int i;
if (!_mesa_has_ARB_shader_subroutine(ctx)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return;
}
if (!_mesa_validate_shader_target(ctx, shadertype)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return;
@ -2668,11 +2638,6 @@ _mesa_GetUniformSubroutineuiv(GLenum shadertype, GLint location,
const char *api_name = "glGetUniformSubroutineuiv";
gl_shader_stage stage;
if (!_mesa_has_ARB_shader_subroutine(ctx)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return;
}
if (!_mesa_validate_shader_target(ctx, shadertype)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return;
@ -2704,11 +2669,6 @@ _mesa_GetProgramStageiv(GLuint program, GLenum shadertype,
struct gl_linked_shader *sh;
gl_shader_stage stage;
if (!_mesa_has_ARB_shader_subroutine(ctx)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return;
}
if (!_mesa_validate_shader_target(ctx, shadertype)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", api_name);
return;

View file

@ -327,7 +327,6 @@ compute_version(const struct gl_extensions *extensions,
extensions->ARB_gpu_shader5 &&
extensions->ARB_gpu_shader_fp64 &&
extensions->ARB_sample_shading &&
extensions->ARB_shader_subroutine &&
extensions->ARB_tessellation_shader &&
extensions->ARB_texture_buffer_object_rgb32 &&
extensions->ARB_texture_cube_map_array &&

View file

@ -929,7 +929,6 @@ void st_init_extensions(struct pipe_screen *screen,
extensions->OES_depth_texture_cube_map = GL_TRUE;
extensions->ARB_shading_language_420pack = GL_TRUE;
extensions->ARB_texture_query_levels = GL_TRUE;
extensions->ARB_shader_subroutine = GL_TRUE;
if (!options->disable_shader_bit_encoding) {
extensions->ARB_shader_bit_encoding = GL_TRUE;