A Microsoft gőzerővel tervezi a shader modell 6.6-ot, amely számos lényeges újítást hoz az iparág számára. Ezek közül kifejezetten hasznos lesz a 64 bites atomi integer operációk támogatása, illetve bizonyos meglévő atomi integer műveletek használatának lehetősége lebegőpontos értékeket tároló erőforráson.
Hirdetés
Kiegészülnek a packed math lehetőségek, így a jövőben 8 bites operációk is támogathatók ilyen formában, ami segít csökkenteni az adatbuszok terhelését. Ez hasznos tényező, mert bizonyos feladatok esetében a precizitás nem kritikus fontosságú, ilyenkor pedig érdemes a munkavégzés hatékonyságát szem előtt tartani.
Újítás lesz a wave-ek méretének meghatározhatósága egy compute shader attribútumon belül, ami garantálja majd a futtatott alkalmazás számára, hogy a meghajtó shader fordítója a megadott wave-méretre fordítja le az adott shadert. A választható opciók között a 4, 8, 16, 32, 64 és 128 szerepel, és a Microsoft azt javasolja, hogy csak egy paraméter legyen meghatározva egy adott shaderre vonatkozóan.
A shader modell 6.6 kiterjeszt bizonyos, pixel shader lépcsőn már elérhető függvényeket compute shaderre, illetve opcionálisan megoldható az amplification és mesh shader lépcsőkön való támogatásuk is. Erre elsődlegesen azért van szükség, mert az új generációs leképezők erősen a compute shader alkalmazása felé mennek, amire a shader nyelv szintjén is reagálni kell.
Végül a legnagyobb újítás az erőforrások dinamikus bekötésében nyilvánul meg. A modern GPU-architektúrák eleve úgy vannak tervezve, hogy a hardver tekintetében az erőforrás-leírók sztenderd load/store műveleten keresztül akárhol kezelhetők. Ezek úgynevezett memóriaalapú dizájnok, és ilyenek voltak már az előző generációs konzolok, de persze az újak is ezen az úton mennek tovább. A grafikus API-k azonban némileg lemaradtak, mivel a DirectX 12 például még ma is megköveteli a leírótáblák kezelését a root signature részeként.
A modernebb hardvereknek erre egyáltalán nincs szükségük, és a shader modell 6.6 fel is kínálja annak a lehetőségét, hogy a leírókból kreált erőforrások direkten indexelhetők legyenek az erőforráshalmazokba. Ennek megfelelő működéséhez új globális root signature flagek kerülnek alkalmazásra, amelyek jelzik az egyes halmazok felhasználását. Ezzel az egész bekötési modell egyszerűsödik, és nem mellesleg jobban illeszkedik majd az modern GPU-architektúrák működéséhez.
A shader modell 6.6 várhatóan a következő nagyobb Windows 10 frissítésben érkezhet.