Age | Commit message (Collapse) | Author |
|
|
|
|
|
Q coordinate's coefficients also need to be multiplied by w, otherwise
it will have 1/w, causing problems with TXP.
|
|
Once a fragment is generated with LP_INTERP_PERSPECTIVE set for an input,
it will do a divide by w for that input. Therefore it's not OK to treat LP_INTERP_PERSPECTIVE as
LP_INTERP_LINEAR or vice-versa, even if the attribute is known to not
vary.
A better strategy would be to take the primitive in consideration when
generating the fragment shader key, and therefore avoid the per-fragment
perspective divide.
|
|
Remove duplicated include.
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
|
|
Normally the Mesa state tracker uses TXP instructions for texturing.
But if a fragment shader uses texture2D() that's a TEX instruction.
In that case we were incorrectly computing the texcoord coefficients
in the point sprite setup code. Some new comments in the code explain
things.
|
|
|
|
|
|
|
|
|
|
|
|
Also, move some state from rasterizer struct to the scene.
|
|
|
|
Point sprites now done in the rasterizer setup code instead of
going through the draw module.
|
|
A few subpixel_snap and fixed width changes.
Conflicts:
src/gallium/drivers/llvmpipe/lp_setup_point.c
|
|
Conflicts:
src/gallium/drivers/llvmpipe/lp_setup_context.h
src/gallium/drivers/llvmpipe/lp_setup_line.c
src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
|
Rasterize lines directly by treating them as 4-sided polygons.
Still need to check the exact pixel rasteration.
|
|
Otherwise IDEs and debuggers have trouble distinguishing from softpipe's
setup_context.
|
|
|