Be more careful about Block decorations on structs
authorJason Ekstrand <jason.ekstrand@intel.com>
Sat, 15 Dec 2018 00:04:39 +0000 (18:04 -0600)
committerTapani Pälli <tapani.palli@intel.com>
Fri, 22 Mar 2019 06:20:43 +0000 (08:20 +0200)
commit77f33c049b3d8cb7297ff552ed266b0d77e2677a
treec508099fabc4a96af6ba3f33f5485c2e7ee07ce1
parentafaf97df9c8768ee43e9a09b931e3989f6e17c69
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)
external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmVariablePointersTests.cpp