st/mesa: fix incorrect sprite origin when drawing to FBO/texture
Need to take the draw buffer's up/down orientation into consideration when setting the sprite_coord_mode field. Fixes inverted sprites when drawing into an FBO.
This commit is contained in:
@@ -192,7 +192,8 @@ static void update_raster_state( struct st_context *st )
|
||||
raster->point_sprite = ctx->Point.PointSprite;
|
||||
for (i = 0; i < MAX_TEXTURE_COORD_UNITS; i++) {
|
||||
if (ctx->Point.CoordReplace[i]) {
|
||||
if (ctx->Point.SpriteOrigin == GL_UPPER_LEFT)
|
||||
if ((ctx->Point.SpriteOrigin == GL_UPPER_LEFT) ^
|
||||
(st_fb_orientation(ctx->DrawBuffer) == Y_0_BOTTOM))
|
||||
raster->sprite_coord_mode[i] = PIPE_SPRITE_COORD_UPPER_LEFT;
|
||||
else
|
||||
raster->sprite_coord_mode[i] = PIPE_SPRITE_COORD_LOWER_LEFT;
|
||||
|
||||
Reference in New Issue
Block a user