radeon: fix hw texture limits
authorRoland Scheidegger <sroland@vmware.com>
Thu, 25 Jun 2009 13:57:33 +0000 (15:57 +0200)
committerRoland Scheidegger <sroland@vmware.com>
Thu, 25 Jun 2009 13:57:33 +0000 (15:57 +0200)
still always enable max, but the right values this time.
More work should probably be done for saner limits without mm, and/or
dri conf option allow_large_textures (which is ignored) removed.
3D limit on r100 is pretty arbitrary as still handled by swrast anyway.
Also fix r300 limits (except 3d I've no idea what the max is anyway so
keep using mesa default).

src/mesa/drivers/dri/r200/r200_context.c
src/mesa/drivers/dri/r300/r300_context.c
src/mesa/drivers/dri/radeon/radeon_context.c

index 1ba8e5e612deba0bb8b20a28517970fdf56a12dc..9a92a3207974b6b313fe245eb7e7b64666951a74 100644 (file)
@@ -356,9 +356,9 @@ GLboolean r200CreateContext( const __GLcontextModes *glVisual,
 
    /* FIXME: When no memory manager is available we should set this 
     * to some reasonable value based on texture memory pool size */
-   ctx->Const.MaxTextureLevels = 11;
-   ctx->Const.Max3DTextureLevels = 8;
-   ctx->Const.MaxCubeTextureLevels = 11;
+   ctx->Const.MaxTextureLevels = 12;
+   ctx->Const.Max3DTextureLevels = 9;
+   ctx->Const.MaxCubeTextureLevels = 12;
    ctx->Const.MaxTextureRectSize = 2048;
 
    ctx->Const.MaxTextureMaxAnisotropy = 16.0;
index 14a11ea1fb8f64339063bba76576b2e2e2cf8132..b7d75426c57fc0a55cb2d22f72e7742e5a5ddd1d 100644 (file)
@@ -270,10 +270,16 @@ static void r300InitConstValues(GLcontext *ctx, radeonScreenPtr screen)
        ctx->Const.MaxTextureMaxAnisotropy = 16.0;
        ctx->Const.MaxTextureLodBias = 16.0;
 
-       if (screen->chip_family >= CHIP_FAMILY_RV515)
+       if (screen->chip_family >= CHIP_FAMILY_RV515) {
                ctx->Const.MaxTextureLevels = 13;
-       else
+               ctx->Const.MaxCubeTextureLevels = 13;
+               ctx->Const.MaxTextureRectSize = 4096;
+       }
+       else {
                ctx->Const.MaxTextureLevels = 12;
+               ctx->Const.MaxCubeTextureLevels = 12;
+               ctx->Const.MaxTextureRectSize = 2048;
+       }
 
        ctx->Const.MinPointSize = 1.0;
        ctx->Const.MinPointSizeAA = 1.0;
index 3d03f6266dba681cbacf9f6920942914e6f85ec4..46cba73e29cd0744a9f81c062b945f95dd47a9fa 100644 (file)
@@ -285,10 +285,9 @@ r100CreateContext( const __GLcontextModes *glVisual,
 
    /* FIXME: When no memory manager is available we should set this 
     * to some reasonable value based on texture memory pool size */
-   /* FIXME: does r100 support 2048x2048 texture ? */
-   ctx->Const.MaxTextureLevels = 11;
-   ctx->Const.Max3DTextureLevels = 8;
-   ctx->Const.MaxCubeTextureLevels = 11;
+   ctx->Const.MaxTextureLevels = 12;
+   ctx->Const.Max3DTextureLevels = 9;
+   ctx->Const.MaxCubeTextureLevels = 12;
    ctx->Const.MaxTextureRectSize = 2048;
 
    ctx->Const.MaxTextureMaxAnisotropy = 16.0;