zink: move cmdbuf-resetting into a helper

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
Erik Faye-Lund 2019-03-25 14:59:44 +01:00
parent ac45bc2359
commit 229cd042d3
1 changed files with 12 additions and 6 deletions

View File

@ -6,16 +6,22 @@
#include "util/u_debug.h"
static void
reset_cmdbuf(struct zink_screen *screen, struct zink_cmdbuf *cmdbuf)
{
// cmdbuf hasn't been submitted before
if (!cmdbuf->fence)
return;
zink_fence_finish(screen, cmdbuf->fence, PIPE_TIMEOUT_INFINITE);
zink_fence_reference(screen, &cmdbuf->fence, NULL);
}
struct zink_cmdbuf *
zink_start_cmdbuf(struct zink_context *ctx)
{
struct zink_cmdbuf *cmdbuf = &ctx->cmdbuf;
if (cmdbuf->fence) {
struct zink_screen *screen = zink_screen(ctx->base.screen);
zink_fence_finish(screen, cmdbuf->fence, PIPE_TIMEOUT_INFINITE);
zink_fence_reference(screen, &cmdbuf->fence, NULL);
}
reset_cmdbuf(zink_screen(ctx->base.screen), cmdbuf);
VkCommandBufferBeginInfo cbbi = {};
cbbi.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;