Fixes Fragment Shading Rate layered tests
authorMatthew Netsch <quic_mnetsch@quicinc.com>
Wed, 31 Mar 2021 15:08:41 +0000 (11:08 -0400)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 1 Apr 2021 15:49:59 +0000 (15:49 +0000)
Test was exporting Layer and ViewportIndex
decorations in Vertex Shader in the
Geometry Shader tests without checking
for support.

Components: Vulkan
VK-GL-CTS Issue: 2865

Affects:
dEQP-VK.fragment_shading_Rate.srlayered.*.gs
dEQP-VK.fragment_shading_Rate.colorlayered.*.gs

Change-Id: Idbf6be2c14bb8409feec2d7262efb9a402cf35a2

external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp

index 290c505..47e916a 100644 (file)
@@ -335,10 +335,13 @@ void FSRTestCase::initPrograms (SourceCollections& programCollection) const
                // Verify that we can read from the output variable
                vss << "  if (gl_PrimitiveShadingRateEXT != pc.shadingRate) readbackok = 0;\n";
 
-               if (m_data.multiViewport)
-                       vss << "  gl_ViewportIndex = instanceIndex & 1;\n";
-               if (m_data.colorLayered)
-                       vss << "  gl_Layer = (instanceIndex & 2) >> 1;\n";
+               if (!m_data.geometryShader)
+               {
+                       if (m_data.multiViewport)
+                               vss << "  gl_ViewportIndex = instanceIndex & 1;\n";
+                       if (m_data.colorLayered)
+                               vss << "  gl_Layer = (instanceIndex & 2) >> 1;\n";
+               }
        }
 
        vss << "}\n";