Root signature
Direct3D 12:s kontrakt som beskriver exakt vilka resurser en shader förväntar sig och hur de är bundna till pipelinen.
I äldre API:er band man texturer och buffertar löst, en i taget. Direct3D 12 kräver i stället att man i förväg deklarerar hela bindningslayouten i en root signature: vilka deskriptortabeller, root-konstanter och root-deskriptorer som finns och i vilka register de ligger. Drivrutinen kan då validera och optimera bort arbete vid varje draw call.
En liten root signature — få parametrar som byts ofta — går snabbare än en stor. Motsvarigheten i Vulkan heter pipeline layout plus descriptor set layouts. Den hör ihop med pipeline state object, som fryser resten av GPU-tillståndet i ett förkompilerat objekt.