Age | Commit message (Collapse) | Author |
|
Searched for them with:
git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D'
Behavior hasn't been changed.
|
|
|
|
This logic duplicates the one in p_config.h, so remove it and adjust
the only two places that were using it.
|
|
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.
|
|
Texture dimensions are unsigned.
|
|
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>
|
|
|
|
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.
|
|
Fixes fd.o bug 28036 (piglit fbo-cubemap.c regression)
|
|
Except if it has only one channel, as it would take the same number of
instructions.
|
|
It will be more useful here.
|
|
They need to grow, and they provide basic functionality which is not
specific to sampling.
|
|
Fixes mesa texwrap demo border with GL_CLAMP.
|
|
Always clamp the scaled coordinates.
|
|
|
|
Always clamp with scaled coordinates.
|
|
|
|
Be clear that this parameter returns four texel channel results.
|
|
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%.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
This allows u_sampler_view_default_dx9_template to do its magic on DX9.
|
|
Fixes glean glsl1 test: texture2D(), with bias.
|
|
This should have been included with the previous commit.
|
|
|
|
|
|
format we can't code LLVM IR directly.
|
|
|
|
|
|
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.
|
|
|
|
Use the LOD value to determine whether to use the minification vs.
magnification filter.
All mipmap sampling modes work now.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
Time to start consolidating some code...
|
|
|
|
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.
|
|
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.
|
|
Fixes use of uninitialized variables in non-debug builds.
|
|
|