Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
I'd like to see the help when I request it.
|
|
Fixes fd.o bug 28036 (piglit fbo-cubemap.c regression)
|
|
Plus fix minor error in lp_build_iceil() by tweaking the offset value.
And add a bunch of comments for the round(), trunc(), floor(), ceil()
functions.
|
|
softpipe doesn't implement the draw's llvm tex sampling interface
so make sure draw can handle the cases where the driver doesn't
implement the interface
|
|
|
|
|
|
|
|
|
|
|
|
Except if it has only one channel, as it would take the same number of
instructions.
|
|
|
|
Not always implemented, but useful in situations where we want 8unorms
and the samples comes as 8unorms as we needlessly convert to/from
floats.
|
|
This allows to do the unpacking of formats that fit in 4 x unorm8 in
parallel, 4 pixels at a time.
|
|
It will be more useful here.
|
|
They need to grow, and they provide basic functionality which is not
specific to sampling.
|
|
|
|
|
|
Not all drivers implement this method.
Fixes regression reported by Chris Rankin and bug 28889.
|
|
|
|
Also fix the test.
|
|
before this change, r600 glxinfo segfaulted in the list code, and I wasn't
debugging another linked list implementation, its 2010 after all.
So add the two missing list macros to the gallium header from X.org list header file (after fixing them), then port all r600 lists to the new header.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
Uses code and ideas from Brian Paul.
|
|
Allow for example to convert from 4 x float32 to 4 x unorm8 and vice versa.
Uses code and ideas from Brian Paul.
|
|
And rename to lp_build_swizzle_aos().
|
|
Modules are still free to setup their own optimization passes, but for the
normal case it should not be necessary.
|
|
Unnecessary special case.
|
|
|
|
Otherwise gcc will warn about unusued functions.
|
|
Ooops. This should possibly fix some bugs...
|
|
|
|
Conflicts:
src/gallium/state_trackers/egl/x11/native_dri2.c
src/gallium/state_trackers/egl/x11/native_x11.c
src/gallium/state_trackers/egl/x11/native_x11.h
src/gallium/state_trackers/xorg/xorg_driver.c
src/gallium/winsys/radeon/drm/radeon_drm.c
|
|
|
|
|
|
|
|
|
|
|
|
we used to create and cache unltimited number of variant, this
change limits the number of variants kept around to a fixed number.
the change is based on a similar patch by Roland for llvmpipe fragment
shaders.
|
|
|
|
The conditionals aren't needed.
|
|
SSE vertex shader does not seem to honor the execution mask. Pad the
output array as a workaround.
|
|
|
|
|
|
|
|
We were previously calculating a value which was either the geometry
shader output primitive or the application's input primitive, and
passing that to the various front/middle/back components for use as
the ultimate rendering primtive.
Unfortunately, this was not correct -- if the vcache decomposition
path is active and geometry shaders are *not* active, we can end up
with a third primitive -- specifically the decomposed version of the
input primitive.
Rather than trying to precalculate this, just let the individual
components inform their successors about which primitive type they are
recieving.
|
|
Any elt may potentially have flags bits set so mask off those bits
everywhere.
Fixes crashes with demos/gamma.c, redbook/polys.c, etc. but polygon
stippling is still broken.
|
|
|