From 7f34b70474f47f90e30478ad0e7ac47478e07405 Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Mon, 6 Dec 2021 23:41:16 +0100 Subject: [PATCH] radv: Use the winsys 0 cmdbuffer submission support. Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_device.c | 30 +++--------------------------- src/amd/vulkan/radv_private.h | 1 - 2 files changed, 3 insertions(+), 28 deletions(-) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 5e2f2201c62..2f3743dd6ed 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -3248,28 +3248,6 @@ radv_CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCr goto fail; } - for (int family = 0; family < RADV_MAX_QUEUE_FAMILIES; ++family) { - device->empty_cs[family] = device->ws->cs_create(device->ws, family); - if (!device->empty_cs[family]) - goto fail; - - switch (family) { - case RADV_QUEUE_GENERAL: - radeon_emit(device->empty_cs[family], PKT3(PKT3_CONTEXT_CONTROL, 1, 0)); - radeon_emit(device->empty_cs[family], CC0_UPDATE_LOAD_ENABLES(1)); - radeon_emit(device->empty_cs[family], CC1_UPDATE_SHADOW_ENABLES(1)); - break; - case RADV_QUEUE_COMPUTE: - radeon_emit(device->empty_cs[family], PKT3(PKT3_NOP, 0, 0)); - radeon_emit(device->empty_cs[family], 0); - break; - } - - result = device->ws->cs_finalize(device->empty_cs[family]); - if (result != VK_SUCCESS) - goto fail; - } - if (device->physical_device->rad_info.chip_class >= GFX7) cik_create_gfx_config(device); @@ -3355,8 +3333,6 @@ radv_DestroyDevice(VkDevice _device, const VkAllocationCallbacks *pAllocator) radv_queue_finish(&device->queues[i][q]); if (device->queue_count[i]) vk_free(&device->vk.alloc, device->queues[i]); - if (device->empty_cs[i]) - device->ws->cs_destroy(device->empty_cs[i]); } for (unsigned i = 0; i < RADV_NUM_HW_CTX; i++) { @@ -4760,9 +4736,9 @@ radv_queue_submit_deferred(struct radv_deferred_queue_submission *submission, } if (!submission->cmd_buffer_count) { - result = queue->device->ws->cs_submit( - ctx, queue->vk.queue_family_index, queue->vk.index_in_family, - &queue->device->empty_cs[queue->vk.queue_family_index], 1, NULL, NULL, &sem_info, false); + result = + queue->device->ws->cs_submit(ctx, queue->vk.queue_family_index, queue->vk.index_in_family, + NULL, 0, NULL, NULL, &sem_info, false); if (result != VK_SUCCESS) goto fail; } else { diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index 31ac95628d3..98c573d4f53 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -757,7 +757,6 @@ struct radv_device { struct radv_queue *queues[RADV_MAX_QUEUE_FAMILIES]; int queue_count[RADV_MAX_QUEUE_FAMILIES]; - struct radeon_cmdbuf *empty_cs[RADV_MAX_QUEUE_FAMILIES]; bool pbb_allowed; uint32_t tess_offchip_block_dw_size;