From: Mike Blumenkrantz Date: Thu, 3 Aug 2023 18:00:02 +0000 (-0400) Subject: aux/trace: fix winsys handle dumping X-Git-Tag: upstream/23.3.3~3626 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8dd26910204ab638d756179de7d42b522df2879e;p=platform%2Fupstream%2Fmesa.git aux/trace: fix winsys handle dumping cc: mesa-stable Reviewed-by: Dave Airlie Part-of: --- diff --git a/src/gallium/auxiliary/driver_trace/tr_dump_state.c b/src/gallium/auxiliary/driver_trace/tr_dump_state.c index 8561f71..fe48ab8 100644 --- a/src/gallium/auxiliary/driver_trace/tr_dump_state.c +++ b/src/gallium/auxiliary/driver_trace/tr_dump_state.c @@ -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(); +} diff --git a/src/gallium/auxiliary/driver_trace/tr_dump_state.h b/src/gallium/auxiliary/driver_trace/tr_dump_state.h index cb0fc5a..44b8b9f 100644 --- a/src/gallium/auxiliary/driver_trace/tr_dump_state.h +++ b/src/gallium/auxiliary/driver_trace/tr_dump_state.h @@ -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 */ diff --git a/src/gallium/auxiliary/driver_trace/tr_screen.c b/src/gallium/auxiliary/driver_trace/tr_screen.c index 9a5c4e0..24e530c 100644 --- a/src/gallium/auxiliary/driver_trace/tr_screen.c +++ b/src/gallium/auxiliary/driver_trace/tr_screen.c @@ -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();