diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-04-16 11:19:01 -0400 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-04-16 11:19:01 -0400 |
commit | 573339114660f06e5f257648ba413bab0d6083ce (patch) | |
tree | 80a7af328e1da3c64df567598ccff26723e5ac65 /src/radeon_exa_render.c | |
parent | eea9800890b56bac9c07b7bd9c9e33fae2938af3 (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.
Diffstat (limited to 'src/radeon_exa_render.c')
-rw-r--r-- | src/radeon_exa_render.c | 7 |
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)); |