Bug 94524 - Wrong gl_TessLevelOuter interpretation for isolines
Summary: Wrong gl_TessLevelOuter interpretation for isolines
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Kenneth Graunke
QA Contact: Intel 3D Bugs Mailing List
Depends on:
Reported: 2016-03-13 18:03 UTC by James Legg
Modified: 2016-06-17 23:57 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

Piglit patch to add failing test (1.98 KB, text/plain)
2016-03-13 18:03 UTC, James Legg

Note You need to log in before you can comment on or make changes to this bug.
Description James Legg 2016-03-13 18:03:03 UTC
Created attachment 122269 [details]
Piglit patch to add failing test

On Intel Haswell (at least: I don't have other hardware to test), on Mesa git aa3b85f, when using the isolines tessellation primitive mode, the outer tessellation levels are interpreted the wrong way around.

The GL_ARB_tessellation_shader specification says, under the header "Isoline Tessellation":
    The number of isolines generated is derived from the first outer
    tessellation level; the number of segments in each isoline is derived from
    the second outer tessellation level.

However, the number of isolines is currently taken from gl_TessLevelOuter[1], and the number of segments in each from gl_TessLevelOuter[0].

I've attached a Piglit patch that adds a test for this.
Comment 1 Kenneth Graunke 2016-03-14 22:04:27 UTC
Thanks a ton for tracking this down and writing a test!

This patch should fix the problem:
Comment 2 Kenneth Graunke 2016-06-17 21:23:17 UTC
Oh, this landed a while ago, along with some other fixes:

commit 5b2d8c2273c6f48e764a1386240ec674cb4aa4ad
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Mon Mar 14 14:22:39 2016 -0700

    i965: Fix gl_TessLevelOuter[] for isolines.

commit a3dc99f3d48df3da1e997d95961747daed0ba6b9
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Thu May 26 00:29:56 2016 -0700

    i965: Fix the passthrough TCS for isolines.

commit 25e1b8d366a6131bc9d46fe27f6bc476f05a7a58
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Tue May 31 21:00:43 2016 -0700

    i965: Fix isoline reads in scalar TES.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct.