Khronos Group Releases Vulkan Ray Tracing

Set of pro­vi­sio­nal exten­si­on spe­ci­fi­ca­ti­ons publicly available today for indus­try feedback.

Bea­ver­ton, OR – March 17, 2020 – 6:00 AM PT – Today, The Khro­nos® Group, an open con­sor­ti­um of indus­try-lea­ding com­pa­nies crea­ting advan­ced inter­ope­ra­bi­li­ty stan­dards, announ­ces the rati­fi­ca­ti­on and public release of the Vul­kan® Ray Tra­cing pro­vi­sio­nal exten­si­ons, crea­ting the industry’s first open, cross-ven­dor, cross-plat­form stan­dard for ray tra­cing acce­le­ra­ti­on. Pri­ma­ri­ly focu­sed on mee­ting desk­top mar­ket demand for both real-time and off­line ren­de­ring, the release of Vul­kan Ray Tra­cing as pro­vi­sio­nal exten­si­ons enables the deve­lo­per com­mu­ni­ty to pro­vi­de feed­back befo­re the spe­ci­fi­ca­ti­ons are fina­li­zed. Comm­ents and feed­back will be coll­ec­ted through the Vul­kan Git­Hub Issues Tra­cker and Khro­nos Deve­lo­per Slack. Deve­lo­pers are also encou­ra­ged to share comm­ents with their pre­fer­red hard­ware ven­dors. The spe­ci­fi­ca­ti­ons are available today on the Vul­kan Regis­try.

Ray tra­cing is a ren­de­ring tech­ni­que that rea­li­sti­cal­ly simu­la­tes how light rays inter­sect and inter­act with sce­ne geo­me­try, mate­ri­als, and light sources to gene­ra­te pho­to­rea­li­stic imagery. It is wide­ly used for film and other pro­duc­tion ren­de­ring and is begin­ning to be prac­ti­cal for real-time appli­ca­ti­ons and games. Vul­kan Ray Tra­cing seam­less­ly inte­gra­tes a coher­ent ray tra­cing frame­work into the Vul­kan API, enab­ling a fle­xi­ble mer­ging of ras­te­riza­ti­on and ray tra­cing acce­le­ra­ti­on. Vul­kan Ray Tra­cing is desi­gned to be hard­ware agno­stic and so can be acce­le­ra­ted on both exis­ting GPU com­pu­te and dedi­ca­ted ray tra­cing cores if available.

The­re has been strong deve­lo­per demand for a tru­ly cross-plat­form ray tra­cing acce­le­ra­ti­on API and now Vul­kan Ray Tra­cing is here to meet that indus­try need,” said Dani­el Koch, seni­or gra­phics sys­tem soft­ware engi­neer at NVIDIA and Vul­kan Ray Tra­cing task sub group chair at Khro­nos. “The over­all archi­tec­tu­re of Vul­kan Ray Tra­cing will be fami­li­ar to users of exis­ting pro­prie­ta­ry ray tra­cing APIs, which enables straight­for­ward port­ing of exis­ting ray tra­ced con­tent, but this frame­work also intro­du­ces new func­tion­a­li­ty and imple­men­ta­ti­on flexibility.”

Vul­kan Ray Tra­cing con­sists of a num­ber of Vul­kan, SPIR‑V, and GLSL exten­si­ons, some of which are optio­nal. The pri­ma­ry VK_KHR_ray_tracing exten­si­on pro­vi­des sup­port for acce­le­ra­ti­on struc­tu­re buil­ding and manage­ment, ray tra­cing shader stages and pipe­lines, and ray query intrin­sics for all shader stages. VK_KHR_pipeline_library pro­vi­des the abili­ty to pro­vi­de a set of shaders which can be effi­ci­ent­ly lin­ked into ray tra­cing pipe­lines. VK_KHR_deferred_host_operations enables inten­si­ve dri­ver ope­ra­ti­ons, inclu­ding ray tra­cing pipe­line com­pi­la­ti­on or CPU-based acce­le­ra­ti­on struc­tu­re con­s­truc­tion to be off­loa­ded to appli­ca­ti­on-mana­ged CPU thread pools.

Vul­kan Ray Tra­cing shaders are SPIR‑V bina­ries which use two new exten­si­ons. The SPV_KHR_ray_tracing SPIR‑V exten­si­on adds sup­port for ray tra­cing shader stages and ins­truc­tions; SPV_KHR_ray_query adds sup­port for ray query shader ins­truc­tions. Deve­lo­pers can gene­ra­te tho­se bina­ries in GLSL using two new GLSL exten­si­ons, GLSL_EXT_ray_tracing and GLSL_EXT_ray_query, which are sup­port­ed in the open source gls­lang com­pi­ler. Engi­neers at Khro­nos mem­ber com­pa­nies, inclu­ding NVIDIA, have also added sup­port for the SPIR‑V exten­si­ons to DXC, Microsoft’s open source HLSL com­pi­ler, enab­ling Vul­kan Ray Tra­cing SPIR‑V shaders to be aut­ho­red in HLSL using the syn­tax defi­ned by Micro­soft, with mini­mal modifications.

Dri­ver release updates and the sta­tus of Vul­kan eco­sys­tem com­pon­ents will be pos­ted on the Vul­kan Ray Tra­cing Pro­vi­sio­nal Release Tra­cker. A Vul­kan SDK that includes sup­port for Vul­kan Ray Tra­cing will beco­me available once all the neces­sa­ry eco­sys­tem com­pon­ents are upstrea­med; check this link to watch for its avai­la­bi­li­ty. An intro­duc­to­ry launch pre­sen­ta­ti­on on Vul­kan Ray Tra­cing is here, and fur­ther tech­ni­cal details can be found in this blog post.

Industry Support for Vulkan Ray Tracing Provisional Specification

Stan­dar­di­zing ray tra­cing in Vul­kan is an important step towards making ray tra­cing available across a wide ran­ge of devices, as well as enab­ling deve­lo­pers to use this tech­no­lo­gy to its full advan­ta­ge. AMD intends to pro­vi­de sup­port for all of the major fea­tures in this exten­si­on, inclu­ding ray shad­ing, ray queries, and CPU acce­le­ra­ti­on struc­tu­re manage­ment. We will be working with deve­lo­pers to ensu­re gre­at per­for­mance from our Vul­kan Ray Tra­cing imple­men­ta­ti­on; the­se efforts will help us to pro­vi­de end users with even more visual­ly stun­ning gra­phics on AMD Rade­on™ GPUs,” said Andrej Zdrav­ko­vic, seni­or vice pre­si­dent, soft­ware deve­lo­p­ment, AMD.

EA is hap­py to see the release of the pro­vi­sio­nal ray tra­cing exten­si­on for Vul­kan. Real­time ray tra­cing is alre­a­dy an important part of game deve­lo­p­ment and it will con­ti­nue to be in the future. Allo­wing ray queries from any shader stage is a gre­at fea­ture, which will both sim­pli­fy inte­gra­ti­ons and open up the pos­si­bi­li­ty for new tech­ni­ques while mul­ti­th­rea­ded host-side buil­ding of acce­le­ra­ti­on struc­tures has the poten­ti­al to redu­ce laten­cy and impro­ve the per­for­mance of our upco­ming game titles,” said Sebas­ti­an Taf­u­ri, seni­or ren­de­ring engi­neer at Frost­bi­te, EA.

Epic Games has been an acti­ve mem­ber of the Vul­kan Ray Tra­cing group from the begin­ning, and we are hap­py to see the ray tra­cing exten­si­on released to the public. We at Epic Games con­ti­nue to who­le­he­ar­ted­ly sup­port Khronos’s efforts on crea­ting open stan­dards to enhan­ce the end-user expe­ri­ence,” said Yuriy O’Donnell, ren­de­ring engi­neer, Epic Games.

Ima­gi­na­ti­on Tech­no­lo­gies are very hap­py to see ray tra­cing beco­me a stan­dard part of Vul­kan, hel­ping the over­all ray tra­cing eco­sys­tem to grow sub­stan­ti­al­ly due to Vulkan’s wide reach across many plat­forms and devices,” said Rys Somm­e­feldt, seni­or direc­tor of pro­duct, Ray Tra­cing and High Per­for­mance Gra­phics, Ima­gi­na­ti­on Tech­no­lo­gies. “We are very sup­port­i­ve of the stan­dard, which will help us deli­ver the effi­ci­ent, fast, and focu­sed hard­ware solu­ti­on we are deve­lo­ping for our customers.”

The Intel Xe archi­tec­tu­re road­map includes sup­port for hard­ware acce­le­ra­ted ray tra­cing, and we’­re exci­ted to work with Khro­nos to imple­ment full sup­port into Vul­kan,” said Joshua Bar­c­zak, gra­phics soft­ware archi­tect at Intel.

NVIDIA ships beta dri­vers today with sup­port for the pro­vi­sio­nal stan­dar­di­zed ray tra­cing func­tion­a­li­ty in Vul­kan,” said Mor­gan McGui­re, rese­arch direc­tor at NVIDIA. “Brin­ging acce­le­ra­ted ray tra­cing to the Vul­kan cross-plat­form, open stan­dard API is ano­ther signi­fi­cant step towards enab­ling the hig­hest qua­li­ty of visu­al rea­lism for real-time games and appli­ca­ti­ons everywhere.”

We are very exci­ted about having hard­ware ray tra­cing sup­port baked into Vul­kan. Vul­kan Ray Tra­cing enables us to rese­arch high-end ren­de­ring solu­ti­ons, while also having sup­port for all sup­port­ing ven­dors and plat­forms with mini­mal over­head,” said Jules Urbach, CEOOTOY.

About Vulkan

Vul­kan is an open, royal­ty-free API for high-effi­ci­en­cy, cross-plat­form access to modern GPUs, with wide­spread adop­ti­on in lea­ding engi­nes, cut­ting-edge games, and deman­ding appli­ca­ti­ons. Vul­kan is sup­port­ed in a diver­se ran­ge of devices from Win­dows and Linux PCs, con­so­les, and the cloud, to mobi­le pho­nes and embedded platforms.

About The Khronos Group

The Khro­nos Group is an open, non-pro­fit, mem­ber-dri­ven con­sor­ti­um of over 150 indus­try-lea­ding com­pa­nies crea­ting advan­ced, royal­ty-free, inter­ope­ra­bi­li­ty stan­dards for 3D gra­phics, aug­men­ted and vir­tu­al rea­li­ty, par­al­lel pro­gramming, visi­on acce­le­ra­ti­on and machi­ne lear­ning. Khro­nos acti­vi­ties include Vul­kan®, OpenGL®, OpenGL® ES, Web­GL™, SPIR‑V™, Open­CL™, SYCL™, Open­VX™, NNEF™, OpenXR™, 3D Com­mer­ce™, ANARI™, and glTF™. Khro­nos mem­bers dri­ve the deve­lo­p­ment and evo­lu­ti­on of Khro­nos spe­ci­fi­ca­ti­ons and are able to acce­le­ra­te the deli­very of cut­ting-edge plat­forms and appli­ca­ti­ons through ear­ly access to spe­ci­fi­ca­ti­on drafts and con­for­mance tests.

###

Khro­nos® and Vul­kan® are regis­tered trade­marks, and ANARI™, Web­GL™, glTF™, NNEF™, Open­VX™, SPIR™, SPIR‑V™, SYCL™ and 3D Com­mer­ce™ are trade­marks of The Khro­nos Group Inc. OpenXR™ is a trade­mark owned by The Khro­nos Group Inc. and is regis­tered as a trade­mark in Chi­na, the Euro­pean Uni­on, Japan and the United King­dom. Open­CL™ is a trade­mark of Apple Inc. and OpenGL® is a regis­tered trade­mark and the OpenGL ES™ and OpenGL SC™ logos are trade­marks of Hew­lett Packard Enter­pri­se used under licen­se by Khro­nos. All other pro­duct names, trade­marks, and/or com­pa­ny names are used sole­ly for iden­ti­fi­ca­ti­on and belong to their respec­ti­ve owners.