summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_bld_depth.c
AgeCommit message (Collapse)Author
2010-12-03llvmpipe: fix broken stencil writemaskBrian Paul
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=32070
2010-12-02gallivm/llvmpipe: remove lp_build_context::builderBrian Paul
The field was redundant. Use the gallivm->builder value instead.
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-17llvmpipe: Ensure z_shift and z_width is initialized.José Fonseca
2010-10-17llvmpipe: Fix depth-stencil regression.José Fonseca
If stencil is enabled then we need to load the z_dst, even if depth testing is disabled. This fixes reflect mesa demo.
2010-10-15llvmpipe: don't pass frontfacing as a floatKeith Whitwell
2010-10-13llvmpipe: Generalize the x8z24 fast path to all depth formats.José Fonseca
Together with the previous commit, this generalize the benefits of d2cf757f44f4ee5554243f3279483a25886d9927 to all depth formats, in particular: - simpler float -> 24unorm conversion - avoid unsigned comparisons (not directly supported on SSE) by aligning to the least significant bit - avoid unecessary/repeated mask ANDing Verified with trivial/tri-z that the exact same assembly is produced for X8Z24.
2010-10-13llvmpipe: 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-11llvmpipe: Remove outdated comment about stencil testing.José Fonseca
2010-10-09gallivm: Don't generate Phis for execution mask.José Fonseca
2010-10-09llvmpipe: clean up shader pre/postamble, try to catch more early-zKeith 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-09llvmpipe: try to be sensible about whether to branch after mask updatesKeith Whitwell
Don't branch more than once in quick succession. Don't branch at the end of the shader.
2010-10-09gallivm: specialized x8z24 depthtest pathKeith Whitwell
Avoid unnecessary masking of non-existant stencil component.
2010-10-08gallivm: Avoid control flow for two-sided stencil test.José Fonseca
2010-09-16gallivm: Start collecting bitwise arithmetic helpers in a new module.José Fonseca
2010-07-27llvmpipe: Use lp_build_select_bitwise() where appropriate.José Fonseca
Fixes fdo 29269.
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-04-20llvmpipe: fix depth+stencil logic errorBrian Paul
If both Z-test and stencil-test were enabled, we were mis-computing the vector of updated Z buffer values. Fixes Z testing bug in progs/demos/fbotexture.c
2010-04-16llvmpipe: use unsigned type to avoid warningsBrian Paul
2010-04-16gallivm/llvmpipe: move lp_bld_depth.[ch] to llvmpipe/ directoryBrian Paul
This is specific to the llvmpipe driver and not re-usable.
2010-02-08llvmpipe: export the tgsi translation code to a common layerZack Rusin
the llvmpipe tgsi translation is a lot more complete than what was in gallivm so replacing the latter with the former. this is needed since the draw llvm paths will use the same code. effectively the proven llvmpipe code becomes gallivm.
2009-11-24llvmpipe: Fix typo in comparison operator.José Fonseca
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-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-11llvmpipe: Update status in README and TODO/FIXME comments throughout the code.José Fonseca
2009-09-09llvmpipe: Fix depth mask computation.José Fonseca
Fixes depth test for 24bit depth formats.
2009-08-29llvmpipe: s/uni/scalar/.José Fonseca
More obvious name.
2009-08-29llvmpipe: Add a bunch of comments.José Fonseca
Description/rationale/to-do items, while I still remember them...
2009-08-29llvmpipe: Early depth testing.José Fonseca
2009-08-29llvmpipe: Depth test to LLVM IR translation.José Fonseca