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型指定された値。 更新オプションを指定しない場合、 UpdateSubresource1ID3D11DeviceContext::UpdateSubresource のように動作します。 これらのフラグを処理できない既存のディスプレイ ドライバーの場合、ランタイムではそれらを使用しません。

戻り値

なし

解説

UpdateSubresource1 を呼び出して定数バッファーを更新し、任意のリージョンを渡し、ドライバーがWindows 8に実装されていない場合、ランタイムは呼び出しを削除します (ランタイムがサポートをエミュレートする機能レベル 9.1、9.2、9.3 を除く)。 また、エクステントが 16 バイトの細分性 (16 バイトが完全な定数) にアラインされていない部分領域で定数バッファーを更新すると、ランタイムは呼び出しを破棄します。 ランタイムが呼び出しを削除しても、ランタイムは対応するデバイス ドライバー インターフェイス (DDI) を呼び出しません。

ソフトウェア コマンド リストでオフセット pDstBox を使用して UpdateSubresource の呼び出しを記録すると、コマンド リストを再生するときに pDstBox のオフセットが pSrcData に正しく適用されません。 new-for-Windows 8 UpdateSubresource1 では、この問題が修正されます。 UpdateSubresource1 の呼び出しでは、pDstBoxpSrcData に影響しません。

さまざまなリソースの種類と 、UpdateSubresource1 が各リソースの種類でどのように機能するかについては、「 Direct3D 11 のリソースの概要」を参照してください。

ハードウェア9_x機能レベルにのみ適用されますUpdateSubresource1 または ID3D11DeviceContext1::CopySubresourceRegion1 を使用してステージング リソースから既定のリソースにコピーすると、コピー先のコンテンツが破損する可能性があります。 これは、 NULL ソース ボックスを渡し、ソース リソースのディメンションがターゲット リソースのディメンションと異なる場合、または変換先のオフセット (x、y、z) を使用する場合に発生します。 このような場合は、ソース リソースのフル サイズであるソース ボックスを常に渡します。
 

要件

要件
サポートされている最小のクライアント Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 のWindows Server 2012とプラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー d3d11_1.h
Library D3D11.lib

こちらもご覧ください

ID3D11DeviceContext1