[Mesa-dev] [PATCH v2 1/4] mesa: add GREMEDY_string_marker
Ian Romanick
idr at freedesktop.org
Wed Jan 20 12:36:03 PST 2016
On 01/20/2016 11:32 AM, Rob Clark wrote:
> From: Rob Clark <robclark at freedesktop.org>
>
> Signed-off-by: Rob Clark <robclark at freedesktop.org>
> ---
> src/mapi/glapi/gen/GREMEDY_string_marker.xml | 18 ++++++++++++++++++
> src/mapi/glapi/gen/Makefile.am | 1 +
> src/mapi/glapi/gen/gl_API.xml | 2 ++
> src/mesa/main/dd.h | 6 ++++++
> src/mesa/main/errors.c | 13 +++++++++++++
> src/mesa/main/errors.h | 3 +++
> src/mesa/main/extensions_table.h | 2 ++
> src/mesa/main/mtypes.h | 1 +
> src/mesa/main/tests/dispatch_sanity.cpp | 3 +++
> 9 files changed, 49 insertions(+)
> create mode 100644 src/mapi/glapi/gen/GREMEDY_string_marker.xml
>
> diff --git a/src/mapi/glapi/gen/GREMEDY_string_marker.xml b/src/mapi/glapi/gen/GREMEDY_string_marker.xml
> new file mode 100644
> index 0000000..ffa3eac
> --- /dev/null
> +++ b/src/mapi/glapi/gen/GREMEDY_string_marker.xml
> @@ -0,0 +1,18 @@
> +<?xml version="1.0"?>
> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
> +
> +<!-- Note: no GLX protocol info yet. -->
> +
> +
> +<OpenGLAPI>
> +
> +<category name="GL_GREMEDY_string_marker" number="311">
> +
> + <function name="StringMarkerGREMEDY">
> + <param name="len" type="GLsizei"/>
> + <param name="string" type="const GLvoid *"/>
> + </function>
> +
> +</category>
> +
> +</OpenGLAPI>
> diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am
> index 900b61a..a40de49 100644
> --- a/src/mapi/glapi/gen/Makefile.am
> +++ b/src/mapi/glapi/gen/Makefile.am
> @@ -188,6 +188,7 @@ API_XML = \
> EXT_texture_array.xml \
> EXT_texture_integer.xml \
> EXT_transform_feedback.xml \
> + GREMEDY_string_marker.xml \
> INTEL_performance_query.xml \
> KHR_debug.xml \
> KHR_context_flush_control.xml \
> diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
> index 593ace4..d7ab3bf 100644
> --- a/src/mapi/glapi/gen/gl_API.xml
> +++ b/src/mapi/glapi/gen/gl_API.xml
> @@ -12620,6 +12620,8 @@
>
> <xi:include href="EXT_framebuffer_object.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
>
> +<xi:include href="GREMEDY_string_marker.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
> +
> <xi:include href="EXT_packed_depth_stencil.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
>
> <xi:include href="EXT_provoking_vertex.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
> diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h
> index 70ed563..d4378e5 100644
> --- a/src/mesa/main/dd.h
> +++ b/src/mesa/main/dd.h
> @@ -762,6 +762,12 @@ struct dd_function_table {
> void (*UseProgram)(struct gl_context *ctx, struct gl_shader_program *shProg);
> /*@}*/
>
> + /**
> + * \name GREMEDY debug/marker functions
> + */
> + /*@{*/
> + void (*EmitStringMarker)(struct gl_context *ctx, const GLchar *string, GLsizei len);
> + /*@}*/
>
> /**
> * \name Support for multiple T&L engines
> diff --git a/src/mesa/main/errors.c b/src/mesa/main/errors.c
> index 9e66109..fc3c6d0 100644
> --- a/src/mesa/main/errors.c
> +++ b/src/mesa/main/errors.c
> @@ -1276,6 +1276,19 @@ _mesa_free_errors_data(struct gl_context *ctx)
> mtx_destroy(&ctx->DebugMutex);
> }
>
> +void GLAPIENTRY
> +_mesa_StringMarkerGREMEDY(GLsizei len, const GLvoid * string)
^ spurious space
> +{
> + GET_CURRENT_CONTEXT(ctx);
> + if (ctx->Driver.EmitStringMarker) {
I think this would be better as a check for the extension enable. If
the extension is enabled, it should be safe to assume the driver
provides dd:EmitStringMarker.
> + /* if length not specified, string will be null terminated: */
> + if (len <= 0)
> + len = strlen(string);
> + ctx->Driver.EmitStringMarker(ctx, string, len);
> + } else {
> + _mesa_error(ctx, GL_INVALID_OPERATION, "StringMarkerGREMEDY");
> + }
> +}
>
> /**********************************************************************/
> /** \name Diagnostics */
> diff --git a/src/mesa/main/errors.h b/src/mesa/main/errors.h
> index f291976..d05bc71 100644
> --- a/src/mesa/main/errors.h
> +++ b/src/mesa/main/errors.h
> @@ -138,6 +138,9 @@ _mesa_PushDebugGroup(GLenum source, GLuint id, GLsizei length,
> void GLAPIENTRY
> _mesa_PopDebugGroup(void);
>
> +void GLAPIENTRY
> +_mesa_StringMarkerGREMEDY(GLsizei len, const GLvoid * string);
> +
> #ifdef __cplusplus
> }
> #endif
> diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h
> index aeccb01..9cec176 100644
> --- a/src/mesa/main/extensions_table.h
> +++ b/src/mesa/main/extensions_table.h
> @@ -251,6 +251,8 @@ EXT(EXT_unpack_subimage , dummy_true
> EXT(EXT_vertex_array , dummy_true , GLL, x , x , x , 1995)
> EXT(EXT_vertex_array_bgra , EXT_vertex_array_bgra , GLL, GLC, x , x , 2008)
>
> +EXT(GREMEDY_string_marker , GREMEDY_string_marker , GLL, GLC, x , x , 2007)
> +
> EXT(IBM_multimode_draw_arrays , dummy_true , GLL, GLC, x , x , 1998)
> EXT(IBM_rasterpos_clip , dummy_true , GLL, x , x , x , 1996)
> EXT(IBM_texture_mirrored_repeat , dummy_true , GLL, x , x , x , 1998)
> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
> index 0992d4d..3912c2b 100644
> --- a/src/mesa/main/mtypes.h
> +++ b/src/mesa/main/mtypes.h
> @@ -3880,6 +3880,7 @@ struct gl_extensions
> GLboolean ATI_texture_env_combine3;
> GLboolean ATI_fragment_shader;
> GLboolean ATI_separate_stencil;
> + GLboolean GREMEDY_string_marker;
> GLboolean INTEL_performance_query;
> GLboolean KHR_texture_compression_astc_hdr;
> GLboolean KHR_texture_compression_astc_ldr;
> diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
> index 7610bcb..eb11081 100644
> --- a/src/mesa/main/tests/dispatch_sanity.cpp
> +++ b/src/mesa/main/tests/dispatch_sanity.cpp
> @@ -940,6 +940,9 @@ const struct function common_desktop_functions_possible[] = {
> { "glGetTextureSubImage", 20, -1 },
> { "glGetCompressedTextureSubImage", 20, -1 },
>
> + /* GL_GREMEDY_string_marker */
> + { "glStringMarkerGREMEDY", 15, -1 },
> +
> { NULL, 0, -1 }
> };
>
>
More information about the mesa-dev
mailing list