Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-09-16 | gallivm: Start collecting bitwise arithmetic helpers in a new module. | José Fonseca | |
2010-09-16 | gallivm: make lp_build_sample_nop public | Keith Whitwell | |
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-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: Add a new debug flag to warn about performance issues. | José Fonseca | |
2010-08-30 | gallivm: Compute the 4 texel offsets for linear filtering en ensemble. | José Fonseca | |
2010-08-20 | gallium: make all checks for PIPE_TEXTURE_2D check for PIPE_TEXTURE_RECT too | Luca Barbieri | |
Searched for them with: git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D' Behavior hasn't been changed. | |||
2010-08-14 | gallivm: Remove unnecessary header. | Vinson Lee | |
2010-08-14 | u_cpu_detect: remove arch and little_endian | Luca Barbieri | |
This logic duplicates the one in p_config.h, so remove it and adjust the only two places that were using it. | |||
2010-08-11 | gallivm: Use lp_build_div instead of lp_build_mul + lp_build_rcp. | José Fonseca | |
Single divide, so let lp_build_div decide how to implement this. This will save a multiplication in architectures which don't have a RCP intrinsic. | |||
2010-08-11 | gallivm: Use unsigned shift in lp_build_minify. | José Fonseca | |
Texture dimensions are unsigned. | |||
2010-08-09 | gallivm: Always use floating-point operators for floating-point types | nobled | |
This fixes the assert added in LLVM 2.8: assert(getType()->isIntOrIntVectorTy() && "Tried to create an integer operation on a non-integer type!") But it also fixes some subtle bugs, since we should've been doing this since LLVM 2.6 anyway. Includes a modified patch from steckdenis@yahoo.fr for the FNeg instructions in emit_fetch(); thanks for pointing those out. http://bugs.freedesktop.org/29404 http://bugs.freedesktop.org/29407 Signed-off-by: José Fonseca <jfonseca@vmware.com> | |||
2010-07-07 | gallivm: restore const qualifier | Brian Paul | |
2010-07-07 | gallivm: fix cube map LOD computation | Brian Paul | |
First, this undoes commit e503af4baa2c709ae5743bb278b277d3faaba076 so we use iround() in lp_build_nearest_mip_level(). Second, in lp_build_sample_general() we need to check if we're sampling a cube map before anything else. Choose the cube face and then recompute the partial derivatives of (S,T) with respect to the chosen cube face. Before, we were using the directional (S,T,R) derivatives to compute the LOD. Third, work around an apparent bug in LLVM 2.7 where setting the lod variable to a const(0) value results in bad x86 code. See comments in the code. | |||
2010-07-06 | gallivm: use trunc, not round in lp_build_nearest_mip_level() | Brian Paul | |
Fixes fd.o bug 28036 (piglit fbo-cubemap.c regression) | |||
2010-07-02 | gallivm: Do 4ubyte AoS texture filtering for any format that can be expressed. | José Fonseca | |
Except if it has only one channel, as it would take the same number of instructions. | |||
2010-07-02 | gallivm: Move lp_build_rgba8_to_f32_soa() to lp_bld_format_soa.c | José Fonseca | |
It will be more useful here. | |||
2010-07-02 | gallivm: Move gather functions to its own module. | José Fonseca | |
They need to grow, and they provide basic functionality which is not specific to sampling. | |||
2010-06-02 | gallivm: Make lp_build_sample_wrap_int usage more accurate. | José Fonseca | |
Fixes mesa texwrap demo border with GL_CLAMP. | |||
2010-06-02 | gallivm: Don't use reciprocate in lp_build_sample_wrap_linear(). | José Fonseca | |
Always clamp the scaled coordinates. | |||
2010-06-02 | gallivm: Avoid fp arithmetic in lp_build_sample_wrap_nearest(). | José Fonseca | |
2010-06-02 | gallivm: Don't use lp_build_sample_wrap_nearest() | José Fonseca | |
Always clamp with scaled coordinates. | |||
2010-05-13 | llvmpipe: silence uninitialized var warnings | Brian Paul | |
2010-05-12 | gallivm: rename texel result param | Brian Paul | |
Be clear that this parameter returns four texel channel results. | |||
2010-05-08 | gallivm: Fix mipfiltering with negative lod bias. | José Fonseca | |
In particular, don't use the clamped lod to compute level + 1, or lod in [-1, 0] range will actually interpolate with level 1. This makes Mipfilter DCT pass 100%. | |||
2010-05-08 | gallivm: Centralize SoA swizzling into a single place. | José Fonseca | |
2010-05-04 | gallivm: Proper implementation of TXL opcode. | José Fonseca | |
2010-05-04 | gallivm: Fix several glitches introduced in the prev commit. | José Fonseca | |
2010-05-04 | gallivm: Implement TXD. | José Fonseca | |
2010-04-30 | llvmpipe: fix out-of-bounds texture sampling | Brian Paul | |
If we're using a wrap mode in which border color sampling is possible it means that texcoords may be outside of the texture image bounds. Fetching the texel may result in a segfault. Use the 'use_border' variable to catch such texcoords and replace the texel offset with zero (which will be in bounds). Fixes segfault in Lightsmark demo, fd.o bug 27877. | |||
2010-04-30 | llvmpipe: added lp_build_sample_nop() for debugging | Brian Paul | |
2010-04-29 | gallivm: add some assertions in special-case sampler code | Brian Paul | |
2010-04-26 | llvmpipe: Respect pipe_sampler_view::swizzle_r/g/b/a | José Fonseca | |
This allows u_sampler_view_default_dx9_template to do its magic on DX9. | |||
2010-04-24 | llvmpipe: Implement shader bias. | José Fonseca | |
Fixes glean glsl1 test: texture2D(), with bias. | |||
2010-04-19 | gallivm: pass 3D texture stride as an array | Brian Paul | |
This should have been included with the previous commit. | |||
2010-04-16 | gallivm: init some vars to silence warnings | Brian Paul | |
2010-04-16 | gallivm: remove some old stuff | Brian Paul | |
2010-04-06 | gallivm: Fallback to calling util_format_description::fetch_float for any ↵ | José Fonseca | |
format we can't code LLVM IR directly. | |||
2010-03-31 | util: Generalize lp_format_is_rgba8 into util_format_is_rgba8_variant. | José Fonseca | |
2010-03-15 | gallivm/llvmpipe: rename some constant building functions | Brian Paul | |
2010-03-15 | gallivm: add min_lod==max_lod special-case code in lp_build_lod_selector() | Brian Paul | |
When min_lod==max_lod we don't need to go through all the work of computing the lod from partial derivatives. This is hit by the mipmap generation utility code. | |||
2010-03-15 | gallivm: asst clean-ups, comments, etc. | Brian Paul | |
2010-03-15 | gallivm: implement minification/magnification selection | Brian Paul | |
Use the LOD value to determine whether to use the minification vs. magnification filter. All mipmap sampling modes work now. | |||
2010-03-15 | gallivm: fix incorrect clamp in lp_build_linear_mip_levels() | Brian Paul | |
2010-03-12 | gallivm: cube map sampling works now | Brian Paul | |
2010-03-11 | gallivm: checkpoint WIP cubemap code | Brian Paul | |
2010-03-11 | gallivm: enable 3D texture sampling | Brian Paul | |
2010-03-11 | gallivm/llvmpipe: replace 'int stride' with 'int row_stride[MAX_LEVELS]' | Brian Paul | |
The stride depends on the mipmap level. Rename to row_stride to distinguish from img_stride for 3D textures. Fixes incorrect texel addressing in small mipmap levels. | |||
2010-03-11 | gallivm: fix some bugs on the 1D texture paths | Brian Paul | |