summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary
AgeCommit message (Collapse)Author
2010-10-06util: Cleanup util_pack_z_stencil and friends.José Fonseca
- Handle PIPE_FORMAT_Z32_FLOAT packing correctly. - In the integer version z shouldn't be passed as as double. - Make it clear that the integer versions should only be used for masks. - Make integer type sizes explicit (uint32_t for now, although uint64_t will be necessary later to encode f32_s8_x24).
2010-10-06gallivm: Compute lod as integer whenever possible.José Fonseca
More accurate/faster results for PIPE_TEX_MIPFILTER_NEAREST. Less FP <-> SI conversion overall.
2010-10-06gallivm: Only apply min/max_lod when necessary.José Fonseca
2010-10-06gallivm: don't apply zero lod_biasKeith Whitwell
2010-10-06gallivm: Combined ifloor & fract helper.José Fonseca
The only way to ensure we don't do redundant FP <-> SI conversions.
2010-10-06gallivm: Fast implementation of iround(log2(x))José Fonseca
Not tested yet, but should be correct.
2010-10-06gallivm: Use a faster (and less accurate) log2 in lod computation.José Fonseca
2010-10-06gallivm: Take the type signedness in consideration in round/ceil/floor.José Fonseca
2010-10-05pb: fix numDelayed accountingDave Airlie
we weren't decreasing when removing from the list.
2010-10-05pb: don't keep checking buffers after first busyDave Airlie
If we assume busy buffers are added to the list in order its unlikely we'd fine one after the first busy one that isn't busy.
2010-09-30draw: check for null sampler pointersBrian Paul
http://bugs.freedesktop.org/show_bug.cgi?id=30516
2010-09-30gallivm: added some commentsBrian Paul
2010-09-30Revert "Prefer intrinsics to handrolled atomic ops."Tom Fogal
This reverts commit 5f66b340aa49c6bc8d0acb2d1a6f8e9a7ef2cb2e, quickly fixing 30514.
2010-09-30Prefer intrinsics to handrolled atomic ops.Tom Fogal
2010-09-30Implement x86_64 atomics for compilers w/o intrinsics.Tom Fogal
Really old gcc's (3.3, at least) don't have support for the intrinsics we need. This implements a fallback for that case.
2010-09-30gallivm: check for level=0 case in lp_build_minify()Brian Paul
This lets us avoid the shift and max() operations.
2010-09-30gallivm: More comprehensive border usage logic.José Fonseca
2010-09-30gallium/util: remove duplicated includeNicolas Kaiser
Remove duplicated include. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-09-30gallium/rtasm: remove duplicated includeNicolas Kaiser
Remove duplicated include. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-09-29gallivm: Use SSE4.1's ROUNDSS/ROUNDSD for scalar rounding.José Fonseca
2010-09-29draw: pass sampler state down to llvm jit stateBrian Paul
Fixes a regression caused from the change to make min/max lod dynamic state. https://bugs.freedesktop.org/show_bug.cgi?id=30437
2010-09-27llvmpipe: fix swizzling of texture border colorBrian Paul
The pipe_sampler_view's swizzle terms also apply to the texture border color. Simply move the apply_sampler_swizzle() call after we fetch the border color. Fixes many piglit texwrap failures.
2010-09-27ureg: support centroid interpolationLuca Barbieri
2010-09-26util/u_blitter: fix leakJoakim Sindholt
2010-09-25gallivm: fix repeat() function for NPOT texturesBrian Paul
The trick of casting the coord to an unsigned value only works for POT textures. Add a bias instead. This fixes a few piglit texwrap failures.
2010-09-25gallivm: Remove dead experimental code.José Fonseca
2010-09-25gallivm: Fetch the lod from the dynamic state when min_lod == max_lod.José Fonseca
2010-09-25draw: Fullfil the new min_lod/max_lod/lod_bias/border_color dynamic stateJosé Fonseca
2010-09-25gallivm: optimize yuv decodingRoland Scheidegger
this is more a proof to show vector shifts on x86 with per-element shift count are evil. Since we can avoid the shift with a single compare/select, use that instead. Replaces more than 20 instructions (and slow ones at that) with about 3, and cuts compiled shader size with mesa's yuvsqure demo by over 10% (no performance measurements done - but selection is blazing fast). Might want to revisit that for future cpus - unfortunately AVX won't have vector shifts neither, but AMD's XOP will, but even in that case using selection here is probably not slower.
2010-09-25gallivm: don't use URem/UDiv when calculating offsets for blocksRoland Scheidegger
While it's true that llvm can and will indeed replace this with bit arithmetic (since block height/width is POT), it does so (llvm 2.7) by element and hence extracts/shifts/reinserts each element individually. This costs about 16 instructions (and extract is not really fast) vs. 1...
2010-09-25gallivm: fix copy&paste bugRoland Scheidegger
looks like pot_depth should be used, not pot_height (found by accident, not verified)
2010-09-25util: fix util_pack_color for B4G4R4A4Marek Olšák
NOTE: This is a candidate for the 7.9 branch.
2010-09-24llvmpipe: make texture border_color dynamic stateBrian Paul
2010-09-24llvmpipe: make min/max lod and lod bias dynamic stateBrian 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-24util: make calling remove_from_list multiple times in a row safeMarek Olšák
This commit fixes an infinite loop in foreach_s if remove_from_list is used more than once on the same item with other list operations in between. NOTE: This is a candidate for the 7.9 branch because the commit "r300g: fixup long-lived BO maps being incorrectly unmapped when flushing" depends on it.
2010-09-23draw: Prevent clipped vertices overflow.José Fonseca
Some pathological triangles cause a theoritically impossible number of clipped vertices. The clipper will still assert, but at least release builds will not crash, while this problem is further investigated.
2010-09-23draw: don't apply flatshading to clipped tris with <3 vertsKeith Whitwell
If a triangle was completely culled by clipping, we would still try to fix up its provoking vertex.
2010-09-23u_blitter: add a custom blitter call passing a dsa csoDave Airlie
reimplement the flush stage added for r300 to allow a custom DSA stage to be used in the pipeline, this allows for r600 hw DB->CB flushes.
2010-09-22tgsi: Fix missing test before checkJakob Bornecrantz
As introduced with commit d21301675c249602e19310d5b62fad424f2f2ac2 NOTE: This is a candidate for the 7.9 branch.
2010-09-22gallivm: Add unorm support to lp_build_lerp()José Fonseca
Unfortunately this can cause segfault with LLVM 2.6, if x is a constant.
2010-09-21gallivm: fix lp_build_sample_compare()Brian Paul
The old code didn't really make sense. We only need to compare the X channel of the texture (depth) against the texcoord. For (bi)linear sampling we should move the calls to this function and compute the final result as (s1+s2+s3+s4) * 0.25. Someday. This fixes the glean glsl1 shadow2D() tests. See fd.o bug 29307.
2010-09-21draw: new draw_fs.[ch] filesBrian Paul
2010-09-21Merge branch 'sprite-coord'Brian Paul
2010-09-20tgsi: Remove duplicate case value.Vinson Lee
2010-09-21tgsi: Actually care what check_soa_dependencies saysJakob Bornecrantz
Thanks to José for the more complete list of supported opcodes. NOTE: This is a candidate for the 7.9 branch.
2010-09-21tgsi: Don't ignore indirect registers in tgsi_check_soa_dependenciesJosé Fonseca
NOTE: This is a candidate for the 7.9 branch.
2010-09-20draw: check bitshift against PIPE_MAX_SHADER_OUTPUSBrian Paul
2010-09-20draw: fix test for using the wide-point stageBrian Paul
As it was, we weren't obeying the draw->pipeline.point_sprite state. Fixes point sprites in llvmpipe driver.
2010-09-20tgsi: add switch/case opcodes to tgsi_opcode_tmp.hLuca Barbieri
2010-09-20gallivm: remove debug codeBrian Paul