summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-04-16 11:19:01 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-04-16 11:19:01 -0400
commit573339114660f06e5f257648ba413bab0d6083ce (patch)
tree80a7af328e1da3c64df567598ccff26723e5ac65
parenteea9800890b56bac9c07b7bd9c9e33fae2938af3 (diff)
R3xx/R4xx EXA: set explicit tex cache regions
When using a mask, set explicit cache partitions for each texture. Gives 1% performance improvement in x11perf with anti-aliased text.
-rw-r--r--src/radeon_exa_render.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index 571204af..831a6ff5 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -1077,6 +1077,13 @@ static Bool FUNC_NAME(R300TextureSetup)(PicturePtr pPict, PixmapPtr pPix,
txformat1 = R300TexFormats[i].card_fmt;
+ if (IS_R300_3D) {
+ if ((unit == 0) && info->accel_state->has_mask)
+ txformat1 |= R300_TX_FORMAT_CACHE_HALF_REGION_0;
+ else if (unit == 1)
+ txformat1 |= R300_TX_FORMAT_CACHE_HALF_REGION_1;
+ }
+
txformat0 = ((((w - 1) & 0x7ff) << R300_TXWIDTH_SHIFT) |
(((h - 1) & 0x7ff) << R300_TXHEIGHT_SHIFT));