ID3D12Device4::GetResourceAllocationInfo1(UINT,UINT,constD3D12_RESOURCE_DESC*,D3D12_RESOURCE_ALLOCATION_INFO1*) 方法 (d3d12.h)
取得有關此配接器上資源集合所需記憶體大小和對齊方式的豐富資訊。 另請參閱 ID3D12Device::GetResourceAllocationInfo。
除了從方法傳回的 D3D12_RESOURCE_ALLOCATION_INFO 之外,此版本也會傳回 D3D12_RESOURCE_ALLOCATION_INFO1 結構的數位,以提供作為輸入傳遞的每個資源描述的其他詳細數據。 請參閱 pResourceAllocationInfo1 參數。
語法
D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1(
[in] UINT visibleMask,
[in] UINT numResourceDescs,
[in] const D3D12_RESOURCE_DESC *pResourceDescs,
[out] D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1
);
參數
[in] visibleMask
類型:UINT
若為單一 GPU 作業,請將此設定為零。 如果有多個 GPU 節點,請設定位來識別節點(裝置的實體適配卡)。 遮罩中的每個位都會對應至單一節點。 請參閱 多配接器系統。
[in] numResourceDescs
類型:UINT
pResourceDescs 陣列中的資源描述項數目。 這也是 pResourceAllocationInfo1的大小(元素數目)。
[in] pResourceDescs
類型:const D3D12_RESOURCE_DESC*
描述要取得相關信息之資源的 D3D12_RESOURCE_DESC 結構陣列。
[out] pResourceAllocationInfo1
類型:D3D12_RESOURCE_ALLOCATION_INFO1*
D3D12_RESOURCE_ALLOCATION_INFO1 結構的陣列,其中包含作為輸入傳遞的每個資源描述的其他詳細數據。 這可讓您的應用程式更輕鬆地為多個資源配置堆積,而且不需要手動計算應該放置每個資源的位移。
傳回值
類型:D3D12_RESOURCE_ALLOCATION_INFO
D3D12_RESOURCE_ALLOCATION_INFO 結構,提供配置給指定資源數位的視訊記憶體相關信息。
言論
當您使用 CreatePlacedResource時,您的應用程式必須使用 GetResourceAllocationInfo,才能瞭解紋理資源的大小和對齊特性。 這個方法的結果會因特定適配卡而有所不同,而且必須視為此適配卡和驅動程式版本的唯一。
您的應用程式無法使用 GetResourceAllocationInfo 的輸出 來瞭解紋理的已封裝 mip 屬性。 若要瞭解紋理的封裝 mip 屬性,您的應用程式必須使用 GetResourceTiling。
紋理資源大小與 getResourceTiling
您的應用程式可以使用緩衝區資源的 getResourceAllocationInfo
當傳入多個資源描述時,會使用用來計算結構大小和對齊方式的C++演算法。 例如,具有兩個小型 64KB 對齊資源的三個元素數位和一個微小的 4MB 對齊資源,會根據數位的順序報告不同的大小。 如果 4MB 對齊的資源位於中間,則產生的 大小 為 12MB。 否則,產生的 大小 為 8MB。 傳回 對齊 一律為 4MB,因為它是資源數位中所有對齊的超集。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 組建 20348 |
支援的最低伺服器 | Windows 10 組建 20348 |
目標平臺 | 窗戶 |
標頭 | d3d12.h |
連結庫 | d3d12.lib |
DLL | d3d12.dll |