Pipeline state object (PSO)
GPU'nun sabit pipeline durumunun neredeyse tamamını (shader'lar, karıştırma, derinlik testi, vertex düzeni) önceden derlenmiş tek bir birimde toplayan değiştirilemez nesne.
OpenGL ve D3D11 gibi eski API'ler render durumunu tek tek açıp kapatmaya izin verirdi; sürücü de kombinasyonu ilk çizim çağrısında sessizce yeniden derler ve doğrulardı. Bu, karenin ortasında öngörülemez bir takılmaydı. Direct3D 12 (2015) ve Vulkan bunu tersine çevirdi: tüm durumu baştan bir pipeline state object olarak bildirirsiniz, sürücü bir kez derler ve çizim sırasında bağlamak ucuz bir işaretçi değişimine iner.
Bedeli katılıktır. Her benzersiz shader ve durum kombinasyonu ayrı bir PSO'dur; bir motorun binlercesine ihtiyacı olabilir ve oyun sırasında yenisi çıktığında takılma olmaması için en iyisi bunları yükleme sırasında oluşturmaktır. Mesh ve compute pipeline'larının kendi, daha basit PSO varyantları vardır.