Root signature
Контракт Direct3D 12, объявляющий, какие именно ресурсы ожидает шейдер и как они привязаны к конвейеру.
Старые API привязывали текстуры и буферы свободно, по одному. Direct3D 12 требует объявить всю схему привязок заранее в root signature: какие существуют таблицы дескрипторов, корневые константы и корневые дескрипторы и в каких регистрах они лежат. Драйвер может проверить схему и убрать лишнюю работу при каждом вызове отрисовки.
Маленькая root signature — с немногими, часто меняющимися параметрами — работает быстрее большой. Аналог в Vulkan — pipeline layout вместе с layout'ами наборов дескрипторов. Она работает в паре с объектом состояния конвейера, который замораживает остальное состояние GPU в заранее скомпилированный блок.