struct pipe_screen *pscreen;
pipe = nouveau_pipe_create(nv);
- if (!pipe)
+ if (!pipe) {
NOUVEAU_ERR("Couldn't create hw pipe\n");
+ return 1;
+ }
pscreen = nvc->pscreen;
nv->cap.hw_vertex_buffer =
nv->nv_screen->nvc = NULL;
}
}
-
+
/* XXX: Who cleans up the pipe? */
}
ws = nouveau_create_pipe_winsys(nv);
- if (!nvc->pscreen)
+ if (!nvc->pscreen) {
nvc->pscreen = hws_create(ws, nvws);
+ if (!nvc->pscreen) {
+ NOUVEAU_ERR("Couldn't create hw screen\n");
+ return NULL;
+ }
+ }
nvc->pctx[nv->pctx_id] = hw_create(nvc->pscreen, nv->pctx_id);
return nvc->pctx[nv->pctx_id];
}