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


Использование таблиц дескриптора

Таблицы дескриптора, каждый из которых определяет диапазон в куче дескриптора, привязаны к слотам, определенным текущей корневой сигнатурой в списке команд.

Шейдеры могут находить ресурсы, на которые ссылаются дескрипторы, составляющие таблицу дескриптора. Другие привязки ресурсов — буферы индексов, буфер вершин, буфер выходных данных потоков, целевые объекты отрисовки и набор элементов глубины выполняются непосредственно в списке команд, а не через дескрипторы. Чтобы свести итоги, выполните приведенные ниже действия.

Следующие ссылки на ресурсы могут совместно использовать одну и ту же таблицу дескриптора и кучу:

  • Представления ресурсов для шейдера
  • Неупорядоченные представления доступа
  • Представления буфера констант

Следующие ссылки на ресурсы должны находиться в собственной куче дескрипторов:

  • Пробоотборники

Следующие ресурсы не помещаются в таблицы дескриптора или кучу, но привязаны непосредственно с помощью списков команд:

  • Буферы индексов
  • Буферы вершин
  • Буферы для потоков вывода
  • Целевые объекты отрисовки
  • Представления глубины и трафарета

Индексирование таблиц дескриптора

Шейдеры не могут динамически пересекать границы таблицы дескрипторов с указанного места вызова в шейдере. Однако выбор дескриптора в таблице дескрипторов может быть динамически индексирован в коде шейдера в пределах диапазонов одного типа дескрипторов (например, индексирование в непрерывном регионе SRVs).

таблицы описателей