summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_state_fs.h
AgeCommit message (Collapse)Author
2010-11-30gallivm/llvmpipe: squash merge of the llvm-context branchBrian Paul
This branch defines a gallivm_state structure which contains the LLVMBuilderRef, LLVMContextRef, etc. All data structures built with this object can be periodically freed during a "garbage collection" operation. The gallivm_state object has to be passed to most of the builder functions where LLVMBuilderRef used to be used. Conflicts: src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c src/gallium/drivers/llvmpipe/lp_state_setup.c
2010-10-17Merge remote branch 'origin/master' into lp-setup-llvmKeith Whitwell
Conflicts: src/gallium/drivers/llvmpipe/lp_setup_coef.c src/gallium/drivers/llvmpipe/lp_setup_coef.h src/gallium/drivers/llvmpipe/lp_setup_coef_intrin.c src/gallium/drivers/llvmpipe/lp_setup_point.c src/gallium/drivers/llvmpipe/lp_setup_tri.c src/gallium/drivers/llvmpipe/lp_state_derived.c src/gallium/drivers/llvmpipe/lp_state_fs.h
2010-10-11llvmpipe: Use lp_tgsi_info.José Fonseca
2010-09-20llvmpipe: maintain fragment shader state for draw moduleBrian Paul
2010-09-18llvmpipe: use llvm for attribute interpolant calculationKeith Whitwell
Basically no change relative to hard-coded version, but this will be useful for other changes later.
2010-09-11llvmpipe: Don't store display the alpha ref value in the key.José Fonseca
It's never used.
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-22llvmpipe: reduce size of fragment shader variant keyKeith Whitwell
Don't spend as much time comparing them.
2010-08-22llvmpipe: remove unused member from lp_fragment_shader_variant_keyKeith Whitwell
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-21llvmpipe: s/lpfs/shader/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-03llvmpipe: Number shaders/variants for more reproducible function names in ↵José Fonseca
the IR.
2010-05-30llvmpipe: Pass the fs variant to the rasterizer.José Fonseca