summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-10dri/nv10: Fake fast Z clears for pre-nv17 cards.Francisco Jerez
2010-10-10dri/nouveau: Minor cleanup.Francisco Jerez
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
2010-10-08i965: Initialize member variables.Vinson Lee
Fixes these GCC warnings. brw_wm_fp.c: In function 'search_or_add_const4f': brw_wm_fp.c:92: warning: 'reg.Index2' is used uninitialized in this function brw_wm_fp.c:84: note: 'reg.Index2' was declared here brw_wm_fp.c:92: warning: 'reg.RelAddr2' is used uninitialized in this function brw_wm_fp.c:84: note: 'reg.RelAddr2' was declared here
2010-10-08i965: Silence unused variable warning on non-debug builds.Vinson Lee
Fixes this GCC warning. brw_vs.c: In function 'do_vs_prog': brw_vs.c:46: warning: unused variable 'ctx'
2010-10-08i965: Silence unused variable warning on non-debug builds.Vinson Lee
Fixes this GCC warning. brw_eu_emit.c: In function 'brw_math2': brw_eu_emit.c:1189: warning: unused variable 'intel'
2010-10-08i915: Silence unused variable warning in non-debug builds.Vinson Lee
Fixes this GCC warning. i915_vtbl.c: In function 'i915_assert_not_dirty': i915_vtbl.c:670: warning: unused variable 'dirty'
2010-10-09gallivm: make use of new iround code in lp_bld_conv.Roland Scheidegger
Only requires sse2 now.
2010-10-09gallivm: optimize soa linear clamp to edge wrap mode a bitRoland Scheidegger
Clamp against 0 instead of -0.5, which simplifies things. The former version would have resulted in both int coords being zero (in case of coord being smaller than 0) and some "unused" weight value, whereas now the int coords will be 0 and 1, but weight will be 0, hence the lerp should produce the same value. Still not happy about differences between normalized and non-normalized...
2010-10-09gallivm: avoid unnecessary URem in linear wrap repeat caseRoland Scheidegger
Haven't looked at what code this exactly generates but URem can't be fast. Instead of using two URem only use one and replace the second one with select/add (this is what the corresponding aos code already does).
2010-10-09gallivm: more linear tex wrap mode calculation simplificationRoland Scheidegger
Rearrange order of operations a bit to make some clamps easier. All calculations should be equivalent. Note there seems to be some inconsistency in the clamp to edge case wrt normalized/non-normalized coords, could potentially simplify this too.
2010-10-09gallivm: optimize some tex wrap mode calculations a bitRoland Scheidegger
Sometimes coords are clamped to positive numbers before doing conversion to int, or clamped to 0 afterwards, in this case can use itrunc instead of ifloor which is easier. This is only the case for nearest calculations unfortunately, except linear MIRROR_CLAMP_TO_EDGE which for the same reason can use a unsigned float build context so the ifloor_fract helper can reduce this to itrunc in the ifloor helper itself.
2010-10-09gallivm: replace sub/floor/ifloor combo with ifloor_fractRoland Scheidegger
2010-10-09gallivm: faster iround implementation for sse2Roland Scheidegger
sse2 supports round to nearest directly (or rather, assuming default nearest rounding mode in MXCSR). Use intrinsic to use this rather than round (sse41) or bit manipulation whenever possible.
2010-10-09gallivm: fix trunc/itrunc commentRoland Scheidegger
trunc of -1.5 is -1.0 not 1.0...
2010-10-08i915: Silence unused variable warning in non-debug builds.Vinson Lee
Fixes this GCC warning. i830_vtbl.c: In function 'i830_assert_not_dirty': i830_vtbl.c:704: warning: unused variable 'i830'
2010-10-08glsl: Remove const decoration from inlined function parametersIan Romanick
The constness of the function parameter gets inlined with the rest of the function. However, there is also an assignment to the parameter. If this occurs inside a loop the loop analysis code will get confused by the assignment to a read-only variable. Fixes bugzilla #30552. NOTE: this is a candidate for the 7.9 branch.
2010-10-08intel: Enable GL_ARB_explicit_attrib_locationIan Romanick
2010-10-08main: Enable GL_ARB_explicit_attrib_location for swrastIan Romanick
2010-10-08glsl: Add linker support for explicit attribute locationsIan Romanick
2010-10-08glsl: Track explicit location in AST to IR translationIan Romanick
2010-10-08glsl: Regenerate files changes by previous commitIan Romanick
2010-10-08glsl: Add parser support for GL_ARB_explicit_attrib_location layoutsIan Romanick
Only layout(location=#) is supported. Setting the index requires GLSL 1.30 and GL_ARB_blend_func_extended.
2010-10-08glcpp: Regenerate files changes by previous commitIan Romanick
2010-10-08glcpp: Add the define for ARB_explicit_attrib_location when presentIan Romanick
2010-10-08glsl: Regenerate files modified by previous commitsIan Romanick