From 63b49e1711382c263acdcbe2d58c28ef64164059 Mon Sep 17 00:00:00 2001 From: Marta Lofstedt Date: Wed, 25 Nov 2015 12:16:02 +0100 Subject: [PATCH] mesa: remove ARB_geometry_shader4 No drivers currently implement ARB_geometry_shader4, nor are there any plans to implement it. We only support the version of geometry shaders that was incorporated into OpenGL 3.2 / GLSL 1.50. Signed-off-by: Marta Lofstedt Reviewed-by: Ilia Mirkin Reviewed-by: Kenneth Graunke --- src/mapi/glapi/gen/ARB_geometry_shader4.xml | 57 --------------------- src/mapi/glapi/gen/Makefile.am | 1 - src/mapi/glapi/gen/gl_API.xml | 2 +- src/mesa/main/api_validate.c | 2 +- src/mesa/main/config.h | 2 +- src/mesa/main/context.h | 3 +- src/mesa/main/dlist.c | 55 -------------------- src/mesa/main/get.c | 7 --- src/mesa/main/get_hash_params.py | 12 ++--- src/mesa/main/mtypes.h | 3 +- src/mesa/main/tests/enum_strings.cpp | 6 --- 11 files changed, 9 insertions(+), 141 deletions(-) delete mode 100644 src/mapi/glapi/gen/ARB_geometry_shader4.xml diff --git a/src/mapi/glapi/gen/ARB_geometry_shader4.xml b/src/mapi/glapi/gen/ARB_geometry_shader4.xml deleted file mode 100644 index 280e7a07599..00000000000 --- a/src/mapi/glapi/gen/ARB_geometry_shader4.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am index a5a26a652ee..40b0e6599f4 100644 --- a/src/mapi/glapi/gen/Makefile.am +++ b/src/mapi/glapi/gen/Makefile.am @@ -133,7 +133,6 @@ API_XML = \ ARB_ES3_compatibility.xml \ ARB_framebuffer_no_attachments.xml \ ARB_framebuffer_object.xml \ - ARB_geometry_shader4.xml \ ARB_get_program_binary.xml \ ARB_get_texture_sub_image.xml \ ARB_gpu_shader_fp64.xml \ diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml index ec83cd43d16..6243bddd218 100644 --- a/src/mapi/glapi/gen/gl_API.xml +++ b/src/mapi/glapi/gen/gl_API.xml @@ -7975,7 +7975,7 @@ - + diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c index d0b3ae7342e..d693ec64ce4 100644 --- a/src/mesa/main/api_validate.c +++ b/src/mesa/main/api_validate.c @@ -170,7 +170,7 @@ _mesa_valid_prim_mode(struct gl_context *ctx, GLenum mode, const char *name) return GL_FALSE; } - /* From the ARB_geometry_shader4 spec: + /* From the OpenGL 4.5 specification, section 11.3.1: * * The error INVALID_OPERATION is generated if Begin, or any command that * implicitly calls Begin, is called when a geometry shader is active and: diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h index f29de5f91fd..2d53e2fa72f 100644 --- a/src/mesa/main/config.h +++ b/src/mesa/main/config.h @@ -246,7 +246,7 @@ #define MAX_FEEDBACK_BUFFERS 4 #define MAX_FEEDBACK_ATTRIBS 32 -/** For GL_ARB_geometry_shader4 */ +/** For geometry shader */ /*@{*/ #define MAX_GEOMETRY_UNIFORM_COMPONENTS 512 #define MAX_GEOMETRY_OUTPUT_VERTICES 256 diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h index 4798b1f9b43..8b64f452572 100644 --- a/src/mesa/main/context.h +++ b/src/mesa/main/context.h @@ -330,8 +330,7 @@ _mesa_is_gles31(const struct gl_context *ctx) static inline bool _mesa_has_geometry_shaders(const struct gl_context *ctx) { - return _mesa_is_desktop_gl(ctx) && - (ctx->Version >= 32 || ctx->Extensions.ARB_geometry_shader4); + return _mesa_is_desktop_gl(ctx) && ctx->Version >= 32; } diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 2b65b2ea949..ba2e670eb9a 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -457,11 +457,6 @@ typedef enum OPCODE_SAMPLER_PARAMETERIIV, OPCODE_SAMPLER_PARAMETERUIV, - /* GL_ARB_geometry_shader4 */ - OPCODE_PROGRAM_PARAMETERI, - OPCODE_FRAMEBUFFER_TEXTURE, - OPCODE_FRAMEBUFFER_TEXTURE_FACE, - /* GL_ARB_sync */ OPCODE_WAIT_SYNC, @@ -7554,44 +7549,6 @@ save_SamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params) } } -/* GL_ARB_geometry_shader4 */ -static void GLAPIENTRY -save_ProgramParameteri(GLuint program, GLenum pname, GLint value) -{ - Node *n; - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_PROGRAM_PARAMETERI, 3); - if (n) { - n[1].ui = program; - n[2].e = pname; - n[3].i = value; - } - if (ctx->ExecuteFlag) { - CALL_ProgramParameteri(ctx->Exec, (program, pname, value)); - } -} - -static void GLAPIENTRY -save_FramebufferTexture(GLenum target, GLenum attachment, - GLuint texture, GLint level) -{ - Node *n; - GET_CURRENT_CONTEXT(ctx); - ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); - n = alloc_instruction(ctx, OPCODE_FRAMEBUFFER_TEXTURE, 4); - if (n) { - n[1].e = target; - n[2].e = attachment; - n[3].ui = texture; - n[4].i = level; - } - if (ctx->ExecuteFlag) { - CALL_FramebufferTexture(ctx->Exec, (target, attachment, texture, level)); - } -} - - static void GLAPIENTRY save_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { @@ -8841,14 +8798,6 @@ execute_list(struct gl_context *ctx, GLuint list) } break; - /* GL_ARB_geometry_shader4 */ - case OPCODE_PROGRAM_PARAMETERI: - CALL_ProgramParameteri(ctx->Exec, (n[1].ui, n[2].e, n[3].i)); - break; - case OPCODE_FRAMEBUFFER_TEXTURE: - CALL_FramebufferTexture(ctx->Exec, (n[1].e, n[2].e, - n[3].ui, n[4].i)); - break; /* GL_ARB_sync */ case OPCODE_WAIT_SYNC: { @@ -9614,10 +9563,6 @@ _mesa_initialize_save_table(const struct gl_context *ctx) SET_BlendEquationiARB(table, save_BlendEquationi); SET_BlendEquationSeparateiARB(table, save_BlendEquationSeparatei); - /* OpenGL 3.2 */ - SET_ProgramParameteri(table, save_ProgramParameteri); - SET_FramebufferTexture(table, save_FramebufferTexture); - /* GL_NV_conditional_render */ SET_BeginConditionalRender(table, save_BeginConditionalRender); SET_EndConditionalRender(table, save_EndConditionalRender); diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 539c41148dd..c6a2e5b912c 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -398,7 +398,6 @@ EXTRA_EXT(EXT_pixel_buffer_object); EXTRA_EXT(ARB_vertex_program); EXTRA_EXT2(NV_point_sprite, ARB_point_sprite); EXTRA_EXT2(ARB_vertex_program, ARB_fragment_program); -EXTRA_EXT(ARB_geometry_shader4); EXTRA_EXT(ARB_color_buffer_float); EXTRA_EXT(EXT_framebuffer_sRGB); EXTRA_EXT(OES_EGL_image_external); @@ -455,12 +454,6 @@ static const int extra_gl32_es3[] = { EXTRA_END, }; -static const int extra_gl32_ARB_geometry_shader4[] = { - EXTRA_VERSION_32, - EXT(ARB_geometry_shader4), - EXTRA_END -}; - static const int extra_gl40_ARB_sample_shading[] = { EXTRA_VERSION_40, EXT(ARB_sample_shading), diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py index 9b22b91ac1b..0c58b302481 100644 --- a/src/mesa/main/get_hash_params.py +++ b/src/mesa/main/get_hash_params.py @@ -765,14 +765,6 @@ descriptor=[ [ "MAX_TRANSFORM_FEEDBACK_BUFFERS", "CONTEXT_INT(Const.MaxTransformFeedbackBuffers), extra_ARB_transform_feedback3" ], [ "MAX_VERTEX_STREAMS", "CONTEXT_INT(Const.MaxVertexStreams), extra_ARB_transform_feedback3_ARB_gpu_shader5" ], -# GL_ARB_geometry_shader4 - [ "MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxTextureImageUnits), extra_gl32_ARB_geometry_shader4" ], - [ "MAX_GEOMETRY_OUTPUT_VERTICES_ARB", "CONTEXT_INT(Const.MaxGeometryOutputVertices), extra_gl32_ARB_geometry_shader4" ], - [ "MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB", "CONTEXT_INT(Const.MaxGeometryTotalOutputComponents), extra_gl32_ARB_geometry_shader4" ], - [ "MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxUniformComponents), extra_gl32_ARB_geometry_shader4" ], - [ "MAX_GEOMETRY_VARYING_COMPONENTS_ARB", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxOutputComponents), extra_ARB_geometry_shader4" ], - [ "MAX_VERTEX_VARYING_COMPONENTS_ARB", "CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxOutputComponents), extra_ARB_geometry_shader4" ], - # GL_ARB_color_buffer_float [ "RGBA_FLOAT_MODE_ARB", "BUFFER_FIELD(Visual.floatMode, TYPE_BOOLEAN), extra_core_ARB_color_buffer_float_and_new_buffers" ], @@ -800,6 +792,10 @@ descriptor=[ [ "CONTEXT_PROFILE_MASK", "CONTEXT_INT(Const.ProfileMask), extra_version_32" ], [ "MAX_GEOMETRY_INPUT_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxInputComponents), extra_version_32" ], [ "MAX_GEOMETRY_OUTPUT_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxOutputComponents), extra_version_32" ], + [ "MAX_GEOMETRY_TEXTURE_IMAGE_UNITS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxTextureImageUnits), extra_version_32" ], + [ "MAX_GEOMETRY_OUTPUT_VERTICES", "CONTEXT_INT(Const.MaxGeometryOutputVertices), extra_version_32" ], + [ "MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS", "CONTEXT_INT(Const.MaxGeometryTotalOutputComponents), extra_version_32" ], + [ "MAX_GEOMETRY_UNIFORM_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxUniformComponents), extra_version_32" ], # GL_ARB_robustness [ "RESET_NOTIFICATION_STRATEGY_ARB", "CONTEXT_ENUM(Const.ResetStrategy), NO_EXTRA" ], diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 242efe8b548..c1b18a409c5 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -3400,7 +3400,7 @@ struct gl_constants */ GLuint MaxUserAssignableUniformLocations; - /** GL_ARB_geometry_shader4 */ + /** geometry shader */ GLuint MaxGeometryOutputVertices; GLuint MaxGeometryTotalOutputComponents; @@ -3685,7 +3685,6 @@ struct gl_extensions GLboolean ARB_enhanced_layouts; GLboolean ARB_explicit_attrib_location; GLboolean ARB_explicit_uniform_location; - GLboolean ARB_geometry_shader4; GLboolean ARB_gpu_shader5; GLboolean ARB_gpu_shader_fp64; GLboolean ARB_half_float_vertex; diff --git a/src/mesa/main/tests/enum_strings.cpp b/src/mesa/main/tests/enum_strings.cpp index 96b2246f48b..04e9896a1fa 100644 --- a/src/mesa/main/tests/enum_strings.cpp +++ b/src/mesa/main/tests/enum_strings.cpp @@ -1689,7 +1689,6 @@ const struct enum_info everything[] = { { 0x8D9F, "GL_INT_2_10_10_10_REV" }, { 0x8DA7, "GL_FRAMEBUFFER_ATTACHMENT_LAYERED" }, { 0x8DA8, "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS" }, - { 0x8DA9, "GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB" }, { 0x8DAD, "GL_FLOAT_32_UNSIGNED_INT_24_8_REV" }, { 0x8DB9, "GL_FRAMEBUFFER_SRGB" }, { 0x8DBA, "GL_FRAMEBUFFER_SRGB_CAPABLE_EXT" }, @@ -1723,11 +1722,6 @@ const struct enum_info everything[] = { { 0x8DD7, "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY" }, { 0x8DD8, "GL_UNSIGNED_INT_SAMPLER_BUFFER" }, { 0x8DD9, "GL_GEOMETRY_SHADER" }, - { 0x8DDA, "GL_GEOMETRY_VERTICES_OUT_ARB" }, - { 0x8DDB, "GL_GEOMETRY_INPUT_TYPE_ARB" }, - { 0x8DDC, "GL_GEOMETRY_OUTPUT_TYPE_ARB" }, - { 0x8DDD, "GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB" }, - { 0x8DDE, "GL_MAX_VERTEX_VARYING_COMPONENTS_ARB" }, { 0x8DDF, "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS" }, { 0x8DE0, "GL_MAX_GEOMETRY_OUTPUT_VERTICES" }, { 0x8DE1, "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS" }, -- 2.30.2