[Mesa-dev] [PATCH 0/8] i965: gl_TessLevel rescrambling in NIR

Kenneth Graunke kenneth at whitecape.org
Wed Jan 4 23:55:15 UTC 2017


On Wednesday, January 4, 2017 3:16:41 PM PST Eero Tamminen wrote:
> Hi,
> 
> On 04.01.2017 13:07, Kenneth Graunke wrote:
> > This series reworks i965's handling of gl_TessLevelInner/Outer[] arrays.
> > Instead of using lower_tess_levels to turn them into vec4/vec2s, we pass
> > them through to NIR and make them compact arrays (where array indexing
> > translates to enhanced layouts components).
> >
> > This has some nice benefits.  In the last patch, we're able to drop
> > reswizzling and writemask-munging for load_output and store_output
> > in both the scalar TCS and vec4 TCS backends, as well as code to do
> > the same for TES system values.  That's 5 copies of backend code
> > replaced by a small amount of extra code in remap_patch_urb_offsets.
> >
> > It also means we can drop TES handling entirely - the ordinary input
> > handling code will handle it just fine.
> 
> Have you tried whether this makes any perf difference in GpuTest v0.7 
> TessMark, GfxBench v4 tessellation, or in SynMark2 v7.0 terrain 
> tessellation tests?

It does not (nor did I expect it to given the shader-db results).
I tried on both Skylake GT4 (scalar) and Haswell GT3 (vector).

> > This is the first step toward tessellation support in Vulkan (anv).
> > (lower_tess_levels is written in GLSL IR, so we need a replacement.)
> 
> Are there yet other use-cases for Vulkan tessellation besides Sacha 
> Willems' three tests here:
> 	https://github.com/SaschaWillems/Vulkan
> ?
> 
> 	 - Eero

Does it matter?  It's required for our Vulkan driver to be feature
complete, and someone will likely use it soon if they haven't already.

--Ken
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170104/0668a297/attachment.sig>


More information about the mesa-dev mailing list