diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 1ea6960..b46a2ce 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -1289,11 +1289,12 @@ void radv_GetDeviceQueue( static void radv_dump_trace(struct radv_device *device, struct radeon_winsys_cs *cs) { const char *filename = getenv("RADV_TRACE_FILE"); - FILE *f = fopen(filename, "w"); + static int notfirst; + FILE *f = fopen(filename, notfirst++ ? "a" : "w"); if (!f) { fprintf(stderr, "Failed to write trace dump to %s\n", filename); return; } @@ -1972,13 +1973,14 @@ VkResult radv_QueueSubmit( queue->hw_ctx, radv_queue_family_to_ring( queue->queue_family_index), queue->queue_idx); - if (!success) { /* Hang */ + if (1) { /* Hang */ radv_dump_trace(queue->device, cs_array[j]); - abort(); + if (!success) + abort(); } } } free(cs_array); }