D3D12_TILED_RESOURCES_TIER列舉 (d3d12.h)
識別支援磚資源所在的階層層級。
Syntax
typedef enum D3D12_TILED_RESOURCES_TIER {
D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = 0,
D3D12_TILED_RESOURCES_TIER_1 = 1,
D3D12_TILED_RESOURCES_TIER_2 = 2,
D3D12_TILED_RESOURCES_TIER_3 = 3,
D3D12_TILED_RESOURCES_TIER_4 = 4
} ;
常數
D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED 值: 0 表示無法使用 D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE 版面配置來建立紋理。 無法使用 ID3D12Device::CreateReservedResource ,甚至不能用於緩衝區。 |
D3D12_TILED_RESOURCES_TIER_1 值: 1 表示可以使用D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE版面配置來建立 2D 紋理。 某些資源格式和屬性的限制存在。 如需詳細資訊,請參閱 D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE。 可以使用 ID3D12Device::CreateReservedResource 。 未定義 GPU 讀取或寫入 Null 對應。 建議應用程式藉由重複將相同頁面對應至使用 Null 對應的任何位置,來因應這項限制。 當紋理 mipmap 層級的大小為其格式的標準磚圖形的整數倍數時,保證不會封裝。 |
D3D12_TILED_RESOURCES_TIER_2 值: 2 表示支援Tier_1功能的超集合,包括下列額外支援:
支援功能層級 12_0 的配接器全都支援TIER_2或更新版本。 |
D3D12_TILED_RESOURCES_TIER_3 值: 3 表示支援第 2 層的超集合,且支援 3D 紋理 (磁片區 磚資源) 。 |
D3D12_TILED_RESOURCES_TIER_4 值: 4 |
備註
這個列舉是由 D3D12_FEATURE_DATA_D3D12_OPTIONS 結構使用。
磚資源功能組合在一起的功能有三個離散片段:
- 以磚為基礎的紋理配置選項,其中附近的紋素位址包含附近的資料座標。 紋素的圖格在資源的每個基數維度中幾乎包含相同數量的紋素。 此版面配置以 D3D12 表示,D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE。
- 保留資源的虛擬位址空間區域,其中每個頁面一開始都是 Null 對應。 在 D3D12 中,這是作業封裝在 ID3D12Device::CreateReservedResource 中,它只適用于具有D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE版面配置的紋理。
- 變更頁面對應,以及操作磚資料細微性上的紋理資料的能力。 在 D3D12 中,這些作業為 ID3D12CommandQueue::UpdateTileMappings、 ID3D12CommandQueue::CopyTileMappings和 ID3D12GraphicsCommandList::CopyTiles。
- 磚集區會由堆積取代。 堆積提供超過 D3D11 磚集區的超集合功能。
- 保留的資源可能會同時對應到多個堆積中的頁面。 所有非 Null 對應頁面都必須來自相同堆積的 D3D11 限制不存在。
- 應用程式應該注意 GPU 虛擬位址功能,這可啟用特定使用案例的 litmus 測試。 請參閱 D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT。
需求
標頭 | d3d12.h |