[Mesa-dev] [PATCH 7/9] mesa: GL_ARB_shader_subroutine is not optional in core profile
Ian Romanick
idr at freedesktop.org
Fri May 19 13:38:09 UTC 2017
From: Ian Romanick <ian.d.romanick at intel.com>
text data bss dec hex filename
7034211 235248 37280 7306739 6f7df3 32-bit i965_dri.so before
7034051 235248 37280 7306579 6f7d53 32-bit i965_dri.so after
6676031 303400 50608 7030039 6b4517 64-bit i965_dri.so before
6675855 303400 50608 7029863 6b4467 64-bit i965_dri.so after
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
---
src/compiler/glsl/standalone_scaffolding.cpp | 1 -
src/mesa/drivers/dri/i965/intel_extensions.c | 1 -
src/mesa/main/extensions_table.h | 2 +-
src/mesa/main/get.c | 1 -
src/mesa/main/get_hash_params.py | 4 +--
src/mesa/main/mtypes.h | 1 -
src/mesa/main/shaderapi.c | 40 ----------------------------
src/mesa/main/version.c | 1 -
src/mesa/state_tracker/st_extensions.c | 1 -
9 files changed, 3 insertions(+), 49 deletions(-)
diff --git a/src/compiler/glsl/standalone_scaffolding.cpp b/src/compiler/glsl/standalone_scaffolding.cpp
index d85650a..bc91682 100644
--- a/src/compiler/glsl/standalone_scaffolding.cpp
+++ b/src/compiler/glsl/standalone_scaffolding.cpp
@@ -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;
diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c b/src/mesa/drivers/dri/i965/intel_extensions.c
index 26c0746..2bb21bf 100644
--- a/src/mesa/drivers/dri/i965/intel_extensions.c
+++ b/src/mesa/drivers/dri/i965/intel_extensions.c
@@ -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;
diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h
index f1d0602..757b7bf 100644
--- a/src/mesa/main/extensions_table.h
+++ b/src/mesa/main/extensions_table.h
@@ -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)
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index cf3ee63..6ad107b 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -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);
diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py
index 58d428d..850ce7d 100644
--- a/src/mesa/main/get_hash_params.py
+++ b/src/mesa/main/get_hash_params.py
@@ -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" ],
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index efc6920..4a403c6 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -3990,7 +3990,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;
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index 68fb3fa..0f8c850 100644
--- a/src/mesa/main/shaderapi.c
+++ b/src/mesa/main/shaderapi.c
@@ -2352,11 +2352,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;
@@ -2387,11 +2382,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;
@@ -2431,11 +2421,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;
@@ -2518,11 +2503,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;
@@ -2557,11 +2537,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;
@@ -2591,11 +2566,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;
@@ -2666,11 +2636,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;
@@ -2702,11 +2667,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;
diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
index 3d54d21..34f8bbb 100644
--- a/src/mesa/main/version.c
+++ b/src/mesa/main/version.c
@@ -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 &&
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index 2fa7ba7..28e410a 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -927,7 +927,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;
--
2.7.4
More information about the mesa-dev
mailing list