Fix tessellation SPIR-V tests use of Restrict
authorJason Ekstrand <jason.ekstrand@intel.com>
Mon, 21 Jun 2021 20:35:36 +0000 (15:35 -0500)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Tue, 29 Jun 2021 07:14:14 +0000 (07:14 +0000)
Their usage of Restrict violates the SPIR-V spec which requires that it
only got on variables, not types or struct members.

Affected tests:
dEQP-VK.tessellation.*

Components: Vulkan
VK-GL-CTS issue: 2975

Change-Id: Ifbde1b493bf56d1ee6454a4ab54e98bcd05f839b

external/vulkancts/modules/vulkan/tessellation/vktTessellationCoordinatesTests.cpp

index 54eaf11..26221c8 100644 (file)
@@ -504,27 +504,22 @@ void TessCoordTest::initPrograms (SourceCollections& programCollection) const
                tescSrc += executionMode +
                           "OpDecorate %var_tess_level_inner Patch\n"
                           "OpDecorate %var_tess_level_inner BuiltIn TessLevelInner\n"
-                          "OpMemberDecorate %type_struct_sb_levels 0 Restrict\n"
                           "OpMemberDecorate %type_struct_sb_levels 0 NonWritable\n"
                           "OpMemberDecorate %type_struct_sb_levels 0 Offset 0\n"
-                          "OpMemberDecorate %type_struct_sb_levels 1 Restrict\n"
                           "OpMemberDecorate %type_struct_sb_levels 1 NonWritable\n"
                           "OpMemberDecorate %type_struct_sb_levels 1 Offset 4\n"
-                          "OpMemberDecorate %type_struct_sb_levels 2 Restrict\n"
                           "OpMemberDecorate %type_struct_sb_levels 2 NonWritable\n"
                           "OpMemberDecorate %type_struct_sb_levels 2 Offset 8\n"
-                          "OpMemberDecorate %type_struct_sb_levels 3 Restrict\n"
                           "OpMemberDecorate %type_struct_sb_levels 3 NonWritable\n"
                           "OpMemberDecorate %type_struct_sb_levels 3 Offset 12\n"
-                          "OpMemberDecorate %type_struct_sb_levels 4 Restrict\n"
                           "OpMemberDecorate %type_struct_sb_levels 4 NonWritable\n"
                           "OpMemberDecorate %type_struct_sb_levels 4 Offset 16\n"
-                          "OpMemberDecorate %type_struct_sb_levels 5 Restrict\n"
                           "OpMemberDecorate %type_struct_sb_levels 5 NonWritable\n"
                           "OpMemberDecorate %type_struct_sb_levels 5 Offset 20\n"
                           "OpDecorate %type_struct_sb_levels BufferBlock\n"
                           "OpDecorate %var_struct_sb_levels DescriptorSet 0\n"
                           "OpDecorate %var_struct_sb_levels Binding 0\n"
+                          "OpDecorate %var_struct_sb_levels Restrict\n"
                           "OpDecorate %var_tess_level_outer Patch\n"
                           "OpDecorate %var_tess_level_outer BuiltIn TessLevelOuter\n"
                           "%type_void                 = OpTypeVoid\n"
@@ -588,13 +583,12 @@ void TessCoordTest::initPrograms (SourceCollections& programCollection) const
                           "OpEntryPoint TessellationEvaluation %main_fun \"main\" %var_gl_tess_coord\n"
                           "OpDecorate %type_run_arr_v3_f32 ArrayStride 16\n"
                           "OpMemberDecorate %type_struct 0 Coherent\n"
-                          "OpMemberDecorate %type_struct 0 Restrict\n"
                           "OpMemberDecorate %type_struct 0 Offset 0\n"
                           "OpMemberDecorate %type_struct 1 Coherent\n"
-                          "OpMemberDecorate %type_struct 1 Restrict\n"
                           "OpMemberDecorate %type_struct 1 Offset 16\n"
                           "OpDecorate %type_struct BufferBlock\n"
                           "OpDecorate %var_struct_ptr DescriptorSet 0\n"
+                          "OpDecorate %var_struct_ptr Restrict\n"
                           "OpDecorate %var_struct_ptr Binding 1\n"
                           "OpDecorate %var_gl_tess_coord BuiltIn TessCoord\n"
                           "%type_void             = OpTypeVoid\n"