summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_state_fs.h
AgeCommit message (Collapse)Author
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