summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_state_fs.c
AgeCommit message (Collapse)Author
2010-09-16llvmpipe: add DEBUG_FS to dump variant informationKeith Whitwell
2010-09-14llvmpipe: Initialize variable for potentially unhandled switch case.Vinson Lee
2010-09-12llvmpipe: pass linear masks to fragment shaderKeith Whitwell
Fragment shader can extract the correct bits for each quad.
2010-09-12llvmpipe: Only generate the whole shader specialization for opaque shaders.José Fonseca
If not opaque, then the color buffer will have to be read any way, therefore the specialization is pointless.
2010-09-11llvmpipe: Don't store display the alpha ref value in the key.José Fonseca
It's never used.
2010-09-09llvmpipe: remove redundant tgsi_dup_tokens() callBrian Paul
We were calling this twice so the first allocation was orphaned/leaked.
2010-09-07llvmpipe: use opcodes instead of function pointers in binsKeith Whitwell
Also, move some state from rasterizer struct to the scene.
2010-09-07llvmpipe: put fs variant dumping in a functionKeith Whitwell
2010-09-05llvmpipe: Relax the colormask constraint on opaque.José Fonseca
Also, include the color buffer in the key. Not having it there causes a tight knots in the logic to determine when it is OK or not to discard previous color buffer contents.
2010-08-25llvmpipe: fence debugging, add llvmpipe_finishKeith Whitwell
2010-08-22llvmpipe: reduce size of fragment shader variant keyKeith Whitwell
Don't spend as much time comparing them.
2010-07-30llvmpipe: Fix implicit declaration of lp_func_delete_body warnings.Vinson Lee
2010-07-30llvmpipe: delete function bodies after generating machine codeZack Rusin
2010-07-29llvmpipe: Avoid corrupting the FPU stack with MMX instructions on 32bit OSes.José Fonseca
Unfortunately LLVM doesn't emit EMMS itself, and there is no easy/effective way to disable MMX. http://llvm.org/bugs/show_bug.cgi?id=3287
2010-07-13llvmpipe: pass mask into fragment shaderKeith Whitwell
Move this code back out to C for now, will generate separately. Shader now takes a mask parameter instead of C0/C1/C2/etc. Shader does not currently use that parameter and rasterizes whole pixel stamps always.
2010-06-22llvmpipe: make geometry shaders and stream output workZack Rusin
2010-06-21llvmpipe: s/lpfs/shader/José Fonseca
2010-06-18llvmpipe: Fix pointer dereference after free.José Fonseca
2010-06-18llvmpipe: limit the number of fragment shader variants kept aroundRoland Scheidegger
llvmpipe can create a large number of shader variants for a single shader (which are quite big), and they were only ever deleted if the shader itself was deleted. This is especially apparent in things like glean blendFunc where a new variant is created for every different subtest, chewing up all memory. This change limits the numbers of fragment shader variants (for all shaders) which are kept around to a fixed number. If that would be exceeded a fixed portion of the cached variants is deleted (since without tracking the used variants this involves flushing we don't want to delete only one). Always the least recently used variants (from all shaders together) are deleted. For now this is all per-context. Both the number of how many variants are cached (1024) as well as how many will be deleted at once (1/4 of the cache size) are just rough guesses and subject to further optimization.
2010-06-07llvmpipe: hook up basic gs and multiple constant buffer supportKeith Whitwell
2010-06-03llvmpipe: Number shaders/variants for more reproducible function names in ↵José Fonseca
the IR.
2010-06-02llvmpipe: Centralize all position interpolation in lp_bld_interp.c.José Fonseca
2010-06-01llvmpipe: Use struct lp_shader_input in the interpolator.José Fonseca
Eliminates all this identical yet slightly different code to decide how shader inputs should be interpolated. As bonus, don't interpolate the position twice when it is listed in the TGSI shader inputs.
2010-06-01llvmpipe: Don't waste time interpolating unused input channels.José Fonseca
2010-05-31llvmpipe: Show fs's TGSI when LP_DEBUG=tgsi is set.José Fonseca
2010-05-30llvmpipe: Use pointer_to_func() instead of custom wrappers.José Fonseca
2010-05-30llvmpipe: Pass the fs variant to the rasterizer.José Fonseca
2010-05-20llvmpipe: more tweaks to dump_fs_variant_key()Brian Paul
2010-05-20llvmpipe: use util_dump_logicop()Brian Paul
2010-05-20llvmpipe: put variant print/debug code into separate functionBrian Paul
2010-05-15llvmpipe: Remove unnecessary headers.Vinson Lee
2010-05-15llvmpipe: Use GALLIVM_DEBUG opt where applicable.José Fonseca
2010-05-13llvmpipe: silence casting warningsBrian Paul
2010-05-12llvmpipe: Dump fs key's stencil state.José Fonseca
2010-05-12llvmpipe: Use RAST_WHOLE/EDGE_TEST in more places.José Fonseca
2010-05-12llvmpipe: Move the opaque flag computation into the variant.José Fonseca
2010-05-10llvmpipe: fix up indexing of blend/colormask state for render targetsBrian Paul
2010-05-08gallivm: Add an alternative to LLVMDumpValue that works with Windows GUI apps.José Fonseca
2010-05-06llvmpipe: implement occlusion queryQicheng Christopher Li
OpenGL occlusion queries work now. The Mesa demos, glean test and piglit tests all pass. A few enhancements are possible in the future. -Brian Signed-off-by: Brian Paul <brianp@vmware.com>
2010-05-03llvmpipe: Fix alpha blending for formats without alpha channel.José Fonseca
Don't use the dst alpha channel from the swizzled tile when it does not exist in the true format.
2010-05-01llvmpipe: Remove unused variable.Vinson Lee
2010-04-28llvmpipe: make shader-related functions static, clean-up initializationsBrian Paul
2010-04-28llvmpipe: remove some unneeded shader structure fieldsBrian Paul
2010-04-28llvmpipe: dump shaders if LP_DEBUG=tgsiBrian Paul
2010-04-26llvmpipe: Remove unused variable.Vinson Lee
2010-04-25llvmpipe: Remove unused variable.Vinson Lee
2010-04-24llvmpipe: Remove unused variable.Vinson Lee
2010-04-24llvmpipe: Remove unused variable.Vinson Lee
2010-04-22gallivm: implement indirect addressing over temporariesZack Rusin
a bit more involved than indirect addressing over consts, but still fairly reasonable. we allocate an array instead of individual alloca's, and we do it only if the shader does indirect addressing.
2010-04-22llvmpipe: Fix typo in assert.José Fonseca