перечисление D3D12_TILED_RESOURCES_TIER (d3d12.h)
Определяет уровень, на котором поддерживаются плитки ресурсов.
Синтаксис
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. Существуют ограничения для определенных форматов и свойств ресурсов. Дополнительные сведения см. в разделе D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE. Можно использовать ID3D12Device::CreateReservedResource . Для операций чтения или записи GPU в сопоставления NULL не определено. Приложениям рекомендуется обойти это ограничение, многократно сопоставляя одну и ту же страницу везде, где использовалось бы сопоставление NULL. Если размер уровня MIP-карты текстуры является целым числом, кратным стандартной фигуре плитки для его формата, он гарантированно будет неупакован. |
D3D12_TILED_RESOURCES_TIER_2 Значение: 2 Указывает, что поддерживается надмножество функций Tier_1, включая эту дополнительную поддержку:
Адаптеры, поддерживающие уровень компонентов 12_0, поддерживают TIER_2 или выше. |
D3D12_TILED_RESOURCES_TIER_3 Значение: 3 Указывает, что поддерживается надмножество уровня 2, с добавлением, что поддерживаются трехмерные текстуры (ресурсы с плитками томов). |
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.
- Зарезервированные ресурсы могут быть сопоставлены со страницами из нескольких куч одновременно. Ограничение D3D11 на то, что все сопоставленные страницы, отличные от NULL, должны поступать из одной кучи, не существует.
- Приложения должны учитывать возможности виртуальных адресов GPU, которые позволяют выполнять лакмусовые тесты для конкретных сценариев использования. См . D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT.
Требования
Верхняя часть | d3d12.h |