4 ms·
SPIR-V really is an intermediate representation of a program. There's no way that this can be executed without any further translation. But it stops driver deve
by gmueckl 7y ago
SPIR-V really is an intermediate representation of a program. There's no way that this can be executed without any further translation. But it stops driver developers from having to write and ship complex compiler front ends that deviate from language specs in subtle ways that the shader writers need to test for and work around.
- phire 7y agoYep, now shader writers only need to test for and work around backend bugs in drivers. Also it makes gamedevs slightly happier that they don't have to ship the plain text source code of their shaders with games. It doesn't provide any real security against RE, as SPIR-V is pretty close to being tokinized/SSAed GLSL and decompilers are trivial to implement. But if it makes them happier, so be it.
- erichocean 7y ago> * SPIR-V is pretty close to being tokinized/SSAed GLSL* SPIR-V is in SSA form; GLSL most definitely is not.