ID3D12Device::GetResourceTiling 方法 (d3d12.h)
取得磚資源如何細分成磚的相關資訊。
語法
void GetResourceTiling(
[in] ID3D12Resource *pTiledResource,
[out, optional] UINT *pNumTilesForEntireResource,
[out, optional] D3D12_PACKED_MIP_INFO *pPackedMipDesc,
[out, optional] D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
[in, out, optional] UINT *pNumSubresourceTilings,
[in] UINT FirstSubresourceTilingToGet,
[out] D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips
);
參數
[in] pTiledResource
類型: ID3D12Resource*
指定磚識別碼 3D12Resource 以取得相關資訊。
[out, optional] pNumTilesForEntireResource
類型: UINT*
變數的指標,可接收儲存整個磚資源所需的磚數目。
[out, optional] pPackedMipDesc
GetResourceTiling所填入之D3D12_PACKED_MIP_INFO結構的指標,其中包含如何封裝並排資源 Mipmap 的相關資訊。
[out, optional] pStandardTileShapeForNonPackedMips
類型: D3D12_TILE_SHAPE*
指定GetResourceTiling填滿磚圖形相關資訊的D3D12_TILE_SHAPE結構。 這是有關圖元在磚中如何容納的資訊,與並排資源維度無關,不包括已封裝的 Mipmap。 如果封裝整個並排資源,則這個參數沒有意義,因為磚化資源沒有已封裝 Mipmap 的已定義版面配置。 在此情況下, GetResourceTiling 會將D3D12_TILE_SHAPE的成員設定為零。
[in, out, optional] pNumSubresourceTilings
類型: UINT*
變數的指標,其中包含子資源中的磚數目。 在輸入時,這是要查詢並排的子資源數目;在輸出上,這是實際擷取在 pSubresourceTilingsForNonPackedMips 上的數位, (限制為可用的) 。
[in] FirstSubresourceTilingToGet
類型: UINT
要取得的第一個子資源圖格數目。 如果pNumSubresourceTilings指向的數位是 0,GetResourceTiling會忽略此參數。
[out] pSubresourceTilingsForNonPackedMips
指定GetResourceTiling填入子資源磚相關資訊的D3D12_SUBRESOURCE_TILING結構。 如果子資源磚是已封裝 Mipmap 的一部分,GetResourceTiling會將D3D12_SUBRESOURCE_TILING的成員設定為零,但GetResourceTiling設定為 D3D12_PACKED_TILE (0xffffffff) 的StartTileIndexInOverallResource成員除外。 D3D12_PACKED_TILE常數表示整個 D3D12_SUBRESOURCE_TILING 結構對於這種情況而言沒有意義,而且 pPackedMipDesc 參數指向的資訊會套用。
傳回值
無
備註
若要估計計算堆積大小並呼叫 CreatePlacedResource時所需的紋理總資源大小,請使用 GetResourceAllocationInfo ,而不是 GetResourceTiling。 GetResourceTiling 無法用於此專案。
如需磚資源的詳細資訊,請參閱 磁片區並排資源。
需求
目標平台 | Windows |
標頭 | d3d12.h |
程式庫 | D3d12.lib |
Dll | D3d12.dll |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應