summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary
Commit message (Collapse)AuthorAgeFilesLines
* gallivm: Remove unnecessary header.Vinson Lee2010-10-081-1/+0
|
* gallivm: Help for combined extraction and broadcasting.José Fonseca2010-10-083-15/+102
| | | | Doesn't change generated code quality, but saves some typing.
* llvmpipe: First minify the texture size, then broadcast.José Fonseca2010-10-083-32/+42
|
* gallivm: Move into the as much of the second level code as possible.José Fonseca2010-10-085-219/+120
| | | | | Also, pass more stuff trhough the sample build context, instead of arguments.
* gallivm: Warn when doing inefficient integer comparisons.José Fonseca2010-10-081-2/+18
|
* gallivm: round rather than truncate in new 4x4f->1x16ub conversion pathKeith Whitwell2010-10-081-17/+42
|
* gallivm: Use the wrappers for SSE pack intrinsics.José Fonseca2010-10-081-15/+3
| | | | Fixes assertion failures on LLVM 2.6.
* gallivm: special case conversion 4x4f to 1x16ubKeith Whitwell2010-10-081-0/+84
| | | | | Nice reduction in the number of operations required for final color output in many shaders.
* gallivm: Implement brilinear filtering.José Fonseca2010-10-081-1/+89
|
* gallivm: Fix copy'n'paste typo in previous commit.José Fonseca2010-10-081-2/+2
|
* gallivm: Clamp mipmap level and zero mip weight simultaneously.José Fonseca2010-10-084-14/+52
|
* gallivm: Use lp_build_ifloor_fract for lod computation.José Fonseca2010-10-081-5/+3
| | | | Forgot this one before.
* gallivm: Don't compute the second mipmap level when frac(lod) == 0José Fonseca2010-10-082-139/+175
|
* gallivm: Simplify lp_build_mipmap_level_sizes' interface.José Fonseca2010-10-084-67/+42
|
* gallivm: Do not do mipfiltering when magnifying.José Fonseca2010-10-082-16/+16
| | | | If lod < 0, then invariably follows that ilevel0 == ilevel1 == 0.
* gallivm: Vectorize the rho computation.José Fonseca2010-10-073-37/+92
|
* util: Cleanup util_pack_z_stencil and friends.José Fonseca2010-10-061-22/+28
| | | | | | | | | | | - 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).
* gallivm: Compute lod as integer whenever possible.José Fonseca2010-10-064-95/+158
| | | | | More accurate/faster results for PIPE_TEX_MIPFILTER_NEAREST. Less FP <-> SI conversion overall.
* gallivm: Only apply min/max_lod when necessary.José Fonseca2010-10-062-15/+38
|
* gallivm: don't apply zero lod_biasKeith Whitwell2010-10-062-1/+7
|
* gallivm: Combined ifloor & fract helper.José Fonseca2010-10-064-28/+65
| | | | The only way to ensure we don't do redundant FP <-> SI conversions.
* gallivm: Fast implementation of iround(log2(x))José Fonseca2010-10-062-0/+39
| | | | Not tested yet, but should be correct.
* gallivm: Use a faster (and less accurate) log2 in lod computation.José Fonseca2010-10-063-0/+53
|
* gallivm: Take the type signedness in consideration in round/ceil/floor.José Fonseca2010-10-061-48/+59
|
* pb: fix numDelayed accountingDave Airlie2010-10-051-0/+1
| | | | we weren't decreasing when removing from the list.
* pb: don't keep checking buffers after first busyDave Airlie2010-10-051-13/+19
| | | | | 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.
* draw: check for null sampler pointersBrian Paul2010-09-301-4/+6
| | | | http://bugs.freedesktop.org/show_bug.cgi?id=30516
* gallivm: added some commentsBrian Paul2010-09-302-8/+16
|
* Revert "Prefer intrinsics to handrolled atomic ops."Tom Fogal2010-09-301-2/+2
| | | | | This reverts commit 5f66b340aa49c6bc8d0acb2d1a6f8e9a7ef2cb2e, quickly fixing 30514.
* Prefer intrinsics to handrolled atomic ops.Tom Fogal2010-09-301-2/+2
|
* Implement x86_64 atomics for compilers w/o intrinsics.Tom Fogal2010-09-301-0/+47
| | | | | Really old gcc's (3.3, at least) don't have support for the intrinsics we need. This implements a fallback for that case.
* gallivm: check for level=0 case in lp_build_minify()Brian Paul2010-09-301-3/+10
| | | | This lets us avoid the shift and max() operations.
* gallivm: More comprehensive border usage logic.José Fonseca2010-09-303-29/+51
|
* gallium/util: remove duplicated includeNicolas Kaiser2010-09-301-2/+0
| | | | | | Remove duplicated include. Signed-off-by: Brian Paul <[email protected]>
* gallium/rtasm: remove duplicated includeNicolas Kaiser2010-09-301-1/+0
| | | | | | Remove duplicated include. Signed-off-by: Brian Paul <[email protected]>
* gallivm: Use SSE4.1's ROUNDSS/ROUNDSD for scalar rounding.José Fonseca2010-09-291-21/+71
|
* draw: pass sampler state down to llvm jit stateBrian Paul2010-09-293-0/+26
| | | | | | | Fixes a regression caused from the change to make min/max lod dynamic state. https://bugs.freedesktop.org/show_bug.cgi?id=30437
* llvmpipe: fix swizzling of texture border colorBrian Paul2010-09-271-2/+2
| | | | | | | | 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.
* ureg: support centroid interpolationLuca Barbieri2010-09-272-9/+31
|
* util/u_blitter: fix leakJoakim Sindholt2010-09-261-1/+1
|
* gallivm: fix repeat() function for NPOT texturesBrian Paul2010-09-252-10/+17
| | | | | 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.
* gallivm: Remove dead experimental code.José Fonseca2010-09-252-78/+46
|
* gallivm: Fetch the lod from the dynamic state when min_lod == max_lod.José Fonseca2010-09-252-5/+4
|
* draw: Fullfil the new min_lod/max_lod/lod_bias/border_color dynamic stateJosé Fonseca2010-09-253-0/+33
|
* gallivm: optimize yuv decodingRoland Scheidegger2010-09-251-9/+55
| | | | | | | | | | | 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.
* gallivm: don't use URem/UDiv when calculating offsets for blocksRoland Scheidegger2010-09-251-1/+11
| | | | | | | 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...
* gallivm: fix copy&paste bugRoland Scheidegger2010-09-251-1/+1
| | | | | looks like pot_depth should be used, not pot_height (found by accident, not verified)
* util: fix util_pack_color for B4G4R4A4Marek Olšák2010-09-251-1/+1
| | | | NOTE: This is a candidate for the 7.9 branch.
* llvmpipe: make texture border_color dynamic stateBrian Paul2010-09-243-25/+53
|
* llvmpipe: make min/max lod and lod bias dynamic stateBrian Paul2010-09-244-20/+37
| | | | | | 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.