diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/state_tracker/st_atom_stipple.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mesa/state_tracker/st_atom_stipple.c b/src/mesa/state_tracker/st_atom_stipple.c index a30215ff326..5f7bf82c0b4 100644 --- a/src/mesa/state_tracker/st_atom_stipple.c +++ b/src/mesa/state_tracker/st_atom_stipple.c @@ -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); } |