From ba45591407d0207e8ba0634ea5636fd721ed781f Mon Sep 17 00:00:00 2001 From: Pyry Haulos Date: Tue, 15 Nov 2016 10:28:48 -0800 Subject: [PATCH] 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 --- .../cts/master/com.drawelements.deqp.gles31.xml | 310 +++++++++++++++++++++ android/cts/master/gles31-master.txt | 42 +++ android/cts/master/gles31-multisample.txt | 36 +++ android/cts/master/gles31-rotate-landscape.txt | 36 +++ android/cts/master/gles31-rotate-portrait.txt | 36 +++ .../cts/master/gles31-rotate-reverse-landscape.txt | 36 +++ .../cts/master/gles31-rotate-reverse-portrait.txt | 36 +++ android/cts/master/src/gles31-hw-issues.txt | 9 - .../functional/es31fPrimitiveBoundingBoxTests.cpp | 132 ++++++--- 9 files changed, 623 insertions(+), 50 deletions(-) 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -73666,6 +73690,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -73677,6 +73760,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -73690,6 +73797,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -73701,6 +73832,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -73968,6 +74123,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -73979,6 +74158,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -73990,6 +74228,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -74003,6 +74265,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -74014,6 +74300,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + 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_pri 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_primit 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_dra 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.v 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_dra 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.v 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_dra 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.v 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_dra 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.v 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_dra 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.v 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.sin.mediump_* 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 @@ private: { 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 @@ private: 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::renderTestPattern (const IterationConfig& config) 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())); - - tcu::Surface viewportSurface (config.viewportSize.x(), config.viewportSize.y()); - bool anyError = false; - bool msaaRelaxationRequired = false; - int messageLimitCounter = 8; + 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; + bool hwIssueRelaxationRequired = false; + int messageLimitCounter = 8; if (!m_calcPerPrimitiveBBox) m_testCtx.getLog() @@ -1853,6 +1856,11 @@ void LineRenderCase::verifyRenderResult (const IterationConfig& config) // 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 @@ void LineRenderCase::verifyRenderResult (const IterationConfig& config) // 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 @@ void LineRenderCase::verifyRenderResult (const IterationConfig& config) 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 @@ tcu::IVec2 LineRenderCase::getNumberOfLinesRange (int queryAreaBegin, int queryA 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; + + if (numLinesOk) + result |= (deUint8)SCANRESULT_NUM_LINES_OK_BIT; - return (deUint8)((numLinesOk ? (deUint8)SCANRESULT_NUM_LINES_OK_BIT : 0u) | - (lineWidthOk ? (deUint8)SCANRESULT_LINE_WIDTH_OK_BIT : 0u)); + 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; + + if (numLinesOk) + result |= (deUint8)SCANRESULT_NUM_LINES_OK_BIT; - return (deUint8)((numLinesOk ? (deUint8)SCANRESULT_NUM_LINES_OK_BIT : 0u) | - (lineWidthOk ? (deUint8)SCANRESULT_LINE_WIDTH_OK_BIT : 0u)); + 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 @@ tcu::IVec2 LineRenderCase::getNumMinimaMaxima (const tcu::ConstPixelBufferAccess 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 @@ bool LineRenderCase::checkLineWidths (const tcu::ConstPixelBufferAccess& access, 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 @@ bool LineRenderCase::checkLineWidths (const tcu::ConstPixelBufferAccess& access, { 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 @@ bool LineRenderCase::checkLineWidths (const tcu::ConstPixelBufferAccess& access, 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 @@ bool LineRenderCase::checkLineWidths (const tcu::ConstPixelBufferAccess& access, } } - return !anyError; + return errorMask; } void LineRenderCase::printLineWidthError (const tcu::IVec2& pos, int detectedLineWidth, const tcu::IVec2& lineWidthRange, bool isHorizontal, int& messageLimitCounter) const -- 2.7.4