Pipeline state object (PSO)
Ett oföränderligt objekt som buntar ihop nästan hela GPU:ns fasta pipeline-tillstånd — shaders, blandning, djuptest, vertexlayout — till en enda förkompilerad enhet.
Gamla API:er som OpenGL och D3D11 lät dig ändra rendertillstånd en knapp i taget, varpå drivrutinen i smyg kompilerade om och validerade kombinationen vid första draw-anropet — en oförutsägbar hackning mitt i bildrutan. Direct3D 12 (2015) och Vulkan vände på det: du deklarerar hela tillståndet i förväg som ett pipeline state object, drivrutinen kompilerar det en gång, och bindningen vid rendering blir en billig pekarbyte.
Priset är stelhet. Varje unik kombination av shaders och tillstånd är ett eget PSO, så en motor kan behöva tusentals, och de byggs helst vid laddning för att undvika stamning när ett nytt dyker upp mitt i spelet. Mesh- och compute-pipelines har egna, enklare PSO-varianter.