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
If I compile this simple geometry shader with glslang and pass it through the validation layer it reports an error about writing to PointSize and not enabling shaderTessellationAndGeometryPointSize.
#version450layout(points) in;
layout(triangle_strip, max_vertices =4) out;
void
main()
{
for (int y =-1; y <=1; y +=2) {
for (int x =-1; x <=1; x +=2) {
gl_Position=vec4(gl_in[0].gl_Position.xy +vec2(x, y),
0.0,
1.0);
EmitVertex();
}
}
EndPrimitive();
}
The shader clearly isn’t using gl_PointSize at all. glslang seems to declare two structs with point size members anyway. The first is used for the output and the second is used for gl_in. I think there is something going wrong with this line in shader_validation.cpp:
If I compile this simple geometry shader with glslang and pass it through the validation layer it reports an error about writing to
PointSize
and not enablingshaderTessellationAndGeometryPointSize
.The shader clearly isn’t using
gl_PointSize
at all. glslang seems to declare two structs with point size members anyway. The first is used for the output and the second is used forgl_in
. I think there is something going wrong with this line inshader_validation.cpp
:init_complete
ends up beingfalse
forgl_in
because there is no variable that writes to it.If I remove the part that reads from
gl_in
then glslang no longer adds a declaration for its type and the validation error disappears.This can be seen with the
geometry.shader_test
example in VkRunner with a command like this:The text was updated successfully, but these errors were encountered: