D3D12_QUERY_TYPE enumeration (d3d12.h)

Specifies the type of query.

Syntax

typedef enum D3D12_QUERY_TYPE {
  D3D12_QUERY_TYPE_OCCLUSION = 0,
  D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1,
  D3D12_QUERY_TYPE_TIMESTAMP = 2,
  D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3,
  D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4,
  D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5,
  D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6,
  D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7,
  D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS = 8,
  D3D12_QUERY_TYPE_PIPELINE_STATISTICS1
} ;

Constants

 
D3D12_QUERY_TYPE_OCCLUSION
Value: 0
Indicates the query is for depth/stencil occlusion counts.
D3D12_QUERY_TYPE_BINARY_OCCLUSION
Value: 1
Indicates the query is for a binary depth/stencil occlusion statistics.

This new query type acts like D3D12_QUERY_TYPE_OCCLUSION except that it returns simply a binary 0/1 result: 0 indicates that no samples passed depth and stencil testing, 1 indicates that at least one sample passed depth and stencil testing. This enables occlusion queries to not interfere with any GPU performance optimization associated with depth/stencil testing.
D3D12_QUERY_TYPE_TIMESTAMP
Value: 2
Indicates the query is for high definition GPU and CPU timestamps.
D3D12_QUERY_TYPE_PIPELINE_STATISTICS
Value: 3
Indicates the query type is for graphics pipeline statistics, refer to D3D12_QUERY_DATA_PIPELINE_STATISTICS.
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0
Value: 4
Stream 0 output statistics. In Direct3D 12 there is no single stream output (SO) overflow query for all the output streams. Apps need to issue multiple single-stream queries, and then correlate the results. Stream output is the ability of the GPU to write vertices to a buffer. The stream output counters monitor progress.
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1
Value: 5
Stream 1 output statistics.
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2
Value: 6
Stream 2 output statistics.
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3
Value: 7
Stream 3 output statistics.
D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS
Value: 8
Video decode statistics. Refer to D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS.

Use this query type to determine if a video was successfully decoded. If decoding fails due to insufficient BitRate or FrameRate parameters set during creation of the decode heap, then the status field of the query is set to D3D12_VIDEO_DECODE_STATUS_RATE_EXCEEDED and the query also contains new BitRate and FrameRate values that would succeed.

This query type can only be performed on video decode command lists (D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE). This query type does not use ID3D12VideoDecodeCommandList::BeginQuery, only ID3D12VideoDecodeCommandList::EndQuery. Statistics are recorded only for the most recent ID3D12VideoDecodeCommandList::DecodeFrame call in the same command list.

Decode status structures are defined by the codec specification.

Remarks

This enum is used by BeginQuery, EndQuery and ResolveQueryData.

Requirements

Requirement Value
Header d3d12.h

See also

Core Enumerations