diff options
author | Roland Scheidegger <rscheidegger_lists@hispeed.ch> | 2005-03-08 23:41:37 +0000 |
---|---|---|
committer | Roland Scheidegger <rscheidegger_lists@hispeed.ch> | 2005-03-08 23:41:37 +0000 |
commit | 01a9c1157cdfbc5f74b035383e060b8419979563 (patch) | |
tree | 457742e3c4c884ba2bb381bbd6ed60ee56aba90f | |
parent | 9b994b40710103b263364153429ebdb9ea3f58ed (diff) |
Fix accidentally removed depth pitch adjustment if displayWidth is not a
multiple of 32 pixels (bug #788)
-rw-r--r-- | src/radeon_driver.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c index 1d78c28..8895073 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -5086,11 +5086,12 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + RADEON_BUFFER_ALIGN) & ~RADEON_BUFFER_ALIGN; } /* Due to tiling, the Z buffer pitch must be a multiple of 32 pixels, - * which is always the case due to color pitch and its height a multiple of 16 lines. + * which is always the case if color tiling is used due to color pitch + * but not necessarily otherwise, and its height a multiple of 16 lines. */ - info->depthPitch = pScrn->displayWidth; + info->depthPitch = (pScrn->displayWidth + 31) & ~31; depthSize = ((((pScrn->virtualY + 15) & ~15) * info->depthPitch - * cpp + RADEON_BUFFER_ALIGN) & ~RADEON_BUFFER_ALIGN); + * cpp + RADEON_BUFFER_ALIGN) & ~RADEON_BUFFER_ALIGN); switch (info->CPMode) { case RADEON_DEFAULT_CP_PIO_MODE: |