Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-10-12 | Revert "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-12 | gallium: move sse intrinsics debug helpers to u_sse.h | Keith Whitwell | |
2010-10-12 | llvmpipe: Fix MSVC build. | José Fonseca | |
MSVC doesn't accept more than 3 __m128i arguments. | |||
2010-10-12 | llvmpipe: fix typo in last commit | Keith Whitwell | |
2010-10-12 | llvmpipe: try to keep plane c values small | Keith Whitwell | |
Avoid accumulating more and more fixed point bits. | |||
2010-10-12 | llvmpipe: add debug helpers for epi32 etc | Keith Whitwell | |
2010-10-12 | llvmpipe: try to do more of rast_tri_3_16 with intrinsics | Keith 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-12 | llvmpipe: Do not dispose the execution engine. | José Fonseca | |
The engine is a global owned by gallivm module. | |||
2010-10-11 | llvmpipe: Use lp_tgsi_info. | José Fonseca | |
2010-10-11 | llvmpipe: Remove outdated comment about stencil testing. | 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: Fix MSVC build. Enable the new SSE2 code on non SSE3 systems. | José Fonseca | |
2010-10-09 | llvmpipe: simplified SSE2 swz/unswz routines | Keith 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-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-09 | llvmpipe: Prevent z > 1.0 | José 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-09 | llvmpipe: fix rasterization of vertical lines on pixel boundaries | Zack Rusin | |
2010-10-08 | gallivm: Avoid control flow for two-sided stencil test. | José Fonseca | |
2010-10-08 | llvmpipe: fix off-by-one in tri_16 | Keith Whitwell | |
2010-10-08 | llvmpipe: add rast_tri_4_16 for small lines and points | Keith Whitwell | |
2010-10-08 | llvmpipe: clean up setup_tri a little | Keith Whitwell | |
2010-10-08 | llvmpipe: avoid overflow in triangle culling | Keith Whitwell | |
Avoid multiplying fixed-point values. Calculate triangle area in floating point use that for culling. Lift area calculations up a level as we are already doing this in the triangle_both() case. Would like to share the calculated area with attribute interpolation, but the way the code is structured makes this difficult. | |||
2010-10-08 | llvmpipe: fail gracefully on oom in scene creation | Keith Whitwell | |
2010-10-06 | llvmpipe: Cleanup depth-stencil clears. | José Fonseca | |
Only cosmetic changes. No actual practical difference. | |||
2010-10-06 | gallivm: Only apply min/max_lod when necessary. | José Fonseca | |
2010-10-06 | llvmpipe: Fix sprite coord perspective interpolation of Q. | José Fonseca | |
Q coordinate's coefficients also need to be multiplied by w, otherwise it will have 1/w, causing problems with TXP. | |||
2010-10-06 | llvmpipe: Fix perspective interpolation for point sprites. | José Fonseca | |
Once a fragment is generated with LP_INTERP_PERSPECTIVE set for an input, it will do a divide by w for that input. Therefore it's not OK to treat LP_INTERP_PERSPECTIVE as LP_INTERP_LINEAR or vice-versa, even if the attribute is known to not vary. A better strategy would be to take the primitive in consideration when generating the fragment shader key, and therefore avoid the per-fragment perspective divide. | |||
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-30 | gallium/llvmpipe: remove duplicated include | Nicolas Kaiser | |
Remove duplicated include. Signed-off-by: Brian Paul <brianp@vmware.com> | |||
2010-09-29 | llvmpipe: Decouple sampler view and sampler state updates. | José Fonseca | |
Fixes glean pbo crash. It would be possible to avoid crashing without decoupling, but given that state trackers give no guarantee that number of views is consistent, that would likely cause too many state updates (or miss some). | |||
2010-09-25 | llvmpipe: handle up to 8 planes in triangle binner | Keith Whitwell | |
2010-09-25 | llvmpipe: handle FACING interpolants in line and point setup | Keith Whitwell | |
2010-09-24 | llvmpipe: make texture border_color dynamic state | Brian Paul | |
2010-09-24 | llvmpipe: make min/max lod and lod bias dynamic state | Brian Paul | |
Before, changing any of these sampler values triggered generation of new JIT code. Added a new flag for the special case of min_lod == max_lod which is hit during auto mipmap generation. | |||
2010-09-22 | llvmpipe: fix sprite texcoord setup for non-projective texturing | Brian Paul | |
Normally the Mesa state tracker uses TXP instructions for texturing. But if a fragment shader uses texture2D() that's a TEX instruction. In that case we were incorrectly computing the texcoord coefficients in the point sprite setup code. Some new comments in the code explain things. | |||
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-22 | llvmpipe: Special case complementary and identify blend factors in SoA. | José Fonseca | |
One multiplication instead of two. Also fix floating point random number generation and verification. TODO: Do the same for AoS blending. | |||
2010-09-21 | llvmpipe: When failing free fs shader too. | José Fonseca | |
2010-09-21 | llvmpipe: Describe how to profile llvmpipe. | José Fonseca | |
2010-09-21 | Merge branch 'sprite-coord' | Brian Paul | |
2010-09-21 | llvmpipe: fix flatshading in new line code | Keith Whitwell | |
Calculate interpolants before rearranging the vertices. | |||
2010-09-20 | llvmpipe: check bitshift against PIPE_MAX_SHADER_OUTPUTS | Brian Paul | |
2010-09-20 | llvmpipe: implement sprite coord origin modes | Brian Paul | |