summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-11-22 13:11:50 -0500
committerAlex Deucher <alexdeucher@gmail.com>2010-11-22 18:06:10 -0500
commit718dfd443897d70d97fc19afddfbcfe1e39a9c59 (patch)
treebf601e8f33674056a99bd718d1893ed52023a7b4 /src
parent61c97b0812c820564c7bc9d64a998c109bcd46b3 (diff)
Ontario: add workaround for small pixmap issues with DFS
On past asics these kind a problems were usually due to a bad backend map config. I suspect in this case, and the previous cases it may be related to using linear buffers rather than tiled. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/evergreen_exa.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/evergreen_exa.c b/src/evergreen_exa.c
index 72e3a5d8..1c027525 100644
--- a/src/evergreen_exa.c
+++ b/src/evergreen_exa.c
@@ -1671,6 +1671,10 @@ EVERGREENDownloadFromScreen(PixmapPtr pSrc, int x, int y, int w,
if (src_domain & ~(uint32_t)RADEON_GEM_DOMAIN_VRAM)
goto copy;
+ if ((info->ChipFamily == CHIP_FAMILY_PALM) &&
+ ((w < 128) || (h < 128)))
+ goto copy;
+
size = scratch_pitch * h;
scratch = radeon_bo_open(info->bufmgr, 0, size, 0, RADEON_GEM_DOMAIN_GTT, 0);
if (scratch == NULL) {