Mesa (main): radv: Use the winsys 0 cmdbuffer submission support.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Dec 8 20:45:34 UTC 2021


Module: Mesa
Branch: main
Commit: 7f34b70474f47f90e30478ad0e7ac47478e07405
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f34b70474f47f90e30478ad0e7ac47478e07405

Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Mon Dec  6 23:41:16 2021 +0100

radv: Use the winsys 0 cmdbuffer submission support.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14097>

---

 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;



More information about the mesa-commit mailing list