Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
allows application to not only request the frequency of the TIME_ELAPSED
clock but also to detect if that frequency was consistent throughout the
entire bracketed range of graphics commands.
|
|
like normal temporaries, but allows to define a number of distinct
arrays, all of which make it explicit that they contain /indexable/
registers.
as a side-effect we're adding support for multi-dimensional destination
registers.
The whole thing looks like this:
DCL TEMPX[0][0..128] # 0 array with 128 registers
ADD TEMPX[0][0], IN[0], IMM[0]
ADD TEMPX[0][1], IN[0], IMM[0]
ABS OUT[0], TEMPX[0][TEMP[0]]
|
|
allows one to specify a safe (bound checked) array
filled with immediates. it works just like a const
array and declares much like our current immediates.
|
|
|