summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/llvmpipe
Commit message (Collapse)AuthorAgeFilesLines
* llvmpipe: Make lp_type a regular union.José Fonseca2009-09-1436-272/+270
| | | | | Union not worth the hassle of violating C99 or adding a name to the structure.
* llvmpipe: Compute derivatives.José Fonseca2009-09-131-4/+87
|
* llvmpipe: Remove dead references to pipe_winsys.José Fonseca2009-09-131-4/+1
|
* llvmpipe: Use const keyword for input array arguments.José Fonseca2009-09-134-11/+12
|
* llvmpipe: Delay storing into the dst register to prevent clobbering the src ↵José Fonseca2009-09-131-134/+103
| | | | | | | registers. How I'm thankful for regular expressions -- just a couple of them were all that was needed to do this otherwise tiresome and bug prone change.
* llvmpipe: Translate more TGSI opcodes.José Fonseca2009-09-131-23/+116
| | | | | Basically cover all low hanging fruit, and mark the still missing opcodes as "fixme" or deprecated.
* llvmpipe: Add a few more common arithmetic functions.José Fonseca2009-09-132-0/+111
| | | | | We are relying on SSE4.1 for round/trunc/ceil/floor. We'll need to eventually find alternatives for the rest of the world.
* llvmpipe: Rename function to free up lp_build_trunc to the usual arithmetic ↵José Fonseca2009-09-131-7/+7
| | | | meaning.
* llvmpipe: set dirty_render_cache in llvmpipe_clear()José Fonseca2009-09-111-0/+1
| | | | | | Based on Brian's softpipe change on commit 988db641195819c948249a1bb2d59f13577a482f. We don't use the tile cache for zsbuf though, only for color buffers.
* llvmpipe: Update status in README and TODO/FIXME comments throughout the code.José Fonseca2009-09-119-36/+36
|
* llvmpipe: Fix alpha test.José Fonseca2009-09-101-26/+13
|
* llvmpipe: Mask out color channels not present in the color buffer.José Fonseca2009-09-101-5/+23
|
* llvmpipe: Fix sampling from depth textures. Respect texture compare func.José Fonseca2009-09-102-49/+122
| | | | Fixes Mesa shadowtex sample.
* llvmpipe: Skip blending when mask is zero.José Fonseca2009-09-102-13/+30
| | | | This increases quake3 timedemo fps another 10%.
* llvmpipe: Proper control flow builders.José Fonseca2009-09-103-60/+426
| | | | | | | | | | New control flow helper functions which keep track of all variables and generate the correct Phi functions. This re-enables skipping the fs execution of quads masked out by the rasterizer, early z testing, and kill opcode. This yields a performance improvement of around 20%.
* llvmpipe: Copy the texture target into the sampler static state.José Fonseca2009-09-101-0/+1
| | | | Hunk forgotten in previous commit.
* llvmpipe: Quick hack for 1D textures.José Fonseca2009-09-092-0/+4
|
* llvmpipe: Fix depth mask computation.José Fonseca2009-09-091-4/+5
| | | | Fixes depth test for 24bit depth formats.
* llvmpipe: Include zsbuf's format in the fragment shader key.José Fonseca2009-09-092-14/+17
|
* llvmpipe: Debug function to check stack alignment.José Fonseca2009-09-093-4/+28
| | | | | Doing alignment check in locus is redundant, as gcc alignment assumptions will optimize away the check.
* scons: Don't set LLVM_VERSION if one of the llvm-config calls fails.Vinson Lee2009-09-071-1/+1
| | | | | Ubuntu 8.10 has llvm-config version 2.2, which doesn't have nativecodegen. This triggers an exception.
* llvmpipe: Silent debug statement.José Fonseca2009-09-071-1/+1
|
* llvmpipe: Better abs for floating points.José Fonseca2009-09-071-6/+17
|
* llvmpipe: Code generate the texture sampling inside the shader.José Fonseca2009-09-0711-6/+306
| | | | | | | | | | Finally a substantial performance improvement: framerates of apps using texturing tripled, and furthermore, enabling/disabling texturing only affects around 15% of the framerate, which means the bottleneck is now somewhere else. Generated texture sampling code is not complete though -- we always sample from the base level -- so final figures will be different.
* llvmpipe: Texture sampling code generation primitives.José Fonseca2009-09-074-0/+478
| | | | | Only supports single level 2d textures, with neareast and bilinear filtering for now.
* llvmpipe: Convenience function to obtain the integer type with same bitdepth ↵José Fonseca2009-09-072-0/+15
| | | | of an arbitrary type.
* llvmpipe: Utility functions for linear and bilinear interpolation.José Fonseca2009-09-072-0/+45
|
* llvmpipe: Correct implementation of floor.José Fonseca2009-09-072-0/+95
|
* llvmpipe: Utility function to get the pointer to a structure member.José Fonseca2009-09-072-4/+29
|
* llvmpipe: SoA pixel unpacking specialization.José Fonseca2009-09-076-39/+252
|
* llvmpipe: Further abstract the texture sampling generation from TGSI ↵José Fonseca2009-09-075-125/+186
| | | | translation.
* tgsi: remove redundant CND0 opcodeKeith Whitwell2009-09-011-4/+0
| | | | Can be implemented with CMP src2, src1, src0
* scons: Tool for LLVM. Gracefully disable llvmpipe if LLVM not found.José Fonseca2009-09-011-3/+5
|
* llvmpipe: Fallback to element-wise comparisons when no comparison intrinsic ↵José Fonseca2009-08-311-2/+45
| | | | | | | | | | | | is available. Although selection of vector elements is valid LLVM IR, no machine target supports it yet. This is a last-resort option, but it allows llvmpipe to be used on any target supported by LLVM without modifications. Obviously better performance is attainable by emitting SIMD intrinsics where otherwise LLVM doesn't.
* llvmpipe: In the abcense of a min/max intrinsic, use the comparison intrinsics.José Fonseca2009-08-313-11/+7
|
* llvmpipe: Actually commit lp_buffer.[ch].José Fonseca2009-08-312-0/+205
| | | | Thanks Michel.
* llvmpipe: Texture cache in 4 ubytes instead of 4 floats.José Fonseca2009-08-303-19/+19
| | | | | | | | | This is more a short term experiment than a long term commitment, as we'll need to support higher precision textures too, as this will all be be replaced by runtime generated code. With this change most Mesa demos fps increased around 10%. Not a huge improvement, but not a negligible one either.
* llvmpipe: Use util_format_read_4f to read texture tiles.José Fonseca2009-08-301-6/+17
|
* llvmpipe: Texture cache is read-only. No need to flush.José Fonseca2009-08-303-48/+0
|
* llvmpipe: Eliminate internal pipe_buffer_map/unmap usage.José Fonseca2009-08-301-9/+3
|
* llvmpipe: List lp_buffer.c in the Makefile.José Fonseca2009-08-291-0/+1
|
* llvmpipe: Define an winsys for LLVM. Drop pipe_winsysJosé Fonseca2009-08-297-79/+196
| | | | | | | | lp_winsys will eventually be unified with softpipe's eventually, but we are free to move quicker since we don't have the myriad of users yet. Will provide a pipe_winsys adaptor from Keith's softpipe-private-winsys soon.
* llvmpipe: Update for changes in master.José Fonseca2009-08-293-12/+10
|
* llvmpipe: Isolate sampling from TGSI translation.José Fonseca2009-08-295-94/+145
|
* llvmpipe: Better structure dereference naming.José Fonseca2009-08-292-6/+11
|
* llvmpipe: Fix shader variant key construction.José Fonseca2009-08-291-2/+2
| | | | Fixes the blank screen on non-64bit mode.
* llvmpipe: Fix build.José Fonseca2009-08-292-2/+2
|
* llvmpipe: Merge all pixel format related files.José Fonseca2009-08-296-255/+153
|
* llvmpipe: Factor out and optimize the input interpolation.José Fonseca2009-08-297-169/+521
| | | | | | | Special attention is given to the interpolation of side by side quads. Multiplications are made only for the first quad. Interpolation of inputs for posterior quads are done exclusively with additions, and perspective divide if necessary.
* llvmpipe: Pre-declare fetch_texel.José Fonseca2009-08-295-28/+66
|