libs/vkd3d: Mark device as removed when command list in recording state is executed.

Fixes a GPU hang in test_device_removed_reason() on RADV.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Józef Kucia
2018-04-16 12:16:21 +02:00
committed by Alexandre Julliard
parent ce9ec9a44a
commit f0a1e14113
6 changed files with 52 additions and 10 deletions

View File

@@ -20,7 +20,6 @@
#include <assert.h>
#include <ctype.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -89,19 +88,27 @@ static char *get_buffer(void)
return buffers[current_index];
}
const char *vkd3d_dbg_sprintf(const char *fmt, ...)
const char *vkd3d_dbg_vsprintf(const char *fmt, va_list args)
{
char *buffer;
va_list args;
buffer = get_buffer();
va_start(args, fmt);
vsnprintf(buffer, VKD3D_DEBUG_BUFFER_SIZE, fmt, args);
va_end(args);
buffer[VKD3D_DEBUG_BUFFER_SIZE - 1] = '\0';
return buffer;
}
const char *vkd3d_dbg_sprintf(const char *fmt, ...)
{
const char *buffer;
va_list args;
va_start(args, fmt);
buffer = vkd3d_dbg_vsprintf(fmt, args);
va_end(args);
return buffer;
}
const char *debugstr_a(const char *str)
{
char *buffer, *ptr;