Bug 108868 - [BYT IVB] Tesselation test regressions
Summary: [BYT IVB] Tesselation test regressions
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Erik Faye-Lund
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords: bisected, regression
Depends on:
Blocks:
 
Reported: 2018-11-26 18:39 UTC by Mark Janes
Modified: 2018-11-26 22:24 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Mark Janes 2018-11-26 18:39:25 UTC
The following tests regressed:
KHR-GLES31.core.tessellation_shader.single.isolines_tessellation
KHR-GLES31.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.data_pass_through
KHR-GLES31.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize
KHR-GLES31.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_tessLevel
KHR-GLES31.core.tessellation_shader.tessellation_invariance.invariance_rule1
KHR-GLES31.core.tessellation_shader.tessellation_invariance.invariance_rule2
KHR-GLES31.core.tessellation_shader.tessellation_invariance.invariance_rule3
KHR-GLES31.core.tessellation_shader.tessellation_invariance.invariance_rule4
KHR-GLES31.core.tessellation_shader.tessellation_invariance.invariance_rule5
KHR-GLES31.core.tessellation_shader.tessellation_invariance.invariance_rule6
KHR-GLES31.core.tessellation_shader.tessellation_invariance.invariance_rule7
KHR-GLES31.core.tessellation_shader.tessellation_shader_point_mode.points_verification
KHR-GLES31.core.tessellation_shader.tessellation_shader_quads_tessellation.degenerate_case
KHR-GLES31.core.tessellation_shader.tessellation_shader_quads_tessellation.inner_tessellation_level_rounding
KHR-GLES31.core.tessellation_shader.tessellation_shader_triangles_tessellation.identical_triangles
KHR-GLES31.core.tessellation_shader.tessellation_shader_triangles_tessellation.inner_tessellation_level_rounding
KHR-GLES31.core.tessellation_shader.vertex.vertex_ordering
KHR-GLES31.core.tessellation_shader.vertex.vertex_spacing


Sample output:

glBeginQuery() called for target GL_PRIMITIVES_GENERATED_EXT failed: glGetError() returned GL_INVALID_ENUM at esextcTessellationShaderUtils.cpp:75


Bisected to:
f09d94fbd113f6fd0e9583b6c21826281c39ea97
Author:     Erik Faye-Lund <erik.faye-lund@collabora.com>
mesa/main: fix validation of transform-feedback queries

ctx->Extensions.EXT_transform_feedback is set based on the driver-
capabilities, not based on the context type. We need to check against
_mesa_has_EXT_transform_feedback(ctx) instead to figure out if the
extension is really supported. We also need to check for
OES_geometry_shader.

This turns usage of GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN into an
error on ES 2, as well as usage of GL_PRIMITIVES_GENERATED on ES 3, both
as required by the spec.
Comment 1 Erik Faye-Lund 2018-11-26 18:54:01 UTC
Yikes. Sorry about this. It looks like I missed a condition for allowing this enum:

---8<---
diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c
index af558f0e227..67d1f76a21a 100644
--- a/src/mesa/main/queryobj.c
+++ b/src/mesa/main/queryobj.c
@@ -190,6 +190,7 @@ get_query_binding_point(struct gl_context *ctx, GLenum target, GLuint index)
          return NULL;
    case GL_PRIMITIVES_GENERATED:
       if (_mesa_has_EXT_transform_feedback(ctx) ||
+          _mesa_has_EXT_tessellation_shader(ctx) ||
           _mesa_has_OES_geometry_shader(ctx))
          return &ctx->Query.PrimitivesGenerated[index];
       else
---8<---

I can't test this myself, because I only have a Gen8 GPU. But since OES_geometry_shader isn't enabled on older intel generations, this would explain the problem. Would it be possible for someone at Intel to test my patch?
Comment 2 Tapani Pälli 2018-11-26 19:10:52 UTC
I can test tomorrow. Weird to see regression now though, CI was happy with the patches before (!)
Comment 3 Erik Faye-Lund 2018-11-26 19:46:24 UTC
(In reply to Tapani Pälli from comment #2)
> I can test tomorrow. Weird to see regression now though, CI was happy with
> the patches before (!)

Hmm, strange indeed. It's HW-gen dependent, perhaps that matters?
Comment 4 Erik Faye-Lund 2018-11-26 19:54:08 UTC
For simplicity, I sent the patch to the mailing list. I believe it should fix the problem.

https://patchwork.freedesktop.org/series/53026/
Comment 5 Mark Janes 2018-11-26 19:57:50 UTC
gen7 is not covered by the glescts suite for developer builds.  We were short on systems, but recently acquired more of them.  CI was not configured to catch this pre-merge.
Comment 6 Mark Janes 2018-11-26 20:59:24 UTC
(In reply to Erik Faye-Lund from comment #4)
> https://patchwork.freedesktop.org/series/53026/

This patch fixes the regressions in i965 CI.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.