Commit graph

25520 commits

Author SHA1 Message Date
José Fonseca
9285f159e0 llvmpipe: Simple description/instructions. 2009-08-29 09:21:28 +01:00
José Fonseca
8edcc8abe3 llvmpipe: Add missing include. 2009-08-29 09:21:27 +01:00
José Fonseca
2101c2941c llvmpipe: Tiles in rgba8 format. 2009-08-29 09:21:27 +01:00
José Fonseca
3ce1abf950 llvmpipe: Store tile color in SoA. 2009-08-29 09:21:27 +01:00
José Fonseca
29d94a9cbb llvmpipe: Code generate color masking. 2009-08-29 09:21:27 +01:00
José Fonseca
2d6b39f05e llvmpipe: Use the generated SoA blending code. 2009-08-29 09:21:27 +01:00
José Fonseca
e7fc21434d llvmpipe: Handle disabled blending too. 2009-08-29 09:21:27 +01:00
José Fonseca
62c91998ef xlib: Ensure one screen instance. 2009-08-29 09:21:27 +01:00
José Fonseca
0318f3e53e llvmpipe: Split the texture cache from the color/depth/stencil cache. 2009-08-29 09:21:27 +01:00
José Fonseca
b836b2593c xlib: Complete llvmpipe integration. 2009-08-29 09:21:27 +01:00
José Fonseca
2529ed5616 llvmpipe: SoA blending.
Throughput seems to be 4x higher.
2009-08-29 09:21:27 +01:00
José Fonseca
20f50b845b util: Fix blend factor dumping. 2009-08-29 09:21:26 +01:00
José Fonseca
3130b9921c llvmpipe: Update blending test. 2009-08-29 09:21:26 +01:00
José Fonseca
60584affcf llvmpipe: Handle more conversions.
Not all successfully yet though..
2009-08-29 09:21:26 +01:00
José Fonseca
145de19548 llvmpipe: Use full set of sse4 min/max intrinsics. 2009-08-29 09:21:26 +01:00
José Fonseca
a9771d2b75 llvmpipe: Fix one const generation for some signed integers. 2009-08-29 09:21:26 +01:00
José Fonseca
8244d6e5ad llvmpipe: Allow floating types without sign.
With the meaning that all values are assumed to be positive.
2009-08-29 09:21:26 +01:00
José Fonseca
9493260fdc llvmpipe: Centralize lp_build_context initialization. 2009-08-29 09:21:25 +01:00
José Fonseca
b07d19a885 llvmpipe: Normalize the cycles with the number of channel.
So that we have a comparable number for different formats.
2009-08-29 09:21:25 +01:00
José Fonseca
b874a7b807 llvmpipe: Handle ubyte -> float conversion too. 2009-08-29 09:21:25 +01:00
José Fonseca
b441a0b658 llvmpipe: Make lp_const_offset visible. 2009-08-29 09:21:24 +01:00
José Fonseca
684a47f0f6 llvmpipe: Only get the preprocessor flags from llvm-config.
Otherwise we get -O2 optimization flag, preventing proper debugging.
2009-08-29 09:21:24 +01:00
José Fonseca
8988424ee8 llvmpipe: Bootstrap type conversions. 2009-08-29 09:21:24 +01:00
José Fonseca
b19cb0080c llvmpipe: Use same type for reference vectors. 2009-08-29 09:21:24 +01:00
José Fonseca
d52dce0ffb llvmpipe: Fix floating point const scale factor. 2009-08-29 09:21:24 +01:00
José Fonseca
e6ebebc485 llvmpipe: Factor out shared test code into a separate module. 2009-08-29 09:21:24 +01:00
José Fonseca
138428bade llvmpipe: Cleanup constant helpers. 2009-08-29 09:21:23 +01:00
José Fonseca
627d6a6b04 llvmpipe: Move intrinsic helpers to a separate module. 2009-08-29 09:21:23 +01:00
José Fonseca
1165c30dc2 llvmpipe: Collect richer blend data. 2009-08-29 09:21:23 +01:00
José Fonseca
28e46458bc llvmpipe: Some notes about PSHUF. 2009-08-29 09:21:23 +01:00
José Fonseca
1dd7bb17c7 llvmpipe: Optimize blend swizzles by using bitmasks instead of shuffles for ubytes. 2009-08-29 09:21:23 +01:00
José Fonseca
a77084ea4b llvmpipe: Write data to a tsv file for posterior analysis. 2009-08-29 09:21:23 +01:00
José Fonseca
f081bacc25 llvmpipe: Move p_build_context to lp_bld_type.h
As it will be shared with more modules.
2009-08-29 09:21:23 +01:00
José Fonseca
696f7f2be5 util: New file dedicated to dump state in human/machine readable format. 2009-08-29 09:21:23 +01:00
José Fonseca
5940ba26f7 llvmpipe: Don't use llvm.readcyclecounter.
LLVM during optimization reorders the rdtsc instructions next to each
other, which makes it pretty useless.
2009-08-29 09:21:22 +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
b94e22e4be llvmpipe: Measure the number of cycles taken for blending. 2009-08-29 09:21:22 +01:00
José Fonseca
5778970f15 llvmpipe: Minor comments / debug mnemonics. 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
9e92244440 llvmpipe: Improve generated 8bit blending code. 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
f478b6fe76 llvmpipe: Avoid C99-isms. 2009-08-29 09:21:21 +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
7ace0b1f4a llvmpipe: Cleanup test programs. 2009-08-29 09:21:21 +01:00
José Fonseca
7d043162c5 llvmpipe: Blending.
The code
2009-08-29 09:21:21 +01:00
José Fonseca
d2cf3e8dfd llvmpipe: Arithmetic helpers. 2009-08-29 09:21:21 +01:00
Keith Whitwell
fa3514a57e llvmpipe: fastpath for interpolated z16 less depthtesting
Because this is interpolated (ie. early) depth, we can build in an
assumption about the quads emitted by triangle setup, ie that they
are actually linear spans.  Interpolate z over those spans in z16
format to save on math & conversion.
2009-08-29 09:21:21 +01:00