summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe
AgeCommit message (Collapse)Author
2009-09-14llvmpipe: Make lp_type a regular union.José Fonseca
Union not worth the hassle of violating C99 or adding a name to the structure.
2009-09-13llvmpipe: Compute derivatives.José Fonseca
2009-09-13llvmpipe: Remove dead references to pipe_winsys.José Fonseca
2009-09-13llvmpipe: Use const keyword for input array arguments.José Fonseca
2009-09-13llvmpipe: Delay storing into the dst register to prevent clobbering the src ↵José Fonseca
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.
2009-09-13llvmpipe: Translate more TGSI opcodes.José Fonseca
Basically cover all low hanging fruit, and mark the still missing opcodes as "fixme" or deprecated.
2009-09-13llvmpipe: Add a few more common arithmetic functions.José Fonseca
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-13llvmpipe: Rename function to free up lp_build_trunc to the usual arithmetic ↵José Fonseca
meaning.
2009-09-11llvmpipe: set dirty_render_cache in llvmpipe_clear()José Fonseca
Based on Brian's softpipe change on commit 988db641195819c948249a1bb2d59f13577a482f. We don't use the tile cache for zsbuf though, only for color buffers.
2009-09-11llvmpipe: Update status in README and TODO/FIXME comments throughout the code.José Fonseca
2009-09-10llvmpipe: Fix alpha test.José Fonseca
2009-09-10llvmpipe: Mask out color channels not present in the color buffer.José Fonseca
2009-09-10llvmpipe: Fix sampling from depth textures. Respect texture compare func.José Fonseca
Fixes Mesa shadowtex sample.
2009-09-10llvmpipe: Skip blending when mask is zero.José Fonseca
This increases quake3 timedemo fps another 10%.
2009-09-10llvmpipe: Proper control flow builders.José Fonseca
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%.
2009-09-10llvmpipe: Copy the texture target into the sampler static state.José Fonseca
Hunk forgotten in previous commit.
2009-09-09llvmpipe: Quick hack for 1D textures.José Fonseca
2009-09-09llvmpipe: Fix depth mask computation.José Fonseca
Fixes depth test for 24bit depth formats.
2009-09-09llvmpipe: Include zsbuf's format in the fragment shader key.José Fonseca
2009-09-09llvmpipe: Debug function to check stack alignment.José Fonseca
Doing alignment check in locus is redundant, as gcc alignment assumptions will optimize away the check.
2009-09-07scons: Don't set LLVM_VERSION if one of the llvm-config calls fails.Vinson Lee
Ubuntu 8.10 has llvm-config version 2.2, which doesn't have nativecodegen. This triggers an exception.
2009-09-07llvmpipe: Silent debug statement.José Fonseca
2009-09-07llvmpipe: Better abs for floating points.José Fonseca
2009-09-07llvmpipe: Code generate the texture sampling inside the shader.José Fonseca
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.
2009-09-07llvmpipe: Texture sampling code generation primitives.José Fonseca
Only supports single level 2d textures, with neareast and bilinear filtering for now.
2009-09-07llvmpipe: Convenience function to obtain the integer type with same bitdepth ↵José Fonseca
of an arbitrary type.
2009-09-07llvmpipe: Utility functions for linear and bilinear interpolation.José Fonseca
2009-09-07llvmpipe: Correct implementation of floor.José Fonseca
2009-09-07llvmpipe: Utility function to get the pointer to a structure member.José Fonseca
2009-09-07llvmpipe: SoA pixel unpacking specialization.José Fonseca
2009-09-07llvmpipe: Further abstract the texture sampling generation from TGSI ↵José Fonseca
translation.
2009-09-01tgsi: remove redundant CND0 opcodeKeith Whitwell
Can be implemented with CMP src2, src1, src0
2009-09-01scons: Tool for LLVM. Gracefully disable llvmpipe if LLVM not found.José Fonseca
2009-08-31llvmpipe: Fallback to element-wise comparisons when no comparison intrinsic ↵José Fonseca
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.
2009-08-31llvmpipe: In the abcense of a min/max intrinsic, use the comparison intrinsics.José Fonseca
2009-08-31llvmpipe: Actually commit lp_buffer.[ch].José Fonseca
Thanks Michel.
2009-08-30llvmpipe: Texture cache in 4 ubytes instead of 4 floats.José Fonseca
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.
2009-08-30llvmpipe: Use util_format_read_4f to read texture tiles.José Fonseca
2009-08-30llvmpipe: Texture cache is read-only. No need to flush.José Fonseca
2009-08-30llvmpipe: Eliminate internal pipe_buffer_map/unmap usage.José Fonseca
2009-08-29llvmpipe: List lp_buffer.c in the Makefile.José Fonseca
2009-08-29llvmpipe: Define an winsys for LLVM. Drop pipe_winsysJosé Fonseca
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.
2009-08-29llvmpipe: Update for changes in master.José Fonseca
2009-08-29llvmpipe: Isolate sampling from TGSI translation.José Fonseca
2009-08-29llvmpipe: Better structure dereference naming.José Fonseca
2009-08-29llvmpipe: Fix shader variant key construction.José Fonseca
Fixes the blank screen on non-64bit mode.
2009-08-29llvmpipe: Fix build.José Fonseca
2009-08-29llvmpipe: Merge all pixel format related files.José Fonseca
2009-08-29llvmpipe: Factor out and optimize the input interpolation.José Fonseca
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.
2009-08-29llvmpipe: Pre-declare fetch_texel.José Fonseca