aux/trace: fix winsys handle dumping

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24493>
(cherry picked from commit 8dd2691020)
This commit is contained in:
Mike Blumenkrantz 2023-08-03 14:00:02 -04:00 committed by Dylan Baker
parent b39929ed5c
commit 7cd58273cc
4 changed files with 35 additions and 4 deletions

View file

@ -9324,7 +9324,7 @@
"description": "aux/trace: fix winsys handle dumping",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -30,7 +30,7 @@
#include "util/u_memory.h"
#include "util/format/u_format.h"
#include "tgsi/tgsi_dump.h"
#include "frontend/winsys_handle.h"
#include "tr_dump.h"
#include "tr_dump_defines.h"
#include "tr_dump_state.h"
@ -1097,3 +1097,31 @@ void trace_dump_grid_info(const struct pipe_grid_info *state)
trace_dump_struct_end();
}
void trace_dump_winsys_handle(const struct winsys_handle *whandle)
{
if (!trace_dumping_enabled_locked())
return;
if (!whandle) {
trace_dump_null();
return;
}
trace_dump_struct_begin("winsys_handle");
trace_dump_member(uint, whandle, type);
trace_dump_member(uint, whandle, layer);
trace_dump_member(uint, whandle, plane);
#ifdef _WIN32
trace_dump_member(ptr, whandle, handle);
#else
trace_dump_member(uint, whandle, handle);
#endif
trace_dump_member(uint, whandle, stride);
trace_dump_member(uint, whandle, offset);
trace_dump_member(format, whandle, format);
trace_dump_member(uint, whandle, modifier);
trace_dump_member(uint, whandle, size);
trace_dump_struct_end();
}

View file

@ -31,6 +31,7 @@
#include "pipe/p_state.h"
#include "pipe/p_shader_tokens.h"
struct winsys_handle;
void trace_dump_resource_template(const struct pipe_resource *templat);
@ -101,4 +102,6 @@ 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);
void trace_dump_winsys_handle(const struct winsys_handle *whandle);
#endif /* TR_STATE_H */

View file

@ -783,7 +783,7 @@ trace_screen_resource_from_handle(struct pipe_screen *_screen,
trace_dump_arg(ptr, screen);
trace_dump_arg(resource_template, templ);
trace_dump_arg(ptr, handle);
trace_dump_arg(winsys_handle, handle);
trace_dump_arg(uint, usage);
result = screen->resource_from_handle(screen, templ, handle, usage);
@ -823,11 +823,11 @@ trace_screen_resource_get_handle(struct pipe_screen *_screen,
trace_dump_arg(ptr, screen);
trace_dump_arg(ptr, resource);
trace_dump_arg(ptr, handle);
trace_dump_arg(uint, usage);
result = screen->resource_get_handle(screen, pipe, resource, handle, usage);
trace_dump_arg(winsys_handle, handle);
trace_dump_ret(bool, result);
trace_dump_call_end();