語法
參數
visibleMask [in]類型:UINT 若為單一 GPU 作業,請將此設為零。如果有多個 GPU 節點,請設定位元以識別節點 (裝置的實體介面卡)。遮罩中的每個位元都對應至單一節點。另請參閱多介面卡系統。 numResourceDescs [in]
類型:UINT pResourceDescs 陣列中的資源描述元數目。 pResourceDescs [in]
類型:const D3D12_RESOURCE_DESC* 描述要取得其資訊之資源的 D3D12_RESOURCE_DESC 結構陣列。
傳回值
類型:D3D12_RESOURCE_ALLOCATION_INFO D3D12_RESOURCE_ALLOCATION_INFO 結構,提供為指定資源陣列所配置之視訊記憶體的相關資訊。 如果發生錯誤,則 D3D12_RESOURCE_ALLOCATION_INFO::SizeInBytes 等於 UINT64_MAX。備註
當您使用 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_x.h程式庫: d3d12_xs.lib 或 d3d12_x.lib
支援的平台: XBOX Series 主機和 XBOX One 系列主機
