Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-11-02 | llvmpipe: add a cast | Brian Paul | |
2010-11-02 | llvmpipe: assign context's frag shader pointer before using it | Brian Paul | |
The call to draw_bind_fragment_shader() was using the old fragment shader. This bug would have really only effected the draw module's use of the fragment shader in the wide point stage. | |||
2010-10-28 | gallivm: Remove the EMMS opcodes. | José Fonseca | |
Unnecessary now that lp_set_target_options() successful disables MMX code emission. | |||
2010-10-17 | Merge remote branch 'origin/master' into lp-setup-llvm | Keith 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-17 | llvmpipe: Fix bad refactoring. | José Fonseca | |
'i' and 'chan' have random values here, which could cause a buffer overflow in debug builds, if chan > 4. | |||
2010-10-15 | llvmpipe: validate color outputs against key->nr_cbufs | Keith Whitwell | |
2010-10-15 | llvmpipe: check shader outputs are non-null before using | Keith Whitwell | |
2010-10-15 | llvmpipe: don't pass frontfacing as a float | Keith Whitwell | |
2010-10-14 | llvmpipe: code to dump bytecode to file (disabled) | Brian Paul | |
2010-10-14 | llvmpipe: don't try to emit non-existent color outputs | Keith Whitwell | |
2010-10-13 | llvmpipe: Unbreak Z32_FLOAT. | José Fonseca | |
Z32_FLOAT uses <4 x float> as intermediate/destination type, instead of <4 x i32>. The necessary bitcasts got removed with commit 5b7eb868fde98388d80601d8dea39e679828f42f Also use depth/stencil type and build contexts consistently, and make the depth pointer argument a ordinary <i8 *>, to catch this sort of issues in the future (and also to pave way for Z16 and Z32_FLOAT_S8_X24 support). | |||
2010-10-11 | llvmpipe: Use lp_tgsi_info. | José Fonseca | |
2010-10-09 | gallivm: Cleanup the rest of the flow module. | José Fonseca | |
2010-10-09 | gallivm: Remove support for Phi generation. | José Fonseca | |
Simply rely on mem2reg pass. It's easier and more reliable. | |||
2010-10-09 | gallivm: Don't generate Phis for execution mask. | José Fonseca | |
2010-10-09 | llvmpipe: clean up shader pre/postamble, try to catch more early-z | Keith Whitwell | |
Specifically, can do early-depth-test even when alpahtest or kill-pixel are active, providing we defer the actual z write until the final mask is avaialable. Improves demos/fire.c especially in the case where you get close to the trees. | |||
2010-10-09 | llvmpipe: try to be sensible about whether to branch after mask updates | Keith Whitwell | |
Don't branch more than once in quick succession. Don't branch at the end of the shader. | |||
2010-10-09 | gallivm: specialized x8z24 depthtest path | Keith Whitwell | |
Avoid unnecessary masking of non-existant stencil component. | |||
2010-10-09 | llvmpipe: dump fragment shader ir and asm when LP_DEBUG=fs | Keith Whitwell | |
Better than GALLIVM_DEBUG if you're only interested in fragment shaders. | |||
2010-10-09 | llvmpipe: use alloca for fs color outputs | Keith Whitwell | |
Don't try to emit our own phi's, let llvm mem2reg do it for us. | |||
2010-10-09 | llvmpipe: defer attribute interpolation until after mask and ztest | Keith Whitwell | |
Don't calculate 1/w for quads which aren't visible... | |||
2010-10-06 | gallivm: Only apply min/max_lod when necessary. | José Fonseca | |
2010-10-06 | llvmpipe: Dump a few missing shader key flags. | José Fonseca | |
2010-10-06 | llvmpipe: make debug_fs_variant respect variant->nr_samplers | Keith Whitwell | |
2010-09-22 | llvmpipe: Make rgb/alpha bland func/factors match, when there is no alpha. | José Fonseca | |
Makes AoS blending easier, and state more canonical. | |||
2010-09-21 | llvmpipe: When failing free fs shader too. | José Fonseca | |
2010-09-20 | llvmpipe: maintain fragment shader state for draw module | Brian Paul | |
2010-09-18 | llvmpipe: use llvm for attribute interpolant calculation | Keith Whitwell | |
Basically no change relative to hard-coded version, but this will be useful for other changes later. | |||
2010-09-16 | llvmpipe: add DEBUG_FS to dump variant information | Keith Whitwell | |
2010-09-14 | llvmpipe: Initialize variable for potentially unhandled switch case. | Vinson Lee | |
2010-09-12 | llvmpipe: pass linear masks to fragment shader | Keith Whitwell | |
Fragment shader can extract the correct bits for each quad. | |||
2010-09-12 | llvmpipe: 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-11 | llvmpipe: Don't store display the alpha ref value in the key. | José Fonseca | |
It's never used. | |||
2010-09-09 | llvmpipe: remove redundant tgsi_dup_tokens() call | Brian Paul | |
We were calling this twice so the first allocation was orphaned/leaked. | |||
2010-09-07 | llvmpipe: use opcodes instead of function pointers in bins | Keith Whitwell | |
Also, move some state from rasterizer struct to the scene. | |||
2010-09-07 | llvmpipe: put fs variant dumping in a function | Keith Whitwell | |
2010-09-05 | llvmpipe: 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-25 | llvmpipe: fence debugging, add llvmpipe_finish | Keith Whitwell | |
2010-08-22 | llvmpipe: reduce size of fragment shader variant key | Keith Whitwell | |
Don't spend as much time comparing them. | |||
2010-07-30 | llvmpipe: Fix implicit declaration of lp_func_delete_body warnings. | Vinson Lee | |
2010-07-30 | llvmpipe: delete function bodies after generating machine code | Zack Rusin | |
2010-07-29 | llvmpipe: 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-13 | llvmpipe: pass mask into fragment shader | Keith 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-22 | llvmpipe: make geometry shaders and stream output work | Zack Rusin | |
2010-06-21 | llvmpipe: s/lpfs/shader/ | José Fonseca | |
2010-06-18 | llvmpipe: Fix pointer dereference after free. | José Fonseca | |
2010-06-18 | llvmpipe: limit the number of fragment shader variants kept around | Roland 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-07 | llvmpipe: hook up basic gs and multiple constant buffer support | Keith Whitwell | |
2010-06-03 | llvmpipe: Number shaders/variants for more reproducible function names in ↵ | José Fonseca | |
the IR. | |||
2010-06-02 | llvmpipe: Centralize all position interpolation in lp_bld_interp.c. | José Fonseca | |