D3D11_QUERY列挙 (d3d11.h)

クエリの種類。

構文

typedef enum D3D11_QUERY {
  D3D11_QUERY_EVENT = 0,
  D3D11_QUERY_OCCLUSION,
  D3D11_QUERY_TIMESTAMP,
  D3D11_QUERY_TIMESTAMP_DISJOINT,
  D3D11_QUERY_PIPELINE_STATISTICS,
  D3D11_QUERY_OCCLUSION_PREDICATE,
  D3D11_QUERY_SO_STATISTICS,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE,
  D3D11_QUERY_SO_STATISTICS_STREAM0,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0,
  D3D11_QUERY_SO_STATISTICS_STREAM1,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1,
  D3D11_QUERY_SO_STATISTICS_STREAM2,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2,
  D3D11_QUERY_SO_STATISTICS_STREAM3,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3
} ;

定数

 
D3D11_QUERY_EVENT
値: 0
GPU がコマンドの処理を完了したかどうかを判断します。 GPU の処理が完了すると、コマンド ID3D11DeviceContext::GetData はS_OKを返し、pData は TRUE の値を持つ BOOL を指します。 この種類のクエリを使用する場合、 ID3D11DeviceContext::Begin は無効になります。
D3D11_QUERY_OCCLUSION
ID3D11DeviceContext::Begin と ID3D11DeviceContext::End の間で深度テストとステンシル テストに合格したサンプルの数を取得しますID3D11DeviceContext::GetData は UINT64 を返します。 深度テストまたはステンシル テストが無効になっている場合、それらの各テストは合格としてカウントされます。
D3D11_QUERY_TIMESTAMP
ID3D11DeviceContext::GetData が UINT64 を返すタイムスタンプ値を取得します。 この種のクエリは、D3D11_QUERY_TIMESTAMP_DISJOINT クエリの途中で 2 つのタイムスタンプ クエリが実行される場合にのみ役立ちます。 2 つのタイムスタンプの違いを使用して、経過したティックの数を確認できます。D3D11_QUERY_TIMESTAMP_DISJOINT クエリは、その差が信頼できる値であるかどうかを判断し、ティック数を秒に変換する方法を示す値も持ちます。 「D3D11_QUERY_DATA_TIMESTAMP_DISJOINT」を参照してください。 この種類のクエリを使用する場合、 ID3D11DeviceContext::Begin は無効になります。
D3D11_QUERY_TIMESTAMP_DISJOINT
D3D11_QUERY_TIMESTAMPが信頼できる値を返しているかどうかを判断し、プロセッサの頻度を指定して、経過したティック数を秒に変換できるようにします。 ID3D11DeviceContext::GetDataD3D11_QUERY_DATA_TIMESTAMP_DISJOINTを返します。 この種類のクエリは、フレームごとに 1 回だけ呼び出す必要があります。
D3D11_QUERY_PIPELINE_STATISTICS
ID3D11DeviceContext::Begin と ID3D11DeviceContext::End の間のピクセル シェーダー呼び出しの数などのパイプライン統計取得します。 ID3D11DeviceContext::GetDataD3D11_QUERY_DATA_PIPELINE_STATISTICSを返します。
D3D11_QUERY_OCCLUSION_PREDICATE
D3D11_QUERY_OCCLUSIONと同様に、 ID3D11DeviceContext::GetData を除き、サンプルが深度テストとステンシル テストに合格したかどうかを示す BOOL が返されます。 TRUE は、少なくとも 1 つ成功したことを意味し、 FALSE は渡されませんでした。
D3D11_QUERY_SO_STATISTICS
ID3D11DeviceContext::Begin と ID3D11DeviceContext::End の間でストリーミングされたプリミティブの数など、ストリーミング出力統計取得します。 ID3D11DeviceContext::GetDataD3D11_QUERY_DATA_SO_STATISTICS 構造体を返します。
D3D11_QUERY_SO_OVERFLOW_PREDICATE
ストリーミング出力バッファーが ID3D11DeviceContext::Begin と ID3D11DeviceContext::End の間でオーバーフローしたかどうかを判断します。 ID3D11DeviceContext::GetData は BOOL を返します。 TRUE はオーバーフローがあったことを意味し、 FALSE はオーバーフローがないことを意味します。 ストリーミング出力が複数のバッファーに書き込み、いずれかのバッファーがオーバーフローすると、すべての出力バッファーへの書き込みが停止します。 Direct3D によってオーバーフローが検出されると、エラーが発生しないようにします。メモリが破損していません。 オーバーフローが発生したときに、オーバーフローを防ぐために必要なメモリ量がアプリケーションに通知されるように、このプリケーションを SO_STATISTIC SO_STATISTICS クエリと組み合わせて使用できます。
D3D11_QUERY_SO_STATISTICS_STREAM0
ID3D11DeviceContext::Begin と ID3D11DeviceContext::End の間でストリーミングされるプリミティブの数など、ストリーム 0 のストリーミング出力統計取得します。 ID3D11DeviceContext::GetDataD3D11_QUERY_DATA_SO_STATISTICS 構造体を返します。
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0
ストリーム 0 出力バッファーが ID3D11DeviceContext::Begin と ID3D11DeviceContext::End の間でオーバーフローしたかどうかを判断します。 ID3D11DeviceContext::GetData は BOOL を返します。 TRUE はオーバーフローがあったことを意味し、 FALSE はオーバーフローがないことを意味します。 ストリーミング出力が複数のバッファーに書き込み、いずれかのバッファーがオーバーフローすると、すべての出力バッファーへの書き込みが停止します。 Direct3D によってオーバーフローが検出されると、エラーが発生しないようにします。メモリが破損していません。 オーバーフローが発生したときに、オーバーフローを防ぐために必要なメモリ量がアプリケーションに通知されるように、このプリケーションを SO_STATISTIC SO_STATISTICS クエリと組み合わせて使用できます。
D3D11_QUERY_SO_STATISTICS_STREAM1
ID3D11DeviceContext::Begin と ID3D11DeviceContext::End の間でストリーミングされたプリミティブの数など、ストリーム 1 のストリーミング出力統計取得します。 ID3D11DeviceContext::GetDataD3D11_QUERY_DATA_SO_STATISTICS 構造体を返します。
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1
ストリーム 1 の出力バッファーが ID3D11DeviceContext::Begin と ID3D11DeviceContext::End の間でオーバーフローしたかどうかを判断します。 ID3D11DeviceContext::GetData は BOOL を返します。 TRUE はオーバーフローがあったことを意味し、 FALSE はオーバーフローがないことを意味します。 ストリーミング出力が複数のバッファーに書き込み、いずれかのバッファーがオーバーフローすると、すべての出力バッファーへの書き込みが停止します。 Direct3D によってオーバーフローが検出されると、エラーが発生しないようにします。メモリが破損していません。 オーバーフローが発生したときに、オーバーフローを防ぐために必要なメモリ量がアプリケーションに通知されるように、このプリケーションを SO_STATISTIC SO_STATISTICS クエリと組み合わせて使用できます。
D3D11_QUERY_SO_STATISTICS_STREAM2
ID3D11DeviceContext::Begin と ID3D11DeviceContext::End の間でストリーミングされるプリミティブの数など、ストリーム 2 のストリーミング出力統計取得します。 ID3D11DeviceContext::GetDataD3D11_QUERY_DATA_SO_STATISTICS 構造体を返します。
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2
ストリーム 2 出力バッファーが ID3D11DeviceContext::Begin と ID3D11DeviceContext::End の間でオーバーフローしたかどうかを判断します。 ID3D11DeviceContext::GetData は BOOL を返します。 TRUE はオーバーフローがあったことを意味し、 FALSE はオーバーフローがないことを意味します。 ストリーミング出力が複数のバッファーに書き込み、いずれかのバッファーがオーバーフローすると、すべての出力バッファーへの書き込みが停止します。 Direct3D によってオーバーフローが検出されると、エラーが発生しないようにします。メモリが破損していません。 オーバーフローが発生したときに、オーバーフローを防ぐために必要なメモリ量がアプリケーションに通知されるように、このプリケーションを SO_STATISTIC SO_STATISTICS クエリと組み合わせて使用できます。
D3D11_QUERY_SO_STATISTICS_STREAM3
ID3D11DeviceContext::Begin と ID3D11DeviceContext::End の間でストリーミングされたプリミティブの数など、ストリーム 3 のストリーミング出力統計取得します。 ID3D11DeviceContext::GetDataD3D11_QUERY_DATA_SO_STATISTICS 構造体を返します。
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3
ストリーム 3 出力バッファーが ID3D11DeviceContext::Begin と ID3D11DeviceContext::End の間でオーバーフローしたかどうかを判断します。 ID3D11DeviceContext::GetData は BOOL を返します。 TRUE はオーバーフローがあったことを意味し、 FALSE はオーバーフローがないことを意味します。 ストリーミング出力が複数のバッファーに書き込み、いずれかのバッファーがオーバーフローすると、すべての出力バッファーへの書き込みが停止します。 Direct3D によってオーバーフローが検出されると、エラーが発生しないようにします。メモリが破損していません。 オーバーフローが発生したときに、オーバーフローを防ぐために必要なメモリ量がアプリケーションに通知されるように、このプリケーションを SO_STATISTIC SO_STATISTICS クエリと組み合わせて使用できます。

注釈

ID3D11Device::CreateQuery を使用してクエリを作成します。

要件

要件
Header d3d11.h

こちらもご覧ください

コア列挙