Mesa (main): venus: handle VN_COMMAND_BUFFER_STATE_INVALID
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Jun 3 06:13:17 UTC 2021
Module: Mesa
Branch: main
Commit: 6661e47b59060ccc063eece3009869789e553694
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6661e47b59060ccc063eece3009869789e553694
Author: Chia-I Wu <olvaffe at gmail.com>
Date: Mon May 10 13:04:15 2021 -0700
venus: handle VN_COMMAND_BUFFER_STATE_INVALID
If the state was set to VN_COMMAND_BUFFER_STATE_INVALID, return
VK_ERROR_OUT_OF_HOST_MEMORY in vn_EndCommandBuffer.
Signed-off-by: Chia-I Wu <olvaffe at gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10709>
---
src/virtio/vulkan/vn_command_buffer.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/virtio/vulkan/vn_command_buffer.c b/src/virtio/vulkan/vn_command_buffer.c
index dd157597d70..1cfde32bacb 100644
--- a/src/virtio/vulkan/vn_command_buffer.c
+++ b/src/virtio/vulkan/vn_command_buffer.c
@@ -240,6 +240,9 @@ vn_EndCommandBuffer(VkCommandBuffer commandBuffer)
struct vn_instance *instance = cmd->device->instance;
size_t cmd_size;
+ if (cmd->state != VN_COMMAND_BUFFER_STATE_RECORDING)
+ return vn_error(instance, VK_ERROR_OUT_OF_HOST_MEMORY);
+
cmd_size = vn_sizeof_vkEndCommandBuffer(commandBuffer);
if (!vn_cs_encoder_reserve(&cmd->cs, cmd_size)) {
cmd->state = VN_COMMAND_BUFFER_STATE_INVALID;
More information about the mesa-commit
mailing list