Mesa (master): r600g: align the tiling modes with what the DDX and kernel expects.
Dave Airlie
airlied at kemper.freedesktop.org
Tue Feb 1 04:18:56 UTC 2011
Module: Mesa
Branch: master
Commit: a112cc283d2c62f895cdd6aceb976b3c7ef5f59d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a112cc283d2c62f895cdd6aceb976b3c7ef5f59d
Author: Dave Airlie <airlied at redhat.com>
Date: Tue Feb 1 14:22:08 2011 +1000
r600g: align the tiling modes with what the DDX and kernel expects.
If we see a MACRO bit on r600g its 2D tiled,
if don't see a MACRO bit and we do see a MICRO bit then its 1D tiled.
Signed-off-by: Dave Airlie <airlied at redhat.com>
---
src/gallium/winsys/r600/drm/r600_bo.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/gallium/winsys/r600/drm/r600_bo.c b/src/gallium/winsys/r600/drm/r600_bo.c
index 6a3737f..edd774e 100644
--- a/src/gallium/winsys/r600/drm/r600_bo.c
+++ b/src/gallium/winsys/r600/drm/r600_bo.c
@@ -95,11 +95,10 @@ struct r600_bo *r600_bo_handle(struct radeon *radeon,
radeon_bo_get_tiling_flags(radeon, rbo, &bo->tiling_flags, &bo->kernel_pitch);
if (array_mode) {
if (bo->tiling_flags) {
- if (bo->tiling_flags & RADEON_TILING_MICRO)
- *array_mode = V_0280A0_ARRAY_1D_TILED_THIN1;
- if ((bo->tiling_flags & (RADEON_TILING_MICRO | RADEON_TILING_MACRO)) ==
- (RADEON_TILING_MICRO | RADEON_TILING_MACRO))
+ if (bo->tiling_flags & RADEON_TILING_MACRO)
*array_mode = V_0280A0_ARRAY_2D_TILED_THIN1;
+ else if (bo->tiling_flags & RADEON_TILING_MICRO)
+ *array_mode = V_0280A0_ARRAY_1D_TILED_THIN1;
} else {
*array_mode = 0;
}
More information about the mesa-commit
mailing list