Mesa (master): nv30: create uploader after pipe->screen is set

Ilia Mirkin imirkin at kemper.freedesktop.org
Sun Mar 19 05:25:01 UTC 2017


Module: Mesa
Branch: master
Commit: 663e7c25f5ea6a3933de804d47503e3569debc01
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=663e7c25f5ea6a3933de804d47503e3569debc01

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sun Mar 19 01:22:29 2017 -0400

nv30: create uploader after pipe->screen is set

Fixes crashes after recent upload rework.

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>

---

 src/gallium/drivers/nouveau/nv30/nv30_context.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/nouveau/nv30/nv30_context.c b/src/gallium/drivers/nouveau/nv30/nv30_context.c
index 716d2bbe4c..4c16e0c41d 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_context.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_context.c
@@ -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;
 




More information about the mesa-commit mailing list