Be more careful about Block decorations on structs
In spirv/SPIR-V@
9701a9f9 we changed the SPIR-V spec to say that
block-decorated structures could not be nested. This is needed for
sorting out certain variable pointers issues inside a SPIR-V parser.
Unfortunately, the mentioned group of CTS tests violates this rule.
Their %input_buffer type is a struct containing two instances of
%outer_struct and both %input_buffer and %outer_struct are decorated
Block. Fortunately, only one of the two struct types is actually
required for an input at any given type so we just need to be more
careful about the decorations.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.variable_pointers.complex_types_compute.*
Components: Vulkan
VK-GL-CTS issue: 1518
Change-Id: I87a832fab94a9c06317d20b32afedf16b52ab2f2
(cherry picked from commit
1dbdfe34947fdb3e6d24226a58f02d0b8a515da8)