ID3D11DeviceContext1::UpdateSubresource1 メソッド (d3d11_1.h)
CPU は、マップできないメモリに作成されたサブリソースにメモリからデータをコピーします。
構文
void UpdateSubresource1(
[in] ID3D11Resource *pDstResource,
[in] UINT DstSubresource,
[in, optional] const D3D11_BOX *pDstBox,
[in] const void *pSrcData,
[in] UINT SrcRowPitch,
[in] UINT SrcDepthPitch,
[in] UINT CopyFlags
);
パラメーター
[in] pDstResource
種類: ID3D11Resource*
宛先リソースへのポインター。
[in] DstSubresource
型: UINT
宛先サブリソースを識別する 0 から始まるインデックス。 詳細については、「 D3D11CalcSubresource 」を参照してください。
[in, optional] pDstBox
型: const D3D11_BOX*
リソース データのコピー先となるサブリソースの部分を定義するボックスへのポインター。 座標はバッファーの場合はバイト単位、テクスチャの場合はテクセル単位です。 NULL の場合、UpdateSubresource1 はオフセットなしでデータをコピー先サブリソースに書き込みます。 ソースのディメンションは、変換先に合わせる必要があります。
空のボックスを使用すると、操作が不要になります。 上の値が下の値以上であるか、左の値が右の値以上であるか、前面の値が戻り値以上の場合、ボックスは空です。 ボックスが空の場合、 UpdateSubresource1 は更新操作を実行しません。
[in] pSrcData
型: const void*
メモリ内のソース データへのポインター。
[in] SrcRowPitch
型: UINT
ソース データの 1 行のサイズ。
[in] SrcDepthPitch
型: UINT
ソース データの 1 つの深度スライスのサイズ。
[in] CopyFlags
型: UINT
更新操作の実行方法を指定する D3D11_COPY_FLAGS型指定された値。 更新オプションを指定しない場合、 UpdateSubresource1 は ID3D11DeviceContext::UpdateSubresource のように動作します。 これらのフラグを処理できない既存のディスプレイ ドライバーの場合、ランタイムではそれらを使用しません。
戻り値
なし
解説
UpdateSubresource1 を呼び出して定数バッファーを更新し、任意のリージョンを渡し、ドライバーがWindows 8に実装されていない場合、ランタイムは呼び出しを削除します (ランタイムがサポートをエミュレートする機能レベル 9.1、9.2、9.3 を除く)。 また、エクステントが 16 バイトの細分性 (16 バイトが完全な定数) にアラインされていない部分領域で定数バッファーを更新すると、ランタイムは呼び出しを破棄します。 ランタイムが呼び出しを削除しても、ランタイムは対応するデバイス ドライバー インターフェイス (DDI) を呼び出しません。
ソフトウェア コマンド リストでオフセット pDstBox を使用して UpdateSubresource の呼び出しを記録すると、コマンド リストを再生するときに pDstBox のオフセットが pSrcData に正しく適用されません。 new-for-Windows 8 UpdateSubresource1 では、この問題が修正されます。 UpdateSubresource1 の呼び出しでは、pDstBox は pSrcData に影響しません。
さまざまなリソースの種類と 、UpdateSubresource1 が各リソースの種類でどのように機能するかについては、「 Direct3D 11 のリソースの概要」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2 のWindows Server 2012とプラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | d3d11_1.h |
Library | D3D11.lib |