Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-10-08 | gallivm: Use the wrappers for SSE pack intrinsics. | José Fonseca | |
Fixes assertion failures on LLVM 2.6. | |||
2010-10-08 | gallivm: special case conversion 4x4f to 1x16ub | Keith Whitwell | |
Nice reduction in the number of operations required for final color output in many shaders. | |||
2010-10-08 | gallivm: Implement brilinear filtering. | José Fonseca | |
2010-10-08 | gallivm: Fix copy'n'paste typo in previous commit. | José Fonseca | |
2010-10-08 | gallivm: Clamp mipmap level and zero mip weight simultaneously. | José Fonseca | |
2010-10-08 | gallivm: Use lp_build_ifloor_fract for lod computation. | José Fonseca | |
Forgot this one before. | |||
2010-10-08 | gallivm: Don't compute the second mipmap level when frac(lod) == 0 | José Fonseca | |
2010-10-08 | gallivm: Simplify lp_build_mipmap_level_sizes' interface. | José Fonseca | |
2010-10-08 | gallivm: Do not do mipfiltering when magnifying. | José Fonseca | |
If lod < 0, then invariably follows that ilevel0 == ilevel1 == 0. | |||
2010-10-07 | gallivm: Vectorize the rho computation. | José Fonseca | |
2010-10-06 | gallivm: Compute lod as integer whenever possible. | José Fonseca | |
More accurate/faster results for PIPE_TEX_MIPFILTER_NEAREST. Less FP <-> SI conversion overall. | |||
2010-10-06 | gallivm: Only apply min/max_lod when necessary. | José Fonseca | |
2010-10-06 | gallivm: don't apply zero lod_bias | Keith Whitwell | |
2010-10-06 | gallivm: Combined ifloor & fract helper. | José Fonseca | |
The only way to ensure we don't do redundant FP <-> SI conversions. | |||
2010-10-06 | gallivm: Fast implementation of iround(log2(x)) | José Fonseca | |
Not tested yet, but should be correct. | |||
2010-10-06 | gallivm: Use a faster (and less accurate) log2 in lod computation. | José Fonseca | |
2010-10-06 | gallivm: Take the type signedness in consideration in round/ceil/floor. | José Fonseca | |
2010-09-30 | gallivm: added some comments | Brian Paul | |
2010-09-30 | gallivm: check for level=0 case in lp_build_minify() | Brian Paul | |
This lets us avoid the shift and max() operations. | |||
2010-09-30 | gallivm: More comprehensive border usage logic. | José Fonseca | |
2010-09-29 | gallivm: Use SSE4.1's ROUNDSS/ROUNDSD for scalar rounding. | José Fonseca | |
2010-09-27 | llvmpipe: fix swizzling of texture border color | Brian 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-25 | gallivm: fix repeat() function for NPOT textures | Brian 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-25 | gallivm: Remove dead experimental code. | José Fonseca | |
2010-09-25 | gallivm: Fetch the lod from the dynamic state when min_lod == max_lod. | José Fonseca | |
2010-09-25 | gallivm: optimize yuv decoding | Roland 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-25 | gallivm: don't use URem/UDiv when calculating offsets for blocks | Roland 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-25 | gallivm: fix copy&paste bug | Roland Scheidegger | |
looks like pot_depth should be used, not pot_height (found by accident, not verified) | |||
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 | gallivm: 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-21 | gallivm: 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-20 | gallivm: remove debug code | Brian Paul | |
2010-09-17 | gallivm: added missing case for PIPE_TEXTURE_RECT | Brian Paul | |
Fixes fd.o bug 30245 | |||
2010-09-16 | gallivm: Remove unnecessary header. | Vinson Lee | |
2010-09-16 | gallivm: fix wrong return value in bitwise functions | Brian Paul | |
2010-09-16 | gallivm: Clamp indirect register indices to file_max. | José Fonseca | |
Prevents crashes with bogus data, or bad shader translation. | |||
2010-09-16 | gallivm: Start collecting bitwise arithmetic helpers in a new module. | José Fonseca | |
2010-09-16 | gallivm: Fix address register swizzle. | José Fonseca | |
We're actually doing a double swizzling: indirect_reg->Swizzle[indirect_reg->SwizzleX] instead of simply indirect_reg->SwizzleX | |||
2010-09-16 | gallivm: make lp_build_sample_nop public | Keith Whitwell | |
2010-09-16 | gallivm: move i32_vec_type inside the #ifdef | Brian Paul | |
2010-09-16 | gallivm: fix incorrect vector shuffle datatype | Brian Paul | |
The permutation vector must always be a vector of int32 values. | |||
2010-09-15 | gallivm: Remove unnecessary headers. | Vinson Lee | |
2010-09-15 | gallivm: expand AoS sampling to cover all filtering modes | Brian Paul | |
...and all texture targets (1D/2D/3D/CUBE). | |||
2010-09-14 | gallivm: Remove unnecessary header. | Vinson Lee | |
2010-09-11 | gallivm: nr_channels is only valid for formats with plain layout. | José Fonseca | |
This is erroneously throwing non plain formats out of the faster AoS sampling path. Doing 8bit interpolation for single channels such as L8 should be no worse than with floating point. But this may need more investigation. | |||
2010-09-11 | gallivm: Use const keyword on swizzles. | José Fonseca | |
2010-09-11 | gallivm: Allow to TGSI AoS translation to happen in BGRA ordering. | José Fonseca | |
Or any ordering. | |||
2010-09-11 | gallivm: Add a new debug flag to warn about performance issues. | José Fonseca | |
2010-09-11 | gallivm: Helper functions for pointer indirection. | José Fonseca | |