On 01/20/2016 11:32 AM, Rob Clark wrote: > From: Rob Clark <robcl...@freedesktop.org> > > Signed-off-by: Rob Clark <robcl...@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 } > }; > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev