SPIR-V assembly tests require Invocations in Geometry shaders
authorJuan A. Suarez Romero <jasuarez@igalia.com>
Tue, 2 Jul 2019 13:55:01 +0000 (15:55 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 5 Jul 2019 07:32:15 +0000 (03:32 -0400)
Validation layers are complaining about the lack of Invocation count in
several of the geometry spirv assembly tests.

Affects: dEQP-VK.spirv_assembly.instruction.graphics.*_geom

Components: Vulkan

VK-GL-CTS issue: 1862

Change-Id: I3c3f44574bef0ad2d61b27f0b3d94f9e24924a92

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

index e009a83..ae8a41f 100644 (file)
@@ -834,6 +834,7 @@ string makeGeometryShaderAssembly (const map<string, string>& fragments)
                "OpMemoryModel Logical GLSL450\n"
                "OpEntryPoint Geometry %BP_main \"main\" %BP_out_gl_position %BP_gl_PrimitiveID %BP_gl_in %BP_out_color %BP_in_color ${IF_entrypoint:opt} \n"
                "OpExecutionMode %BP_main Triangles\n"
+               "OpExecutionMode %BP_main Invocations 1\n"
                "OpExecutionMode %BP_main OutputTriangleStrip\n"
                "OpExecutionMode %BP_main OutputVertices 3\n"
                "${execution_mode:opt}\n"
@@ -1465,6 +1466,7 @@ void createCombinedModule (vk::SourceCollections& dst, InstanceContext ctx)
        if (useGeometry)
        {
                combinedModule <<       "OpExecutionMode %geom_main Triangles\n"
+                                                       "OpExecutionMode %geom_main Invocations 1\n"
                                                        "OpExecutionMode %geom_main OutputTriangleStrip\n"
                                                        "OpExecutionMode %geom_main OutputVertices 3\n";
        }