DeviceFeatures struct
Describes the device features.
Contents
- Reference
Public variables
-
DEVICE_
FEATURE_ STATE SeparablePrograms - Indicates if device supports separable shader programs.
-
DEVICE_
FEATURE_ STATE ShaderResourceQueries - Indicates if device supports resource queries from shader objects.
-
DEVICE_
FEATURE_ STATE IndirectRendering - Indicates if device supports indirect draw commands.
-
DEVICE_
FEATURE_ STATE WireframeFill - Indicates if device supports wireframe fill mode.
-
DEVICE_
FEATURE_ STATE MultithreadedResourceCreation - Indicates if device supports multithreaded resource creation.
-
DEVICE_
FEATURE_ STATE ComputeShaders - Indicates if device supports compute shaders.
-
DEVICE_
FEATURE_ STATE GeometryShaders - Indicates if device supports geometry shaders.
-
DEVICE_
FEATURE_ STATE Tessellation - Indicates if device supports tessellation.
-
DEVICE_
FEATURE_ STATE MeshShaders - Indicates if device supports mesh and amplification shaders.
-
DEVICE_
FEATURE_ STATE RayTracing - Indicates if device supports ray tracing shaders.
-
DEVICE_
FEATURE_ STATE RayTracing2 - Indicates if device supports inline ray tracing and indirect commands.
-
DEVICE_
FEATURE_ STATE BindlessResources - Indicates if device supports bindless resources.
-
DEVICE_
FEATURE_ STATE OcclusionQueries - Indicates if device supports occlusion queries (see Diligent::
QUERY_TYPE_OCCLUSION). -
DEVICE_
FEATURE_ STATE BinaryOcclusionQueries - Indicates if device supports binary occlusion queries (see Diligent::
QUERY_TYPE_BINARY_OCCLUSION). -
DEVICE_
FEATURE_ STATE TimestampQueries - Indicates if device supports timestamp queries (see Diligent::
QUERY_TYPE_TIMESTAMP). -
DEVICE_
FEATURE_ STATE PipelineStatisticsQueries - Indicates if device supports pipeline statistics queries (see Diligent::
QUERY_TYPE_PIPELINE_STATISTICS). -
DEVICE_
FEATURE_ STATE DurationQueries - Indicates if device supports duration queries (see Diligent::
QUERY_TYPE_DURATION). -
DEVICE_
FEATURE_ STATE DepthBiasClamp - Indicates if device supports depth bias clamping.
-
DEVICE_
FEATURE_ STATE DepthClamp - Indicates if device supports depth clamping.
-
DEVICE_
FEATURE_ STATE IndependentBlend - Indicates if device supports depth clamping.
-
DEVICE_
FEATURE_ STATE DualSourceBlend - Indicates if device supports dual-source blend.
-
DEVICE_
FEATURE_ STATE MultiViewport - Indicates if device supports multiviewport.
-
DEVICE_
FEATURE_ STATE TextureCompressionBC - Indicates if device supports all BC-compressed formats.
-
DEVICE_
FEATURE_ STATE VertexPipelineUAVWritesAndAtomics - Indicates if device supports writes to UAVs as well as atomic operations in vertex, tessellation, and geometry shader stages.
-
DEVICE_
FEATURE_ STATE PixelUAVWritesAndAtomics - Indicates if device supports writes to UAVs as well as atomic operations in pixel shader stage.
-
DEVICE_
FEATURE_ STATE TextureUAVExtendedFormats - Specifies whether all the extended UAV texture formats are available in shader code.
-
DEVICE_
FEATURE_ STATE ShaderFloat16 - Indicates if 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.
-
DEVICE_
FEATURE_ STATE ResourceBuffer16BitAccess - Indicates if device supports reading and writing 16-bit floats and ints from buffers bound as shader resource or unordered access views.
-
DEVICE_
FEATURE_ STATE UniformBuffer16BitAccess - Indicates if device supports reading 16-bit floats and ints from uniform buffers.
-
DEVICE_
FEATURE_ STATE ShaderInputOutput16 - Indicates if 16-bit floats and ints can be used as input/output of a shader entry point.
-
DEVICE_
FEATURE_ STATE ShaderInt8 - Indicates if device supports native 8-bit integer operations.
-
DEVICE_
FEATURE_ STATE ResourceBuffer8BitAccess - Indicates if device supports reading and writing 8-bit types from buffers bound as shader resource or unordered access views.
-
DEVICE_
FEATURE_ STATE UniformBuffer8BitAccess - Indicates if device supports reading 8-bit types from uniform buffers.
-
DEVICE_
FEATURE_ STATE ShaderResourceRuntimeArray - Indicates if device supports runtime-sized shader arrays (e.g. arrays without a specific size).
-
DEVICE_
FEATURE_ STATE WaveOp - Indicates if device supports wave ops (Direct3D12) or subgroups (Vulkan).
Variable documentation
DEVICE_ FEATURE_ STATE Diligent:: DeviceFeatures:: SeparablePrograms
Indicates if device supports separable shader programs.
DEVICE_ FEATURE_ STATE Diligent:: DeviceFeatures:: ShaderResourceQueries
Indicates if device supports resource queries from shader objects.
\ note This feature indicates if IShader::
The feature is always enabled in Direct3D11, Direct3D12 and Vulkan. It is enabled in OpenGL when separable programs are available, and it is always disabled in Metal.
DEVICE_ FEATURE_ STATE Diligent:: DeviceFeatures:: ShaderFloat16
Indicates if 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.
DEVICE_ FEATURE_ STATE Diligent:: DeviceFeatures:: ShaderResourceRuntimeArray
Indicates if device supports runtime-sized shader arrays (e.g. arrays without a specific size).