ID3D12GraphicsCommandList::ResolveSubresource メソッド (d3d12.h)
複数サンプリングされたリソースを非マルチサンプリング リソースにコピーします。
構文
void ResolveSubresource(
ID3D12Resource *pDstResource,
UINT DstSubresource,
ID3D12Resource *pSrcResource,
UINT SrcSubresource,
DXGI_FORMAT Format
);
パラメーター
pDstResource
種類: [in] ID3D12Resource*
宛先リソース。 D3D12_HEAP_TYPE_DEFAULT ヒープ上に作成され、単一サンプリングである必要があります。 「ID3D12Resource」を参照してください。
DstSubresource
型: [in] UINT
宛先サブリソースを識別する 0 から始まるインデックス。 親リソースが複雑な場合は、 D3D12CalcSubresource を使用してサブリソース インデックスを計算します。
pSrcResource
種類: [in] ID3D12Resource*
ソース リソース。 マルチサンプリングする必要があります。
SrcSubresource
型: [in] UINT
ソース リソースのソース サブリソース。
Format
種類: [入力] DXGI_FORMAT
マルチサンプリング リソースを単一サンプリング リソースに解決する方法を示すDXGI_FORMAT。 「解説」を参照してください。
戻り値
なし
解説
デバッグ レイヤー
ソース ビューによって参照されるサブリソースが D3D12_RESOURCE_STATE_RESOLVE_SOURCE 状態でない場合、デバッグ レイヤーはエラーを発行します。ターゲット バッファーが D3D12_RESOURCE_STATE_RESOLVE_DEST 状態でない場合、デバッグ レイヤーはエラーを発行します。
ソース リソースと移行先リソースは、同じリソースの種類であり、同じディメンションを持つ必要があります。 さらに、互換性のある形式が必要です。 これには 3 つのシナリオがあります。
シナリオ | 必要条件 |
---|---|
ソースと変換先は事前構造化され、型指定されます | 変換元とコピー先の両方に同じ形式が必要であり、その形式は Format パラメーターで指定する必要があります。 |
一方のリソースは事前構造化および型指定され、もう 1 つは事前構造化および型なしです | 型指定されたリソースには、型指定なしのリソースと互換性のある形式が必要です (つまり、型指定されたリソースがDXGI_FORMAT_R32_FLOATされ、型指定されていないリソースがDXGI_FORMAT_R32_TYPELESS)。 型指定されたリソースの形式は、Format パラメーターで指定する必要があります。 |
ソースと変換先は事前構造化され、型なしです | 変換元とコピー先の両方が同じ型なしの形式である必要があります (つまり、両方ともDXGI_FORMAT_R32_TYPELESSを持つ必要があります)、Format パラメーターには、ソースと変換先と互換性のある形式を指定する必要があります (つまり、両方がDXGI_FORMAT_R32_TYPELESS場合は、 Format パラメーターでDXGI_FORMAT_R32_FLOATを指定できます)。
たとえば、DXGI_FORMAT_R16G16B16A16_TYPELESS形式を指定すると、次のようになります。
|
必要条件
対象プラットフォーム | Windows |
ヘッダー | d3d12.h |
Library | D3d12.lib |
[DLL] | D3d12.dll |