summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
AgeCommit message (Collapse)Author
2010-03-11gallivm: enable 3D texture samplingBrian Paul
2010-03-11gallivm/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-11gallivm: fix some bugs on the 1D texture pathsBrian Paul
2010-03-10gallivm: overhaul of texture sampling codeBrian Paul
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.
2010-03-10gallivm: implement bilinear sampling with nearest mipmappingBrian Paul
Time to start consolidating some code...
2010-03-10gallivm: remove debug code. nearest minification works now.Brian Paul
2010-03-09gallivm: checkpoint: nearest mipmap filteringBrian Paul
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.
2010-03-08llvmpipe/gallivm: checkpoint: array of pointers to mipmap levelsBrian Paul
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.
2010-03-06gallivm: Initialize variables for default cases.Vinson Lee
Fixes use of uninitialized variables in non-debug builds.
2010-03-05gallivm: checkpoint: code gen for mipmap selectionBrian Paul
2010-03-05gallivm: checkpoint: texture LOD computation code genBrian Paul
2010-03-05gallivm: minor arithmetic improvementsBrian Paul
2010-03-05gallivm: implement non-normalized texture wrap modesBrian Paul
Note that only the PIPE_TEX_WRAP_CLAMP,CLAMP_TO_EDGE,CLAMP_TO_BORDER modes work with non-normalized texcoords.
2010-03-04gallivm: implement texture border color, plus tweaks to some wrap modesBrian Paul
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.
2010-03-04gallivm: rework and implement more texture wrap modesBrian Paul
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.
2010-03-04gallivm: clarify unsigned vs. signed integer type constructionBrian Paul
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.
2010-02-14gallivm: s/debug_dump_/util_dump_/José Fonseca
2010-02-09gallium: Remove prefilter member from pipe_sampler_state struct.Michal Krol
2010-02-08llvmpipe: export the tgsi translation code to a common layerZack Rusin
the llvmpipe tgsi translation is a lot more complete than what was in gallivm so replacing the latter with the former. this is needed since the draw llvm paths will use the same code. effectively the proven llvmpipe code becomes gallivm.