st/mesa: only flip stipple pattern for winsys fbo's
Gallium is completely oblivious to whether the fbo is flipped or not. Only flip the stipple pattern when the fbo is flipped as well. Otherwise the driver has no idea when to unflip the pattern. Fixes bin/gl-2.1-polygon-stipple-fs -fbo Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Brian Paul <brianp@vmware.com> Tested-by: Brian Paul <brianp@vmware.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
@@ -61,7 +61,7 @@ invert_stipple(GLuint dest[32], const GLuint src[32], GLuint winHeight)
|
||||
|
||||
|
||||
|
||||
static void
|
||||
static void
|
||||
update_stipple( struct st_context *st )
|
||||
{
|
||||
const struct gl_context *ctx = st->ctx;
|
||||
@@ -74,8 +74,12 @@ update_stipple( struct st_context *st )
|
||||
|
||||
memcpy(st->state.poly_stipple, ctx->PolygonStipple, sz);
|
||||
|
||||
invert_stipple(newStipple.stipple, ctx->PolygonStipple,
|
||||
ctx->DrawBuffer->Height);
|
||||
if (_mesa_is_user_fbo(ctx->DrawBuffer)) {
|
||||
memcpy(newStipple.stipple, ctx->PolygonStipple, sizeof(newStipple.stipple));
|
||||
} else {
|
||||
invert_stipple(newStipple.stipple, ctx->PolygonStipple,
|
||||
ctx->DrawBuffer->Height);
|
||||
}
|
||||
|
||||
st->pipe->set_polygon_stipple(st->pipe, &newStipple);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user