Win32 API 日本語リファレンス
ホームGraphics.Direct3D10 › D3D10_QUERY

D3D10_QUERY

列挙型
基底型i4

メンバー 8

名前10進16進説明
D3D10_QUERY_EVENT00x0GPU がコマンドの処理を完了したかどうかを判定します。GPU がコマンドの処理を完了すると、GetDataS_OK を返し、pData は値が TRUE の BOOL を指します。この種類のクエリを使用する場合、Begin は無効になります。
D3D10_QUERY_OCCLUSION10x1BeginEnd の間で深度テストおよびステンシルテストに合格したサンプルの数を取得します。GetData は UINT64 を返します。深度テストまたはステンシルテストが無効になっている場合、それらのテストはそれぞれ合格として数えられます。
D3D10_QUERY_TIMESTAMP20x2タイムスタンプ値を取得します。GetData は UINT64 を返します。この種類のクエリは、2 つのタイムスタンプクエリを D3D10_QUERY_TIMESTAMP_DISJOINT クエリの内部で実行する場合にのみ役立ちます。2 つのタイムスタンプの差を使用して、経過したティック数を求めることができます。また、D3D10_QUERY_TIMESTAMP_DISJOINT クエリは、その差が信頼できる値かどうかを判定し、ティック数を秒に変換する方法を示す値も提供します。D3D10_QUERY_DATA_TIMESTAMP_DISJOINT を参照してください。この種類のクエリを使用する場合、Begin は無効になります。
D3D10_QUERY_TIMESTAMP_DISJOINT30x3D3D10_QUERY_TIMESTAMP が信頼できる値を返しているかどうかを判定します。また、経過したティック数を秒に変換できるように、プロセッサーの周波数も提供します。GetDataD3D10_QUERY_DATA_TIMESTAMP_DISJOINT を返します。この種類のクエリは、1 フレームにつき 1 回以下の頻度でのみ呼び出してください。
D3D10_QUERY_PIPELINE_STATISTICS40x4BeginEnd の間のピクセルシェーダーの呼び出し回数など、パイプラインの統計情報を取得します。GetDataD3D10_QUERY_DATA_PIPELINE_STATISTICS を返します。
D3D10_QUERY_OCCLUSION_PREDICATE50x5D3D10_QUERY_OCCLUSION に似ていますが、GetData は深度テストおよびステンシルテストに合格したサンプルがあったかどうかを示す BOOL を返します。TRUE は少なくとも 1 つが合格したことを、FALSE は 1 つも合格しなかったことを意味します。
D3D10_QUERY_SO_STATISTICS60x6BeginEnd の間にストリーム出力されたプリミティブの数など、ストリーミング出力の統計情報を取得します。GetDataD3D10_QUERY_DATA_SO_STATISTICS 構造体を返します。
D3D10_QUERY_SO_OVERFLOW_PREDICATE70x7BeginEnd の間にストリーミング出力バッファーのいずれかがオーバーフローしたかどうかを判定します。GetData は BOOL を返し、TRUE はオーバーフローが発生したこと、FALSE はオーバーフローが発生しなかったことを意味します。ストリーミング出力が複数のバッファーに書き込む場合、そのうちの 1 つのバッファーがオーバーフローすると、すべての出力バッファーへの書き込みが停止します。オーバーフローが Direct3D によって検出されると、その発生は未然に防がれ、メモリが破損することはありません。この述語は SO_STATISTICS クエリと組み合わせて使用でき、オーバーフローが発生したときに SO_STATISTIC クエリによって、オーバーフローを防ぐためにどれだけのメモリが必要だったかをアプリケーションに知らせることができます。

公式ドキュメント

クエリの種類。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum D3D10_QUERY : int {
    D3D10_QUERY_EVENT = 0,
    D3D10_QUERY_OCCLUSION = 1,
    D3D10_QUERY_TIMESTAMP = 2,
    D3D10_QUERY_TIMESTAMP_DISJOINT = 3,
    D3D10_QUERY_PIPELINE_STATISTICS = 4,
    D3D10_QUERY_OCCLUSION_PREDICATE = 5,
    D3D10_QUERY_SO_STATISTICS = 6,
    D3D10_QUERY_SO_OVERFLOW_PREDICATE = 7
} D3D10_QUERY;
public enum D3D10_QUERY : int
{
    D3D10_QUERY_EVENT = 0,
    D3D10_QUERY_OCCLUSION = 1,
    D3D10_QUERY_TIMESTAMP = 2,
    D3D10_QUERY_TIMESTAMP_DISJOINT = 3,
    D3D10_QUERY_PIPELINE_STATISTICS = 4,
    D3D10_QUERY_OCCLUSION_PREDICATE = 5,
    D3D10_QUERY_SO_STATISTICS = 6,
    D3D10_QUERY_SO_OVERFLOW_PREDICATE = 7,
}
Public Enum D3D10_QUERY As Integer
    D3D10_QUERY_EVENT = 0
    D3D10_QUERY_OCCLUSION = 1
    D3D10_QUERY_TIMESTAMP = 2
    D3D10_QUERY_TIMESTAMP_DISJOINT = 3
    D3D10_QUERY_PIPELINE_STATISTICS = 4
    D3D10_QUERY_OCCLUSION_PREDICATE = 5
    D3D10_QUERY_SO_STATISTICS = 6
    D3D10_QUERY_SO_OVERFLOW_PREDICATE = 7
End Enum
import enum

class D3D10_QUERY(enum.IntEnum):
    D3D10_QUERY_EVENT = 0
    D3D10_QUERY_OCCLUSION = 1
    D3D10_QUERY_TIMESTAMP = 2
    D3D10_QUERY_TIMESTAMP_DISJOINT = 3
    D3D10_QUERY_PIPELINE_STATISTICS = 4
    D3D10_QUERY_OCCLUSION_PREDICATE = 5
    D3D10_QUERY_SO_STATISTICS = 6
    D3D10_QUERY_SO_OVERFLOW_PREDICATE = 7
// D3D10_QUERY
pub const D3D10_QUERY_EVENT: i32 = 0;
pub const D3D10_QUERY_OCCLUSION: i32 = 1;
pub const D3D10_QUERY_TIMESTAMP: i32 = 2;
pub const D3D10_QUERY_TIMESTAMP_DISJOINT: i32 = 3;
pub const D3D10_QUERY_PIPELINE_STATISTICS: i32 = 4;
pub const D3D10_QUERY_OCCLUSION_PREDICATE: i32 = 5;
pub const D3D10_QUERY_SO_STATISTICS: i32 = 6;
pub const D3D10_QUERY_SO_OVERFLOW_PREDICATE: i32 = 7;
// D3D10_QUERY
const (
	D3D10_QUERY_EVENT int32 = 0
	D3D10_QUERY_OCCLUSION int32 = 1
	D3D10_QUERY_TIMESTAMP int32 = 2
	D3D10_QUERY_TIMESTAMP_DISJOINT int32 = 3
	D3D10_QUERY_PIPELINE_STATISTICS int32 = 4
	D3D10_QUERY_OCCLUSION_PREDICATE int32 = 5
	D3D10_QUERY_SO_STATISTICS int32 = 6
	D3D10_QUERY_SO_OVERFLOW_PREDICATE int32 = 7
)
const
  D3D10_QUERY_EVENT = 0;
  D3D10_QUERY_OCCLUSION = 1;
  D3D10_QUERY_TIMESTAMP = 2;
  D3D10_QUERY_TIMESTAMP_DISJOINT = 3;
  D3D10_QUERY_PIPELINE_STATISTICS = 4;
  D3D10_QUERY_OCCLUSION_PREDICATE = 5;
  D3D10_QUERY_SO_STATISTICS = 6;
  D3D10_QUERY_SO_OVERFLOW_PREDICATE = 7;
// D3D10_QUERY
pub const D3D10_QUERY_EVENT: i32 = 0;
pub const D3D10_QUERY_OCCLUSION: i32 = 1;
pub const D3D10_QUERY_TIMESTAMP: i32 = 2;
pub const D3D10_QUERY_TIMESTAMP_DISJOINT: i32 = 3;
pub const D3D10_QUERY_PIPELINE_STATISTICS: i32 = 4;
pub const D3D10_QUERY_OCCLUSION_PREDICATE: i32 = 5;
pub const D3D10_QUERY_SO_STATISTICS: i32 = 6;
pub const D3D10_QUERY_SO_OVERFLOW_PREDICATE: i32 = 7;
const
  D3D10_QUERY_EVENT* = 0
  D3D10_QUERY_OCCLUSION* = 1
  D3D10_QUERY_TIMESTAMP* = 2
  D3D10_QUERY_TIMESTAMP_DISJOINT* = 3
  D3D10_QUERY_PIPELINE_STATISTICS* = 4
  D3D10_QUERY_OCCLUSION_PREDICATE* = 5
  D3D10_QUERY_SO_STATISTICS* = 6
  D3D10_QUERY_SO_OVERFLOW_PREDICATE* = 7
enum D3D10_QUERY : int {
    D3D10_QUERY_EVENT = 0,
    D3D10_QUERY_OCCLUSION = 1,
    D3D10_QUERY_TIMESTAMP = 2,
    D3D10_QUERY_TIMESTAMP_DISJOINT = 3,
    D3D10_QUERY_PIPELINE_STATISTICS = 4,
    D3D10_QUERY_OCCLUSION_PREDICATE = 5,
    D3D10_QUERY_SO_STATISTICS = 6,
    D3D10_QUERY_SO_OVERFLOW_PREDICATE = 7,
}
#define global D3D10_QUERY_EVENT                 0x0
#define global D3D10_QUERY_OCCLUSION             0x1
#define global D3D10_QUERY_TIMESTAMP             0x2
#define global D3D10_QUERY_TIMESTAMP_DISJOINT    0x3
#define global D3D10_QUERY_PIPELINE_STATISTICS   0x4
#define global D3D10_QUERY_OCCLUSION_PREDICATE   0x5
#define global D3D10_QUERY_SO_STATISTICS         0x6
#define global D3D10_QUERY_SO_OVERFLOW_PREDICATE 0x7