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)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Fri, 22 Oct 2021 16:57:48 +0000 (16:57 +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 ee71ae4..b1dd73e 100644 (file)
@@ -494,27 +494,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"
@@ -578,13 +573,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"