語法
參數
visibleMask [in]類型:UINT 若為單一 GPU 作業,請將此值設為零。如果有多個 GPU 節點,請設定位元來識別節點 (裝置的實體介面卡)。遮罩中的每個位元對應單一節點。另請參閱多介面卡系統。 numResourceDescs [in]
類型:UINT pResourceDescs 陣列中的資源描述元數目。這也是 pResourceAllocationInfo1 的大小 (元素數目)。 pResourceDescs [in]
類型:const D3D12_RESOURCE_DESC * D3D12_RESOURCE_DESC 結構的陣列,描述要取得其資訊的資源。 pResourceAllocationInfo1 [out]
類型:D3D12_RESOURCE_ALLOCATION_INFO1 * D3D12_RESOURCE_ALLOCATION_INFO1 結構的陣列,包含每個作為輸入傳入之資源描述的額外詳細資料。這可讓您的應用程式更簡單地為多個資源配置堆積,而不需手動計算每個資源應放置位置的位移。
傳回值
類型: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 主機
