summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_pipe_wide_point.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-04-12 15:40:29 +1000
committerDave Airlie <airlied@redhat.com>2010-04-13 09:19:39 +1000
commit911fa4a4a16e7cb099107ecf79d9ed8f63139236 (patch)
tree7b4dd698720f703bf97574cf02ef576807c6b611 /src/gallium/auxiliary/draw/draw_pipe_wide_point.c
parent745c4b568573fd5353e0f790251af64098742b1a (diff)
ffvertex: don't touch tex coords if coord replace is enabled.
The fixed function vertex program shouldn't need to deal or touch tex coords if stuffing is enabled. Though I'm not 100% this won't break assumption made elsewhere it seems like the correct thing to do, and makes r300g point sprites a lot easier to implement. draw: fix point-sprite when vertex program is used. This commit regressed draw, so fix it as well to help bisection. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_pipe_wide_point.c')
-rw-r--r--src/gallium/auxiliary/draw/draw_pipe_wide_point.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pipe_wide_point.c b/src/gallium/auxiliary/draw/draw_pipe_wide_point.c
index fdabce7d44..6864b4015b 100644
--- a/src/gallium/auxiliary/draw/draw_pipe_wide_point.c
+++ b/src/gallium/auxiliary/draw/draw_pipe_wide_point.c
@@ -113,7 +113,10 @@ static void set_texcoords(const struct widepoint_stage *wide,
/* put gl_PointCoord into the extra vertex slot */
uint slot = wide->stage.draw->extra_shader_outputs.slot;
v->data[slot][0] = tc[0];
- v->data[slot][1] = tc[1];
+ if (wide->texcoord_mode == PIPE_SPRITE_COORD_LOWER_LEFT)
+ v->data[slot][1] = 1.0f - tc[1];
+ else
+ v->data[slot][1] = tc[1];
v->data[slot][2] = 0.0F;
v->data[slot][3] = 1.0F;
}