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