summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe
AgeCommit message (Collapse)Author
2010-10-17llvmpipe: Return non-zero exit code for lp_test_round failures.Vinson Lee
2010-10-17llvmpipe: Initialize bld ctx via lp_build_context_init instead of ad-hoc and ↵José Fonseca
broken code.
2010-10-17llvmpipe: 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-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: Move makefile include to before targetsJakob Bornecrantz
Or plain make inside of the directory wont build libllvmpipe.a
2010-10-15llvmpipe: validate color outputs against key->nr_cbufsKeith Whitwell
2010-10-15llvmpipe: check shader outputs are non-null before usingKeith Whitwell
2010-10-15llvmpipe: fix non-sse build after recent changesKeith Whitwell
2010-10-15llvmpipe: use aligned loads/stores for plane valuesKeith Whitwell
2010-10-15llvmpipe: do plane calculations with intrinsicsKeith Whitwell
This is a step towards moving this code into the rasterizer.
2010-10-15gallium: move some intrinsics helpers to u_sse.hKeith Whitwell
2010-10-15llvmpipe: don't store plane.ei value in binned dataKeith Whitwell
Further reduce the size of a binned triangle.
2010-10-15llvmpipe: slightly shrink the size of a binned triangleKeith Whitwell
2010-10-15llvmpipe: don't pass frontfacing as a floatKeith Whitwell
2010-10-15llvmpipe: reintroduce SET_STATE binner commandKeith Whitwell
But bin lazily only into bins which are receiving geometry.
2010-10-14llvmpipe: code to dump bytecode to file (disabled)Brian Paul
2010-10-14llvmpipe: don't try to emit non-existent color outputsKeith 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-12draw/llvmpipe: replace DRAW_MAX_TEXTURE_LEVELS with PIPE_MAX_TEXTURE_LEVELSBrian Paul
There's no apparent reason for the former to exist. And they didn't even have the same value.
2010-10-12llvmpipe: make sure intrinsics code is guarded with PIPE_ARCH_SSEKeith Whitwell
2010-10-12llmvpipe: improve mm_mullo_epi32José Fonseca
Apply Jose's suggestions for a small but measurable improvement in isosurf.
2010-10-12Revert "llvmpipe: try to keep plane c values small"Keith Whitwell
This reverts commit 9773722c2b09d5f0615a47cecf4347859474dc56. Looks like there are some floor/rounding issues here that need to be better understood.
2010-10-12gallium: move sse intrinsics debug helpers to u_sse.hKeith Whitwell
2010-10-12llvmpipe: Fix MSVC build.José Fonseca
MSVC doesn't accept more than 3 __m128i arguments.
2010-10-12llvmpipe: fix typo in last commitKeith Whitwell
2010-10-12llvmpipe: try to keep plane c values smallKeith Whitwell
Avoid accumulating more and more fixed point bits.
2010-10-12llvmpipe: add debug helpers for epi32 etcKeith Whitwell
2010-10-12llvmpipe: try to do more of rast_tri_3_16 with intrinsicsKeith Whitwell
There was actually a large quantity of scalar code in these functions previously. This tries to move more into intrinsics. Introduce an sse2 mm_mullo_epi32 replacement to avoid sse4 dependency in the new rasterization code.
2010-10-12llvmpipe: Do not dispose the execution engine.José Fonseca
The engine is a global owned by gallivm module.
2010-10-11llvmpipe: Use lp_tgsi_info.José Fonseca
2010-10-11llvmpipe: Remove outdated comment about stencil testing.José Fonseca
2010-10-09gallivm: Cleanup the rest of the flow module.José Fonseca
2010-10-09gallivm: Remove support for Phi generation.José Fonseca
Simply rely on mem2reg pass. It's easier and more reliable.
2010-10-09gallivm: Don't generate Phis for execution mask.José Fonseca
2010-10-09llvmpipe: Fix MSVC build. Enable the new SSE2 code on non SSE3 systems.José Fonseca
2010-10-09llvmpipe: simplified SSE2 swz/unswz routinesKeith Whitwell
We've been using these in the linear path for a while now. Based on Chris's SSSE3 code, but using only sse2 opcodes. Speed seems to be identical, but code is simpler & removes dependency on SSE3. Should be easier to extend to other rgba8 formats.
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-09llvmpipe: dump fragment shader ir and asm when LP_DEBUG=fsKeith Whitwell
Better than GALLIVM_DEBUG if you're only interested in fragment shaders.
2010-10-09llvmpipe: use alloca for fs color outputsKeith Whitwell
Don't try to emit our own phi's, let llvm mem2reg do it for us.
2010-10-09llvmpipe: defer attribute interpolation until after mask and ztestKeith Whitwell
Don't calculate 1/w for quads which aren't visible...
2010-10-09llvmpipe: Prevent z > 1.0José Fonseca
The current interpolation schemes causes precision loss. Changing the operation order helps, but does not completely avoid the problem. The only short term solution is to clamp z to 1.0. This is unfortunate, but probably unavoidable until interpolation is improved.
2010-10-09llvmpipe: fix rasterization of vertical lines on pixel boundariesZack Rusin
2010-10-08gallivm: Avoid control flow for two-sided stencil test.José Fonseca
2010-10-08llvmpipe: fix off-by-one in tri_16Keith Whitwell
2010-10-08llvmpipe: add rast_tri_4_16 for small lines and pointsKeith Whitwell
2010-10-08llvmpipe: clean up setup_tri a littleKeith Whitwell