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

Author: Victor Stinner <[email protected]>
Date:   Fri Mar  6 14:03:15 2009 +0100

Fix nv50_screen_create()

Setup screen->pipe before using it (screen->constbuf =
screen->pipe.buffer_create(...))

---

 src/gallium/drivers/nv50/nv50_screen.c |   35 ++++++++++++++++---------------
 1 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_screen.c 
b/src/gallium/drivers/nv50/nv50_screen.c
index bbfe42e..9bf5e8c 100644
--- a/src/gallium/drivers/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nv50/nv50_screen.c
@@ -124,9 +124,9 @@ nv50_screen_get_param(struct pipe_screen *pscreen, int 
param)
                return 1;
        case PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS:
                return 0;
-       case NOUVEAU_CAP_HW_VTXBUF:     
+       case NOUVEAU_CAP_HW_VTXBUF:
                return 1;
-       case NOUVEAU_CAP_HW_IDXBUF:     
+       case NOUVEAU_CAP_HW_IDXBUF:
                return 0;
        default:
                NOUVEAU_ERR("Unknown PIPE_CAP %d\n", param);
@@ -234,6 +234,22 @@ nv50_screen_create(struct pipe_winsys *ws, struct 
nouveau_winsys *nvws)
                return NULL;
        }
 
+        /* Setup the pipe */
+       screen->pipe.winsys = ws;
+
+       screen->pipe.destroy = nv50_screen_destroy;
+
+       screen->pipe.get_name = nv50_screen_get_name;
+       screen->pipe.get_vendor = nv50_screen_get_vendor;
+       screen->pipe.get_param = nv50_screen_get_param;
+       screen->pipe.get_paramf = nv50_screen_get_paramf;
+
+       screen->pipe.is_format_supported = nv50_screen_is_format_supported;
+
+       nv50_screen_init_miptree_functions(&screen->pipe);
+       nv50_transfer_init_screen_functions(&screen->pipe);
+       u_simple_screen_init(&screen->pipe);
+
        /* Static M2MF init */
        so = so_new(32, 0);
        so_method(so, screen->m2mf, 0x0180, 3);
@@ -353,21 +369,6 @@ nv50_screen_create(struct pipe_winsys *ws, struct 
nouveau_winsys *nvws)
        so_ref(so, &screen->static_init);
        nvws->push_flush(nvws, 0, NULL);
 
-       screen->pipe.winsys = ws;
-
-       screen->pipe.destroy = nv50_screen_destroy;
-
-       screen->pipe.get_name = nv50_screen_get_name;
-       screen->pipe.get_vendor = nv50_screen_get_vendor;
-       screen->pipe.get_param = nv50_screen_get_param;
-       screen->pipe.get_paramf = nv50_screen_get_paramf;
-
-       screen->pipe.is_format_supported = nv50_screen_is_format_supported;
-
-       nv50_screen_init_miptree_functions(&screen->pipe);
-       nv50_transfer_init_screen_functions(&screen->pipe);
-       u_simple_screen_init(&screen->pipe);
-
        return &screen->pipe;
 }
 

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to