14#include "xrt/xrt_config_have.h"
26static inline D3D12_RESOURCE_FLAGS
30 if ((xsub & XRT_SWAPCHAIN_USAGE_COLOR) != 0) {
31 ret |= D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET;
33 if ((xsub & XRT_SWAPCHAIN_USAGE_DEPTH_STENCIL) != 0) {
34 ret |= D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL;
36 if ((xsub & XRT_SWAPCHAIN_USAGE_UNORDERED_ACCESS) != 0) {
37 ret |= D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS;
41 if ((xsub & XRT_SWAPCHAIN_USAGE_SAMPLED) == 0) {
44 assert((xsub & XRT_SWAPCHAIN_USAGE_DEPTH_STENCIL) != 0);
45 ret |= D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE;
47 return (D3D12_RESOURCE_FLAGS)ret;
56static inline D3D12_RESOURCE_STATES
59 D3D12_RESOURCE_STATES state = D3D12_RESOURCE_STATES(0);
61 if ((xsub & XRT_SWAPCHAIN_USAGE_UNORDERED_ACCESS) != 0) {
62 state |= D3D12_RESOURCE_STATE_UNORDERED_ACCESS;
64 if ((xsub & XRT_SWAPCHAIN_USAGE_COLOR) != 0) {
66 assert((xsub & XRT_SWAPCHAIN_USAGE_DEPTH_STENCIL) == 0);
67 state |= D3D12_RESOURCE_STATE_RENDER_TARGET;
69 if ((xsub & XRT_SWAPCHAIN_USAGE_DEPTH_STENCIL) != 0) {
70 state |= D3D12_RESOURCE_STATE_DEPTH_WRITE;
81static inline D3D12_RESOURCE_STATES
84 D3D12_RESOURCE_STATES state = D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE;
86 if ((xsub & XRT_SWAPCHAIN_USAGE_UNORDERED_ACCESS) != 0) {
87 state |= D3D12_RESOURCE_STATE_UNORDERED_ACCESS;
94 if ((xsub & XRT_SWAPCHAIN_USAGE_DEPTH_STENCIL) != 0) {
95 state |= D3D12_RESOURCE_STATE_DEPTH_READ;
xrt_swapchain_usage_bits
Usage of the swapchain images.
Definition: xrt_compositor.h:506
Header declaring XRT graphics interfaces.
A minimal way to include Windows.h.