José Fonseca [Wed, 19 Aug 2009 08:34:53 +0000 (09:34 +0100)]
llvmpipe: Implement saturation.
José Fonseca [Wed, 19 Aug 2009 08:24:20 +0000 (09:24 +0100)]
llvmpipe: Put color/depth directly into the quad structure.
Brian Paul [Tue, 18 Aug 2009 22:58:12 +0000 (16:58 -0600)]
llvmpipe: re-enable other gallium drivers
No more symbol collisions between drivers, AFAICT.
Brian Paul [Tue, 18 Aug 2009 22:55:24 +0000 (16:55 -0600)]
llvmpipe: prefix point/line/tri_setup() functions with llvmpipe_
Avoid symbol collisions with softpipe.
Brian Paul [Tue, 18 Aug 2009 22:28:23 +0000 (16:28 -0600)]
llvmpipe: repurpose linux-llvm config to build the llvmpipe driver
The gallivm module is no longer built. If/when gallivm is resuscitated we
can revisit this.
Brian Paul [Tue, 18 Aug 2009 21:18:50 +0000 (15:18 -0600)]
llvmpipe: updated Makefile C_SOURCES
Brian Paul [Tue, 18 Aug 2009 21:18:33 +0000 (15:18 -0600)]
llvmpipe: add missing break in xlib _init()
José Fonseca [Tue, 18 Aug 2009 20:08:38 +0000 (21:08 +0100)]
llvmpipe: Allow to build without udis86.
José Fonseca [Tue, 18 Aug 2009 19:58:30 +0000 (20:58 +0100)]
llvmpipe: Drop the FETCH/STORE macros.
José Fonseca [Tue, 18 Aug 2009 19:23:35 +0000 (20:23 +0100)]
llvmpipe: Debug helper function to name llvm intermediate values.
Keith Whitwell [Tue, 18 Aug 2009 19:25:37 +0000 (20:25 +0100)]
llvmpipe: use align_malloc for all structs containing ALIGN16 members
Unless the struct is allocated aligned, aligning the members isn't very
helpful.
José Fonseca [Tue, 18 Aug 2009 18:20:48 +0000 (19:20 +0100)]
llvmpipe: Document that llvm 2.5 is expected.
José Fonseca [Tue, 18 Aug 2009 16:36:13 +0000 (17:36 +0100)]
llvmpipe: Briefly describe current status.
José Fonseca [Tue, 18 Aug 2009 13:18:54 +0000 (14:18 +0100)]
llvmpipe: Blend in place.
José Fonseca [Tue, 18 Aug 2009 12:30:04 +0000 (13:30 +0100)]
llvmpipe: Code generate logic ops.
José Fonseca [Tue, 18 Aug 2009 11:57:16 +0000 (12:57 +0100)]
llvmpipe: Rasterize the quads according to what the blend function expects.
José Fonseca [Tue, 18 Aug 2009 10:41:01 +0000 (11:41 +0100)]
llvmpipe: Tile in SoA format identical to the blender function output.
José Fonseca [Tue, 18 Aug 2009 09:28:37 +0000 (10:28 +0100)]
llvmpipe: Allow to dump the disassembly byte code.
Useful as dis86 doesn't disassemble some SSE4 opcodes yet.
José Fonseca [Mon, 17 Aug 2009 07:10:38 +0000 (08:10 +0100)]
llvmpipe: Implement LIT.
José Fonseca [Mon, 17 Aug 2009 06:57:28 +0000 (07:57 +0100)]
llvmpipe: Move lp_build_select to lp_bld_logic.[ch].
José Fonseca [Mon, 17 Aug 2009 06:51:54 +0000 (07:51 +0100)]
llvmpipe: Implement comparison opcodes.
José Fonseca [Mon, 17 Aug 2009 06:51:16 +0000 (07:51 +0100)]
llvmpipe: Fix translation of KIL with repeated swizzles.
José Fonseca [Mon, 17 Aug 2009 06:50:45 +0000 (07:50 +0100)]
llvmpipe: Handle floating point selection.
José Fonseca [Sun, 16 Aug 2009 20:07:15 +0000 (21:07 +0100)]
llvmpipe: Silence compiler warnings.
José Fonseca [Sun, 16 Aug 2009 20:01:57 +0000 (21:01 +0100)]
llvmpipe: Implement KIL.
José Fonseca [Sun, 16 Aug 2009 20:01:12 +0000 (21:01 +0100)]
llvmpipe: More verbose error message when failed to translate opcodes.
José Fonseca [Sun, 16 Aug 2009 20:00:16 +0000 (21:00 +0100)]
llvmpipe: Detect typos in LLVM intrinsics early.
José Fonseca [Sun, 16 Aug 2009 19:59:38 +0000 (20:59 +0100)]
llvmpipe: Comparisons translation.
José Fonseca [Sun, 16 Aug 2009 10:50:17 +0000 (11:50 +0100)]
llvmpipe: Disassemble generated x86 code.
José Fonseca [Sun, 16 Aug 2009 09:02:17 +0000 (10:02 +0100)]
llvmpipe: Shader function arguments don't alias.
José Fonseca [Fri, 14 Aug 2009 11:02:38 +0000 (12:02 +0100)]
llvmpipe: Test only present functionality to allow regression testing.
José Fonseca [Fri, 14 Aug 2009 11:02:06 +0000 (12:02 +0100)]
llvmpipe: Clamp into range when writing integers.
José Fonseca [Fri, 14 Aug 2009 10:33:26 +0000 (11:33 +0100)]
llvmpipe: Compute interpolation coeffs directly into SoA layout.
José Fonseca [Fri, 14 Aug 2009 09:56:40 +0000 (10:56 +0100)]
llvmpipe: Pass the interpolation factors as scalars.
José Fonseca [Fri, 14 Aug 2009 09:48:06 +0000 (10:48 +0100)]
llvmpipe: Eliminate dependency on tgsi_exec_machine.
José Fonseca [Fri, 14 Aug 2009 09:27:32 +0000 (10:27 +0100)]
llvmpipe: Eliminate non-LLVM fs execution paths.
José Fonseca [Fri, 14 Aug 2009 09:03:46 +0000 (10:03 +0100)]
llvmpipe: Code generate interpolators.
José Fonseca [Fri, 14 Aug 2009 09:03:12 +0000 (10:03 +0100)]
llvmpipe: Factor out lp_build_select from lp_build_select_aos.
José Fonseca [Wed, 12 Aug 2009 11:42:06 +0000 (12:42 +0100)]
llvmpipe: Translate approximate log2/exp2.
José Fonseca [Wed, 12 Aug 2009 09:37:24 +0000 (10:37 +0100)]
llvmpipe: Handle a few more TGSI opcodes.
José Fonseca [Wed, 12 Aug 2009 09:35:50 +0000 (10:35 +0100)]
llvmpipe: Efficient implementations of pow/exp/log/exp2/log2
José Fonseca [Wed, 12 Aug 2009 01:36:35 +0000 (02:36 +0100)]
llvmpipe: Migrate more SSE2 codegen to LLVM IR.
José Fonseca [Wed, 12 Aug 2009 01:35:53 +0000 (02:35 +0100)]
llvmpipe: Don't assume/enforce fs values are in [0,1] range.
José Fonseca [Wed, 12 Aug 2009 01:34:55 +0000 (02:34 +0100)]
llvmpipe: Implement more arithmetic functions.
José Fonseca [Tue, 11 Aug 2009 12:30:23 +0000 (13:30 +0100)]
llvmpipe: Reuse coord/texel store.
José Fonseca [Tue, 11 Aug 2009 12:19:16 +0000 (13:19 +0100)]
llvmpipe: Replace lp_fs_llvm.c.
Based on lp_fs_exec.c/lp_fs_sse.c and tgsi_exec.c.
José Fonseca [Tue, 11 Aug 2009 12:17:24 +0000 (13:17 +0100)]
llvmpipe: TGSI -> LLVM SoA IR converstion.
Based on tgsi_sse2.c.
José Fonseca [Tue, 11 Aug 2009 12:10:15 +0000 (13:10 +0100)]
llvmpipe: Dump only the generated function.
José Fonseca [Tue, 11 Aug 2009 12:09:54 +0000 (13:09 +0100)]
llvmpipe: Scalar -> vector broadcasting.
José Fonseca [Tue, 11 Aug 2009 12:09:35 +0000 (13:09 +0100)]
llvmpipe: More arithmetic ops.
Mostly untested.
José Fonseca [Mon, 10 Aug 2009 22:22:40 +0000 (23:22 +0100)]
llvmpipe: More intrinsic helpers.
José Fonseca [Mon, 10 Aug 2009 15:12:51 +0000 (16:12 +0100)]
llvmpipe: Fix typo.
José Fonseca [Mon, 10 Aug 2009 15:12:41 +0000 (16:12 +0100)]
util: Fix SCons build.
José Fonseca [Mon, 10 Aug 2009 14:43:04 +0000 (15:43 +0100)]
llvmpipe: Document the typo in llvm-c/Core.h.
José Fonseca [Mon, 10 Aug 2009 14:23:35 +0000 (15:23 +0100)]
util: Auto-generate u_format_table.c from SConscript.
José Fonseca [Mon, 10 Aug 2009 11:35:16 +0000 (12:35 +0100)]
llvmpipe: Simple description/instructions.
José Fonseca [Mon, 10 Aug 2009 10:37:55 +0000 (11:37 +0100)]
llvmpipe: Add missing include.
José Fonseca [Mon, 10 Aug 2009 07:16:31 +0000 (08:16 +0100)]
llvmpipe: Tiles in rgba8 format.
José Fonseca [Sun, 9 Aug 2009 22:58:06 +0000 (23:58 +0100)]
llvmpipe: Store tile color in SoA.
José Fonseca [Sun, 9 Aug 2009 22:34:01 +0000 (23:34 +0100)]
llvmpipe: Code generate color masking.
José Fonseca [Sun, 9 Aug 2009 22:10:19 +0000 (23:10 +0100)]
llvmpipe: Use the generated SoA blending code.
José Fonseca [Sun, 9 Aug 2009 21:59:52 +0000 (22:59 +0100)]
llvmpipe: Handle disabled blending too.
José Fonseca [Sun, 9 Aug 2009 21:59:12 +0000 (22:59 +0100)]
xlib: Ensure one screen instance.
José Fonseca [Sun, 9 Aug 2009 16:22:01 +0000 (17:22 +0100)]
llvmpipe: Split the texture cache from the color/depth/stencil cache.
José Fonseca [Sun, 9 Aug 2009 16:15:17 +0000 (17:15 +0100)]
xlib: Complete llvmpipe integration.
José Fonseca [Sun, 9 Aug 2009 11:39:38 +0000 (12:39 +0100)]
llvmpipe: SoA blending.
Throughput seems to be 4x higher.
José Fonseca [Sun, 9 Aug 2009 11:32:37 +0000 (12:32 +0100)]
util: Fix blend factor dumping.
José Fonseca [Sat, 8 Aug 2009 22:15:05 +0000 (23:15 +0100)]
llvmpipe: Update blending test.
José Fonseca [Sat, 8 Aug 2009 22:10:59 +0000 (23:10 +0100)]
llvmpipe: Handle more conversions.
Not all successfully yet though..
José Fonseca [Sat, 8 Aug 2009 21:57:03 +0000 (22:57 +0100)]
llvmpipe: Use full set of sse4 min/max intrinsics.
José Fonseca [Sat, 8 Aug 2009 21:56:22 +0000 (22:56 +0100)]
llvmpipe: Fix one const generation for some signed integers.
José Fonseca [Sat, 8 Aug 2009 21:51:11 +0000 (22:51 +0100)]
llvmpipe: Allow floating types without sign.
With the meaning that all values are assumed to be positive.
José Fonseca [Sat, 8 Aug 2009 21:49:23 +0000 (22:49 +0100)]
llvmpipe: Centralize lp_build_context initialization.
José Fonseca [Sat, 8 Aug 2009 19:38:01 +0000 (20:38 +0100)]
llvmpipe: Normalize the cycles with the number of channel.
So that we have a comparable number for different formats.
José Fonseca [Fri, 7 Aug 2009 13:34:13 +0000 (14:34 +0100)]
llvmpipe: Handle ubyte -> float conversion too.
José Fonseca [Fri, 7 Aug 2009 13:33:07 +0000 (14:33 +0100)]
llvmpipe: Make lp_const_offset visible.
José Fonseca [Fri, 7 Aug 2009 13:20:57 +0000 (14:20 +0100)]
llvmpipe: Only get the preprocessor flags from llvm-config.
Otherwise we get -O2 optimization flag, preventing proper debugging.
José Fonseca [Fri, 7 Aug 2009 08:51:48 +0000 (09:51 +0100)]
llvmpipe: Bootstrap type conversions.
José Fonseca [Fri, 7 Aug 2009 08:51:04 +0000 (09:51 +0100)]
llvmpipe: Use same type for reference vectors.
José Fonseca [Fri, 7 Aug 2009 08:28:58 +0000 (09:28 +0100)]
llvmpipe: Fix floating point const scale factor.
José Fonseca [Fri, 7 Aug 2009 00:20:01 +0000 (01:20 +0100)]
llvmpipe: Factor out shared test code into a separate module.
José Fonseca [Fri, 7 Aug 2009 00:18:49 +0000 (01:18 +0100)]
llvmpipe: Cleanup constant helpers.
José Fonseca [Fri, 7 Aug 2009 00:16:59 +0000 (01:16 +0100)]
llvmpipe: Move intrinsic helpers to a separate module.
José Fonseca [Tue, 4 Aug 2009 12:39:28 +0000 (13:39 +0100)]
llvmpipe: Collect richer blend data.
José Fonseca [Tue, 4 Aug 2009 11:32:24 +0000 (12:32 +0100)]
llvmpipe: Some notes about PSHUF.
José Fonseca [Tue, 4 Aug 2009 11:09:52 +0000 (12:09 +0100)]
llvmpipe: Optimize blend swizzles by using bitmasks instead of shuffles for ubytes.
José Fonseca [Tue, 4 Aug 2009 10:52:54 +0000 (11:52 +0100)]
llvmpipe: Write data to a tsv file for posterior analysis.
José Fonseca [Tue, 4 Aug 2009 10:51:13 +0000 (11:51 +0100)]
llvmpipe: Move p_build_context to lp_bld_type.h
As it will be shared with more modules.
José Fonseca [Tue, 4 Aug 2009 10:50:13 +0000 (11:50 +0100)]
util: New file dedicated to dump state in human/machine readable format.
José Fonseca [Tue, 4 Aug 2009 01:10:35 +0000 (02:10 +0100)]
llvmpipe: Don't use llvm.readcyclecounter.
LLVM during optimization reorders the rdtsc instructions next to each
other, which makes it pretty useless.
José Fonseca [Mon, 3 Aug 2009 21:31:08 +0000 (22:31 +0100)]
llvmpipe: Separate constant building.
José Fonseca [Mon, 3 Aug 2009 21:24:01 +0000 (22:24 +0100)]
llvmpipe: Move type support functions into a separate file.
José Fonseca [Mon, 3 Aug 2009 18:35:28 +0000 (19:35 +0100)]
llvmpipe: Measure the number of cycles taken for blending.
José Fonseca [Mon, 3 Aug 2009 18:32:57 +0000 (19:32 +0100)]
llvmpipe: Minor comments / debug mnemonics.
José Fonseca [Mon, 3 Aug 2009 18:31:56 +0000 (19:31 +0100)]
llvmpipe: Optimize away min/max with equal operands.
José Fonseca [Mon, 3 Aug 2009 01:06:42 +0000 (02:06 +0100)]
llvmpipe: Improve generated 8bit blending code.
José Fonseca [Sun, 2 Aug 2009 23:01:27 +0000 (00:01 +0100)]
llvmpipe: Get blending of normalized 8bit unsigned integers working.
José Fonseca [Sun, 2 Aug 2009 16:54:53 +0000 (17:54 +0100)]
llvmpipe: Specialize arithmetic operations.
José Fonseca [Sun, 2 Aug 2009 12:52:40 +0000 (13:52 +0100)]
llvmpipe: Introduce a custom typing system.
Straightforward representation of floating-point/fixed-point/integer,
normalized/scaled, signed/unsigned SIMD vector types.
José Fonseca [Sun, 2 Aug 2009 12:48:16 +0000 (13:48 +0100)]
llvmpipe: Avoid C99-isms.