Поделиться через


перечисление 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, включая эту дополнительную поддержку:



  • Если размер уровня MIP-карты текстуры составляет по крайней мере одну стандартную фигуру плитки для его формата, уровень MIP-карты гарантированно будет неупакованным.
    Дополнительные сведения см. в разделе D3D12_PACKED_MIP_INFO.

  • Инструкции по шейдеру доступны для закрепления уровня детализации (LOD) и получения состояния операции шейдера.
    Сведения об одной из этих инструкций шейдера см. в разделе Sample(S,float,int,float,uint).
    Примеры(S,float,int,float,uint).

  • При чтении на плитках, сопоставленных со значением NULL, это выборочное значение считается нулевым.
    Операции записи в плитки, сопоставленные со значением NULL, удаляются.


Адаптеры, поддерживающие уровень компонентов 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.
  • Зарезервированные ресурсы могут быть сопоставлены со страницами из нескольких куч одновременно. Ограничение D3D11 на то, что все сопоставленные страницы, отличные от NULL, должны поступать из одной кучи, не существует.
  • Приложения должны учитывать возможности виртуальных адресов GPU, которые позволяют выполнять лакмусовые тесты для конкретных сценариев использования. См . D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT.

Требования

   
Верхняя часть d3d12.h

См. также раздел

Перечисления core