Mesa (master): r600g: add alignment cases for linear aligned

Alex Deucher agd5f at kemper.freedesktop.org
Mon Feb 14 18:09:41 UTC 2011


Module: Mesa
Branch: master
Commit: 9e96ea0652dda64f8eb311d7dfc9c50519ad02f0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9e96ea0652dda64f8eb311d7dfc9c50519ad02f0

Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Mon Feb 14 13:07:29 2011 -0500

r600g: add alignment cases for linear aligned

Matches the drm and ddx.

Signed-off-by: Alex Deucher <alexdeucher at gmail.com>

---

 src/gallium/drivers/r600/r600_texture.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c
index b8bc365..793bdc4 100644
--- a/src/gallium/drivers/r600/r600_texture.c
+++ b/src/gallium/drivers/r600/r600_texture.c
@@ -103,6 +103,9 @@ static unsigned r600_get_pixel_alignment(struct pipe_screen *screen,
 			       (((rscreen->tiling_info->group_bytes / 8 / pixsize)) *
 				rscreen->tiling_info->num_banks)) * 8;
 		break;
+	case V_038000_ARRAY_LINEAR_ALIGNED:
+		p_align = MAX2(64, rscreen->tiling_info->group_bytes / pixsize);
+		break;
 	case V_038000_ARRAY_LINEAR_GENERAL:
 	default:
 		p_align = rscreen->tiling_info->group_bytes / pixsize;
@@ -122,6 +125,7 @@ static unsigned r600_get_height_alignment(struct pipe_screen *screen,
 		h_align = rscreen->tiling_info->num_channels * 8;
 		break;
 	case V_038000_ARRAY_1D_TILED_THIN1:
+	case V_038000_ARRAY_LINEAR_ALIGNED:
 		h_align = 8;
 		break;
 	default:
@@ -147,6 +151,8 @@ static unsigned r600_get_base_alignment(struct pipe_screen *screen,
 			       p_align * pixsize * h_align);
 		break;
 	case V_038000_ARRAY_1D_TILED_THIN1:
+	case V_038000_ARRAY_LINEAR_ALIGNED:
+	case V_038000_ARRAY_LINEAR_GENERAL:
 	default:
 		b_align = rscreen->tiling_info->group_bytes;
 		break;




More information about the mesa-commit mailing list