radeonsi: move saved_cs functions from r600_pipe_common.c to si_debug.c
authorMarek Olšák <marek.olsak@amd.com>
Sun, 1 Apr 2018 18:46:05 +0000 (14:46 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 5 Apr 2018 19:34:58 +0000 (15:34 -0400)
Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
src/gallium/drivers/radeon/r600_pipe_common.c
src/gallium/drivers/radeon/r600_pipe_common.h
src/gallium/drivers/radeonsi/si_debug.c
src/gallium/drivers/radeonsi/si_pipe.h

index 987c955ed55c750d22d92409014a1b6733fe4fe1..bd35aa82d6779e742b9af5b19e52dbaeace5f9b0 100644 (file)
  * pipe_context
  */
 
-/**
- * Store a linearized copy of all chunks of \p cs together with the buffer
- * list in \p saved.
- */
-void si_save_cs(struct radeon_winsys *ws, struct radeon_winsys_cs *cs,
-               struct radeon_saved_cs *saved, bool get_buffer_list)
-{
-       uint32_t *buf;
-       unsigned i;
-
-       /* Save the IB chunks. */
-       saved->num_dw = cs->prev_dw + cs->current.cdw;
-       saved->ib = MALLOC(4 * saved->num_dw);
-       if (!saved->ib)
-               goto oom;
-
-       buf = saved->ib;
-       for (i = 0; i < cs->num_prev; ++i) {
-               memcpy(buf, cs->prev[i].buf, cs->prev[i].cdw * 4);
-               buf += cs->prev[i].cdw;
-       }
-       memcpy(buf, cs->current.buf, cs->current.cdw * 4);
-
-       if (!get_buffer_list)
-               return;
-
-       /* Save the buffer list. */
-       saved->bo_count = ws->cs_get_buffer_list(cs, NULL);
-       saved->bo_list = CALLOC(saved->bo_count,
-                               sizeof(saved->bo_list[0]));
-       if (!saved->bo_list) {
-               FREE(saved->ib);
-               goto oom;
-       }
-       ws->cs_get_buffer_list(cs, saved->bo_list);
-
-       return;
-
-oom:
-       fprintf(stderr, "%s: out of memory\n", __func__);
-       memset(saved, 0, sizeof(*saved));
-}
-
-void si_clear_saved_cs(struct radeon_saved_cs *saved)
-{
-       FREE(saved->ib);
-       FREE(saved->bo_list);
-
-       memset(saved, 0, sizeof(*saved));
-}
-
 static enum pipe_reset_status r600_get_reset_status(struct pipe_context *ctx)
 {
        struct r600_common_context *rctx = (struct r600_common_context *)ctx;
index 140972989d7df33b3483cc48c446aa55ff8ff156..813047fabbc3502ad997b304c6d2c1e7d4dc3cb1 100644 (file)
@@ -515,9 +515,6 @@ bool si_common_context_init(struct r600_common_context *rctx,
                            struct si_screen *sscreen,
                            unsigned context_flags);
 void si_common_context_cleanup(struct r600_common_context *rctx);
-void si_save_cs(struct radeon_winsys *ws, struct radeon_winsys_cs *cs,
-               struct radeon_saved_cs *saved, bool get_buffer_list);
-void si_clear_saved_cs(struct radeon_saved_cs *saved);
 bool si_check_device_reset(struct r600_common_context *rctx);
 
 /* r600_gpu_load.c */
index 886f79d5a5285e50eaa917faa4c03eb75351ad3f..f036f5e1592b133c46a820b630377315f7b3fac3 100644 (file)
@@ -37,6 +37,57 @@ static void si_dump_bo_list(struct si_context *sctx,
 
 DEBUG_GET_ONCE_OPTION(replace_shaders, "RADEON_REPLACE_SHADERS", NULL)
 
+/**
+ * Store a linearized copy of all chunks of \p cs together with the buffer
+ * list in \p saved.
+ */
+void si_save_cs(struct radeon_winsys *ws, struct radeon_winsys_cs *cs,
+               struct radeon_saved_cs *saved, bool get_buffer_list)
+{
+       uint32_t *buf;
+       unsigned i;
+
+       /* Save the IB chunks. */
+       saved->num_dw = cs->prev_dw + cs->current.cdw;
+       saved->ib = MALLOC(4 * saved->num_dw);
+       if (!saved->ib)
+               goto oom;
+
+       buf = saved->ib;
+       for (i = 0; i < cs->num_prev; ++i) {
+               memcpy(buf, cs->prev[i].buf, cs->prev[i].cdw * 4);
+               buf += cs->prev[i].cdw;
+       }
+       memcpy(buf, cs->current.buf, cs->current.cdw * 4);
+
+       if (!get_buffer_list)
+               return;
+
+       /* Save the buffer list. */
+       saved->bo_count = ws->cs_get_buffer_list(cs, NULL);
+       saved->bo_list = CALLOC(saved->bo_count,
+                               sizeof(saved->bo_list[0]));
+       if (!saved->bo_list) {
+               FREE(saved->ib);
+               goto oom;
+       }
+       ws->cs_get_buffer_list(cs, saved->bo_list);
+
+       return;
+
+oom:
+       fprintf(stderr, "%s: out of memory\n", __func__);
+       memset(saved, 0, sizeof(*saved));
+}
+
+void si_clear_saved_cs(struct radeon_saved_cs *saved)
+{
+       FREE(saved->ib);
+       FREE(saved->bo_list);
+
+       memset(saved, 0, sizeof(*saved));
+}
+
 void si_destroy_saved_cs(struct si_saved_cs *scs)
 {
        si_clear_saved_cs(&scs->gfx);
index 371ab5b5be9cec22abff6df0a9a921bd3a4d5028..1c6e10f7dc92b20ef17b14a9b157b6dbc19b5efa 100644 (file)
@@ -705,6 +705,9 @@ void cik_emit_prefetch_L2(struct si_context *sctx);
 void si_init_cp_dma_functions(struct si_context *sctx);
 
 /* si_debug.c */
+void si_save_cs(struct radeon_winsys *ws, struct radeon_winsys_cs *cs,
+               struct radeon_saved_cs *saved, bool get_buffer_list);
+void si_clear_saved_cs(struct radeon_saved_cs *saved);
 void si_destroy_saved_cs(struct si_saved_cs *scs);
 void si_auto_log_cs(void *data, struct u_log_context *log);
 void si_log_hw_flush(struct si_context *sctx);