Relax line width verification in primitive bbox tests
Originally contributed by ARM to Khronos OpenGL ES CTS. Cherry-picked
with permission.
Google bug: 22713865
Khronos OpenGL issue: #19
Change-Id: I95359847611144e179819aaab6ac5dfe4bf4e4da
diff --git a/android/cts/master/com.drawelements.deqp.gles31.xml b/android/cts/master/com.drawelements.deqp.gles31.xml
index e75e48d..7ae7d37 100644
--- a/android/cts/master/com.drawelements.deqp.gles31.xml
+++ b/android/cts/master/com.drawelements.deqp.gles31.xml
@@ -73655,6 +73655,30 @@
<TestSuite name="lines">
<TestSuite name="global_state">
<TestCase name="vertex_fragment">
+ <Test name="default_framebuffer_bbox_equal">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_larger">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_smaller">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="fbo_bbox_equal">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
@@ -73666,6 +73690,65 @@
</Test>
</TestCase>
<TestCase name="vertex_tessellation_fragment">
+ <Test name="default_framebuffer_bbox_equal">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_larger">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_smaller">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="fbo_bbox_equal">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="fbo_bbox_larger">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="fbo_bbox_smaller">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="vertex_geometry_fragment">
+ <Test name="default_framebuffer_bbox_equal">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_larger">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_smaller">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="fbo_bbox_equal">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
@@ -73677,6 +73760,30 @@
</Test>
</TestCase>
<TestCase name="vertex_tessellation_geometry_fragment">
+ <Test name="default_framebuffer_bbox_equal">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_larger">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_smaller">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="fbo_bbox_equal">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
@@ -73690,6 +73797,30 @@
</TestSuite>
<TestSuite name="tessellation_set_per_draw">
<TestCase name="vertex_tessellation_fragment">
+ <Test name="default_framebuffer_bbox_equal">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_larger">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_smaller">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="fbo_bbox_equal">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
@@ -73701,6 +73832,30 @@
</Test>
</TestCase>
<TestCase name="vertex_tessellation_geometry_fragment">
+ <Test name="default_framebuffer_bbox_equal">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_larger">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_smaller">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="fbo_bbox_equal">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
@@ -73968,6 +74123,30 @@
<TestSuite name="wide_lines">
<TestSuite name="global_state">
<TestCase name="vertex_fragment">
+ <Test name="default_framebuffer_bbox_equal">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_larger">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_smaller">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="fbo_bbox_equal">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
@@ -73979,6 +74158,65 @@
</Test>
</TestCase>
<TestCase name="vertex_tessellation_fragment">
+ <Test name="default_framebuffer_bbox_equal">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_larger">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_smaller">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="fbo_bbox_equal">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="fbo_bbox_larger">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="fbo_bbox_smaller">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ </TestCase>
+ <TestCase name="vertex_geometry_fragment">
+ <Test name="default_framebuffer_bbox_equal">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_larger">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_smaller">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="fbo_bbox_equal">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
@@ -73990,6 +74228,30 @@
</Test>
</TestCase>
<TestCase name="vertex_tessellation_geometry_fragment">
+ <Test name="default_framebuffer_bbox_equal">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_larger">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_smaller">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="fbo_bbox_equal">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
@@ -74003,6 +74265,30 @@
</TestSuite>
<TestSuite name="tessellation_set_per_draw">
<TestCase name="vertex_tessellation_fragment">
+ <Test name="default_framebuffer_bbox_equal">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_larger">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_smaller">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="fbo_bbox_equal">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
@@ -74014,6 +74300,30 @@
</Test>
</TestCase>
<TestCase name="vertex_tessellation_geometry_fragment">
+ <Test name="default_framebuffer_bbox_equal">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_larger">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
+ <Test name="default_framebuffer_bbox_smaller">
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="0" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="90" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="180" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms0" rotation="270" surfacetype="window"/>
+ <TestInstance glconfig="rgba8888d24s8ms4" rotation="unspecified" surfacetype="window"/>
+ </Test>
<Test name="fbo_bbox_equal">
<TestInstance glconfig="rgba8888d24s8ms0" rotation="unspecified" surfacetype="window"/>
</Test>
diff --git a/android/cts/master/gles31-master.txt b/android/cts/master/gles31-master.txt
index 6b1aef0..43a575f 100644
--- a/android/cts/master/gles31-master.txt
+++ b/android/cts/master/gles31-master.txt
@@ -22756,18 +22756,39 @@
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_primitive.vertex_tessellation_fragment.fbo
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_primitive.vertex_tessellation_geometry_fragment.default_framebuffer
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_primitive.vertex_tessellation_geometry_fragment.fbo
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.fbo_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.fbo_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.fbo_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.fbo_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.fbo_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.fbo_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.fbo_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.fbo_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.fbo_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.fbo_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.fbo_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.fbo_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.fbo_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.fbo_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.fbo_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.fbo_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.fbo_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.fbo_bbox_smaller
@@ -22815,18 +22836,39 @@
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_primitive.vertex_tessellation_fragment.fbo
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_primitive.vertex_tessellation_geometry_fragment.default_framebuffer
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_primitive.vertex_tessellation_geometry_fragment.fbo
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.fbo_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.fbo_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.fbo_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.fbo_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.fbo_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.fbo_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.fbo_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.fbo_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.fbo_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.fbo_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.fbo_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.fbo_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.fbo_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.fbo_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.fbo_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.fbo_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.fbo_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.fbo_bbox_smaller
diff --git a/android/cts/master/gles31-multisample.txt b/android/cts/master/gles31-multisample.txt
index d78f3f6..721e97b 100644
--- a/android/cts/master/gles31-multisample.txt
+++ b/android/cts/master/gles31-multisample.txt
@@ -134,6 +134,24 @@
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_smaller
@@ -152,6 +170,24 @@
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_smaller
diff --git a/android/cts/master/gles31-rotate-landscape.txt b/android/cts/master/gles31-rotate-landscape.txt
index 42f000f..c98268f 100644
--- a/android/cts/master/gles31-rotate-landscape.txt
+++ b/android/cts/master/gles31-rotate-landscape.txt
@@ -47,6 +47,24 @@
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_smaller
@@ -65,6 +83,24 @@
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_smaller
diff --git a/android/cts/master/gles31-rotate-portrait.txt b/android/cts/master/gles31-rotate-portrait.txt
index 42f000f..c98268f 100644
--- a/android/cts/master/gles31-rotate-portrait.txt
+++ b/android/cts/master/gles31-rotate-portrait.txt
@@ -47,6 +47,24 @@
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_smaller
@@ -65,6 +83,24 @@
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_smaller
diff --git a/android/cts/master/gles31-rotate-reverse-landscape.txt b/android/cts/master/gles31-rotate-reverse-landscape.txt
index 42f000f..c98268f 100644
--- a/android/cts/master/gles31-rotate-reverse-landscape.txt
+++ b/android/cts/master/gles31-rotate-reverse-landscape.txt
@@ -47,6 +47,24 @@
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_smaller
@@ -65,6 +83,24 @@
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_smaller
diff --git a/android/cts/master/gles31-rotate-reverse-portrait.txt b/android/cts/master/gles31-rotate-reverse-portrait.txt
index 42f000f..c98268f 100644
--- a/android/cts/master/gles31-rotate-reverse-portrait.txt
+++ b/android/cts/master/gles31-rotate-reverse-portrait.txt
@@ -47,6 +47,24 @@
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_fragment.default_framebuffer_bbox_smaller
@@ -65,6 +83,24 @@
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment.default_framebuffer_bbox_smaller
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_equal
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_larger
+dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment.default_framebuffer_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_equal
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_larger
dEQP-GLES31.functional.primitive_bounding_box.wide_points.global_state.vertex_fragment.default_framebuffer_bbox_smaller
diff --git a/android/cts/master/src/gles31-hw-issues.txt b/android/cts/master/src/gles31-hw-issues.txt
index 9473ba4..5d24d03 100644
--- a/android/cts/master/src/gles31-hw-issues.txt
+++ b/android/cts/master/src/gles31-hw-issues.txt
@@ -66,15 +66,6 @@
dEQP-GLES31.functional.shaders.builtin_functions.precision.cos.mediump_*
dEQP-GLES31.functional.shaders.builtin_functions.precision.tan.mediump_*
-# Bug 22713865
-dEQP-GLES31.functional.primitive_bounding_box.*lines*default_framebuffer_bbox*
-dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.fbo_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.fbo_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.vertex_geometry_fragment.fbo_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.fbo_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.fbo_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.global_state.vertex_geometry_fragment.fbo_bbox_smaller
-
# Bug 23288315
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_separate_grid_1000x1000_drawcount_1
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_separate_grid_1200x1200_drawcount_1
diff --git a/modules/gles31/functional/es31fPrimitiveBoundingBoxTests.cpp b/modules/gles31/functional/es31fPrimitiveBoundingBoxTests.cpp
index c1fa0af..7f07d36 100644
--- a/modules/gles31/functional/es31fPrimitiveBoundingBoxTests.cpp
+++ b/modules/gles31/functional/es31fPrimitiveBoundingBoxTests.cpp
@@ -1402,6 +1402,8 @@
{
SCANRESULT_NUM_LINES_OK_BIT = (1 << 0),
SCANRESULT_LINE_WIDTH_OK_BIT = (1 << 1),
+ SCANRESULT_LINE_WIDTH_WARN_BIT = (1 << 2),
+ SCANRESULT_LINE_WIDTH_ERR_BIT = (1 << 3),
};
void init (void);
@@ -1422,7 +1424,7 @@
deUint8 scanColumn (const tcu::ConstPixelBufferAccess& access, int column, int columnBegin, int columnEnd, const tcu::IVec2& numLines, int& floodCounter) const;
bool checkAreaNumLines (const tcu::ConstPixelBufferAccess& access, const tcu::IVec4& area, int& floodCounter, int componentNdx, const tcu::IVec2& numLines) const;
tcu::IVec2 getNumMinimaMaxima (const tcu::ConstPixelBufferAccess& access, int componentNdx) const;
- bool checkLineWidths (const tcu::ConstPixelBufferAccess& access, const tcu::IVec2& begin, const tcu::IVec2& end, int componentNdx, int& floodCounter) const;
+ deUint8 checkLineWidths (const tcu::ConstPixelBufferAccess& access, const tcu::IVec2& begin, const tcu::IVec2& end, int componentNdx, int& floodCounter) const;
void printLineWidthError (const tcu::IVec2& pos, int detectedLineWidth, const tcu::IVec2& lineWidthRange, bool isHorizontal, int& floodCounter) const;
const int m_patternSide;
@@ -1787,23 +1789,24 @@
void LineRenderCase::verifyRenderResult (const IterationConfig& config)
{
- const glw::Functions& gl = m_context.getRenderContext().getFunctions();
- const bool isMsaa = m_context.getRenderTarget().getNumSamples() > 1;
- const ProjectedBBox projectedBBox = projectBoundingBox(config.bbox);
- const float lineWidth = (m_isWideLineCase) ? ((float)m_wideLineLineWidth) : (1.0f);
- const tcu::IVec4 viewportBBoxArea = getViewportBoundingBoxArea(projectedBBox, config.viewportSize, lineWidth);
- const tcu::IVec4 viewportPatternArea = getViewportPatternArea(config.patternPos, config.patternSize, config.viewportSize, ROUND_INWARDS);
- const tcu::IVec2 expectedHorizontalLines = getNumberOfLinesRange(viewportBBoxArea.y(), viewportBBoxArea.w(), config.patternPos.y(), config.patternSize.y(), config.viewportSize.y(), DIRECTION_VERTICAL);
- const tcu::IVec2 expectedVerticalLines = getNumberOfLinesRange(viewportBBoxArea.x(), viewportBBoxArea.z(), config.patternPos.x(), config.patternSize.x(), config.viewportSize.x(), DIRECTION_HORIZONTAL);
- const tcu::IVec4 verificationArea = tcu::IVec4(de::max(viewportBBoxArea.x(), 0),
- de::max(viewportBBoxArea.y(), 0),
- de::min(viewportBBoxArea.z(), config.viewportSize.x()),
- de::min(viewportBBoxArea.w(), config.viewportSize.y()));
+ const glw::Functions& gl = m_context.getRenderContext().getFunctions();
+ const bool isMsaa = m_context.getRenderTarget().getNumSamples() > 1;
+ const ProjectedBBox projectedBBox = projectBoundingBox(config.bbox);
+ const float lineWidth = (m_isWideLineCase) ? ((float)m_wideLineLineWidth) : (1.0f);
+ const tcu::IVec4 viewportBBoxArea = getViewportBoundingBoxArea(projectedBBox, config.viewportSize, lineWidth);
+ const tcu::IVec4 viewportPatternArea = getViewportPatternArea(config.patternPos, config.patternSize, config.viewportSize, ROUND_INWARDS);
+ const tcu::IVec2 expectedHorizontalLines = getNumberOfLinesRange(viewportBBoxArea.y(), viewportBBoxArea.w(), config.patternPos.y(), config.patternSize.y(), config.viewportSize.y(), DIRECTION_VERTICAL);
+ const tcu::IVec2 expectedVerticalLines = getNumberOfLinesRange(viewportBBoxArea.x(), viewportBBoxArea.z(), config.patternPos.x(), config.patternSize.x(), config.viewportSize.x(), DIRECTION_HORIZONTAL);
+ const tcu::IVec4 verificationArea = tcu::IVec4(de::max(viewportBBoxArea.x(), 0),
+ de::max(viewportBBoxArea.y(), 0),
+ de::min(viewportBBoxArea.z(), config.viewportSize.x()),
+ de::min(viewportBBoxArea.w(), config.viewportSize.y()));
- tcu::Surface viewportSurface (config.viewportSize.x(), config.viewportSize.y());
- bool anyError = false;
- bool msaaRelaxationRequired = false;
- int messageLimitCounter = 8;
+ tcu::Surface viewportSurface (config.viewportSize.x(), config.viewportSize.y());
+ bool anyError = false;
+ bool msaaRelaxationRequired = false;
+ bool hwIssueRelaxationRequired = false;
+ int messageLimitCounter = 8;
if (!m_calcPerPrimitiveBBox)
m_testCtx.getLog()
@@ -1853,6 +1856,11 @@
// multisampled wide lines might not be supported
msaaRelaxationRequired = true;
}
+ else if ((result & SCANRESULT_LINE_WIDTH_ERR_BIT) == 0 &&
+ (result & SCANRESULT_LINE_WIDTH_WARN_BIT) != 0)
+ {
+ hwIssueRelaxationRequired = true;
+ }
else
anyError = true;
}
@@ -1877,12 +1885,16 @@
// multisampled wide lines might not be supported
msaaRelaxationRequired = true;
}
+ else if ((result & SCANRESULT_LINE_WIDTH_WARN_BIT) != 0)
+ {
+ hwIssueRelaxationRequired = true;
+ }
else
anyError = true;
}
}
- if (anyError || msaaRelaxationRequired)
+ if (anyError || msaaRelaxationRequired || hwIssueRelaxationRequired)
{
if (messageLimitCounter < 0)
m_testCtx.getLog() << tcu::TestLog::Message << "Omitted " << (-messageLimitCounter) << " row/column error descriptions." << tcu::TestLog::EndMessage;
@@ -1897,6 +1909,11 @@
if (anyError)
m_testCtx.setTestResult(QP_TEST_RESULT_FAIL, "Image verification failed");
+ else if (hwIssueRelaxationRequired)
+ {
+ // Line width hw issue
+ m_testCtx.setTestResult(QP_TEST_RESULT_QUALITY_WARNING, "Line width verification failed");
+ }
else
{
// MSAA wide lines are optional
@@ -1949,20 +1966,36 @@
deUint8 LineRenderCase::scanRow (const tcu::ConstPixelBufferAccess& access, int row, int rowBegin, int rowEnd, const tcu::IVec2& numLines, int& messageLimitCounter) const
{
- const bool numLinesOk = checkAreaNumLines(access, tcu::IVec4(rowBegin, row, rowEnd - rowBegin, 1), messageLimitCounter, SCAN_ROW_COMPONENT_NDX, numLines);
- const bool lineWidthOk = checkLineWidths(access, tcu::IVec2(rowBegin, row), tcu::IVec2(rowEnd, row), SCAN_ROW_COMPONENT_NDX, messageLimitCounter);
+ const bool numLinesOk = checkAreaNumLines(access, tcu::IVec4(rowBegin, row, rowEnd - rowBegin, 1), messageLimitCounter, SCAN_ROW_COMPONENT_NDX, numLines);
+ const deUint8 lineWidthRes = checkLineWidths(access, tcu::IVec2(rowBegin, row), tcu::IVec2(rowEnd, row), SCAN_ROW_COMPONENT_NDX, messageLimitCounter);
+ deUint8 result = 0;
- return (deUint8)((numLinesOk ? (deUint8)SCANRESULT_NUM_LINES_OK_BIT : 0u) |
- (lineWidthOk ? (deUint8)SCANRESULT_LINE_WIDTH_OK_BIT : 0u));
+ if (numLinesOk)
+ result |= (deUint8)SCANRESULT_NUM_LINES_OK_BIT;
+
+ if (lineWidthRes == 0)
+ result |= (deUint8)SCANRESULT_LINE_WIDTH_OK_BIT;
+ else
+ result |= lineWidthRes;
+
+ return result;
}
deUint8 LineRenderCase::scanColumn (const tcu::ConstPixelBufferAccess& access, int column, int columnBegin, int columnEnd, const tcu::IVec2& numLines, int& messageLimitCounter) const
{
- const bool numLinesOk = checkAreaNumLines(access, tcu::IVec4(column, columnBegin, 1, columnEnd - columnBegin), messageLimitCounter, SCAN_COL_COMPONENT_NDX, numLines);
- const bool lineWidthOk = checkLineWidths(access, tcu::IVec2(column, columnBegin), tcu::IVec2(column, columnEnd), SCAN_COL_COMPONENT_NDX, messageLimitCounter);
+ const bool numLinesOk = checkAreaNumLines(access, tcu::IVec4(column, columnBegin, 1, columnEnd - columnBegin), messageLimitCounter, SCAN_COL_COMPONENT_NDX, numLines);
+ const deUint8 lineWidthRes = checkLineWidths(access, tcu::IVec2(column, columnBegin), tcu::IVec2(column, columnEnd), SCAN_COL_COMPONENT_NDX, messageLimitCounter);
+ deUint8 result = 0;
- return (deUint8)((numLinesOk ? (deUint8)SCANRESULT_NUM_LINES_OK_BIT : 0u) |
- (lineWidthOk ? (deUint8)SCANRESULT_LINE_WIDTH_OK_BIT : 0u));
+ if (numLinesOk)
+ result |= (deUint8)SCANRESULT_NUM_LINES_OK_BIT;
+
+ if (lineWidthRes == 0)
+ result |= (deUint8)SCANRESULT_LINE_WIDTH_OK_BIT;
+ else
+ result |= lineWidthRes;
+
+ return result;
}
bool LineRenderCase::checkAreaNumLines (const tcu::ConstPixelBufferAccess& access, const tcu::IVec4& area, int& messageLimitCounter, int componentNdx, const tcu::IVec2& numLines) const
@@ -2052,19 +2085,20 @@
return tcu::IVec2(numMinima, numMaxima);
}
-bool LineRenderCase::checkLineWidths (const tcu::ConstPixelBufferAccess& access, const tcu::IVec2& begin, const tcu::IVec2& end, int componentNdx, int& messageLimitCounter) const
+deUint8 LineRenderCase::checkLineWidths (const tcu::ConstPixelBufferAccess& access, const tcu::IVec2& begin, const tcu::IVec2& end, int componentNdx, int& messageLimitCounter) const
{
- const bool multisample = m_context.getRenderTarget().getNumSamples() > 1;
- const int lineRenderWidth = (m_isWideLineCase) ? (m_wideLineLineWidth) : 1;
- const tcu::IVec2 lineWidthRange = (multisample)
- ? (tcu::IVec2(lineRenderWidth, lineRenderWidth+1)) // multisampled "smooth" lines may spread to neighboring pixel
- : (tcu::IVec2(lineRenderWidth, lineRenderWidth));
+ const bool multisample = m_context.getRenderTarget().getNumSamples() > 1;
+ const int lineRenderWidth = (m_isWideLineCase) ? (m_wideLineLineWidth) : 1;
+ const tcu::IVec2 lineWidthRange = (multisample)
+ ? (tcu::IVec2(lineRenderWidth, lineRenderWidth+1)) // multisampled "smooth" lines may spread to neighboring pixel
+ : (tcu::IVec2(lineRenderWidth, lineRenderWidth));
+ const tcu::IVec2 relaxedLineWidthRange = (tcu::IVec2(lineRenderWidth-1, lineRenderWidth+1));
- int lineWidth = 0;
- bool bboxLimitedLine = false;
- bool anyError = false;
+ int lineWidth = 0;
+ bool bboxLimitedLine = false;
+ deUint8 errorMask = 0;
- const tcu::IVec2 advance = (begin.x() == end.x()) ? (tcu::IVec2(0, 1)) : (tcu::IVec2(1, 0));
+ const tcu::IVec2 advance = (begin.x() == end.x()) ? (tcu::IVec2(0, 1)) : (tcu::IVec2(1, 0));
// fragments before begin?
if (access.getPixelInt(begin.x(), begin.y())[componentNdx] != 0)
@@ -2099,7 +2133,13 @@
if (incorrectLineWidth)
{
- anyError = true;
+ const bool incorrectRelaxedLineWidth = (lineWidth < relaxedLineWidthRange.x() && !bboxLimitedLine) || (lineWidth > relaxedLineWidthRange.y());
+
+ if (incorrectRelaxedLineWidth)
+ errorMask |= SCANRESULT_LINE_WIDTH_ERR_BIT;
+ else
+ errorMask |= SCANRESULT_LINE_WIDTH_WARN_BIT;
+
printLineWidthError(cursor, lineWidth, lineWidthRange, advance.x() == 0, messageLimitCounter);
}
@@ -2117,7 +2157,11 @@
{
if (lineWidth > lineWidthRange.y())
{
- anyError = true;
+ if (lineWidth > relaxedLineWidthRange.y())
+ errorMask |= SCANRESULT_LINE_WIDTH_ERR_BIT;
+ else
+ errorMask |= SCANRESULT_LINE_WIDTH_WARN_BIT;
+
printLineWidthError(cursor, lineWidth, lineWidthRange, advance.x() == 0, messageLimitCounter);
}
@@ -2135,7 +2179,13 @@
if (incorrectLineWidth)
{
- anyError = true;
+ const bool incorrectRelaxedLineWidth = (lineWidth > relaxedLineWidthRange.y());
+
+ if (incorrectRelaxedLineWidth)
+ errorMask |= SCANRESULT_LINE_WIDTH_ERR_BIT;
+ else
+ errorMask |= SCANRESULT_LINE_WIDTH_WARN_BIT;
+
printLineWidthError(cursor, lineWidth, lineWidthRange, advance.x() == 0, messageLimitCounter);
}
@@ -2144,7 +2194,7 @@
}
}
- return !anyError;
+ return errorMask;
}
void LineRenderCase::printLineWidthError (const tcu::IVec2& pos, int detectedLineWidth, const tcu::IVec2& lineWidthRange, bool isHorizontal, int& messageLimitCounter) const