Have we contacted the developer? This doesn't seem like a thing they really want to do in a release build.
On 02/15/2017 04:59 PM, Kenneth Graunke wrote: > Equivalent marker functionality is already included in KHR_debug, which > we already expose unconditionally in all drivers (dummy_true). > > Grim Fandango Remastered apparently calls glStringMarkerGREMEDY() > without checking for the extension, spewing GL errors. Assuming the > existence of the extension is definitely not valid, but it also seems > kinda mean to spew GL errors when we could simply expose the feature > and silently ignore the provided string markers. > > This patch enables GREMEDY_string_marker everywhere, and makes the calls > no-ops if the driver doesn't provide the EmitStringMarker() hook, just > like we did for the KHR_debug functionality. > > This may impact freedreno, which actually puts markers in its command > buffers. > > Signed-off-by: Kenneth Graunke <[email protected]> > --- > src/mesa/main/debug_output.c | 4 +--- > src/mesa/main/extensions_table.h | 2 +- > src/mesa/state_tracker/st_debug.c | 1 - > src/mesa/state_tracker/st_debug.h | 3 +-- > src/mesa/state_tracker/st_extensions.c | 4 ---- > 5 files changed, 3 insertions(+), 11 deletions(-) > > diff --git a/src/mesa/main/debug_output.c b/src/mesa/main/debug_output.c > index bc933db93d4..1d2dee128b4 100644 > --- a/src/mesa/main/debug_output.c > +++ b/src/mesa/main/debug_output.c > @@ -1308,12 +1308,10 @@ void GLAPIENTRY > _mesa_StringMarkerGREMEDY(GLsizei len, const GLvoid *string) > { > GET_CURRENT_CONTEXT(ctx); > - if (ctx->Extensions.GREMEDY_string_marker) { > + if (ctx->Driver.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"); > } > } > diff --git a/src/mesa/main/extensions_table.h > b/src/mesa/main/extensions_table.h > index 7ea56c8422d..ec48aadde3f 100644 > --- a/src/mesa/main/extensions_table.h > +++ b/src/mesa/main/extensions_table.h > @@ -285,7 +285,7 @@ EXT(EXT_vertex_array , dummy_true > EXT(EXT_vertex_array_bgra , EXT_vertex_array_bgra > , GLL, GLC, x , x , 2008) > EXT(EXT_window_rectangles , EXT_window_rectangles > , GLL, GLC, x , 30, 2016) > > -EXT(GREMEDY_string_marker , GREMEDY_string_marker > , GLL, GLC, x , x , 2007) > +EXT(GREMEDY_string_marker , dummy_true > , 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) > diff --git a/src/mesa/state_tracker/st_debug.c > b/src/mesa/state_tracker/st_debug.c > index d6cb5cd57d8..f2e982c8c7a 100644 > --- a/src/mesa/state_tracker/st_debug.c > +++ b/src/mesa/state_tracker/st_debug.c > @@ -58,7 +58,6 @@ static const struct debug_named_value st_debug_flags[] = { > { "buffer", DEBUG_BUFFER, NULL }, > { "wf", DEBUG_WIREFRAME, NULL }, > { "precompile", DEBUG_PRECOMPILE, NULL }, > - { "gremedy", DEBUG_GREMEDY, "Enable GREMEDY debug extensions" }, > { "noreadpixcache", DEBUG_NOREADPIXCACHE, NULL }, > DEBUG_NAMED_VALUE_END > }; > diff --git a/src/mesa/state_tracker/st_debug.h > b/src/mesa/state_tracker/st_debug.h > index 6c1e915f68c..4b92a669a37 100644 > --- a/src/mesa/state_tracker/st_debug.h > +++ b/src/mesa/state_tracker/st_debug.h > @@ -50,8 +50,7 @@ st_print_current(void); > #define DEBUG_BUFFER 0x200 > #define DEBUG_WIREFRAME 0x400 > #define DEBUG_PRECOMPILE 0x800 > -#define DEBUG_GREMEDY 0x1000 > -#define DEBUG_NOREADPIXCACHE 0x2000 > +#define DEBUG_NOREADPIXCACHE 0x1000 > > #ifdef DEBUG > extern int ST_DEBUG; > diff --git a/src/mesa/state_tracker/st_extensions.c > b/src/mesa/state_tracker/st_extensions.c > index 37fe4469c37..d9057c77657 100644 > --- a/src/mesa/state_tracker/st_extensions.c > +++ b/src/mesa/state_tracker/st_extensions.c > @@ -1167,10 +1167,6 @@ void st_init_extensions(struct pipe_screen *screen, > extensions->ARB_vertex_attrib_64bit = GL_TRUE; > } > > - if ((ST_DEBUG & DEBUG_GREMEDY) && > - screen->get_param(screen, PIPE_CAP_STRING_MARKER)) > - extensions->GREMEDY_string_marker = GL_TRUE; > - > if (screen->get_param(screen, PIPE_CAP_COMPUTE)) { > int compute_supported_irs = > screen->get_shader_param(screen, PIPE_SHADER_COMPUTE, > _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
