NV_17 is different from NV_10
authorPatrice Mandin <pmandin@caramail.com>
Fri, 6 Jul 2007 21:59:29 +0000 (23:59 +0200)
committerPatrice Mandin <pmandin@caramail.com>
Fri, 6 Jul 2007 21:59:29 +0000 (23:59 +0200)
src/mesa/drivers/dri/nouveau/nouveau_context.c
src/mesa/drivers/dri/nouveau/nouveau_state.c
src/mesa/drivers/dri/nouveau/nv10_swtcl.c

index d96b00242cd3be6ef3cc171abd2a98e80a74149d..319c0481bd474b1487662e11e29f2d53d6d37a25 100644 (file)
@@ -224,6 +224,7 @@ GLboolean nouveauCreateContext( const __GLcontextModes *glVisual,
                        nv04TriInitFunctions( ctx );
                        break;
                case NV_10:
+               case NV_17:
                case NV_20:
                case NV_30:
                case NV_40:
index 7cb805902a7553708aae3e217e530743f94444f0..41fdd2d377a9a3f7be0d134b7dc67905f3619a20 100644 (file)
@@ -162,6 +162,7 @@ void nouveauDDInitState(nouveauContextPtr nmesa)
             nv04InitStateFuncs(nmesa->glCtx, &nmesa->glCtx->Driver);
             break;
         case NV_10:
+        case NV_17:
             nv10InitStateFuncs(nmesa->glCtx, &nmesa->glCtx->Driver);
             break;
         case NV_20:
index 4576c1ede4d1273184b8fe25f8621fe8a5634660..586e0b9d594e2f59d972b3322c65aa68b47fe017 100644 (file)
@@ -58,7 +58,7 @@ static void nv10ResetLineStipple( GLcontext *ctx );
 
 static inline void nv10StartPrimitive(struct nouveau_context* nmesa,uint32_t primitive,uint32_t size)
 {
-       if (nmesa->screen->card->type==NV_10)
+       if ((nmesa->screen->card->type==NV_10) || (nmesa->screen->card->type==NV_17))
                BEGIN_RING_SIZE(NvSub3D,NV10_TCL_PRIMITIVE_3D_BEGIN_END,1);
        else if (nmesa->screen->card->type==NV_20)
                BEGIN_RING_SIZE(NvSub3D,NV20_TCL_PRIMITIVE_3D_BEGIN_END,1);
@@ -66,7 +66,7 @@ static inline void nv10StartPrimitive(struct nouveau_context* nmesa,uint32_t pri
                BEGIN_RING_SIZE(NvSub3D,NV30_TCL_PRIMITIVE_3D_BEGIN_END,1);
        OUT_RING(primitive);
 
-       if (nmesa->screen->card->type==NV_10)
+       if ((nmesa->screen->card->type==NV_10) || (nmesa->screen->card->type==NV_17))
                BEGIN_RING_SIZE(NvSub3D,NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_DATA|NONINC_METHOD,size);
        else if (nmesa->screen->card->type==NV_20)
                BEGIN_RING_SIZE(NvSub3D,NV20_TCL_PRIMITIVE_3D_VERTEX_DATA|NONINC_METHOD,size);
@@ -76,7 +76,7 @@ static inline void nv10StartPrimitive(struct nouveau_context* nmesa,uint32_t pri
 
 inline void nv10FinishPrimitive(struct nouveau_context *nmesa)
 {
-       if (nmesa->screen->card->type==NV_10)
+       if ((nmesa->screen->card->type==NV_10) || (nmesa->screen->card->type==NV_17))
                BEGIN_RING_SIZE(NvSub3D,NV10_TCL_PRIMITIVE_3D_BEGIN_END,1);
        else if (nmesa->screen->card->type==NV_20)
                BEGIN_RING_SIZE(NvSub3D,NV20_TCL_PRIMITIVE_3D_BEGIN_END,1);
@@ -454,7 +454,7 @@ static inline void nv10OutputVertexFormat(struct nouveau_context* nmesa)
        /* 
         * Tell the hardware about the vertex format
         */
-       if (nmesa->screen->card->type==NV_10) {
+       if ((nmesa->screen->card->type==NV_10) || (nmesa->screen->card->type==NV_17)) {
                int size;
 
 #define NV_VERTEX_ATTRIBUTE_TYPE_FLOAT 2