// d3d12umddi.h
typedef struct D3D12DDI_D3D12_OPTIONS_DATA_0031 {
D3D12DDI_RESOURCE_BINDING_TIER ResourceBindingTier;
D3D12DDI_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
D3D12DDI_TILED_RESOURCES_TIER TiledResourcesTier;
D3D12DDI_CROSS_NODE_SHARING_TIER CrossNodeSharingTier;
BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation;
BOOL OutputMergerLogicOp;
D3D12DDI_RESOURCE_HEAP_TIER ResourceHeapTier;
BOOL DepthBoundsTestSupported;
D3D12DDI_PROGRAMMABLE_SAMPLE_POSITIONS_TIER ProgrammableSamplePositionsTier;
BOOL CopyQueueTimestampQueriesSupported;
} D3D12DDI_D3D12_OPTIONS_DATA_0031;
View the official Windows Driver Kit DDI referenceNo description available.
Display options data.
ResourceBindingTierResource binding tier.
ConservativeRasterizationTierConservative rasterization tier.
TiledResourcesTierTiled resources tier.
CrossNodeSharingTierCross node sharing tier.
VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulationVP and RT array index from any shader feeding rasterizer supported without GS emulation.
OutputMergerLogicOpOutput merger logic option.
ResourceHeapTierResource heap tier.
DepthBoundsTestSupportedDepth bounds test supported.
ProgrammableSamplePositionsTierProgrammable sample positions tier.
CopyQueueTimestampQueriesSupportedCopy queue timestamp queries are supported.
For UMDs that support the 0031 (or greater) DDI build, the runtime will query whether the UMD supports timestamps queries on the Copy Queue.
The core runtime will fail if CreateQueryHeap fails for D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP in D3D12DDI_QUERY_HEAP_TYPE when the driver has not reported support.
The core runtime will no longer remove the command list in response to EndQuery or ResolveQueryData, that is being called on a Copy command list. The debug layer will have a warning, however, if:
The runtime allows ID3D12CommandQueue::GetClockCalibration/GetTimestampFrequency on Copy command queues when the capability are set. This API should return timestamps that correspond to what the Copy engine will emit, which in turn should be on the same GPU timeline/frequency with what the existing 3D/Compute engines emit.