Fixes tessellation triangle check
authorMatthew Netsch <quic_mnetsch@quicinc.com>
Fri, 13 Jul 2018 15:10:54 +0000 (11:10 -0400)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 6 Sep 2018 15:35:52 +0000 (11:35 -0400)
Tessellators may produce inner vertices positioned
on the edge of a primitive when used with fractional
odd spacing and the inner tessellation level is one.

Point mode doesn't factor into this rule

Components: Vulkan
VK-GL-CTS Issue: 1273

Affects:
dEQP-VK.tessellation.primitive_discard.*

Change-Id: Ida8c75d4275403eaae8b52fe55f3ed9e61dd2d6e

android/cts/master/vk-master.txt
external/vulkancts/modules/vulkan/tessellation/vktTessellationPrimitiveDiscardTests.cpp
external/vulkancts/mustpass/1.0.2/src/excluded-tests.txt

index ae7462a..2ba273b 100644 (file)
@@ -207900,9 +207900,11 @@ dEQP-VK.tessellation.primitive_discard.triangles_equal_spacing_ccw
 dEQP-VK.tessellation.primitive_discard.triangles_equal_spacing_ccw_point_mode
 dEQP-VK.tessellation.primitive_discard.triangles_equal_spacing_cw
 dEQP-VK.tessellation.primitive_discard.triangles_equal_spacing_cw_point_mode
+dEQP-VK.tessellation.primitive_discard.triangles_fractional_odd_spacing_ccw_valid_levels
 dEQP-VK.tessellation.primitive_discard.triangles_fractional_odd_spacing_ccw
 dEQP-VK.tessellation.primitive_discard.triangles_fractional_odd_spacing_ccw_point_mode_valid_levels
 dEQP-VK.tessellation.primitive_discard.triangles_fractional_odd_spacing_ccw_point_mode
+dEQP-VK.tessellation.primitive_discard.triangles_fractional_odd_spacing_cw_valid_levels
 dEQP-VK.tessellation.primitive_discard.triangles_fractional_odd_spacing_cw
 dEQP-VK.tessellation.primitive_discard.triangles_fractional_odd_spacing_cw_point_mode_valid_levels
 dEQP-VK.tessellation.primitive_discard.triangles_fractional_odd_spacing_cw_point_mode
@@ -207914,9 +207916,11 @@ dEQP-VK.tessellation.primitive_discard.quads_equal_spacing_ccw
 dEQP-VK.tessellation.primitive_discard.quads_equal_spacing_ccw_point_mode
 dEQP-VK.tessellation.primitive_discard.quads_equal_spacing_cw
 dEQP-VK.tessellation.primitive_discard.quads_equal_spacing_cw_point_mode
+dEQP-VK.tessellation.primitive_discard.quads_fractional_odd_spacing_ccw_valid_levels
 dEQP-VK.tessellation.primitive_discard.quads_fractional_odd_spacing_ccw
 dEQP-VK.tessellation.primitive_discard.quads_fractional_odd_spacing_ccw_point_mode_valid_levels
 dEQP-VK.tessellation.primitive_discard.quads_fractional_odd_spacing_ccw_point_mode
+dEQP-VK.tessellation.primitive_discard.quads_fractional_odd_spacing_cw_valid_levels
 dEQP-VK.tessellation.primitive_discard.quads_fractional_odd_spacing_cw
 dEQP-VK.tessellation.primitive_discard.quads_fractional_odd_spacing_cw_point_mode_valid_levels
 dEQP-VK.tessellation.primitive_discard.quads_fractional_odd_spacing_cw_point_mode
index 62149b4..06c9d91 100644 (file)
@@ -62,12 +62,11 @@ struct CaseDefinition
 bool lessThanOneInnerLevelsDefined (const CaseDefinition& caseDef)
 {
        // From Vulkan API specification:
-       // >> When tessellating triangles or quads in point mode with fractional odd spacing, the tessellator
+       // >> When tessellating triangles or quads (with/without point mode) with fractional odd spacing, the tessellator
        // >> ***may*** produce interior vertices that are positioned on the edge of the patch if an inner
        // >> tessellation level is less than or equal to one.
        return !((caseDef.primitiveType == vkt::tessellation::TESSPRIMITIVETYPE_QUADS      ||
                          caseDef.primitiveType == vkt::tessellation::TESSPRIMITIVETYPE_TRIANGLES) &&
-                        caseDef.usePointMode                                                     &&
                         caseDef.spacingMode == vkt::tessellation::SPACINGMODE_FRACTIONAL_ODD);
 }
 
index 3293bb8..e7c222b 100644 (file)
@@ -335,3 +335,9 @@ dEQP-VK.glsl.builtin_var.fragcoord_msaa.*
 #VK-GL-CTS 657
 dEQP-VK.memory.requirements.dedicated_allocation.buffer.*
 dEQP-VK.memory.requirements.dedicated_allocation.image.*
+
+# VK-GL-CTS 1273
+dEQP-VK.tessellation.primitive_discard.triangles_fractional_odd_spacing_ccw_valid_levels
+dEQP-VK.tessellation.primitive_discard.triangles_fractional_odd_spacing_cw_valid_levels
+dEQP-VK.tessellation.primitive_discard.quads_fractional_odd_spacing_ccw_valid_levels
+dEQP-VK.tessellation.primitive_discard.quads_fractional_odd_spacing_cw_valid_levels