radv: use common command buffer status code.
authorDave Airlie <airlied@redhat.com>
Wed, 8 Jun 2022 00:46:11 +0000 (10:46 +1000)
committerMarge Bot <emma+marge@anholt.net>
Fri, 11 Nov 2022 05:01:24 +0000 (05:01 +0000)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16922>

src/amd/vulkan/radv_cmd_buffer.c
src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_private.h

index afe1ded..23ccc09 100644 (file)
@@ -420,8 +420,6 @@ radv_create_cmd_buffer(struct vk_command_pool *pool,
 
    list_inithead(&cmd_buffer->upload.list);
 
-   cmd_buffer->status = RADV_CMD_BUFFER_STATUS_INITIAL;
-
    return VK_SUCCESS;
 }
 
@@ -481,8 +479,6 @@ radv_reset_cmd_buffer(struct vk_command_buffer *vk_cmd_buffer,
    }
 
    radv_cmd_buffer_reset_rendering(cmd_buffer);
-
-   cmd_buffer->status = RADV_CMD_BUFFER_STATUS_INITIAL;
 }
 
 const struct vk_command_buffer_ops radv_cmd_buffer_ops = {
@@ -5260,12 +5256,7 @@ radv_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBegi
    RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer);
    VkResult result = VK_SUCCESS;
 
-   if (cmd_buffer->status != RADV_CMD_BUFFER_STATUS_INITIAL) {
-      /* If the command buffer has already been resetted with
-       * vkResetCommandBuffer, no need to do it again.
-       */
-      radv_reset_cmd_buffer(&cmd_buffer->vk, 0);
-   }
+   vk_command_buffer_begin(&cmd_buffer->vk, pBeginInfo);
 
    memset(&cmd_buffer->state, 0, sizeof(cmd_buffer->state));
    cmd_buffer->state.last_primitive_reset_en = -1;
@@ -5366,8 +5357,6 @@ radv_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBegi
 
    radv_describe_begin_cmd_buffer(cmd_buffer);
 
-   cmd_buffer->status = RADV_CMD_BUFFER_STATUS_RECORDING;
-
    return result;
 }
 
@@ -5755,9 +5744,7 @@ radv_EndCommandBuffer(VkCommandBuffer commandBuffer)
    if (result != VK_SUCCESS)
       return vk_error(cmd_buffer, result);
 
-   cmd_buffer->status = RADV_CMD_BUFFER_STATUS_EXECUTABLE;
-
-   return vk_command_buffer_get_record_result(&cmd_buffer->vk);
+   return vk_command_buffer_end(&cmd_buffer->vk);
 }
 
 static void
index 26066b5..733e048 100644 (file)
@@ -5471,7 +5471,6 @@ radv_queue_submit_normal(struct radv_queue *queue, struct vk_queue_submit *submi
       if ((cmd_buffer->usage_flags & VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT))
          can_patch = false;
 
-      cmd_buffer->status = RADV_CMD_BUFFER_STATUS_PENDING;
       use_ace |= radv_cmd_buffer_needs_ace(cmd_buffer);
    }
 
index ac85089..c9259f3 100644 (file)
@@ -1635,14 +1635,6 @@ struct radv_cmd_buffer_upload {
    struct list_head list;
 };
 
-enum radv_cmd_buffer_status {
-   RADV_CMD_BUFFER_STATUS_INVALID,
-   RADV_CMD_BUFFER_STATUS_INITIAL,
-   RADV_CMD_BUFFER_STATUS_RECORDING,
-   RADV_CMD_BUFFER_STATUS_EXECUTABLE,
-   RADV_CMD_BUFFER_STATUS_PENDING,
-};
-
 struct radv_cmd_buffer {
    struct vk_command_buffer vk;
 
@@ -1650,7 +1642,6 @@ struct radv_cmd_buffer {
 
    struct util_dynarray cached_vertex_formats;
    VkCommandBufferUsageFlags usage_flags;
-   enum radv_cmd_buffer_status status;
    struct radeon_cmdbuf *cs;
    struct radv_cmd_state state;
    struct radv_buffer *vertex_binding_buffers[MAX_VBS];