gallivm: more integer texture format fetch fixes
authorRoland Scheidegger <sroland@vmware.com>
Thu, 10 Jan 2013 19:16:40 +0000 (11:16 -0800)
committerRoland Scheidegger <sroland@vmware.com>
Fri, 11 Jan 2013 02:02:01 +0000 (18:02 -0800)
commit31884946b5d00ba7e2678ed6641a4ba0d48e3951
tree543500b47b65daba8999d5e94a083f9fdab4c8bf
parent5eeedb852b8a422f31d4d4f018187020c713fffa
gallivm: more integer texture format fetch fixes

Change the texel type to int/uint instead of float throughout the sampling
code which makes it easier to catch errors (as llvm will complain about wrong
types if we mistakenly treat these values as real floats somewhere).
This should also get things like e.g. sampler swizzles (for unused channels)
right.
This fixes piglit texture_integer_glsl130 test.
Border color not working (crashing) yet.
(These formats are not exposed yet in llvmpipe.)

v2: couple cleanups according to José's comments

Reviewed-by: José Fonseca <jfonseca@vmware.com>
src/gallium/auxiliary/gallivm/lp_bld_format.h
src/gallium/auxiliary/gallivm/lp_bld_format_aos.c
src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c
src/gallium/auxiliary/gallivm/lp_bld_format_soa.c
src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c
src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c