summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_blit.c
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2010-05-19 18:46:45 +0200
committerJerome Glisse <jglisse@redhat.com>2010-05-27 23:24:22 +0200
commit9e8a6f801d360f85cc7bb53b85f15129b07b26da (patch)
tree12d5d3bd39ece8e88fa4016bfe815e09607583ff /src/gallium/drivers/r600/r600_blit.c
parente68b4e50536b3438a3bb8c3d12acebc6845461a8 (diff)
r600g: various fixes
- enabled flushing a buffer more than once - enabled the blitter for r600_clear - added some more colors to r600_is_format_supported (copied from r600_conv_pipe_format) - r600_set_framebuffer_state now sets rctx->fb_state - more states are saved before a blit (had to add some accounting for the viewport and the vertex elements state) - fixed a few errors with reference counting
Diffstat (limited to 'src/gallium/drivers/r600/r600_blit.c')
-rw-r--r--src/gallium/drivers/r600/r600_blit.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/r600/r600_blit.c b/src/gallium/drivers/r600/r600_blit.c
index 88b865ef9a..e92e928105 100644
--- a/src/gallium/drivers/r600/r600_blit.c
+++ b/src/gallium/drivers/r600/r600_blit.c
@@ -47,6 +47,10 @@ static void r600_blitter_save_states(struct pipe_context *ctx)
rctx->ps_shader);
util_blitter_save_vertex_shader(rctx->blitter,
rctx->vs_shader);
+ util_blitter_save_vertex_elements(rctx->blitter,
+ rctx->vertex_elements);
+ util_blitter_save_viewport(rctx->blitter,
+ rctx->viewport);
}
void r600_clear(struct pipe_context *ctx, unsigned buffers,
@@ -55,12 +59,10 @@ void r600_clear(struct pipe_context *ctx, unsigned buffers,
struct r600_context *rctx = (struct r600_context*)ctx;
struct pipe_framebuffer_state *fb = &rctx->fb_state;
-#if 0
r600_blitter_save_states(ctx);
util_blitter_clear(rctx->blitter, fb->width, fb->height,
fb->nr_cbufs, buffers, rgba, depth,
stencil);
-#endif
}
void r600_surface_copy(struct pipe_context *ctx,