OSDN Git Service

gallivm/gs: fix indirect addressing in geometry shaders
authorZack Rusin <zackr@vmware.com>
Wed, 17 Apr 2013 19:15:12 +0000 (12:15 -0700)
committerZack Rusin <zackr@vmware.com>
Wed, 17 Apr 2013 22:28:54 +0000 (15:28 -0700)
commitcb58c79efb1402cd89504856033b6322d0096233
treed78c1e274341b5f3a7ca23d3cc6d3f78c11950a7
parent02039066a8bd4e9cdce7f7d4c90606b54018d74e
gallivm/gs: fix indirect addressing in geometry shaders

We were always treating the vertex index as a scalar but when the
shader is using indirect addressing it will be a vector of indices
for each channel. This was causing some nasty crashes insides
LLVM.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@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