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格式:
  • 來源 (或 dest) 格式可能是DXGI_FORMAT_R16G16B16A16_UNORM
  • dest (或來源) 格式可能是DXGI_FORMAT_R16G16B16A16_FLOAT

需求

   
目標平台 Windows
標頭 d3d12.h
程式庫 D3d12.lib
Dll D3d12.dll

另請參閱

ID3D12GraphicsCommandList

子資源