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
以零起始的索引,可識別目的地子資源。 如果父資源很複雜,請使用 D3D12CalcSubresource 來計運算元資源索引。
pSrcResource
類型: [in] ID3D12Resource*
來源資源。 必須多重取樣。
SrcSubresource
類型:[in] UINT
來源資源的來源子資源。
Format
類型:[in] DXGI_FORMAT
指出多重取樣資源如何解析為單一取樣資源的 DXGI_FORMAT 。 請參閱<備註>。
傳回值
無
備註
偵錯層
如果來源檢視所參考的子資源不是處於 D3D12_RESOURCE_STATE_RESOLVE_SOURCE 狀態,偵錯層就會發出錯誤。如果目的地緩衝區不是處於 D3D12_RESOURCE_STATE_RESOLVE_DEST 狀態,偵錯層就會發出錯誤。
來源和目的地資源必須是相同的資源類型,而且具有相同的維度。 此外,它們必須具有相容的格式。 此案例有三種:
狀況 | 需求 |
---|---|
來源和目的地是預先結構化且具型別 | 來源和目的地都必須有相同的格式,而且必須在 Format 參數中指定該格式。 |
其中一個資源是預先結構化且具類型,另一個則是預先結構化且無類型 | 具型別資源的格式必須與無型別資源相容 (,也就是具類型的資源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 |
程式庫 | D3d12.lib |
Dll | D3d12.dll |