list_inithead(&cmd_buffer->upload.list);
- cmd_buffer->status = RADV_CMD_BUFFER_STATUS_INITIAL;
-
return VK_SUCCESS;
}
}
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 = {
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;
radv_describe_begin_cmd_buffer(cmd_buffer);
- cmd_buffer->status = RADV_CMD_BUFFER_STATUS_RECORDING;
-
return result;
}
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
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;
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];