Fix validation failure in float_controls
authorPiotr Byszewski <piotr.byszewski@mobica.com>
Thu, 17 Jan 2019 12:37:07 +0000 (13:37 +0100)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 18 Jan 2019 08:52:52 +0000 (03:52 -0500)
Half of float_controls tests read operation arguments from
SSBO (other half generates them in the code). Whent vertex
stage is tested this SSBO must be decorated as NonWritable.
This change resolves this issue by applying NonWritable
decoration to input SSBO for all tested stages.
Operation output is always saved in fragment stage and to
separate SSBO.

Components: Vulkan

VK-GL-CTS issue: 1543

Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*

Change-Id: Iaed891d7b45b2a5f02ce1443dc13a40e24fa2086

external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp

index aef15a4..599c151 100644 (file)
@@ -668,7 +668,8 @@ void TypeSnippetsBase::updateSpirvSnippets()
                "OpMemberDecorate %SSBO_in 0 Offset 0\n"
                "OpDecorate %SSBO_in BufferBlock\n"
                "OpDecorate %ssbo_in DescriptorSet 0\n"
-               "OpDecorate %ssbo_in Binding 0\n";
+               "OpDecorate %ssbo_in Binding 0\n"
+               "OpDecorate %ssbo_in NonWritable\n";
 
        const string inputDefinitionsTemplate =
                "%SSBO_in              = OpTypeStruct %type_float_arr_2\n"