A DirectX 12 mostanra a modern játékok uralkodó grafikus API-jává vált, de ez messze nem jelenti, hogy gondoktól mentes lenne a fejlesztése, ugyanis egy nagyon várt funkció nemrég bukott el. Az utóbbi időben a shader fordítás amúgy is sok gondot jelent, és kritikus projektnek számít a HLSL specifikálása, illetve a DirectX Shader Compiler (DXC), vagyis a HLSL kódokból DXIL-t generáló shader fordító modernizálása.
Hirdetés
A hogyan viszont régóta véleményes, mivel a DXIL-nek olyan árnyoldalai vannak, amelyeket nehéz korrigálni, és van némi alapja annak is, hogy a konkurens Vulkan API köztes nyelvének számító SPIR-V jobban sikerült megoldás ugyanerre a feladatra.
A Microsoft úgy néz ki, hogy váratlan választ ad a gondokra, ugyanis bejelentették, hogy a shader modell 7-től kezdve a SPIR-V-t is elfogadja a DirectX API köztes nyelvként. A változás célja az, hogy ezen a területen is nyílt megoldássá váljon a DirectX, vagyis ne nehezítse a közösségi fejlesztéseket egy szabadalmazott DXIL-lel. Ráadásul eleve van HLSL-ből SPIR-V-t generáló fordító, ezt csak tovább kell fejleszteni, sőt, a Microsoft DXIL-ről SPIR-V-t vagy SPIR-V-ből DXIL-t biztosító fordítóeszközt is szeretne majd kínálni.
A SPIR-V egyik nagy előnye a kiterjeszthetősége, ami gyorsíthatja a shader modellek későbbi fejlődését. Nem mellesleg ilyen formában már két grafikus API is ugyanazt a köztes réteget fogja használni, vagyis egymás fejlesztéseit nagyon gyorsan le tudják majd követni. Sőt, a SPIR-V-t alkalmazza az OpenCL és a SYCL is, tehát alapvetően egy nagyon rugalmas megoldásról van szó, ami számottevő előnyöket kínál a fejlesztőknek.