XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALDeviceFeatures Struct Reference

This describes the device features. More...

#include <Descriptors.h>

Inheritance diagram for xiiGALDeviceFeatures:
[legend]

Public Member Functions

 XII_DECLARE_POD_TYPE ()
 
- Public Member Functions inherited from xiiHashableStruct< xiiGALDeviceFeatures >
 xiiHashableStruct (const xiiHashableStruct< xiiGALDeviceFeatures > &other)
 
void operator= (const xiiHashableStruct< xiiGALDeviceFeatures > &other)
 
XII_ALWAYS_INLINE constexpr bool operator== (const xiiHashableStruct< xiiGALDeviceFeatures > &rhs) const=default
 
xiiUInt32 CalculateHash () const
 Calculates the 32 bit hash of the struct and returns it.
 

Public Attributes

xiiEnum< xiiGALDeviceFeatureStatem_SeparablePrograms = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports separable shader programs.
 
xiiEnum< xiiGALDeviceFeatureStatem_ShaderResourceQueries = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports resource queries from shader objects.
 
xiiEnum< xiiGALDeviceFeatureStatem_WireframeFill = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports wireframe fill mode.
 
xiiEnum< xiiGALDeviceFeatureStatem_MultithreadedResourceCreation = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports multithreaded resource creation.
 
xiiEnum< xiiGALDeviceFeatureStatem_ComputeShaders = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports compute shaders.
 
xiiEnum< xiiGALDeviceFeatureStatem_GeometryShaders = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports geometry shaders.
 
xiiEnum< xiiGALDeviceFeatureStatem_Tessellation = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports tessellation.
 
xiiEnum< xiiGALDeviceFeatureStatem_MeshShaders = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports mesh and amplification shaders.
 
xiiEnum< xiiGALDeviceFeatureStatem_RayTracing = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports ray tracing.
 
xiiEnum< xiiGALDeviceFeatureStatem_BindlessResources = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports bindless resources.
 
xiiEnum< xiiGALDeviceFeatureStatem_OcclusionQueries = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports occlusion queries.
 
xiiEnum< xiiGALDeviceFeatureStatem_BinaryOcclusionQueries = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports binary occlusion queries.
 
xiiEnum< xiiGALDeviceFeatureStatem_TimestampQueries = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports timestamp queries.
 
xiiEnum< xiiGALDeviceFeatureStatem_PipelineStatisticsQueries = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports pipeline statistics queries.
 
xiiEnum< xiiGALDeviceFeatureStatem_DurationQueries = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports duration queries.
 
xiiEnum< xiiGALDeviceFeatureStatem_DepthBiasClamp = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports depth bias clamp.
 
xiiEnum< xiiGALDeviceFeatureStatem_DepthClamp = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports depth clamp.
 
xiiEnum< xiiGALDeviceFeatureStatem_IndependentBlend = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports independent blend.
 
xiiEnum< xiiGALDeviceFeatureStatem_DualSourceBlend = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports dual-source blend.
 
xiiEnum< xiiGALDeviceFeatureStatem_MultiViewport = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports multi-viewport.
 
xiiEnum< xiiGALDeviceFeatureStatem_TextureCompressionBC = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports all BC-compressed formats.
 
xiiEnum< xiiGALDeviceFeatureStatem_VertexPipelineUAVWritesAndAtomics = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports writes to UAVs as well as atomic operations in vertex, tessellation, and geometry shader stages.
 
xiiEnum< xiiGALDeviceFeatureStatem_PixelUAVWritesAndAtomics = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports writes to UAVs as well as atomic operations in pixel shader stage.
 
xiiEnum< xiiGALDeviceFeatureStatem_TextureUAVExtendedFormats = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports all the extended UAV texture formats available in the shader code.
 
xiiEnum< xiiGALDeviceFeatureStatem_ShaderFloat16 = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports native 16-bit float operations. Note that there are separate features that indicate if device supports loading 16-bit floats from buffers and passing them between shader stages. See https://therealmjp.github.io/posts/shader-fp16/ more info.
 
xiiEnum< xiiGALDeviceFeatureStatem_ResourceBuffer16BitAccess = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports reading and writing 16-bit floats and integers from buffers bound as shader resource or unordered access views.
 
xiiEnum< xiiGALDeviceFeatureStatem_UniformBuffer16BitAccess = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports reading 16-bit floats and integers from uniform buffers.
 
xiiEnum< xiiGALDeviceFeatureStatem_ShaderInputOutput16 = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports using 16-bit floats and integers as input/output of a shader entry point.
 
xiiEnum< xiiGALDeviceFeatureStatem_ShaderInt8 = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports native 8-bit integer operations.
 
xiiEnum< xiiGALDeviceFeatureStatem_ResourceBuffer8BitAccess = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports reading and writing 8-bit types from buffers bound as shader resource or unordered access views.
 
xiiEnum< xiiGALDeviceFeatureStatem_UniformBuffer8BitAccess = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports reading 8-bit types from uniform buffers.
 
xiiEnum< xiiGALDeviceFeatureStatem_ShaderResourceRuntimeArray = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports runtime-sized shader arrays (eg. arrays without a specific size).This feature is always enabled in DirectX12 backend and can optionally be enabled in Vulkan backend. Run-time sized shader arrays are not available in other backends.
 
xiiEnum< xiiGALDeviceFeatureStatem_WaveOperation = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports wave operations or (DirectX 12) or subgroups (Vulkan).
 
xiiEnum< xiiGALDeviceFeatureStatem_InstanceDataStepRate = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports instance data step rates other than 1.
 
xiiEnum< xiiGALDeviceFeatureStatem_NativeFence = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports fence with Uint64 counter. Native fence can wait on GPU for a signal from CPU, can be enqueued for wait operation for any value. If not natively supported by the device, the fence is emulated where possible.
 
xiiEnum< xiiGALDeviceFeatureStatem_TileShaders = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports tile shaders.
 
xiiEnum< xiiGALDeviceFeatureStatem_TransferQueueTimestampQueries = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports timestamp and duration queries in transfer queues.
 
xiiEnum< xiiGALDeviceFeatureStatem_VariableRateShading = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports variable rate shading.
 
xiiEnum< xiiGALDeviceFeatureStatem_SparseResources = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports sparse (aka. tiled or partially resident) resources.
 
xiiEnum< xiiGALDeviceFeatureStatem_SubpassFramebufferFetch = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports framebuffer fetch for input attachments.
 
xiiEnum< xiiGALDeviceFeatureStatem_TextureComponentSwizzle = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports texture component swizzle.
 
xiiEnum< xiiGALDeviceFeatureStatem_NativeMultiDraw = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports a dedicated command that can be used to issue multiple draw calls with a single command (e.g. vkCmdDrawMultiExt).
 
xiiEnum< xiiGALDeviceFeatureStatem_AsynchronousShaderCompilation = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports asynchronous shader compilation.
 
xiiEnum< xiiGALDeviceFeatureStatem_VertexShaderRenderTargetArrayIndex = xiiGALDeviceFeatureState::Disabled
 Indicates if the device supports SV_RenderTargetArrayIndex semantic in the vertex shader.
 

Detailed Description

This describes the device features.


The documentation for this struct was generated from the following file: