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