gallivm: support indirect registers on both dimensions
authorZack Rusin <zackr@vmware.com>
Tue, 3 Sep 2013 17:41:30 +0000 (13:41 -0400)
committerZack Rusin <zackr@vmware.com>
Fri, 6 Sep 2013 19:05:27 +0000 (15:05 -0400)
commite9f1f6ab42a7c466b3b6cb5460fcf875822c1dbd
tree2e6e5fce32b9d53d2d1125fdc56ec47d8528a22f
parentf9b37f7183ca2df228f2b7382ac9e2d0f74cb904
gallivm: support indirect registers on both dimensions

We support indirect addressing only on the vertex index, but some
shaders also use indirect addressing on attributes. This patch
adds support for indirect addressing on both dimensions inside
gs arrays.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
src/gallium/auxiliary/draw/draw_llvm.c
src/gallium/auxiliary/gallivm/lp_bld_tgsi.h
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c