Commit Graph

13 Commits

Author SHA1 Message Date
José Fonseca 3fde8167a5 gallivm: Help for combined extraction and broadcasting.
Doesn't change generated code quality, but saves some typing.
2010-10-08 19:48:16 +01:00
Brian Paul 7640151c3d gallivm: move i32_vec_type inside the #ifdef 2010-09-16 09:00:54 -06:00
Brian Paul 3c9f4c7b75 gallivm: fix incorrect vector shuffle datatype
The permutation vector must always be a vector of int32 values.
2010-09-16 08:56:34 -06:00
José Fonseca 34ea50f672 gallivm: s/lp_build_broadcast_aos/lp_build_swizzle_scalar_aos/
More accurate description of this function purpose.
2010-09-11 13:01:31 +01:00
José Fonseca 6ed726b8fc gallivm: Pass condition masks as an unsigned bitmask.
Much more convenient than boolean arrays.
2010-09-05 10:17:51 +01:00
José Fonseca a70ec096aa gallivm: Support extended swizzles in lp_build_swizzle1_aos().
And rename to lp_build_swizzle_aos().
2010-07-01 15:02:12 +01:00
José Fonseca 83ced5a918 llvmpipe: Remove lp_build_swizzle2_aos().
Unnecessary special case.
2010-07-01 15:02:04 +01:00
José Fonseca c5c0e0172f Conditionally revert "gallivm: Use a more compact approach for lp_build_broadcast_scalar()."
This reverts commit a09e46c724.
2010-05-13 21:14:39 +01:00
José Fonseca a09e46c724 gallivm: Use a more compact approach for lp_build_broadcast_scalar().
It produces exactly the same machine code, but it cuts 5% of the
number of instructions generated for a typical shader.

Also, preserve the scalar when length is 1.
2010-05-12 20:40:31 +01:00
José Fonseca ff7542ab90 gallivm: Actually do floor/ceil/trunc for scalars.
Also start axing the code duplication for scalar case. The olution is to
treat the scalar case specially in a few innermost functions, and leave
outer functions untouched.
2010-05-08 23:29:05 +01:00
José Fonseca 2c2debaea7 gallivm: Centralize SoA swizzling into a single place. 2010-05-08 12:52:50 +01:00
Brian Paul 185be3a87a gallivm/llvmpipe: rename some constant building functions 2010-03-15 18:16:56 -06:00
Zack Rusin c61bf36393 llvmpipe: export the tgsi translation code to a common layer
the llvmpipe tgsi translation is a lot more complete than what was in
gallivm so replacing the latter with the former. this is needed since
the draw llvm paths will use the same code. effectively the proven
llvmpipe code becomes gallivm.
2010-02-08 18:22:11 -05:00
Renamed from src/gallium/drivers/llvmpipe/lp_bld_swizzle.c (Browse further)