Table of Contents

Struct GraphicsDeviceFeatures

Namespace
Stride.Graphics
Assembly
Stride.Graphics.dll

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

bool
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

bool
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

bool
See Also

HasDoublePrecision

A value indicating if the GraphicsDevice supports double precision operations in shaders.

public readonly bool HasDoublePrecision

Field Value

bool

HasDriverCommandLists

A value indicating if the GraphicsDevice supports Command Lists in multi-threading scenarios.

public readonly bool HasDriverCommandLists

Field Value

bool
See Also

HasGeometryShaders

A value indicating if the GraphicsDevice can run geometry shaders.

public readonly bool HasGeometryShaders

Field Value

bool

HasIndex32Bits

A value indicating if the GraphicsDevice supports index buffers of 32-bit indices.

public readonly bool HasIndex32Bits

Field Value

bool
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

bool
See Also

HasMultiThreadingConcurrentResources

A value indicating if the GraphicsDevice supports concurrent Resources in multi-threading scenarios.

public readonly bool HasMultiThreadingConcurrentResources

Field Value

bool

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

bool

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

bool

HasSRgb

A value indicating if the GraphicsDevice supports sRGB Textures and Render Targets.

public readonly bool HasSRgb

Field Value

bool
See Also

MaximumMipLevels

The maximum number of miplevels a Texture can have.

public readonly int MaximumMipLevels

Field Value

int
See Also

MaximumTexture1DArraySize

The maximum number of slices/array elements for a one-dimensional (1D) Texture Array.

public readonly int MaximumTexture1DArraySize

Field Value

int
See Also

MaximumTexture1DSize

The maximum size in texels for a one-dimensional (1D) Texture.

public readonly int MaximumTexture1DSize

Field Value

int
See Also

MaximumTexture2DArraySize

The maximum number of slices/array elements for a two-dimensional (2D) Texture Array.

public readonly int MaximumTexture2DArraySize

Field Value

int
See Also

MaximumTexture2DSize

The maximum size (width or height) in texels for a two-dimensional (2D) Texture.

public readonly int MaximumTexture2DSize

Field Value

int
See Also

MaximumTexture3DSize

The maximum size (width, height, or depth) in texels for a three-dimensional (3D) Texture.

public readonly int MaximumTexture3DSize

Field Value

int
See Also

MaximumTextureCubeSize

The maximum size (width or height) in texels for a Texture Cube.

public readonly int MaximumTextureCubeSize

Field Value

int
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

int
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

pixelFormat PixelFormat

The 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.