Microsoft geeft informatie over Shader Model 6.0

9 reacties

Het momenteel gangbare Shader Model 5.0 werd in 2009 samen met DirectX 11 gespecificeerd, maar heeft sindsdien praktisch geen updates gehad. Op de GDC vorige week heeft Microsoft zeven jaar later dan eindelijk de opvolger aangekondigd in de vorm van Shader Model 6.0, dat momenteel overigens nog ontwikkeld wordt en voor dit jaar op de planning staat.

Een grote vernieuwing is het gebruik van een Clang HLSL front-end en compiler, waarvan het resultaat vervolgens met LLVM Passes wordt geoptimaliseerd. De open-source broncode maakt het hierbij trouwens eenvoudiger om daadwerkelijk shaders te ontwikkelen. Clang en LLVM zijn beide 'backwards compatible' met Shader Model 5.0, en werken dus al met de huidige drivers van Intel, AMD en Nvidia.

Aan de shaders zelf zijn natuurlijk ook de nodige features toegevoegd. Het wordt met Shader Model 6.0 bijvoorbeeld mogelijk om de pixelgrootte van de instructies te veranderen, hetgeen onder ander voor Tiled-Based Rendering zijn vruchten af moet werpen (een techniek die vooral door mobiele GPU's heftig gebruikt wordt om bandbreedte en dus energie te besparen).

Men is daarnaast in staat om ook dynamisch delen van het scherm met minder pixels laten berekenen voor een efficiëntere werking. In applicaties met Virtual Reality kan zo bijvoorbeeld het deel van het beeld waar de ogen op focussen met extra shader-scherpte worden berekend, terwijl het periferisch zicht juist minder rekenkracht op hoeft te eisen. 

Ten slotte zijn er uiteraard over de gehele linie wat optimalisaties en prestatieverbeteringen doorgevoerd, onder andere met met een opgeknapte scheduler gebaseerd op de Wavefront. Microsoft is trouwens van plan om minimaal DirectX 12 feature level 12_0 in Shader Model 6.0 te verwerken, al wordt ook gekeken naar feature level 12_1.

Het is nog onduidelijk of er nieuwe hardware nodig is, of dat de huidige GPU's de nieuwe Shader Model al kunnen ondersteunen met een driver-update. 

Afbeeldingen via 4Gamer.net

Bron: PCGH

« Vorig bericht Volgend bericht »
0
*