summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_state_fs.c
AgeCommit message (Collapse)Author
2009-10-01gallium: remove depth.occlusion_count flagKeith Whitwell
This was redundant as drivers can just keep track of whether they are inside a begin/end query pair. We want to add more query types later and also support nested queries, none of which map well onto a flag like this. No driver appeared to be using the flag.
2009-09-29llvmpipe: First verify LLVM IR, only then run optimizing passes.José Fonseca
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-10llvmpipe: Fix alpha test.José Fonseca
2009-09-10llvmpipe: Mask out color channels not present in the color buffer.José Fonseca
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-09llvmpipe: Include zsbuf's format in the fragment shader key.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: Further abstract the texture sampling generation from TGSI ↵José Fonseca
translation.
2009-08-29llvmpipe: Isolate sampling from TGSI translation.José Fonseca
2009-08-29llvmpipe: Fix shader variant key construction.José Fonseca
Fixes the blank screen on non-64bit mode.
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
2009-08-29llvmpipe: Pass the alpha ref value and blend color in the jit context.José Fonseca
2009-08-29llvmpipe: Pass fragment context to generated function in a single structure.José Fonseca
2009-08-29llvmpipe: Centralize the C <-> JIT interfaces in one place.José Fonseca
2009-08-29llvmpipe: Drop blend derived state.José Fonseca
Already included in the fragment shader.
2009-08-29llvmpipe: Add a bunch of comments.José Fonseca
Description/rationale/to-do items, while I still remember them...
2009-08-29llvmpipe: Split off vs stuff from lp_state_fs.c.José Fonseca
lp_state_fs.c is already too big without it.
2009-08-29llvmpipe: Generate the fragment pipeline into a single function.José Fonseca
Still hackish. Will document and optimize later.
2009-08-29llvmpipe: Early depth testing.José Fonseca
2009-08-29llvmpipe: Code generate the depth test, and include in the shader.José Fonseca
Only 32bit depth/stencil surfaces supported for now. Stencil ops not implemented yet.
2009-08-29llvmpipe: Centralize mask update logic.José Fonseca
2009-08-29llvmpipe: Code generate alpha testing and append to generated fragment shader.José Fonseca
2009-08-29llvmpipe: frag shader commentsBrian Paul
2009-08-29llvmpipe: Code generate the position interpolation.José Fonseca
2009-08-29llvmpipe: Put color/depth directly into the quad structure.José Fonseca
2009-08-29llvmpipe: Debug helper function to name llvm intermediate values.José Fonseca
2009-08-29llvmpipe: Implement KIL.José Fonseca
2009-08-29llvmpipe: Disassemble generated x86 code.José Fonseca
2009-08-29llvmpipe: Shader function arguments don't alias.José Fonseca
2009-08-29llvmpipe: Pass the interpolation factors as scalars.José Fonseca
2009-08-29llvmpipe: Eliminate non-LLVM fs execution paths.José Fonseca
2009-08-29llvmpipe: Rename preprocessor symbols too.José Fonseca
2009-08-29llvmpipe: Fork softpipe for experimentation with llvm.José Fonseca