add cross-stage check for missing outputs

If an 'in' is present in a shader stage, make sure a matching 'out'
is present in the previous stage. Only enabled when doing Vulkan.

This commit also fixes a bug where previous stage's linkerObjects
got polluted with 'in' variables from the next stage when merging
linker objects.
This commit is contained in:
Malcolm Bechard 2024-07-12 00:51:48 -04:00 committed by arcady-lunarg
parent 6a28e226c7
commit 69249e46b6
6 changed files with 439 additions and 25 deletions

24
Test/iomap.crossStage.vk.2.frag Executable file
View file

@ -0,0 +1,24 @@
#version 460
in vec4 unsetColor;
in vec4 colorOut;
out vec4 fragColor;
in Vertex
{
vec2 val;
} iVert;
in Vertex2
{
vec2 val2;
};
in vec4 vv2Val;
void main()
{
fragColor = colorOut + unsetColor * vec4(iVert.val.xxyy) * vec4(val2.xxyy) *
vv2Val;
}