ID3D11DeviceContext::GetData メソッド (d3d11.h)
グラフィックス処理装置 (GPU) から非同期的にデータを取得します。
構文
HRESULT GetData(
[in] ID3D11Asynchronous *pAsync,
[out, optional] void *pData,
[in] UINT DataSize,
[in] UINT GetDataFlags
);
パラメーター
[in] pAsync
種類: ID3D11Asynchronous*
GetData がデータを取得するオブジェクトの ID3D11Asynchronous インターフェイスへのポインター。
[out, optional] pData
型: void*
データを受信するメモリのアドレス。 NULL の場合、GetData は状態をチェックするためにのみ使用されます。 データ出力の種類は、非同期インターフェイスの種類によって異なります。
[in] DataSize
型: UINT
取得するデータのサイズまたは 0。 pData が NULL の場合は 0 にする必要があります。
[in] GetDataFlags
型: UINT
オプションのフラグ。 0 または D3D11_ASYNC_GETDATA_FLAGで列挙されるフラグの任意の組み合わせを指定できます。
戻り値
型: HRESULT
このメソッドは、 Direct3D 11 リターン コードのいずれかを返します。 戻り値S_OKは、呼び出し元のアプリケーションが pData のデータにアクセス可能であることを示します。 戻り値S_FALSEは、データがまだ使用されていないことを示します。 データがまだ使用できない場合は、データが使用可能になるまで、アプリケーションで GetData を 呼び出す必要があります。
注釈
遅延コンテキストのクエリは、述語付き描画に限定されます。 つまり、遅延コンテキストで ID3D11DeviceContext::GetData を 呼び出してクエリに関するデータを取得することはできません。 GetData は、クエリに関するデータを取得する即時コンテキストでのみ呼び出すことができます。 述語付き描画の場合、事前指定型クエリの結果は GPU によって使用され、アプリケーションには返されません。 事前指定と述語付き描画の詳細については、「 D3D11DeviceContext::SetPredication」を参照してください。
GetData は、 ID3D11DeviceContext::Begin と ID3D11DeviceContext:: End の呼び出しの間にランタイムが収集したデータ を取得します。 特定のクエリでは 、ID3D11DeviceContext::End の呼び出しのみが必要です。この場合、 GetData によって返されるデータは 、ID3D11DeviceContext::End の最後の呼び出しまで正確です。 ID3D11DeviceContext::End の呼び出しのみを必要とするクエリと、GetData が各クエリで取得するデータの種類については、「D3D11_QUERY」を参照してください。
DataSize が 0 の場合、GetData は状態のチェックにのみ使用されます。
アプリケーションは 、ID3D11DeviceContext::Begin を呼び出し、一部のグラフィックス コマンドを発行し、 ID3D11DeviceContext::End を呼び出してから ID3D11DeviceContext::GetData を呼び出して、 Begin 呼び出しと 終了 呼び出しの間に発生した処理に関するデータを取得することで、カウンター データを収集します。 パフォーマンス カウンターの種類については、「 D3D11_COUNTER」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d11.h |
Library | D3D11.lib |