mirror of
https://gitlab.freedesktop.org/monado/monado.git
synced 2025-02-14 01:30:07 +00:00
xrt: Add image transition inteface
This commit is contained in:
parent
52d76414c0
commit
b7362f27e6
|
@ -378,6 +378,15 @@ enum xrt_swapchain_usage_bits
|
|||
XRT_SWAPCHAIN_USAGE_INPUT_ATTACHMENT = 0x00000080,
|
||||
};
|
||||
|
||||
/*!
|
||||
* The direction of a transition.
|
||||
*/
|
||||
enum xrt_barrier_direction
|
||||
{
|
||||
XRT_BARRIER_TO_APP = 1,
|
||||
XRT_BARRIER_TO_COMP = 2,
|
||||
};
|
||||
|
||||
/*!
|
||||
* @interface xrt_swapchain
|
||||
*
|
||||
|
@ -434,6 +443,15 @@ struct xrt_swapchain
|
|||
*/
|
||||
xrt_result_t (*wait_image)(struct xrt_swapchain *xsc, uint64_t timeout_ns, uint32_t index);
|
||||
|
||||
/*!
|
||||
* Do any barrier transitions to and from the application.
|
||||
*
|
||||
* @param xsc Self pointer
|
||||
* @param direction Direction of the barrier transition.
|
||||
* @param index Image index to barrier transition.
|
||||
*/
|
||||
xrt_result_t (*barrier_image)(struct xrt_swapchain *xsc, enum xrt_barrier_direction direction, uint32_t index);
|
||||
|
||||
/*!
|
||||
* See xrReleaseSwapchainImage, state tracker needs to track index.
|
||||
*/
|
||||
|
@ -499,6 +517,19 @@ xrt_swapchain_wait_image(struct xrt_swapchain *xsc, uint64_t timeout_ns, uint32_
|
|||
return xsc->wait_image(xsc, timeout_ns, index);
|
||||
}
|
||||
|
||||
/*!
|
||||
* @copydoc xrt_swapchain::barrier_image
|
||||
*
|
||||
* Helper for calling through the function pointer.
|
||||
*
|
||||
* @public @memberof xrt_swapchain
|
||||
*/
|
||||
static inline xrt_result_t
|
||||
xrt_swapchain_barrier_image(struct xrt_swapchain *xsc, enum xrt_barrier_direction direction, uint32_t index)
|
||||
{
|
||||
return xsc->barrier_image(xsc, direction, index);
|
||||
}
|
||||
|
||||
/*!
|
||||
* @copydoc xrt_swapchain::release_image
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue