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

View file

@ -345,6 +345,7 @@ INSTANTIATE_TEST_SUITE_P(
{{"iomap.variableOutBlockIn.2.vert", "iomap.variableOutBlockIn.geom"}, Semantics::OpenGL},
// vulkan semantics
{{"iomap.crossStage.vk.vert", "iomap.crossStage.vk.geom", "iomap.crossStage.vk.frag" }, Semantics::Vulkan},
{{"iomap.crossStage.vk.2.vert", "iomap.crossStage.vk.2.geom", "iomap.crossStage.vk.2.frag" }, Semantics::Vulkan},
}))
);
// clang-format on