[Mesa-dev] [PATCH 00/23] i965 SIMD8 GS and NIR input refactors

Kenneth Graunke kenneth at whitecape.org
Wed Sep 30 00:58:04 PDT 2015


Hello,

Here's a respin of my SIMD8 VS input refactors, new GS input refactors,
and finally the long-awaited SIMD8 GS support.

Patches 1-10 are input refactoring.  Patches 11-23 are SIMD8 GS support.

To try out SIMD8 GS, set the INTEL_SCALAR_GS=1 environment variable.
Note that the feature requires Gen8+, and I've only tested Broadwell.
Piglit passes with no regressions; I haven't had a chance to try dEQP
yet.  Synmark works.  However, Orbital Explorer causes the GPU to hang.
I'm not sure why yet; the shader is huge.  I'll have to look into it.

Future work:
- vec4 VS input refactors (I have a patch, but there are a few bugs left)
- vec4 GS input refactors (I think we can simplify more, I just did the
  bare minimum to keep it working across the nir_lower_io rework, and
  proved that it worked the way I wanted in my new backend...)
- SIMD8 GS optimizations?  Orbital Explorer is hurt badly - it goes from
  2977 -> 7304 instructions, with 380 spills/1473 fills.
- Tune the push/pull split point (I arbitrarily chose 32 registers).

--Ken



More information about the mesa-dev mailing list