Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | gallivm: fix incorrect clamp in lp_build_linear_mip_levels() | Brian Paul | 2010-03-15 | 1 | -1/+1 |
| | |||||
* | gallivm: fix incorrect floor(), itrunc() | Brian Paul | 2010-03-15 | 1 | -2/+5 |
| | | | | | | | | LLVMBuildFPTrunc() should be used for double->float conversion, not float->int conversion. There should be a better way to compute floor(), ceil(), etc that doesn't involve float->int->float conversion. | ||||
* | llvmpipe: Switch to PIPE_TEX_MIPFILTER_NONE when texture has no mipmaps. | José Fonseca | 2010-03-13 | 1 | -1/+5 |
| | |||||
* | gallivm: cube map sampling works now | Brian Paul | 2010-03-12 | 1 | -22/+154 |
| | |||||
* | gallivm: fix bugs in nested if/then/else codegen | Brian Paul | 2010-03-12 | 1 | -9/+17 |
| | | | | Quite a bit a hair pulling was involved... | ||||
* | gallivm: support non-vector float in lp_build_sgn() | Brian Paul | 2010-03-12 | 1 | -6/+21 |
| | |||||
* | gallivm: checkpoint WIP cubemap code | Brian Paul | 2010-03-11 | 1 | -1/+90 |
| | |||||
* | gallivm: added lp_build_sum_vector() | Brian Paul | 2010-03-11 | 2 | -0/+35 |
| | |||||
* | gallivm: enable 3D texture sampling | Brian Paul | 2010-03-11 | 1 | -0/+5 |
| | |||||
* | gallivm/llvmpipe: replace 'int stride' with 'int row_stride[MAX_LEVELS]' | Brian Paul | 2010-03-11 | 2 | -12/+44 |
| | | | | | | | 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. | ||||
* | gallivm/llvmpipe: include os_llvm.h instead of llvm-c/Core.h | Brian Paul | 2010-03-11 | 20 | -20/+20 |
| | |||||
* | gallivm: fix some bugs on the 1D texture paths | Brian Paul | 2010-03-11 | 1 | -8/+11 |
| | |||||
* | gallivm: include tgsi_dump.h to silence warning | Brian Paul | 2010-03-11 | 1 | -0/+1 |
| | |||||
* | gallivm: move declarations to silence unused var warnings | Brian Paul | 2010-03-11 | 1 | -2/+6 |
| | |||||
* | gallivm: Use bitmasks for scalar masks. | José Fonseca | 2010-03-11 | 1 | -4/+11 |
| | | | | | | | | | We could use single 1 bit conditions for scalar masks, but a lot of code expects masks. The compiler easily optimzes away masks extensions/truncations so consistency is preferable. We can revisit this when LLVM backends have more support for vector conditions. | ||||
* | gallivm: Handle scalar types in lp_build_*_type. | José Fonseca | 2010-03-11 | 1 | -2/+11 |
| | |||||
* | gallivm: overhaul of texture sampling code | Brian Paul | 2010-03-10 | 3 | -250/+420 |
| | | | | | | | | | The new lp_build_sample_general() function will handle all sampling modes for all texture types. Still incomplete, but a few additional sampling modes are now supported. 1D textures should work and most of the code for 3D textures is in place. No support for cube maps yet. No support for different min/mag filters. | ||||
* | gallivm: handle scalar floats in lp_build_floor() and lp_build_iround() | Brian Paul | 2010-03-10 | 1 | -0/+15 |
| | |||||
* | gallivm: constant building for scalar zero | Brian Paul | 2010-03-10 | 1 | -2/+10 |
| | |||||
* | gallivm: implement bilinear sampling with nearest mipmapping | Brian Paul | 2010-03-10 | 1 | -0/+79 |
| | | | | Time to start consolidating some code... | ||||
* | gallivm: remove debug code. nearest minification works now. | Brian Paul | 2010-03-10 | 1 | -6/+3 |
| | |||||
* | gallivm: simplify conditional branching | Jose Fonseca | 2010-03-10 | 1 | -21/+8 |
| | | | | | Instead of testing each component individually, we can test the entire vector at once. | ||||
* | gallivm: properly test the if condition and branch to the proper label | Zack Rusin | 2010-03-10 | 1 | -1/+3 |
| | | | | makes loops work | ||||
* | gallivm: implement loops | Zack Rusin | 2010-03-10 | 3 | -10/+153 |
| | |||||
* | llvmpipe: Finally found a way to do vector comparisons without using intrinsics. | José Fonseca | 2010-03-10 | 1 | -6/+26 |
| | | | | Only works well with LLVM >= 2.7 | ||||
* | gallivm: checkpoint: nearest mipmap filtering | Brian Paul | 2010-03-09 | 5 | -292/+601 |
| | | | | | | | | | The LOD is computed from texcoord partial derivatives and used to select a mipmap level. Still some bugs in texel fetching. Lots of rough edges and unfinished parts but the basics are in place. Lots of changes to the lp_bld_arit.c code to support non-vector/scalar datatypes. | ||||
* | llvmpipe/gallivm: checkpoint: array of pointers to mipmap levels | Brian Paul | 2010-03-08 | 3 | -27/+48 |
| | | | | | | | Change the texture data_ptr from just a single image pointer to an array of image pointers, indexed by mipmap level. We'll use this for mipmap filtering. For now, the mipmap level is hard-coded to zero. | ||||
* | gallivm: fix a crash by making sure we set the has_mask flag correctly | Zack Rusin | 2010-03-08 | 1 | -2/+1 |
| | |||||
* | Merge branch '7.8' | Brian Paul | 2010-03-08 | 1 | -0/+4 |
|\ | |||||
| * | gallivm: Initialize variables for default cases. | Vinson Lee | 2010-03-06 | 1 | -0/+4 |
| | | | | | | | | Fixes use of uninitialized variables in non-debug builds. | ||||
* | | gallivm: Add some notes about sampler static state construction. | José Fonseca | 2010-03-06 | 1 | -1/+17 |
| | | | | | | | | | | | | | | Recover some logic to make state canonical, although it is admittedly very shy compared with what could be done. We really need an helper module to make state canonical. | ||||
* | | gallivm: Answer question/comment. | José Fonseca | 2010-03-06 | 1 | -1/+11 |
| | | | | | | | | This reverts commit 71c05689528d7987bfb99c3afe04e456887bc7b7. | ||||
* | | gallivm: Add a placeholder for TGSI_FILE_PREDICATE registers. | José Fonseca | 2010-03-06 | 1 | -0/+5 |
| | | |||||
* | | gallivm: Generate valid IR for LLVM 2.7. | José Fonseca | 2010-03-06 | 1 | -1/+14 |
|/ | | | | | The signatures for pack intrinsics were made more consistent in this version. | ||||
* | gallivm: checkpoint: code gen for mipmap selection | Brian Paul | 2010-03-05 | 1 | -0/+65 |
| | |||||
* | gallivm: added methods for getting texture depth, num mipmap levels | Brian Paul | 2010-03-05 | 1 | -0/+12 |
| | |||||
* | gallivm: checkpoint: texture LOD computation code gen | Brian Paul | 2010-03-05 | 1 | -3/+126 |
| | |||||
* | gallivm: added field for sampler lod | Brian Paul | 2010-03-05 | 2 | -4/+6 |
| | |||||
* | gallivm: minor arithmetic improvements | Brian Paul | 2010-03-05 | 1 | -9/+12 |
| | |||||
* | gallivm: implement non-normalized texture wrap modes | Brian Paul | 2010-03-05 | 1 | -39/+68 |
| | | | | | Note that only the PIPE_TEX_WRAP_CLAMP,CLAMP_TO_EDGE,CLAMP_TO_BORDER modes work with non-normalized texcoords. | ||||
* | gallivm: implement texture border color, plus tweaks to some wrap modes | Brian Paul | 2010-03-04 | 1 | -23/+129 |
| | | | | | | | | | | | The progs/test/texwrap demo looks pretty good, but there are still some tiny differences from softpipe. There may be a sub-pixel texcoord interpolation error somewhere. There's some room for optimization. Many of the wrap modes compute intermediate values that are constant for the texture size (see the min/max values). These could be computed earlier and stored somewhere for later use. | ||||
* | gallivm: added texture border_color field | Brian Paul | 2010-03-04 | 2 | -0/+10 |
| | |||||
* | gallivm: added question/comment | Brian Paul | 2010-03-04 | 1 | -0/+1 |
| | |||||
* | gallivm: comments | Brian Paul | 2010-03-04 | 1 | -0/+5 |
| | |||||
* | gallivm: rework and implement more texture wrap modes | Brian Paul | 2010-03-04 | 1 | -60/+448 |
| | | | | | | | | | All the texture wrap modes are now implemented for linear and nearest sampling. However, texture border color is not yet supported so some wrap modes will produce int coords outside the texture bounds. We'll get garbage values insted of the texture border color for now. | ||||
* | gallivm: added lp_build_fract() | Brian Paul | 2010-03-04 | 2 | -0/+17 |
| | |||||
* | gallivm: added lp_build_set_sign() | Brian Paul | 2010-03-04 | 2 | -0/+39 |
| | |||||
* | gallivm: added lp_build_negate() | Brian Paul | 2010-03-04 | 2 | -0/+12 |
| | |||||
* | gallivm: clarify unsigned vs. signed integer type construction | Brian Paul | 2010-03-04 | 3 | -19/+43 |
| | | | | | | The lp_int_type() function was creating an unsigned type. So rename that function to lp_uint_type() and create new lp_int_type() that creates a signed type. | ||||
* | gallivm: Centralize initialization. Fix stack alignment issues on Windows. | José Fonseca | 2010-03-03 | 2 | -35/+20 |
| |