You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On desktop GL, shaders are allowed to compiled multiple compilation units. GLSLang 4.60 spec says:
The function main is used as the entry point to a shader executable. A shader need not contain a function named main, but one shader in a set of shaders linked together to form a single shader executable must, or a link-time error results.
It is not true for ESSL; ESSL spec says:
All shaders must define a function named main.
One idea to fix this is just defer compilation to link time and concat sources before compile. I have prototyped such implementation okuoku@9382fa1 and confirmed it can flawlessly execute wined3d generated GLSL shaders on Vulkan backend of ANGLE. Although it is still allowed to detect any compilation error on link time, deferring every compilation might be overkill so I guess we should have a bit better solution e.g.) make it behind environment variable or something.
The text was updated successfully, but these errors were encountered:
at: f5dda93
Found by: wined3d (GLSL backend) + google/angle@4a4ae72 (Vulkan backend) on Win32
On desktop GL, shaders are allowed to compiled multiple compilation units. GLSLang 4.60 spec says:
It is not true for ESSL; ESSL spec says:
One idea to fix this is just defer compilation to link time and concat sources before compile. I have prototyped such implementation okuoku@9382fa1 and confirmed it can flawlessly execute wined3d generated GLSL shaders on Vulkan backend of ANGLE. Although it is still allowed to detect any compilation error on link time, deferring every compilation might be overkill so I guess we should have a bit better solution e.g.) make it behind environment variable or something.
The text was updated successfully, but these errors were encountered: