Skip to main content
取得此介面卡上一組資源所需記憶體的大小和對齊方式。此 API 接受 D3D12_RESOURCE_DESC1 結構作為輸入,因此適合用來計算意見反應對應資源的大小。

語法

參數

visibleMask   
類型:UINT
對於 XBOX,請將此值設定為零。 numResourceDescs   
類型:UINT
pResourceDescs 陣列中的資源描述元數目。 pResourceDescs   _In_reads_(numResourceDescs)
類型:D3D12_RESOURCE_DESC1*
D3D12_RESOURCE_DESC1 結構的陣列,描述要取得資訊的資源。 pResourceAllocationInfo1   _Out_writes_opt_(numResourceDescs)
類型:D3D12_RESOURCE_ALLOCATION_INFO1*
D3D12_RESOURCE_ALLOCATION_INFO1 結構的陣列,將寫入輸入 pResourceDescs 陣列所參考之每個個別資源的資源配置資訊。

傳回值

類型:D3D12_RESOURCE_ALLOCATION_INFO D3D12_RESOURCE_ALLOCATION_INFO 結構,提供為指定資源陣列所配置之視訊記憶體的相關資訊。

備註

使用 CreatePlacedResource 時,您的應用程式必須使用 GetResourceAllocationInfo,才能了解紋理資源的大小和對齊特性。此方法的結果會因特定介面卡而異,且必須視為此介面卡和驅動程式版本所特有。 您的應用程式無法使用 GetResourceAllocationInfo 的輸出來了解紋理的封裝 MIP 屬性。若要了解紋理的封裝 MIP 屬性,您的應用程式必須使用 GetResourceTiling。 紋理資源大小與 GetResourceTiling 傳回的資訊有顯著差異,因為某些介面卡架構會為紋理配置額外的記憶體,以在常見的轉譯案例中降低有效頻寬。這甚至包括紋理配置有限制或具有標準化紋理配置的紋理。應用程式無法使用 CreateReservedResource 和 UpdateTileMappings 稀疏對應或重新對應該額外記憶體,因此 GetResourceTiling 不會回報該記憶體。 您的應用程式可以不對緩衝區資源 (D3D12_RESOURCE_DIMENSION_BUFFER) 使用 GetResourceAllocationInfo。緩衝區在所有介面卡上的大小都相同,也就是大於或等於 D3D12_RESOURCE_DESC::Width 的最小 64KB 倍數。 傳入多個資源描述時,會使用 C++ 計算結構大小和對齊的演算法。例如,包含兩個微小的 64KB 對齊資源和一個微小的 4MB 對齊資源的三元素陣列,會根據陣列的順序回報不同的大小。如果 4MB 對齊資源位於中間,則產生的 Size 為 12MB。否則,產生的 Size 為 8MB。傳回的 Alignment 一律為 4MB,因為它是資源陣列中所有對齊的超集。

需求

標頭: d3d12_xs.h 程式庫: d3d12_xs.lib
支援的平台: XBOX Series 主機

另請參閱

取樣器意見反應 Direct3D 12 API 概觀 ID3D12Device8
Last modified on October 6, 2026