diff options
author | Rob Clark <[email protected]> | 2013-05-14 20:05:55 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2013-05-23 14:35:21 -0400 |
commit | 95670bdee2f51196c1f34871a23faae1348d4b60 (patch) | |
tree | 3679af2616d3733853a178c2ffa82a750f8fa1fd /src/gallium/drivers | |
parent | 97fa811d1481ecbec30634eaaa7d13b8e35b2ae4 (diff) |
freedreno: scissor fix
Don't assume the state-tracker will set the scissor after the
framebuffer state is changed.
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/freedreno/freedreno_state.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_state.c b/src/gallium/drivers/freedreno/freedreno_state.c index dcac6244a33..ce9a522c6ab 100644 --- a/src/gallium/drivers/freedreno/freedreno_state.c +++ b/src/gallium/drivers/freedreno/freedreno_state.c @@ -135,6 +135,17 @@ fd_set_framebuffer_state(struct pipe_context *pctx, pipe_surface_reference(&cso->zsbuf, framebuffer->zsbuf); ctx->dirty |= FD_DIRTY_FRAMEBUFFER; + + /* also need to reset the scissor.. mesa/gl state tracker + * does this for us, but u_blitter doesn't and other + * state trackers might not.. + */ + ctx->scissor.minx = 0; + ctx->scissor.miny = 0; + ctx->scissor.maxx = cso->width; + ctx->scissor.maxy = cso->height; + + ctx->dirty |= FD_DIRTY_SCISSOR; } static void |