i965/vec4: Add the ability for attributes to be interleaved.
authorPaul Berry <stereotype441@gmail.com>
Wed, 16 Oct 2013 18:40:41 +0000 (11:40 -0700)
committerPaul Berry <stereotype441@gmail.com>
Fri, 25 Oct 2013 05:00:37 +0000 (22:00 -0700)
commit8bb15813e3047820a95724e4257aa2c862eeb31a
tree80551ba7c4ba4581f03c5fbdec3e1e1947d9ce7a
parent3da2c5123d043a670ebad7d01c6cba37c915b4c9
i965/vec4: Add the ability for attributes to be interleaved.

When geometry shaders are operated in "single" or "dual instanced"
mode, a single set of geometry shader inputs is interleaved into the
thread payload (with each payload register containing a pair of
inputs) in order to save register space.

This patch modifies vec4_visitor::lower_attributes_to_hw_regs so that
it can handle the interleaved format.

Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i965/brw_vec4.cpp
src/mesa/drivers/dri/i965/brw_vec4.h
src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp