nv30: create uploader after pipe->screen is set

Fixes crashes after recent upload rework.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
Ilia Mirkin
2017-03-19 01:22:29 -04:00
parent 0e9232dbcc
commit 663e7c25f5
@@ -209,6 +209,12 @@ nv30_context_create(struct pipe_screen *pscreen, void *priv, unsigned ctxflags)
nv30->base.screen = &screen->base;
nv30->base.copy_data = nv30_transfer_copy_data;
pipe = &nv30->base.pipe;
pipe->screen = pscreen;
pipe->priv = priv;
pipe->destroy = nv30_context_destroy;
pipe->flush = nv30_context_flush;
nv30->base.pipe.stream_uploader = u_upload_create_default(&nv30->base.pipe);
if (!nv30->base.pipe.stream_uploader) {
nv30_context_destroy(pipe);
@@ -216,12 +222,6 @@ nv30_context_create(struct pipe_screen *pscreen, void *priv, unsigned ctxflags)
}
nv30->base.pipe.const_uploader = nv30->base.pipe.stream_uploader;
pipe = &nv30->base.pipe;
pipe->screen = pscreen;
pipe->priv = priv;
pipe->destroy = nv30_context_destroy;
pipe->flush = nv30_context_flush;
/*XXX: *cough* per-context client */
nv30->base.client = screen->base.client;