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¶
| Name | Description |
|---|---|
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. |