From: Dave Airlie Date: Tue, 1 Feb 2011 04:22:08 +0000 (+1000) Subject: r600g: align the tiling modes with what the DDX and kernel expects. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a112cc283d2c62f895cdd6aceb976b3c7ef5f59d;p=mesa.git 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 --- diff --git a/src/gallium/winsys/r600/drm/r600_bo.c b/src/gallium/winsys/r600/drm/r600_bo.c index 6a3737f0a4a..edd774e0e00 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; }