diff --git a/src/xrt/include/xrt/xrt_compositor.h b/src/xrt/include/xrt/xrt_compositor.h index 2bc3c31a0..c13464501 100644 --- a/src/xrt/include/xrt/xrt_compositor.h +++ b/src/xrt/include/xrt/xrt_compositor.h @@ -748,6 +748,7 @@ xrt_compositor_gl(struct xrt_compositor *xc) * */ +typedef struct VkCommandBuffer_T *VkCommandBuffer; #ifdef XRT_64_BIT typedef struct VkImage_T *VkImage; typedef struct VkDeviceMemory_T *VkDeviceMemory; @@ -769,6 +770,10 @@ struct xrt_swapchain_vk VkImage images[XRT_MAX_SWAPCHAIN_IMAGES]; VkDeviceMemory mems[XRT_MAX_SWAPCHAIN_IMAGES]; + + // Prerecorded swapchain image ownership/layout transition barriers + VkCommandBuffer acquire[XRT_MAX_SWAPCHAIN_IMAGES]; + VkCommandBuffer release[XRT_MAX_SWAPCHAIN_IMAGES]; }; /*! diff --git a/src/xrt/include/xrt/xrt_results.h b/src/xrt/include/xrt/xrt_results.h index f9fc6d17b..6818f935a 100644 --- a/src/xrt/include/xrt/xrt_results.h +++ b/src/xrt/include/xrt/xrt_results.h @@ -13,5 +13,6 @@ typedef enum xrt_result { XRT_SUCCESS = 0, XRT_ERROR_IPC_FAILURE = -1, - XRT_ERROR_NO_IMAGE_AVAILABLE = -2 + XRT_ERROR_NO_IMAGE_AVAILABLE = -2, + XRT_ERROR_FAILED_TO_SUBMIT_VULKAN_COMMANDS = -3, } xrt_result_t;