Использование таблиц дескриптора
Таблицы дескриптора, каждый из которых определяет диапазон в куче дескриптора, привязаны к слотам, определенным текущей корневой сигнатурой в списке команд.
Шейдеры могут находить ресурсы, на которые ссылаются дескрипторы, составляющие таблицу дескриптора. Другие привязки ресурсов — буферы индексов, буфер вершин, буфер выходных данных потоков, целевые объекты отрисовки и набор элементов глубины выполняются непосредственно в списке команд, а не через дескрипторы. Чтобы свести итоги, выполните приведенные ниже действия.
Следующие ссылки на ресурсы могут совместно использовать одну и ту же таблицу дескриптора и кучу:
- Представления ресурсов для шейдера
- Неупорядоченные представления доступа
- Представления буфера констант
Следующие ссылки на ресурсы должны находиться в собственной куче дескрипторов:
- Пробоотборники
Следующие ресурсы не помещаются в таблицы дескриптора или кучу, но привязаны непосредственно с помощью списков команд:
- Буферы индексов
- Буферы вершин
- Буферы для потоков вывода
- Целевые объекты отрисовки
- Представления глубины и трафарета
Индексирование таблиц дескриптора
Шейдеры не могут динамически пересекать границы таблицы дескрипторов с указанного места вызова в шейдере. Однако выбор дескриптора в таблице дескрипторов может быть динамически индексирован в коде шейдера в пределах диапазонов одного типа дескрипторов (например, индексирование в непрерывном регионе SRVs).
Связанные разделы