nouveau_object_del(&screen->eng2d);
nouveau_object_del(&screen->m2mf);
nouveau_object_del(&screen->compute);
+ nouveau_object_del(&screen->nvsw);
nouveau_screen_fini(&screen->base);
screen->base.fence.emit = nvc0_screen_fence_emit;
screen->base.fence.update = nvc0_screen_fence_update;
+
+ ret = nouveau_object_new(chan,
+ (dev->chipset < 0xe0) ? 0x1f906e : 0x906e, 0x906e,
+ NULL, 0, &screen->nvsw);
+ if (ret)
+ FAIL_SCREEN_INIT("Error creating SW object: %d\n", ret);
+
+
switch (dev->chipset & ~0xf) {
case 0x100:
case 0xf0:
struct nouveau_object *eng2d;
struct nouveau_object *m2mf;
struct nouveau_object *compute;
+ struct nouveau_object *nvsw;
};
static INLINE struct nvc0_screen *