Pipeline state object (PSO)
Un objeto inmutable que agrupa casi todo el estado fijo del pipeline de la GPU —shaders, mezcla, prueba de profundidad, disposición de vértices— en una única unidad precompilada.
Las API antiguas como OpenGL y D3D11 permitían cambiar el estado de render de una opción en una, tras lo cual el controlador recompilaba y validaba la combinación en silencio en la primera llamada de dibujo: un tirón impredecible a mitad de fotograma. Direct3D 12 (2015) y Vulkan lo invirtieron: se declara todo el estado por adelantado como un pipeline state object, el controlador lo compila una vez y vincularlo al renderizar es un barato intercambio de puntero.
El precio es la rigidez. Cada combinación única de shaders y estado es su propio PSO, así que un motor puede necesitar miles, y conviene construirlos al cargar para evitar tirones cuando aparece uno nuevo en plena partida. Los pipelines de malla y de cómputo tienen sus propias variantes, más simples, de PSO.