![]() |
XII Release 0.1.0
|
This describes the pipeline resource property flags. More...
#include <PipelineResourceSignature.h>
Classes | |
struct | Bits |
Public Types | |
enum | Enum : StorageType { None = 0U , NoDynamicBuffers = XII_BIT(0) , CombinedSampler = XII_BIT(1) , Formattedbuffer = XII_BIT(2) , RuntimeArray = XII_BIT(3) , GeneralInputAttachment = XII_BIT(4) , Default = None } |
using | StorageType = xiiUInt8 |
This describes the pipeline resource property flags.
enum xiiGALPipelineResourceFlags::Enum : StorageType |
Enumerator | |
---|---|
None | The resource has no special properties. |
NoDynamicBuffers | This indicates that dynamic buffers will never be bound to the resource variable. This applies to xiiGALShaderResourceType::ConstantBuffer, xiiGALShaderResourceType::BufferUAV, and xiiGALShaderResourceType::BufferSRV resources. \remarks In Vulkan and Direct3D12 graphics implementations, dynamic buffers require extra work at run time. If an application knows it will never bind a dynamic buffer to the variable, it should use xiiGALPipelineResourceFlags::NoDynamicBuffers flag to improve performance. This flag is not required and non-dynamic buffers will still work even if the flag is not used. It is an error to bind a dynamic buffer to resource that uses xiiGALPipelineResourceFlags::NoDynamicBuffers flag. |
CombinedSampler | This indicates that a texture SRV will be combined with a sampler. It applies to xiiGALShaderResourceType::TextureSRV resources. |
Formattedbuffer | This indicates this variable will be used to bind formatted buffers. It applies to xiiGALShaderResourceType::BufferUAV and xiiGALShaderResourceType::BufferSRV resources. \remarks In the Vulkan graphics implementation, formatted buffers require another descriptor type as opposed to structured buffers. If an application will be using formatted buffers with buffer UAVs and SRVs, it must specify the xiiGALPipelineResourceFlags::FormattedBuffer flag. |
RuntimeArray | This indicates that the resource is a run-time sized array (e.g., an array without a specific size). |
GeneralInputAttachment | This indicates that the resource is an input attachment in general layout, which allows simultaneously reading from the resource through the input attachment and writing to it via color or depth-stencil attachment. \note This flag is only valid in the Vulkan graphics implementation. |