Syntax
typedef enum D3D12_VIEW_INSTANCING_TIER
{
D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED = 0,
D3D12_VIEW_INSTANCING_TIER_1 = 1,
D3D12_VIEW_INSTANCING_TIER_2 = 2,
D3D12_VIEW_INSTANCING_TIER_3 = 3
} D3D12_VIEW_INSTANCING_TIER
Constants
| Constant | Description |
|---|---|
| D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED | View instancing is not supported. |
| D3D12_VIEW_INSTANCING_TIER_1 | View instancing is supported by draw-call level looping only. |
| D3D12_VIEW_INSTANCING_TIER_2 | View instancing is supported by draw-call level looping at worst, but the GPU can perform view instancing more efficiently in certain circumstances which are architecture-dependent. |
| D3D12_VIEW_INSTANCING_TIER_3 | View instancing is supported and instancing begins with the first shader stage that references SV_ViewID or with rasterization if no shader stage references SV_ViewID. This means that redundant work is eliminated across view instances when it’s not dependent on SV_ViewID. Before rasterization, work that doesn’t directly depend on SV_ViewID is shared across all views; only work that depends on SV_ViewID is repeated for each view. Note If a hull shader produces tessellation factors that are dependent on SV_ViewID, then tessellation and all subsequent work must be repeated per-view. Similarly, if the amount of geometry produced by the geometry shader depends on SV_ViewID, then the geometry shader must be repeated per-view before proceeding to rasterization. |
Requirements
Header: d3d12_xs.h or d3d12_x.hLibrary: d3d12_xs.lib or d3d12_x.lib
Supported Platforms: XBOX Series consoles and XBOX One family
