[Mesa-dev] [PATCH v2 00/12] glsl: Implement varying packing.

Paul Berry stereotype441 at gmail.com
Thu Dec 13 13:58:10 PST 2012

This is v2 of my patch series to implement varying packing.  v1 was
already reviewed by Eric Anholt, so at this point I'm primarily
looking for confirmation that the changes look good.

Other than the changes that Eric recommended, what's new in this
version is:

- I've added a constant ctx->Const.DisableVaryingPacking, which allows
  a driver to opt out of varying packing if the hardware capabilities
  aren't suited to it.  To avoid having to have transform feedback
  code support both packed and unpacked formats, I have an assertion
  to verify that when transform feedback is enabled, packed varyings
  are used.

- I've added code to Gallium that sets
  ctx->Const.DisableVaryingPacking if the hardware supports <= 8
  texture indirections.  In practice I believe this will disable
  varying packing on R300, R400, i915g, and nv30.

See, in particular, patches 09/12 and 10/12.

[PATCH v2 01/12] glsl/lower_clip_distance: Update symbol table.
[PATCH v2 02/12] glsl/linker: Always invalidate shader ins/outs, even in corner cases.
[PATCH v2 03/12] glsl/linker: Make separate ir_variable field to mean "unmatched".
[PATCH v2 04/12] glsl: Create a field to store fractional varying locations.
[PATCH v2 05/12] glsl/linker: Defer recording transform feedback locations.
[PATCH v2 06/12] glsl/linker: Subdivide the first phase of varying assignment.
[PATCH v2 07/12] glsl/linker: Sort varyings by packing class, then vector size.
[PATCH v2 08/12] glsl: Add a lowering pass for packing varyings.
[PATCH v2 09/12] mesa: Add an option so driver can opt out of varying packing.
[PATCH v2 10/12] gallium: Disable varying packing on hardware with <=8 texture indirections.
[PATCH v2 11/12] glsl/linker: Pack within compound varyings.
[PATCH v2 12/12] glsl/linker: Pack between varyings.

More information about the mesa-dev mailing list