José Fonseca
846e38f1c3
llvmpipe: Fix bad SI -> FP conversion into lp_build_log2_approx.
...
It should be a bitcast as the integer value is actually an encoded FP
already.
2009-12-15 13:15:16 +00:00
José Fonseca
e4c5e01c10
llvmpipe: Immediate multiplication.
2009-10-25 11:48:17 +00:00
José Fonseca
f3893ca9c8
llvmpipe: Make lerping work for 8.8 fixed point values.
2009-10-25 09:53:49 +00:00
José Fonseca
01b85e2923
llvmpipe: Use the pack/unpack functions for 8bit unsigned norm multiplication.
2009-10-22 19:12:13 +01:00
José Fonseca
754f48871c
llvmpipe: Runtime cpu checks for lp_build_min_simple too.
2009-09-29 17:28:15 +01:00
José Fonseca
741c40a232
llvmpipe: Implement non SSE4.1 versions of floor and round.
2009-09-29 17:28:15 +01:00
José Fonseca
7cda8ea44c
llvmpipe: Emit SSE intrinsics based on runtime cpu capability check.
...
Note that llvmpipe still doesn't run on any processor yet: if you don't
have a recent processor with SSE4.1 you will still likely end up
hitting a code path for which a generic non-sse4 version is not
implemented yet.
2009-09-29 13:59:16 +01:00
Brian Paul
01249c6d56
llvmpipe: add missing __FUNCTION__ parameter to debug_printf() calls
2009-09-24 16:08:47 -06:00
José Fonseca
b4835ea03d
llvmpipe: Make lp_type a regular union.
...
Union not worth the hassle of violating C99 or adding a name to
the structure.
2009-09-14 11:05:38 +01:00
José Fonseca
00dd0156e0
llvmpipe: Add a few more common arithmetic functions.
...
We are relying on SSE4.1 for round/trunc/ceil/floor. We'll need to
eventually find alternatives for the rest of the world.
2009-09-13 13:50:19 +01:00
José Fonseca
1127201088
llvmpipe: Better abs for floating points.
2009-09-07 15:02:08 +01:00
José Fonseca
fa0f4b35be
llvmpipe: Utility functions for linear and bilinear interpolation.
2009-09-07 15:02:07 +01:00
José Fonseca
4da20234f3
llvmpipe: Correct implementation of floor.
2009-09-07 15:02:07 +01:00
José Fonseca
45fb66ab7b
llvmpipe: In the abcense of a min/max intrinsic, use the comparison intrinsics.
2009-08-31 10:00:38 +01:00
José Fonseca
77b35dc179
llvmpipe: s/uni/scalar/.
...
More obvious name.
2009-08-29 09:21:40 +01:00
Brian Paul
f586d9546b
llvmpipe: basic comments
2009-08-29 09:21:36 +01:00
José Fonseca
4d7a8194c5
llvmpipe: Silence compiler warnings.
2009-08-29 09:21:33 +01:00
José Fonseca
57907e7fd9
llvmpipe: Translate approximate log2/exp2.
2009-08-29 09:21:31 +01:00
José Fonseca
844f802a70
llvmpipe: Efficient implementations of pow/exp/log/exp2/log2
2009-08-29 09:21:31 +01:00
José Fonseca
1709ace359
llvmpipe: Implement more arithmetic functions.
2009-08-29 09:21:30 +01:00
José Fonseca
8422f293ab
llvmpipe: More arithmetic ops.
...
Mostly untested.
2009-08-29 09:21:29 +01:00
José Fonseca
145de19548
llvmpipe: Use full set of sse4 min/max intrinsics.
2009-08-29 09:21:26 +01:00
José Fonseca
627d6a6b04
llvmpipe: Move intrinsic helpers to a separate module.
2009-08-29 09:21:23 +01:00
José Fonseca
64611e086d
llvmpipe: Separate constant building.
2009-08-29 09:21:22 +01:00
José Fonseca
c87fab0008
llvmpipe: Move type support functions into a separate file.
2009-08-29 09:21:22 +01:00
José Fonseca
02eaa32d83
llvmpipe: Optimize away min/max with equal operands.
2009-08-29 09:21:22 +01:00
José Fonseca
ede73258a7
llvmpipe: Get blending of normalized 8bit unsigned integers working.
2009-08-29 09:21:22 +01:00
José Fonseca
a6622e6c54
llvmpipe: Specialize arithmetic operations.
2009-08-29 09:21:22 +01:00
José Fonseca
272dadbe4e
llvmpipe: Introduce a custom typing system.
...
Straightforward representation of floating-point/fixed-point/integer,
normalized/scaled, signed/unsigned SIMD vector types.
2009-08-29 09:21:22 +01:00
José Fonseca
fe90e46dc9
llvmpipe: Factor out intrisic calling code into a reusable function.
2009-08-29 09:21:21 +01:00
José Fonseca
d2cf3e8dfd
llvmpipe: Arithmetic helpers.
2009-08-29 09:21:21 +01:00