Fix wide line rasterization tests
authorMatthew Netsch <quic_mnetsch@quicinc.com>
Mon, 4 May 2020 18:15:49 +0000 (14:15 -0400)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 14 May 2020 15:12:26 +0000 (11:12 -0400)
Components: Vulkan
VK-GL-CTS Issue: 2347

Affects:
dEQP-VK.rasterization.primitives*line*wide

Change-Id: Ia27d80bfb57b9a09a631580e37d1f1277e99d365

external/vulkancts/modules/vulkan/rasterization/vktRasterizationTests.cpp

index 5f35a7d..4f7901f 100644 (file)
@@ -1088,7 +1088,17 @@ BaseLineTestInstance::BaseLineTestInstance (Context& context,
                // set hand picked sizes
                m_lineWidths.push_back(5.0f);
                m_lineWidths.push_back(10.0f);
-               m_lineWidths.push_back(range[1]);
+
+               // Do not pick line width with 0.5 fractional value as rounding direction is not defined.
+               if (deFloatFrac(range[1]) == 0.5f)
+               {
+                       m_lineWidths.push_back(range[1] - context.getDeviceProperties().limits.lineWidthGranularity);
+               }
+               else
+               {
+                       m_lineWidths.push_back(range[1]);
+               }
+
                DE_ASSERT((int)m_lineWidths.size() == m_iterationCount);
 
                m_maxLineWidth = range[1];