diff options
author | Dave Airlie <[email protected]> | 2010-09-23 13:34:36 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2010-09-23 16:00:16 +1000 |
commit | 2f8453eea3b5ff8d2818517753d3990490f699b8 (patch) | |
tree | 54adba7cb140c6233c3f9f287656615718d7b6da /src/gallium/drivers/r600/r600_context.c | |
parent | c262c4a2ff1a19d0136771767ba63f04cf3b83e3 (diff) |
r600g: use blitter to do db->cb flushing.
use the blitter + custom stage to avoid doing a whole lot of state
setup by hand. This makes life a lot easier for doing this on evergreen
it also keeps all the state setup in one place.
We setup a custom context state at the start with a flag to denote
its for the flush, when it gets generated we generate the correct state
for the flush and no longer have to do it all by hand.
this should also make adding texture *to* depth easier.
Diffstat (limited to 'src/gallium/drivers/r600/r600_context.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_context.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_context.c b/src/gallium/drivers/r600/r600_context.c index 18ff7936899..b9abff9dc10 100644 --- a/src/gallium/drivers/r600/r600_context.c +++ b/src/gallium/drivers/r600/r600_context.c @@ -125,11 +125,12 @@ struct pipe_context *r600_create_context(struct pipe_screen *screen, void *priv) else rctx->vtbl = &r600_hw_state_vtbl; - r600_init_blit_functions(rctx); r600_init_query_functions(rctx); r600_init_state_functions(rctx); r600_init_context_resource_functions(rctx); + r600_init_blit_functions(rctx); + rctx->blitter = util_blitter_create(&rctx->context); if (rctx->blitter == NULL) { FREE(rctx); |