[Mesa-dev] [PATCH] mesa: remove ARB_geometry_shader4

Lofstedt, Marta marta.lofstedt at intel.com
Tue Nov 24 01:25:56 PST 2015


Hi,

As previously discussed in:
http://patchwork.freedesktop.org/patch/60183/
the ARB_geometry_shader4 should be removed.

If I can land below patch I will rebase my previous OES_geometry_shader patches.

/Marta

> -----Original Message-----
> From: Marta Lofstedt [mailto:marta.lofstedt at linux.intel.com]
> Sent: Tuesday, November 24, 2015 10:20 AM
> To: mesa-dev at lists.freedesktop.org
> Cc: Lofstedt, Marta; Marta Lofstedt
> Subject: [PATCH] mesa: remove ARB_geometry_shader4
> 
> From: Marta Lofstedt <marta.lofstedt at intel.com>
> 
> Since all drivers support OpenGL 3.2 geometry shaders, there is no reason to
> keep the ARB_geometry_shader4.
> 
> Signed-off-by: Marta Lofstedt <marta.lofstedt at linux.intel.com>
> ---
>  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                       |  6 +--
>  src/mesa/main/get.c                         |  7 ----
>  src/mesa/main/get_hash_params.py            | 12 ++----
>  src/mesa/main/mtypes.h                      |  3 +-
>  10 files changed, 11 insertions(+), 84 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 280e7a0..0000000
> --- a/src/mapi/glapi/gen/ARB_geometry_shader4.xml
> +++ /dev/null
> @@ -1,57 +0,0 @@
> -<?xml version="1.0"?>
> -<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
> -
> -<!-- Note: no GLX protocol info yet. -->
> -
> -<OpenGLAPI>
> -
> -
> -<category name="GL_ARB_geometry_shader4" number="47">
> -    <enum name="GEOMETRY_SHADER_ARB"              value="0x8DD9"/>
> -    <enum name="GEOMETRY_VERTICES_OUT_ARB"        value="0x8DDA"/>
> -    <enum name="GEOMETRY_INPUT_TYPE_ARB"          value="0x8DDB"/>
> -    <enum name="GEOMETRY_OUTPUT_TYPE_ARB"         value="0x8DDC"/>
> -    <enum name="MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB"
> value="0x8C29"/>
> -    <enum name="MAX_GEOMETRY_VARYING_COMPONENTS_ARB"
> value="0x8DDD"/>
> -    <enum name="MAX_VERTEX_VARYING_COMPONENTS_ARB"
> value="0x8DDE"/>
> -    <enum name="MAX_VARYING_COMPONENTS"
> value="0x8B4B"/>
> -    <enum name="MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB"
> value="0x8DDF"/>
> -    <enum name="MAX_GEOMETRY_OUTPUT_VERTICES_ARB"
> value="0x8DE0"/>
> -    <enum name="MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB"
> value="0x8DE1"/>
> -    <enum name="LINES_ADJACENCY_ARB"          value="0xA"/>
> -    <enum name="LINE_STRIP_ADJACENCY_ARB"     value="0xB"/>
> -    <enum name="TRIANGLES_ADJACENCY_ARB"      value="0xC"/>
> -    <enum name="TRIANGLE_STRIP_ADJACENCY_ARB" value="0xD"/>
> -    <enum name="FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB"
> value="0x8DA8"/>
> -    <enum name="FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB"
> value="0x8DA9"/>
> -    <enum name="FRAMEBUFFER_ATTACHMENT_LAYERED_ARB"
> value="0x8DA7"/>
> -    <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"
> value="0x8CD4"/>
> -    <enum name="PROGRAM_POINT_SIZE_ARB" value="0x8642"/>
> -    <function name="ProgramParameteriARB"  alias="ProgramParameteri">
> -        <param name="program" type="GLuint"/>
> -        <param name="pname" type="GLenum"/>
> -        <param name="value" type="GLint"/>
> -    </function>
> -    <function name="FramebufferTextureARB"
> alias="FramebufferTexture">
> -        <param name="target" type="GLenum"/>
> -        <param name="attachment" type="GLenum"/>
> -        <param name="texture" type="GLuint"/>
> -        <param name="level" type="GLint"/>
> -    </function>
> -    <function name="FramebufferTextureLayerARB"
> alias="FramebufferTextureLayer">
> -        <param name="target" type="GLenum"/>
> -        <param name="attachment" type="GLenum"/>
> -        <param name="texture" type="GLuint"/>
> -        <param name="level" type="GLint"/>
> -        <param name="layer" type="GLint"/>
> -    </function>
> -    <function name="FramebufferTextureFaceARB" exec="skip">
> -        <param name="target" type="GLenum"/>
> -        <param name="attachment" type="GLenum"/>
> -        <param name="texture" type="GLuint"/>
> -        <param name="level" type="GLint"/>
> -        <param name="face" type="GLenum"/>
> -    </function>
> -</category>
> -
> -</OpenGLAPI>
> diff --git a/src/mapi/glapi/gen/Makefile.am
> b/src/mapi/glapi/gen/Makefile.am index a5a26a6..40b0e65 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 ec83cd4..8ff110c 100644
> --- a/src/mapi/glapi/gen/gl_API.xml
> +++ b/src/mapi/glapi/gen/gl_API.xml
> @@ -7975,8 +7975,6 @@
> 
>  <!-- 46. GL_ARB_framebuffer_sRGB -->
> 
> -<xi:include href="ARB_geometry_shader4.xml"
> xmlns:xi="http://www.w3.org/2001/XInclude"/>
> -
>  <!-- 48. GL_ARB_half_float_vertex -->
> 
>  <xi:include href="ARB_instanced_arrays.xml"
> xmlns:xi="http://www.w3.org/2001/XInclude"/>
> diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c
> index a490189..cbfb6b5 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
> f29de5f..2d53e2f 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
> 4798b1f..8b64f45 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
> 2b65b2e..dc3b632 100644
> --- a/src/mesa/main/dlist.c
> +++ b/src/mesa/main/dlist.c
> @@ -457,7 +457,7 @@ typedef enum
>     OPCODE_SAMPLER_PARAMETERIIV,
>     OPCODE_SAMPLER_PARAMETERUIV,
> 
> -   /* GL_ARB_geometry_shader4 */
> +   /* For geometry shader */
>     OPCODE_PROGRAM_PARAMETERI,
>     OPCODE_FRAMEBUFFER_TEXTURE,
>     OPCODE_FRAMEBUFFER_TEXTURE_FACE,
> @@ -7554,7 +7554,7 @@ save_SamplerParameterIuiv(GLuint sampler,
> GLenum pname, const GLuint *params)
>     }
>  }
> 
> -/* GL_ARB_geometry_shader4 */
> +/* OpenGL 3.2 */
>  static void GLAPIENTRY
>  save_ProgramParameteri(GLuint program, GLenum pname, GLint value)  {
> @@ -8841,7 +8841,7 @@ execute_list(struct gl_context *ctx, GLuint list)
>              }
>              break;
> 
> -         /* GL_ARB_geometry_shader4 */
> +         /* OpenGL 3.2 geometry shader */
>           case OPCODE_PROGRAM_PARAMETERI:
>              CALL_ProgramParameteri(ctx->Exec, (n[1].ui, n[2].e, n[3].i));
>              break;
> diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index
> 539c411..c6a2e5b 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 9b22b91..0c58b30 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].MaxTextureIma
> geUnits), 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].MaxUniformCo
> mponents), extra_gl32_ARB_geometry_shader4" ],
> -  [ "MAX_GEOMETRY_VARYING_COMPONENTS_ARB",
> "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxOutputCo
> mponents), extra_ARB_geometry_shader4" ],
> -  [ "MAX_VERTEX_VARYING_COMPONENTS_ARB",
> "CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxOutputCompo
> nents), 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].MaxInputComp
> onents), extra_version_32" ],
>    [ "MAX_GEOMETRY_OUTPUT_COMPONENTS",
> "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxOutputCo
> mponents), extra_version_32" ],
> +  [ "MAX_GEOMETRY_TEXTURE_IMAGE_UNITS",
> +
> "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxTextureIma
> geUnits)
> + , 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].MaxUniformCo
> mponents)
> + , 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
> d425571..46de8f8 100644
> --- a/src/mesa/main/mtypes.h
> +++ b/src/mesa/main/mtypes.h
> @@ -3397,7 +3397,7 @@ struct gl_constants
>      */
>     GLuint MaxUserAssignableUniformLocations;
> 
> -   /** GL_ARB_geometry_shader4 */
> +   /** geometry shader */
>     GLuint MaxGeometryOutputVertices;
>     GLuint MaxGeometryTotalOutputComponents;
> 
> @@ -3682,7 +3682,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;
> --
> 2.5.0



More information about the mesa-dev mailing list