GfxBench 4 has a tessellation shader demo. It misrenders on both i965 and nve0, but works with the nvidia blob.
Some comments from Eero:
"On quick look at the apitrace output for GfxBench 4.0 tessellation test, basically it has a single shader source which has few defines that determine whether geometry shader or tessellation is used, and for which shader stage the pre-processor extracts the appropriate code. On each frame it uses two variants of these tessellation shader pipelines, one with and other without geometry shader.
That's also how this test differs from tessellation pipelines in Unigine Heaven, SynMark terrain and GpuTest tessellation tests, those don't use geometry shader with tessellation shaders. I would guess that Steam games didn't use geometry shader with tessellation shaders either..."
It's a bug in the GLSL linker. There are two outputs - one is a struct of four mat4s, the other a float. The linker thinks the structure takes no space, so it assigns both the same location.
Well, I fixed that (commit 7cdc2b9ca0ab6 - glsl: Fix varying struct locations when varying packing is disabled.) That almost fixed it on Nouveau - it just needed one more tiny fix (commit 65d3f85eb3ef - nvc0: Set winding order regardless of domain.) Since it works on a Mesa-based driver, I think core Mesa is probably OK.
Probably an i965 bug at this point. I'll look at it again soon.
Oh, another thing: the very first image drawn is broken, and the GS is disabled for that. So, I think it's purely a tessellation problem, and not GS related after all.
Triangles for the cars in the GfxBench "gl_4" test are also clearly wrong. That could also be due to the same bug.
That test can be run with:
(Without CS extension it would segfault.)
Patch on the list:
(In reply to Kenneth Graunke from comment #6)
> Patch on the list:
That patch fixes also vertexes in the GfxBench v4 "gl_4" (Car Chase) test.
(Shapes in the test look all now OK, but some other issues remain in that GL 4.3 test.)
Fix is upstream:
Author: Kenneth Graunke <firstname.lastname@example.org>
Date: Mon Jan 11 12:25:12 2016 -0800
i965: Mark TCS URB writes as having side effects.
on Mar 30, 2017 at 08:52:57.
(provided by the Example extension).