diff --git a/src/amd/vulkan/layers/radv_sqtt_layer.c b/src/amd/vulkan/layers/radv_sqtt_layer.c index 78643467cca..c546a54283c 100644 --- a/src/amd/vulkan/layers/radv_sqtt_layer.c +++ b/src/amd/vulkan/layers/radv_sqtt_layer.c @@ -717,13 +717,18 @@ radv_sqtt_wsi_submit(VkQueue _queue, uint32_t submitCount, const VkSubmitInfo2 * radv_describe_queue_present(queue, cpu_timestamp, gpu_timestamp_ptr); - result = device->layer_dispatch.rgp.QueueSubmit2(_queue, 1, &sqtt_submit, _fence); + result = device->layer_dispatch.rgp.QueueSubmit2(_queue, 1, &sqtt_submit, + i + 1 == submitCount ? _fence : VK_NULL_HANDLE); + if (result != VK_SUCCESS) goto fail; FREE(new_cmdbufs); } + if (submitCount == 0 && _fence != VK_NULL_HANDLE) + result = device->layer_dispatch.rgp.QueueSubmit2(_queue, 0, NULL, _fence); + return result; fail: