Age | Commit message (Collapse) | Author |
|
it produces wrong results because it hasn't been adjusted to some
new changes and it will just be in the way while changing llvm
code to a different vector layout
|
|
These are changes that are in our internal branch, but somehow were skipped
so far. It was done using visual comparison of the branches --
it is likely that changes are being carried on the wrong way
|
|
|
|
We were doing this for the sake of softpipe and the tgsi intergrepter since
we always need the fragment position and W-coordinate information in order
to compute fragment interpolants.
But that's not appropriate for hardware drivers.
The tgsi interpreter now get x,y,w information from a separate tgsi_exec_vector
variable setup by softpipe.
The new pipe_shader_state->input_map[] defines how vert shader outputs map
to frag shader inputs. It may go away though, since one can also examine
the semantic label on frag shader input[0] to figure things out.
|
|
interpreter.
The tgsi linear/perspective attribute code now uses these values rather than
input[0]. Need to update SSE path to take quad x,y as function params.
Then, we can remove additional code.
|
|
simply pass aligned arrays, they should cast to vectors without
any problems. also remove unnecessary memset
|
|
|
|
The effect of this mapping can be acheived by the state tracker and
setting up the pipe texture state pointers to incorporate its affects.
|
|
|
|
Also, added softpipe_texture() cast wrapper.
|
|
pipe->get_tex_surface() has to be used for access to texture image data.
|
|
|
|
|
|
Remove some debugging output and try to make sure that
Mesa compiles when configured without LLVM
|
|
There's some weird rounding issue with COS that I can't figure
out.
|
|
|
|
Redo the entry points, get the output propagation correctly,
interpolate the inputs before feeding into llvm for now.
|
|
arguments that we need there.
|
|
|
|
fragment shaders through llvm.
|
|
Use FREE, MALLOC, CALLOC, GETENV wrappers.
Silence compiler warnings.
Add proper copyrights.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GLSL sampler variables indicate which texture unit to use for TEX instructions.
Previously, this was baked into the fragment/vertex program and couldn't be
readily changed once set.
Now, SamplerUnits[] array indicates which texture unit is to be used for
each sampler variable. These values are set with glUniform1i().
This is extra state that must be passed to the fragment/vertex program
executor at runtime.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Previously, output[0] was always Z and output[1] was color. Now output[0]
will be color if Z is not written.
In shade_quad() use the semantic info to determine which quantity is in
which output slot.
|
|
fragment shader writes Z.
|
|
|
|
|
|
Unfortunately, the generated fragment shader code is effectively unusable until
it handles quad->mask.
|
|
|
|
This, plus expanding all instructions ahead of time, seems to have improved
the performance of program execution by 8x or so.
|
|
|
|
|
|
|
|
In mesa_to_tgsi.c, use TGSI_INTERPOLATE_PERSPECTIVE by default (to match
post-transform vertex info convention). More to be done there...
In sp_quad_fs.c, interpolate W in addition to Z. This fixes the divide
by zero happening in perspective_interpolation() tgsi_exec.c
As it was, we were only getting perspective correction of texture coords
used by the TGSI_TEX instruction since it does a homogeneous divide.
Other coords/varyings were incorrect.
|
|
|
|
Converting depth and stencil objects into a single state object
(d3d10 like) and making it immutable.
|
|
|