mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 15:20:10 +01:00
ddebug: record and dump apitrace call numbers
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
861ecf1ca9
commit
50b2235478
4 changed files with 31 additions and 1 deletions
|
|
@ -665,9 +665,11 @@ static void
|
|||
dd_context_emit_string_marker(struct pipe_context *_pipe,
|
||||
const char *string, int len)
|
||||
{
|
||||
struct pipe_context *pipe = dd_context(_pipe)->pipe;
|
||||
struct dd_context *dctx = dd_context(_pipe);
|
||||
struct pipe_context *pipe = dctx->pipe;
|
||||
|
||||
pipe->emit_string_marker(pipe, string, len);
|
||||
dd_parse_apitrace_marker(string, len, &dctx->apitrace_call_number);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -99,6 +99,10 @@ dd_get_file_stream(struct dd_context *dctx)
|
|||
fprintf(f, "Driver vendor: %s\n", screen->get_vendor(screen));
|
||||
fprintf(f, "Device vendor: %s\n", screen->get_device_vendor(screen));
|
||||
fprintf(f, "Device name: %s\n\n", screen->get_name(screen));
|
||||
|
||||
if (dctx->apitrace_call_number)
|
||||
fprintf(f, "Last apitrace call: %u\n\n",
|
||||
dctx->apitrace_call_number);
|
||||
return f;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -114,6 +114,7 @@ struct dd_context
|
|||
float tess_default_levels[6];
|
||||
|
||||
unsigned num_draw_calls;
|
||||
unsigned apitrace_call_number;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -71,4 +71,27 @@ dd_get_debug_file(bool verbose)
|
|||
return f;
|
||||
}
|
||||
|
||||
static inline void
|
||||
dd_parse_apitrace_marker(const char *string, int len, unsigned *call_number)
|
||||
{
|
||||
unsigned num;
|
||||
char *s;
|
||||
|
||||
if (len <= 0)
|
||||
return;
|
||||
|
||||
/* Make it zero-terminated. */
|
||||
s = alloca(len + 1);
|
||||
memcpy(s, string, len);
|
||||
s[len] = 0;
|
||||
|
||||
/* Parse the number. */
|
||||
errno = 0;
|
||||
num = strtol(s, NULL, 10);
|
||||
if (errno)
|
||||
return;
|
||||
|
||||
*call_number = num;
|
||||
}
|
||||
|
||||
#endif /* DD_UTIL_H */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue