Skip to content

LiteFX::Rendering::GraphicsDeviceFeatures

Describes optional features that can be supported by a device.

Synopsis

Declared in <litefx/rendering_api.hpp>

struct [[dllimport, dllexport]] GraphicsDeviceFeatures;

Description

Device features are evaluated when creating a IGraphicsDevice. If a feature is not supported by the device, an exception is raised.

Note that feature support is not strictly enforced by the engine. For example, if you are calling any feature-related API, the call may succeed even if the feature is not enabled, if the GPU supports it. Graphics API validation may warn about it and the same program may fail on GPUs that do not support this feature. Enabling a feature through the settings in this structure makes the device check for support creation, resulting in a clear fail path, if a required extension is not supported by the system hardware.

Data Members

NameDescription
ConservativeRasterization Enables support for conservative rasterization.
DepthBoundsTest Enables support for enabling depth bounds test on IRenderPipeline creation.
DrawIndirect Enables or disables support for indirect draw.
DynamicDescriptors Enables or disables support for dynamic descriptor types (SM 6.6 dynamic resources and VK_EXT_mutable_descriptor_type).
MeshShaders Enables or disables mesh shader support.
RayQueries Enables or disables ray query and inline ray-tracing support.
RayTracing Enables or disables ray-tracing support.
ViewInstancing Enables support for view instancing/multi-view.