John Kessenich
John Kessenich
We tend to not want to have semantics expressed in terms of what an optimizer might be able to do. Maybe that can be done for tail recursion, but it...
Agreed with separating these, and for terminology, it will help to not include the single-letter forms as "swizzles". The single letter forms map directly to HLL `[]` concepts and to...
Empty structs can also show up with `#ifdef` stuff on struct contents. If front ends can naturally generate them, for which ever reason, it is a bit of an ask...
Yes to what @kainino0x said. > WGSL is focused on what we need for WebGPU at this point. The goal does seem to float around a bit. Yes, of course...
Some updates/corrections to that: - compute stage: glslangs small GLSL -> SPIR-V also includes compute stage and the tools useful for doing compute - preprocessor: the preprocessor is still present...
Compute was added much later than the original first pass, so I wouldn't be surprised if documentation is out of date. #include is in glslang, just not the GLSLANG_WEB build...
SPIR-V was a poor choice, because people wouldn't write in SPIR-V? Of course people won't write shaders in SPIR-V, it's an IR. They won't want to write in any IR....
One thing to do to be safe WRT future additions to the language is to follow normal phases of tokenization/parsing so that something isn't accidentally precluded. (A number of other...
Yes, if this extension gets implemented, it would change what versions trigger these variables. In glslang, I only see `gl_CullDistance[]` added as a built-in variable when `version >= 450`, which...
> the only way to get glslang to produce RelaxedPrecision stuff is to use ES profile This actually is not true. When generating SPIR-V, GLSL **mediump** and **lowp** translate to...