summaryrefslogtreecommitdiff
path: root/src/gallium
AgeCommit message (Collapse)Author
2010-10-12gallivm: don't branch on KILLs near end of shaderKeith Whitwell
2010-10-12r600g: add missing file to sconscriptKeith Whitwell
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-12nouveau: Get larger push buffers.Francisco Jerez
Useful to amortize the command submission/reloc overhead (e.g. etracer goes from 72 to 109 FPS on nv4b).
2010-10-12r600g: fix typo in vertex sampling on r600Dave Airlie
fixes https://bugs.freedesktop.org/show_bug.cgi?id=30771 Reported-by: Kevin DeKorte
2010-10-11llvmpipe: Use lp_tgsi_info.José Fonseca
2010-10-11gallivm: More detailed analysis of tgsi shaders.José Fonseca
To allow more optimizations, in particular for direct textures.
2010-10-11tgsi: Export some names for some tgsi enums.José Fonseca
Useful to give human legible names in other cases.
2010-10-11gallium: Define C99 restrict keyword where absent.José Fonseca
2010-10-11gallivm: Eliminate unsigned integer arithmetic from texture coordinates.José Fonseca
SSE support for 32bit and 16bit unsigned arithmetic is not complete, and can easily result in inefficient code. In most cases signed/unsigned doesn't make a difference, such as for integer texture coordinates. So remove uint_coord_type and uint_coord_bld to avoid inefficient operations to sneak in the future.
2010-10-11llvmpipe: Remove outdated comment about stencil testing.José Fonseca
2010-10-11r600g: don't run with scissors.Dave Airlie
This could probably be done much nicer, I've spent a day chasing a coherency problem in the kernel, that turned out to be incorrect scissor setup.
2010-10-11r600g: add TXL opcode support.Dave Airlie
fixes glsl1-2D Texture lookup with explicit lod (Vertex shader)
2010-10-11r600g: enable vertex samplers.Dave Airlie
We need to move the texture sampler resources out of the range of the vertex attribs. We could probably improve this using an allocator but this is the simple answer for now. makes mesa-demos/src/glsl/vert-tex work.
2010-10-11r600g: evergreen has no request size bit in texture word4Dave Airlie
2010-10-11r600g: fix input/output Z export mixup for evergreen.Dave Airlie
2010-10-10gallivm: Pass texture coords derivates as scalars.José Fonseca
We end up treating them as scalars in the end, and it saves some instructions.
2010-10-10gallivm: Use variables instead of Phis in loops.José Fonseca
With this commit all explicit Phi emission is now gone.
2010-10-10gallivm: Allow to disable bri-linear filtering with ↵José Fonseca
GALLIVM_DEBUG=no_brilinear runtime option
2010-10-10gallivm: Fix a long standing bug with nested if-then-else emission.José Fonseca
We can't patch true-block at end-if time, as there is no guarantee that the block at the beginning of the true stanza is the same at the end of the true stanza -- other control flow elements may have been emitted half way the true stanza. Although this bug surfaced recently with the commit to skip mip filtering when lod is an integer the bug was always there, although probably it was avoided until now: e.g., cubemap selection nests if-then-else on the else stanza, which does not suffer from the same problem.
2010-10-09gallivm: Cleanup the rest of the flow module.José Fonseca
2010-10-09gallivm: Simplify if/then/else implementation.José Fonseca
No need for for a flow stack anymore.
2010-10-09gallivm: Factor out the SI->FP texture size conversion for SoA path tooJosé 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: Use varilables instead of Phis for cubemap selection.José Fonseca
2010-10-09gallivm: Don't generate Phis for execution mask.José Fonseca
2010-10-09gallivm: Special bri-linear computation path for unmodified rho.José Fonseca
2010-10-09gallivm: Less code duplication in log computation.José Fonseca
2010-10-09util: Defined M_SQRT2 when not available.José Fonseca
2010-10-09gallivm: Handle code have ret correctly.José Fonseca
Stop disassembling on unconditional backwards jumps.
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: simpler uint8->float conversionsKeith Whitwell
LLVM seems to finds it easier to reason about these than our mantissa-manipulation code.
2010-10-09gallivm: prefer blendvb for integer argumentsKeith Whitwell
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: store zero into all alloca'd valuesKeith Whitwell
Fixes slowdown in isosurf with earlier versions of llvm.
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-09gallivm: Do size computations simultanously for all dimensions (AoS).José Fonseca
Operate simultanouesly on <width, height, depth> vector as much as possible, instead of doing the operations on vectors with broadcasted scalars. Also do the 24.8 fixed point scalar with integer shift of the texture size, for unnormalized coordinates. AoS path only for now -- the same thing can be done for SoA.
2010-10-09llvmpipe: fix rasterization of vertical lines on pixel boundariesZack Rusin