What you’re seeing is actually normal for bgfx’s shaderc
: your .sc
source isn’t fed directly to GLSL or SPIR-V. Instead, shaderc
first runs it through bgfx’s shader preprocessor, which expands $input
, $output
, $varyingdef
, etc. into HLSL-style code. That’s why the error points to lines with things like vec4_splat(0.0)
— they were inserted by the bgfx shader system, not written by you.
ERRORRR.... 'vec4_splat'
no matching overloaded function found
means that shaderc
’s generated code tried to call vec4_splat
, but that helper wasn’t defined in the scope of your shader. This happens when you don’t include the bgfx shader include files that define all the helper functions (vec4_splat
, packing/unpacking, etc.).