summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2009-06-25 15:57:33 +0200
committerRoland Scheidegger <[email protected]>2009-06-25 15:57:33 +0200
commit43b3b745e4d893b64d6331cb6183f8615e613f66 (patch)
tree57eb74f27258ca20895460e399a2f5d4e9243a44
parentcdbcb051d93836861bc4d4e1027156111ac249d2 (diff)
radeon: fix hw texture limits
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).
-rw-r--r--src/mesa/drivers/dri/r200/r200_context.c6
-rw-r--r--src/mesa/drivers/dri/r300/r300_context.c10
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_context.c7
3 files changed, 14 insertions, 9 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c
index 1ba8e5e612d..9a92a320797 100644
--- a/src/mesa/drivers/dri/r200/r200_context.c
+++ b/src/mesa/drivers/dri/r200/r200_context.c
@@ -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;
diff --git a/src/mesa/drivers/dri/r300/r300_context.c b/src/mesa/drivers/dri/r300/r300_context.c
index 14a11ea1fb8..b7d75426c57 100644
--- a/src/mesa/drivers/dri/r300/r300_context.c
+++ b/src/mesa/drivers/dri/r300/r300_context.c
@@ -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;
diff --git a/src/mesa/drivers/dri/radeon/radeon_context.c b/src/mesa/drivers/dri/radeon/radeon_context.c
index 3d03f6266db..46cba73e29c 100644
--- a/src/mesa/drivers/dri/radeon/radeon_context.c
+++ b/src/mesa/drivers/dri/radeon/radeon_context.c
@@ -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;