-
Notifications
You must be signed in to change notification settings - Fork 856
Feature support
Philip Rebohle edited this page Aug 26, 2022
·
15 revisions
DXVK supports D3D11 up to Feature Level 12_0.
DXVK supports the following optional features, provided that the Vulkan driver and GPU support the corresponding features:
- Tiled Resources: Up to Tier 3.
- Multisampled tiled resources are not supported on many Vulkan drivers.
- Sharing tiled resources or tile pools between multiple D3D devices is not supported.
- Shader feedback on raw or structured buffer loads may be inaccurate if a single load straddles 64k pages.
- Conservative Rasterization: Up to Tier 2.
- The corresponding Vulkan functionality is provided by
VK_EXT_conservative_rasterization
.
- The corresponding Vulkan functionality is provided by
- Exporting Viewport Index and Render Target Array Index from vertex shaders or domain shaders.
- This is expressed by the VPAndRTArrayIndexFromAnyShaderFeedingRasterizer feature in D3D11.
- The corresponding Vulkan features are
shaderOutputViewportIndex
andshaderOutputLayer
.
- Exporting the Stencil Reference from pixel shaders.
- This is expressed by the PSSpecifiedStencilRefSupported feature in D3D11.
- The corresponding Vulkan functionality is provided by
VK_EXT_shader_stencil_export
. - Not all hardware can support this.
The following core API features are unsupported:
- Class linkage. Compiling shaders that rely on this feature will fail.
-
Predication. Calls to SetPredication are ignored.
- Support for predicated draws and dispatches may be implemented in the future, other operations will remain unsupported.
- Prefer using indirect draws or dispatches instead.
-
Target-independent rasterization: In case a render target is bound, the ForcedSampleCount parameter of the current rasterizer state gets ignored.
- ForcedSampleCount is supported when performing UAV rendering, i.e. rendering without any bound render targets.
- Most Vulkan drivers do not support 16x MSAA.
-
Video APIs. These are generally not supported.
- There is rudimentary support for
ID3D11VideoContext::VideoProcessorBlt
, and related functionality required for setup.
- There is rudimentary support for
The following optional features are unsupported:
-
Rasterizer Ordered Views.
- There is no corresponding Vulkan feature with good driver support.
Shared Resources are partially supported, with the following restrictions:
- Proton patches are required.
-
IDXGIKeyedMutex
is unsupported due to extremely poor documentation. - This does not and will never work at all on Windows.