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 fbde7adc6ad41916146d4f86e50db3c4437b0d2a..07a41dcf4a16b085922d365de9e56f78bc27723c 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 a25c082a5d14b59ec78e7605260e5b3035360ba0..79253f8a2b327beaf272cfe0ca9a374dad30921f 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 1b794c1872436e1895816fd0abab0b111b1b8d32..433d04dc2a8c7f452256b782e1b2d51480314d0a 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 cf6b2fac84eb95adf279cf280498257bc53b88ec..fad96058b8edb3ed749132617ee26aa9e3ccc039 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 4192fe11ef45b6812ad5afdee38f7a81a259ef09..3f8750a13f7fa4e1478c348d9ac82aa49fde280b 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 4b0892971ecadc1ec754662a0fa661d199bf5408..7a2fee78751c344fc81e7106f1f8081ae6857f89 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 1a016405e6267d9d647f40344b6959b9d4a5b384..f49450f82d9e21e81216ac6c4ef6c60989baafe9 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 1de4507904392ea204d494fd5d89dfd6ba996620..9b0ac55ff884662305308de018e750b236b3f5ef 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 56f8776a173fbdcbaf9131bc05136dc7821b11e3..816ece94c4aef0b5c009d37846086a21a157a3a9 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 f9c93f7a2d7c84d6a301f66714c0e3b3557a5024..d9d9accea8d61d77a91fd6ca22c07aa3c6b5101a 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 24e8cd233796c2b672ecb6111c3629c10fa1da2d..77b3da0ab91923240c3b0949288c6230392d7cc4 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 7f68539a85cf7ef50abb0598f090f09d9771213e..1bf0931e4d9d357f0c0a8d4097b02da8dd471247 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 3ea78aadfd9fd4ff5e69f2d4c1641e07ae325cb3..c04a1275a004c1f6ca3f6fb5a1ac0a46da96f9e6 100644 (file)
@@ -7,7 +7,6 @@ struct nv40_screen {
        struct pipe_screen pipe;
 
        struct nouveau_winsys *nvws;
-       unsigned chipset;
 
        unsigned cur_pctx;
 
index e4ca72c717123ecade6bbd5386cd4e063e86f574..d069639dc48f916002f6a73de06a1422c61d8cf0 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 6e4120d6693435308240ff309bb5a72ca6410097..5a2732e37f455ea90f7d6b18f2907fcd265db9a3 100644 (file)
@@ -7,7 +7,6 @@ struct nv50_screen {
        struct pipe_screen pipe;
 
        struct nouveau_winsys *nvws;
-       unsigned chipset;
 
        unsigned cur_pctx;
 
index 635fd478a9495f8302f4e6bef1c765006ad4a69b..5eabbc88939c93cb7035d9ff5a504a2060390fd3 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];
 }