Mesa (main): aux/trace: implement pipe_screen::is_compute_copy_faster

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jun 3 05:02:14 UTC 2022


Module: Mesa
Branch: main
Commit: 3aad93a47ec8e1cff3586abb8e2308ed6cc920d0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3aad93a47ec8e1cff3586abb8e2308ed6cc920d0

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri May 13 16:40:18 2022 -0400

aux/trace: implement pipe_screen::is_compute_copy_faster

stop crashing!

Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16546>

---

 src/gallium/auxiliary/driver_trace/tr_screen.c | 27 ++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/src/gallium/auxiliary/driver_trace/tr_screen.c b/src/gallium/auxiliary/driver_trace/tr_screen.c
index c12aec2a415..03d978b2a9e 100644
--- a/src/gallium/auxiliary/driver_trace/tr_screen.c
+++ b/src/gallium/auxiliary/driver_trace/tr_screen.c
@@ -1174,6 +1174,32 @@ trace_screen_query_dmabuf_modifiers(struct pipe_screen *_screen, enum pipe_forma
    trace_dump_call_end();
 }
 
+static bool
+trace_screen_is_compute_copy_faster(struct pipe_screen *_screen, enum pipe_format src_format,
+                                    enum pipe_format dst_format, unsigned width, unsigned height,
+                                    unsigned depth, bool cpu)
+{
+   struct trace_screen *tr_scr = trace_screen(_screen);
+   struct pipe_screen *screen = tr_scr->screen;
+
+   trace_dump_call_begin("pipe_screen", "is_compute_copy_faster");
+
+   trace_dump_arg(ptr, screen);
+   trace_dump_arg(format, src_format);
+   trace_dump_arg(format, dst_format);
+   trace_dump_arg(uint, width);
+   trace_dump_arg(uint, height);
+   trace_dump_arg(uint, depth);
+   trace_dump_arg(bool, cpu);
+
+   bool ret = screen->is_compute_copy_faster(screen, src_format, dst_format, width, height, depth, cpu);
+
+   trace_dump_ret(bool, ret);
+
+   trace_dump_call_end();
+   return ret;
+}
+
 static bool
 trace_screen_is_dmabuf_modifier_supported(struct pipe_screen *_screen, uint64_t modifier, enum pipe_format format, bool *external_only)
 {
@@ -1381,6 +1407,7 @@ trace_screen_create(struct pipe_screen *screen)
    tr_scr->base.unmap_memory = trace_screen_unmap_memory;
    SCR_INIT(query_memory_info);
    SCR_INIT(query_dmabuf_modifiers);
+   SCR_INIT(is_compute_copy_faster);
    SCR_INIT(is_dmabuf_modifier_supported);
    SCR_INIT(get_dmabuf_modifier_planes);
    SCR_INIT(check_resource_capability);



More information about the mesa-commit mailing list