Struct GraphicsDeviceFeatures
Contains information about the general features supported by a GraphicsDevice, as well as supported features specific to a particular pixel format or data format.
public struct GraphicsDeviceFeatures
- Inherited Members
- Extension Methods
Remarks
To obtain information about the supported features for a particular format, use the indexer.
Each field says what Stride can use on this device with this graphics backend. When the backend does not implement something, it reports false or None, even if the GPU supports it.
On Direct3D, the fields that need a shader model are also limited to what effects compiled for the effect profile can use. The device can run at a higher level than that profile.
Fields
CurrentProfile
The current profile of the current GraphicsDevice, which determines its supported features.
public readonly GraphicsProfile CurrentProfile
Field Value
- GraphicsProfile
Remarks
This may differ from RequestedProfile if the GraphicsDevice could not be created with that requested profile. This one represents the closest supported profile.
Vulkan has no feature levels. On Vulkan this is the requested profile, and the other fields come from the features of the Vulkan device.
- See Also
-
GraphicsProfile
HasComputeShaders
A value indicating if the GraphicsDevice supports Compute Shaders, unordered access on Structured Buffers, and Raw Structured Buffers.
public readonly bool HasComputeShaders
Field Value
- See Also
HasDepthAsReadOnlyRT
A value indicating if the Depth Buffer can directly be used as a read-only Render Target.
public readonly bool HasDepthAsReadOnlyRT
Field Value
- See Also
HasDepthAsSRV
A value indicating if the Depth Buffer can also be used as a Shader Resource View and bound for shader passes.
public readonly bool HasDepthAsSRV
Field Value
- See Also
HasDoublePrecision
A value indicating if the GraphicsDevice supports double precision operations in shaders.
public readonly bool HasDoublePrecision
Field Value
HasDriverCommandLists
A value indicating if the GraphicsDevice supports Command Lists in multi-threading scenarios.
public readonly bool HasDriverCommandLists
Field Value
- See Also
HasGeometryShaders
A value indicating if the GraphicsDevice can run geometry shaders.
public readonly bool HasGeometryShaders
Field Value
HasIndex32Bits
A value indicating if the GraphicsDevice supports index buffers of 32-bit indices.
public readonly bool HasIndex32Bits
Field Value
- See Also
HasMultiSampleDepthAsSRV
A value indicating if a multi-sampled Depth Buffer can directly be used as a Shader Resource View.
public readonly bool HasMultiSampleDepthAsSRV
Field Value
- See Also
HasMultiThreadingConcurrentResources
A value indicating if the GraphicsDevice supports concurrent Resources in multi-threading scenarios.
public readonly bool HasMultiThreadingConcurrentResources
Field Value
HasPixelShaderUnorderedAccess
A value indicating if pixel shaders can write to unordered access views and use atomic operations on them.
public readonly bool HasPixelShaderUnorderedAccess
Field Value
HasResourceRenaming
A value indicating if the graphics API supports resource renaming (with either WriteDiscard or UpdateSubResource(GraphicsResource, int, DataBox, ResourceRegion) with full size).
public readonly bool HasResourceRenaming
Field Value
HasSRgb
A value indicating if the GraphicsDevice supports sRGB Textures and Render Targets.
public readonly bool HasSRgb
Field Value
- See Also
MaximumMipLevels
The maximum number of miplevels a Texture can have.
public readonly int MaximumMipLevels
Field Value
- See Also
MaximumTexture1DArraySize
The maximum number of slices/array elements for a one-dimensional (1D) Texture Array.
public readonly int MaximumTexture1DArraySize
Field Value
- See Also
MaximumTexture1DSize
The maximum size in texels for a one-dimensional (1D) Texture.
public readonly int MaximumTexture1DSize
Field Value
- See Also
MaximumTexture2DArraySize
The maximum number of slices/array elements for a two-dimensional (2D) Texture Array.
public readonly int MaximumTexture2DArraySize
Field Value
- See Also
MaximumTexture2DSize
The maximum size (width or height) in texels for a two-dimensional (2D) Texture.
public readonly int MaximumTexture2DSize
Field Value
- See Also
MaximumTexture3DSize
The maximum size (width, height, or depth) in texels for a three-dimensional (3D) Texture.
public readonly int MaximumTexture3DSize
Field Value
- See Also
MaximumTextureCubeSize
The maximum size (width or height) in texels for a Texture Cube.
public readonly int MaximumTextureCubeSize
Field Value
- See Also
RequestedProfile
The requested profile when the GraphicsDevice was created.
public readonly GraphicsProfile RequestedProfile
Field Value
- GraphicsProfile
- See Also
-
GraphicsProfile
ResourceSizeInMegabytes
The maximum size of a resource, in megabytes.
public readonly int ResourceSizeInMegabytes
Field Value
- See Also
Properties
this[PixelFormat]
Queries the features the GraphicsDevice supports for the specified Stride.Graphics.PixelFormat.
public readonly GraphicsDeviceFeatures.FeaturesPerFormat this[PixelFormat pixelFormat] { get; }
Parameters
pixelFormatPixelFormatThe pixel format.
Property Value
- GraphicsDeviceFeatures.FeaturesPerFormat
A GraphicsDeviceFeatures.FeaturesPerFormat structure indicating the features supported for
pixelFormat.
Methods
ToString()
Returns the fully qualified type name of this instance.
public override readonly string ToString()
Returns
- string
The fully qualified type name.
Remarks
Every flag that makes a renderer quietly do something else is named here. Leaving one out means the degrade it causes cannot be diagnosed from the log.