nouveau: remove an unused table
[mesa.git] / src / mesa / drivers / dri / nouveau / nouveau_object.c
index cf7284d2d5496100e417b26ac729adee77dbd337..302009c8b170dba96ce5faba195d9538fd00f76e 100644 (file)
@@ -52,17 +52,32 @@ void nouveauObjectInit(nouveauContextPtr nmesa)
        return;
 #endif
 
-/* We need to know vram size.. */
+/* We need to know vram size.. and AGP size (and even if the card is AGP..) */
        nouveauCreateDmaObject( nmesa, NvDmaFB,
                                0, (256*1024*1024),
                                0 /*NV_DMA_TARGET_FB*/, 0 /*NV_DMA_ACCESS_RW*/);
+       nouveauCreateDmaObject( nmesa, NvDmaAGP,
+                               nmesa->agp_phys, (128*1024*1024),
+                               3 /* AGP */, 0 /* RW */);
 
        nouveauCreateContextObject(nmesa, Nv3D, nmesa->screen->card->class_3d,
                                   0, 0, 0, 0);
-       nouveauCreateContextObject(nmesa, NvCtxSurf2D, NV10_CONTEXT_SURFACES_2D,
+       if (nmesa->screen->card->type>=NV_10) {
+               nouveauCreateContextObject(nmesa, NvCtxSurf2D, NV10_CONTEXT_SURFACES_2D,
                                   0, 0, 0, 0);
-       nouveauCreateContextObject(nmesa, NvImageBlit, NV10_IMAGE_BLIT,
+               nouveauCreateContextObject(nmesa, NvImageBlit, NV10_IMAGE_BLIT,
                                   NV_DMA_CONTEXT_FLAGS_PATCH_SRCCOPY, 0, 0, 0);
+       } else {
+               nouveauCreateContextObject(nmesa, NvCtxSurf2D, NV04_CONTEXT_SURFACES_2D,
+                                  0, 0, 0, 0);
+               nouveauCreateContextObject(nmesa, NvCtxSurf3D, NV04_CONTEXT_SURFACES_3D,
+                                  0, 0, 0, 0);
+               nouveauCreateContextObject(nmesa, NvImageBlit, NV_IMAGE_BLIT,
+                                  NV_DMA_CONTEXT_FLAGS_PATCH_SRCCOPY, 0, 0, 0);
+       }
+       nouveauCreateContextObject(nmesa, NvMemFormat,
+                                  NV_MEMORY_TO_MEMORY_FORMAT,
+                                  0, 0, 0, 0);
 
 #ifdef ALLOW_MULTI_SUBCHANNEL
        nouveauObjectOnSubchannel(nmesa, NvSubCtxSurf2D, NvCtxSurf2D);
@@ -75,6 +90,8 @@ void nouveauObjectInit(nouveauContextPtr nmesa)
        OUT_RING(NvCtxSurf2D);
        BEGIN_RING_SIZE(NvSubImageBlit, NV10_IMAGE_BLIT_SET_OPERATION, 1);
        OUT_RING(3); /* SRCCOPY */
+
+       nouveauObjectOnSubchannel(nmesa, NvSubMemFormat, NvMemFormat);
 #endif
 
        nouveauObjectOnSubchannel(nmesa, NvSub3D, Nv3D);