radv: Use the winsys 0 cmdbuffer submission support.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14097>
This commit is contained in:
Bas Nieuwenhuizen 2021-12-06 23:41:16 +01:00 committed by Marge Bot
parent 7675d066ca
commit 7f34b70474
2 changed files with 3 additions and 28 deletions

View File

@ -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 {

View File

@ -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;