nouveau: rewrite nouveau_stateobj to use BEGIN_RING properly
[mesa.git] / src / gallium / drivers / nv20 / nv20_screen.c
index 4eeacd1afd56661debacfc33078fab2fa32cde13..d091335063b9ba668b73a012966b5f95764fcd84 100644 (file)
@@ -115,6 +115,9 @@ nv20_screen_destroy(struct pipe_screen *pscreen)
 
        nouveau_notifier_free(&screen->sync);
        nouveau_grobj_free(&screen->kelvin);
+       nv04_surface_2d_takedown(&screen->eng2d);
+
+       nouveau_screen_fini(&screen->base);
 
        FREE(pscreen);
 }
@@ -173,7 +176,6 @@ nv20_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev)
                NOUVEAU_ERR("Error creating 3D object: %d\n", ret);
                return FALSE;
        }
-       BIND_RING(chan, screen->kelvin, 7);
 
        /* 2D engine setup */
        screen->eng2d = nv04_surface_2d_init(&screen->base);