nouveau: remove chipset fields in all nv pipe driver context/screen structs.
authorBen Skeggs <skeggsb@gmail.com>
Tue, 13 May 2008 02:16:35 +0000 (12:16 +1000)
committerBen Skeggs <skeggsb@gmail.com>
Tue, 13 May 2008 02:16:35 +0000 (12:16 +1000)
16 files changed:
src/gallium/drivers/nouveau/nouveau_winsys.h
src/gallium/drivers/nv10/nv10_context.c
src/gallium/drivers/nv10/nv10_context.h
src/gallium/drivers/nv10/nv10_screen.c
src/gallium/drivers/nv10/nv10_screen.h
src/gallium/drivers/nv30/nv30_context.c
src/gallium/drivers/nv30/nv30_context.h
src/gallium/drivers/nv30/nv30_screen.c
src/gallium/drivers/nv30/nv30_screen.h
src/gallium/drivers/nv40/nv40_context.c
src/gallium/drivers/nv40/nv40_context.h
src/gallium/drivers/nv40/nv40_screen.c
src/gallium/drivers/nv40/nv40_screen.h
src/gallium/drivers/nv50/nv50_screen.c
src/gallium/drivers/nv50/nv50_screen.h
src/gallium/winsys/dri/nouveau/nouveau_winsys.c

index fbde7ad..07a41dc 100644 (file)
@@ -8,6 +8,7 @@
 #include "nouveau/nouveau_bo.h"
 #include "nouveau/nouveau_channel.h"
 #include "nouveau/nouveau_class.h"
+#include "nouveau/nouveau_device.h"
 #include "nouveau/nouveau_grobj.h"
 #include "nouveau/nouveau_notifier.h"
 #include "nouveau/nouveau_resource.h"
@@ -56,29 +57,25 @@ struct nouveau_winsys {
 };
 
 extern struct pipe_screen *
-nv10_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *,
-                  unsigned chipset);
+nv10_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *);
 
 extern struct pipe_context *
 nv10_create(struct pipe_screen *, unsigned pctx_id);
 
 extern struct pipe_screen *
-nv30_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *,
-                  unsigned chipset);
+nv30_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *);
 
 extern struct pipe_context *
 nv30_create(struct pipe_screen *, unsigned pctx_id);
 
 extern struct pipe_screen *
-nv40_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *,
-                  unsigned chipset);
+nv40_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *);
 
 extern struct pipe_context *
 nv40_create(struct pipe_screen *, unsigned pctx_id);
 
 extern struct pipe_screen *
-nv50_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *,
-                  unsigned chipset);
+nv50_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *);
 
 extern struct pipe_context *
 nv50_create(struct pipe_screen *, unsigned pctx_id);
index a25c082..79253f8 100644 (file)
@@ -264,7 +264,6 @@ nv10_create(struct pipe_screen *pscreen, unsigned pctx_id)
        struct nv10_screen *screen = nv10_screen(pscreen);
        struct pipe_winsys *ws = pscreen->winsys;
        struct nv10_context *nv10;
-       unsigned chipset = screen->chipset;
        struct nouveau_winsys *nvws = screen->nvws;
 
        nv10 = CALLOC(1, sizeof(struct nv10_context));
@@ -273,7 +272,6 @@ nv10_create(struct pipe_screen *pscreen, unsigned pctx_id)
        nv10->screen = screen;
        nv10->pctx_id = pctx_id;
 
-       nv10->chipset = chipset;
        nv10->nvws = nvws;
 
        nv10->pipe.winsys = ws;
index 1b794c1..433d04d 100644 (file)
@@ -43,8 +43,6 @@ struct nv10_context {
 
        struct draw_context *draw;
 
-       int chipset;
-
        uint32_t dirty;
 
        struct nv10_sampler_state *tex_sampler[PIPE_MAX_SAMPLERS];
index cf6b2fa..fad9605 100644 (file)
@@ -8,9 +8,10 @@ static const char *
 nv10_screen_get_name(struct pipe_screen *screen)
 {
        struct nv10_screen *nv10screen = nv10_screen(screen);
+       struct nouveau_device *dev = nv10screen->nvws->channel->device;
        static char buffer[128];
 
-       snprintf(buffer, sizeof(buffer), "NV%02X", nv10screen->chipset);
+       snprintf(buffer, sizeof(buffer), "NV%02X", dev->chipset);
        return buffer;
 }
 
@@ -129,16 +130,15 @@ nv10_screen_destroy(struct pipe_screen *pscreen)
 }
 
 struct pipe_screen *
-nv10_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws,
-                  unsigned chipset)
+nv10_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws)
 {
        struct nv10_screen *screen = CALLOC_STRUCT(nv10_screen);
        unsigned celsius_class;
+       unsigned chipset = nvws->channel->device->chipset;
        int ret;
 
        if (!screen)
                return NULL;
-       screen->chipset = chipset;
        screen->nvws = nvws;
 
        /* 3D object */
index 4192fe1..3f8750a 100644 (file)
@@ -7,7 +7,6 @@ struct nv10_screen {
        struct pipe_screen pipe;
 
        struct nouveau_winsys *nvws;
-       unsigned chipset;
 
        /* HW graphics objects */
        struct nouveau_grobj *celsius;
index 4b08929..7a2fee7 100644 (file)
@@ -44,7 +44,6 @@ nv30_create(struct pipe_screen *pscreen, unsigned pctx_id)
        struct nv30_screen *screen = nv30_screen(pscreen);
        struct pipe_winsys *ws = pscreen->winsys;
        struct nv30_context *nv30;
-       unsigned chipset = screen->chipset;
        struct nouveau_winsys *nvws = screen->nvws;
 
        nv30 = CALLOC(1, sizeof(struct nv30_context));
@@ -53,7 +52,6 @@ nv30_create(struct pipe_screen *pscreen, unsigned pctx_id)
        nv30->screen = screen;
        nv30->pctx_id = pctx_id;
 
-       nv30->chipset = chipset;
        nv30->nvws = nvws;
 
        nv30->pipe.winsys = ws;
index 1a01640..f49450f 100644 (file)
@@ -85,8 +85,6 @@ struct nv30_context {
 
        struct draw_context *draw;
 
-       int chipset;
-
        uint32_t dirty;
 
        struct nv30_sampler_state *tex_sampler[PIPE_MAX_SAMPLERS];
index 1de4507..9b0ac55 100644 (file)
@@ -12,9 +12,10 @@ static const char *
 nv30_screen_get_name(struct pipe_screen *pscreen)
 {
        struct nv30_screen *screen = nv30_screen(pscreen);
+       struct nouveau_device *dev = screen->nvws->channel->device;
        static char buffer[128];
 
-       snprintf(buffer, sizeof(buffer), "NV%02X", screen->chipset);
+       snprintf(buffer, sizeof(buffer), "NV%02X", dev->chipset);
        return buffer;
 }
 
@@ -140,17 +141,16 @@ nv30_screen_destroy(struct pipe_screen *pscreen)
 }
 
 struct pipe_screen *
-nv30_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws,
-                  unsigned chipset)
+nv30_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws)
 {
        struct nv30_screen *screen = CALLOC_STRUCT(nv30_screen);
        struct nouveau_stateobj *so;
        unsigned rankine_class = 0;
+       unsigned chipset = nvws->channel->device->chipset;
        int ret, i;
 
        if (!screen)
                return NULL;
-       screen->chipset = chipset;
        screen->nvws = nvws;
 
        /* 3D object */
index 56f8776..816ece9 100644 (file)
@@ -7,7 +7,6 @@ struct nv30_screen {
        struct pipe_screen pipe;
 
        struct nouveau_winsys *nvws;
-       unsigned chipset;
 
        /* HW graphics objects */
        struct nouveau_grobj *rankine;
index f9c93f7..d9d9acc 100644 (file)
@@ -38,7 +38,6 @@ nv40_create(struct pipe_screen *pscreen, unsigned pctx_id)
        struct nv40_screen *screen = nv40_screen(pscreen);
        struct pipe_winsys *ws = pscreen->winsys;
        struct nv40_context *nv40;
-       unsigned chipset = screen->chipset;
        struct nouveau_winsys *nvws = screen->nvws;
 
        nv40 = CALLOC(1, sizeof(struct nv40_context));
@@ -47,7 +46,6 @@ nv40_create(struct pipe_screen *pscreen, unsigned pctx_id)
        nv40->screen = screen;
        nv40->pctx_id = pctx_id;
 
-       nv40->chipset = chipset;
        nv40->nvws = nvws;
 
        nv40->pipe.winsys = ws;
index 24e8cd2..77b3da0 100644 (file)
@@ -111,8 +111,6 @@ struct nv40_context {
 
        struct draw_context *draw;
 
-       int chipset;
-
        /* HW state derived from pipe states */
        struct nv40_state state;
        struct {
index 7f68539..1bf0931 100644 (file)
@@ -12,9 +12,10 @@ static const char *
 nv40_screen_get_name(struct pipe_screen *pscreen)
 {
        struct nv40_screen *screen = nv40_screen(pscreen);
+       struct nouveau_device *dev = screen->nvws->channel->device;
        static char buffer[128];
 
-       snprintf(buffer, sizeof(buffer), "NV%02X", screen->chipset);
+       snprintf(buffer, sizeof(buffer), "NV%02X", dev->chipset);
        return buffer;
 }
 
@@ -149,17 +150,16 @@ nv40_screen_destroy(struct pipe_screen *pscreen)
 }
 
 struct pipe_screen *
-nv40_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws,
-                  unsigned chipset)
+nv40_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws)
 {
        struct nv40_screen *screen = CALLOC_STRUCT(nv40_screen);
        struct nouveau_stateobj *so;
        unsigned curie_class;
+       unsigned chipset = nvws->channel->device;
        int ret;
 
        if (!screen)
                return NULL;
-       screen->chipset = chipset;
        screen->nvws = nvws;
 
        /* 3D object */
index 3ea78aa..c04a127 100644 (file)
@@ -7,7 +7,6 @@ struct nv40_screen {
        struct pipe_screen pipe;
 
        struct nouveau_winsys *nvws;
-       unsigned chipset;
 
        unsigned cur_pctx;
 
index e4ca72c..d069639 100644 (file)
@@ -45,9 +45,10 @@ static const char *
 nv50_screen_get_name(struct pipe_screen *pscreen)
 {
        struct nv50_screen *screen = nv50_screen(pscreen);
+       struct nouveau_device *dev = screen->nvws->channel->device;
        static char buffer[128];
 
-       snprintf(buffer, sizeof(buffer), "NV%02X", screen->chipset);
+       snprintf(buffer, sizeof(buffer), "NV%02X", dev->chipset);
        return buffer;
 }
 
@@ -123,17 +124,16 @@ nv50_screen_destroy(struct pipe_screen *pscreen)
 }
 
 struct pipe_screen *
-nv50_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws,
-                  unsigned chipset)
+nv50_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws)
 {
        struct nv50_screen *screen = CALLOC_STRUCT(nv50_screen);
        struct nouveau_stateobj *so;
        unsigned tesla_class = 0, ret;
+       unsigned chipset = nvws->channel->device->chipset;
        int i;
 
        if (!screen)
                return NULL;
-       screen->chipset = chipset;
        screen->nvws = nvws;
 
        /* 3D object */
index 6e4120d..5a2732e 100644 (file)
@@ -7,7 +7,6 @@ struct nv50_screen {
        struct pipe_screen pipe;
 
        struct nouveau_winsys *nvws;
-       unsigned chipset;
 
        unsigned cur_pctx;
 
index 635fd47..5eabbc8 100644 (file)
@@ -91,8 +91,7 @@ nouveau_pipe_create(struct nouveau_context *nv)
        struct nouveau_channel_context *nvc = nv->nvc;
        struct nouveau_winsys *nvws = CALLOC_STRUCT(nouveau_winsys);
        struct pipe_screen *(*hws_create)(struct pipe_winsys *,
-                                         struct nouveau_winsys *,
-                                         unsigned chipset);
+                                         struct nouveau_winsys *);
        struct pipe_context *(*hw_create)(struct pipe_screen *, unsigned);
        struct pipe_winsys *ws;
        unsigned chipset = nv->nv_screen->device->chipset;
@@ -152,7 +151,7 @@ nouveau_pipe_create(struct nouveau_context *nv)
        ws = nouveau_create_pipe_winsys(nv);
 
        if (!nvc->pscreen)
-               nvc->pscreen = hws_create(ws, nvws, chipset);
+               nvc->pscreen = hws_create(ws, nvws);
        nvc->pctx[nv->pctx_id] = hw_create(nvc->pscreen, nv->pctx_id);
        return nvc->pctx[nv->pctx_id];
 }