gallium/util: add helper util_wait_for_idle
authorMarek Olšák <marek.olsak@amd.com>
Sun, 11 Mar 2018 00:23:45 +0000 (19:23 -0500)
committerMarek Olšák <marek.olsak@amd.com>
Sun, 11 Mar 2018 17:14:27 +0000 (13:14 -0400)
This is an old patch that I had.

src/gallium/auxiliary/util/u_helpers.c
src/gallium/auxiliary/util/u_helpers.h

index e0feade3acdbd7e41892fb37d43f0c0615de70fb..365238631a228007ece16918caa85481a30c6a03 100644 (file)
@@ -118,6 +118,7 @@ util_upload_index_buffer(struct pipe_context *pipe,
    return *out_buffer != NULL;
 }
 
+/* This is a helper for hardware bring-up. Don't remove. */
 struct pipe_query *
 util_begin_pipestat_query(struct pipe_context *ctx)
 {
@@ -130,6 +131,7 @@ util_begin_pipestat_query(struct pipe_context *ctx)
    return q;
 }
 
+/* This is a helper for hardware bring-up. Don't remove. */
 void
 util_end_pipestat_query(struct pipe_context *ctx, struct pipe_query *q,
                         FILE *f)
@@ -167,3 +169,13 @@ util_end_pipestat_query(struct pipe_context *ctx, struct pipe_query *q,
            stats.ds_invocations,
            stats.cs_invocations);
 }
+
+/* This is a helper for hardware bring-up. Don't remove. */
+void
+util_wait_for_idle(struct pipe_context *ctx)
+{
+   struct pipe_fence_handle *fence = NULL;
+
+   ctx->flush(ctx, &fence, 0);
+   ctx->screen->fence_finish(ctx->screen, NULL, fence, PIPE_TIMEOUT_INFINITE);
+}
index ab970d791b1cc21e2445f10346f0e552333d9c38..1e57e32959b95f1f4457242de916c0d3cbe5fb32 100644 (file)
@@ -57,6 +57,9 @@ void
 util_end_pipestat_query(struct pipe_context *ctx, struct pipe_query *q,
                         FILE *f);
 
+void
+util_wait_for_idle(struct pipe_context *ctx);
+
 #ifdef __cplusplus
 }
 #endif