Skip to content

VSG built in flat shader doesn't compile #1720

@hytel

Description

@hytel

So, I'm taking the plunge, and upgrading my huge VSG application from 1.1.11 to 1.1.15 and I'm getting a crash on the first compile. To the console I get:

Warning: GLSL source failed to parse.
Warning: glslang info log:
ERROR: 0:69: '=' : cannot convert from ' global highp 4-component vector of float' to ' temp highp float'
ERROR: 0:69: '' : missing #endif
ERROR: 0:69: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.

I can see line 69 which is:

69: float v = texture(diffuseMap, texCoordDiffuse);

Which indeed could be an error because texture should return a vec4 but it's being assigned to a single float value. I looked to see how I got this fragment shader and it appears to be because I called vsg::createFlatShadedShaderSet and it didn't have one in it's list, so it creates one using the binary array down in the shaders sub-folder:

VulkanSceneGraph-1.1.15\src\vsg\utils\shaders\flat_ShaderSet.cpp

It looks like this may have been changed in 1.1.14 to include this line.

Is this really an issue, or am I doing something wrong?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions