aux/trace: support pipe_screen::query_memory_info

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10387>
This commit is contained in:
Mike Blumenkrantz 2021-04-21 13:36:26 -04:00 committed by Marge Bot
parent 2e4994526a
commit b4929c986d
3 changed files with 39 additions and 0 deletions

View file

@ -780,6 +780,26 @@ void trace_dump_image_view(const struct pipe_image_view *state)
}
void trace_dump_memory_info(const struct pipe_memory_info *state)
{
if (!trace_dumping_enabled_locked())
return;
if (!state) {
trace_dump_null();
return;
}
trace_dump_struct_begin("pipe_memory_info");
trace_dump_member(uint, state, total_device_memory);
trace_dump_member(uint, state, avail_device_memory);
trace_dump_member(uint, state, total_staging_memory);
trace_dump_member(uint, state, avail_staging_memory);
trace_dump_member(uint, state, device_memory_evicted);
trace_dump_member(uint, state, nr_device_memory_evictions);
trace_dump_struct_end();
}
void trace_dump_draw_info(const struct pipe_draw_info *state)
{
if (!trace_dumping_enabled_locked())

View file

@ -99,4 +99,5 @@ void trace_dump_grid_info(const struct pipe_grid_info *state);
void trace_dump_image_view(const struct pipe_image_view *view);
void trace_dump_memory_info(const struct pipe_memory_info *state);
#endif /* TR_STATE_H */

View file

@ -850,6 +850,23 @@ trace_screen_destroy(struct pipe_screen *_screen)
FREE(tr_scr);
}
static void
trace_screen_query_memory_info(struct pipe_screen *_screen, struct pipe_memory_info *info)
{
struct trace_screen *tr_scr = trace_screen(_screen);
struct pipe_screen *screen = tr_scr->screen;
trace_dump_call_begin("pipe_screen", "query_memory_info");
trace_dump_arg(ptr, screen);
screen->query_memory_info(screen, info);
trace_dump_ret(memory_info, info);
trace_dump_call_end();
}
bool
trace_enabled(void)
{
@ -922,6 +939,7 @@ trace_screen_create(struct pipe_screen *screen)
tr_scr->base.free_memory = trace_screen_free_memory;
tr_scr->base.map_memory = trace_screen_map_memory;
tr_scr->base.unmap_memory = trace_screen_unmap_memory;
SCR_INIT(query_memory_info);
SCR_INIT(check_resource_capability);
tr_scr->base.resource_get_handle = trace_screen_resource_get_handle;
SCR_INIT(resource_get_param);