Недоступные шейдеру кучи дескрипторов
Некоторые кучи дескрипторов не могут ссылаться шейдерами через таблицы дескрипторов, но существуют либо для того, чтобы помочь приложению в промежуточном расположении дескрипторов перед записью списка команд, либо потому, что не требуется видимая шейдером куча.
Невидимые представления
Все кучи дескрипторов, включая описанные выше кучи дескрипторов с доступным доступом для шейдера, могут управляться ЦП и (или) списками команд в зависимости от пула памяти и свойств доступа к ЦП, которые приложение выбирает для кучи дескриптора.
Для кучи видимого дескриптора шейдера очевидной причиной запрета доступа шейдера к этим кучам дескрипторов является их промежуточное размещение. Затем эти кучы становятся видимыми для шейдера и получают доступ через таблицы дескрипторов при выполнении списка команд. Однако не требуется создавать кучи, видимые шейдером, они могут быть заполнены напрямую.
Другие дескрипторы привязываются к конвейеру, записав их содержимое непосредственно в список команд. Эти дескрипторы служат только для преобразования параметров представления во время записи списка команд. Эти кучи всегда не являются видимыми шейдерами и содержат следующие элементы.
- Целевые представления отрисовки (RTV)
- Представления трафарета глубины (DSV)
Представления буфера индексов (IBV), представления буфера вершин (VBV) и представления потокового вывода (SOV) передаются непосредственно в методы API и не имеют определенных типов кучи.
После записи в список команд (например, с помощью вызова OMSetRenderTargets) память, используемая для хранения дескрипторов для этого вызова, сразу же становится доступной для повторного использования после вызова.
Даже таблицы дескрипторов имеют параметры, в которых приложение может разрешить реализации записывать содержимое таблицы при записи списка команд (вместо разыменовки указателя таблицы при выполнении).
Сводка
Видимый шейдер, только запись ЦП | Видимый не шейдер, чтение и запись ЦП | |
---|---|---|
CBV, SRV, БПЛА | да | да |
СБОРНИКИ | да | да |
Возврат поставщику | нет | да |
DSV | нет | да |
Связанные темы