xemu/subprojects/SPIRV-Reflect/tests/glsl/fn_struct_param.glsl

23 lines
469 B
GLSL

#version 450
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_420pack : enable
struct B {
float a;
};
layout (binding = 0) uniform Test {
B b;
} test;
float dothing(const in B b) {
return b.a;
}
layout(location = 0) out vec4 outColor;
void main() {
outColor = vec4(0);
// this is fine
outColor.z = test.b.a;
// this line causes SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_BLOCK_MEMBER_REFERENCE
outColor.z = dothing(test.b);
}