draw: corrections to allow for different cliptest cases
[mesa.git] / src / gallium / drivers / r600 / r600_context.c
index 18ff79368991d0ccb49c5fcfd430ca08f63e8382..091751e93a910fbfa27c234d15e16378048685c5 100644 (file)
@@ -57,6 +57,8 @@ static void r600_destroy_context(struct pipe_context *context)
        free(rctx->vs_constant);
        free(rctx->vs_resource);
 
+       util_blitter_destroy(rctx->blitter);
+
        u_upload_destroy(rctx->upload_vb);
        u_upload_destroy(rctx->upload_ib);
 
@@ -69,7 +71,7 @@ void r600_flush(struct pipe_context *ctx, unsigned flags,
 {
        struct r600_context *rctx = r600_context(ctx);
        struct r600_query *rquery = NULL;
-#if 1
+#if 0
        static int dc = 0;
        char dname[256];
 #endif
@@ -125,11 +127,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);
@@ -167,6 +170,7 @@ struct pipe_context *r600_create_context(struct pipe_screen *screen, void *priv)
 
        rctx->ctx = radeon_ctx_init(rscreen->rw);
        radeon_draw_init(&rctx->draw, rscreen->rw);
+       r600_blit_uncompress_depth_ptr = r600_blit_uncompress_depth;
        return &rctx->context;
  out_free:
        FREE(rctx);