Root signature
Il contratto di Direct3D 12 che dichiara con precisione quali risorse si aspetta uno shader e come vengono collegate alla pipeline.
Le API più vecchie collegavano texture e buffer in modo sciolto, una alla volta. Direct3D 12 richiede invece di dichiarare in anticipo l'intero schema di binding in una root signature: quali tabelle di descrittori, costanti root e descrittori root esistono e in quali registri si trovano. Il driver può così validare lo schema e ottimizzare il lavoro a ogni draw call.
Una root signature piccola, con pochi parametri modificati di frequente, è più veloce di una grande. L'equivalente in Vulkan è il pipeline layout insieme ai descriptor set layout. Si abbina al pipeline state object, che congela il resto dello stato della GPU in un blob precompilato.