diff options
author | José Fonseca <jfonseca@vmware.com> | 2009-08-22 23:01:58 +0100 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2009-08-29 09:21:41 +0100 |
commit | 4d2b0eb19e432f83845a55d552b5d1d61f040459 (patch) | |
tree | 49fb4d99fe5d5ad286a72c351f19625ca19690c9 /src/gallium/drivers/llvmpipe/lp_state_surface.c | |
parent | 77b35dc179473afbbd8c709c9f32c0f537c90776 (diff) |
llvmpipe: Squash the quad pipeline.
It had been reduced to one fixed stage.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_state_surface.c')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_state_surface.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_state_surface.c b/src/gallium/drivers/llvmpipe/lp_state_surface.c index 00c61c47ef..177a26b7b1 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_surface.c +++ b/src/gallium/drivers/llvmpipe/lp_state_surface.c @@ -67,6 +67,19 @@ llvmpipe_set_framebuffer_state(struct pipe_context *pipe, /* zbuf changing? */ if (lp->framebuffer.zsbuf != fb->zsbuf) { + + if(lp->zsbuf_transfer) { + struct pipe_screen *screen = pipe->screen; + + if(lp->zsbuf_map) { + screen->transfer_unmap(screen, lp->zsbuf_transfer); + lp->zsbuf_map = NULL; + } + + screen->tex_transfer_destroy(lp->zsbuf_transfer); + lp->zsbuf_transfer = NULL; + } + /* assign new */ lp->framebuffer.zsbuf = fb->zsbuf; |