summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorbin Simpson <MostAwesomeDude@gmail.com>2009-07-13 14:47:36 -0700
committerCorbin Simpson <MostAwesomeDude@gmail.com>2009-07-13 16:26:29 -0700
commitca28e591f2cf62b2c20558bf4f310093067b6209 (patch)
tree249d223b318bc6dc5af7f8be890f309f947b79e0
parent9226e3d6a68e5e079456c5e7ba2a79e00a33bb89 (diff)
r300g: Use align() instead of inline maths.
-rw-r--r--src/gallium/drivers/r300/r300_texture.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/gallium/drivers/r300/r300_texture.c b/src/gallium/drivers/r300/r300_texture.c
index f9dff03704..11c7858d42 100644
--- a/src/gallium/drivers/r300/r300_texture.c
+++ b/src/gallium/drivers/r300/r300_texture.c
@@ -73,12 +73,15 @@ static void r300_setup_miptree(struct r300_texture* tex)
base->nblocksx[i] = pf_get_nblocksx(&base->block, base->width[i]);
base->nblocksy[i] = pf_get_nblocksy(&base->block, base->width[i]);
- /* Radeons enjoy things in multiples of 32. */
- /* XXX this can be 32 when POT */
- stride = (base->nblocksx[i] * base->block.size + 63) & ~63;
+ /* Radeons enjoy things in multiples of 64.
+ *
+ * XXX
+ * POT, uncompressed, unmippmapped textures can be aligned to 32,
+ * instead of 64. */
+ stride = align(base->nblocksx[i] * base->block.size, 64);
size = stride * base->nblocksy[i] * base->depth[i];
- tex->offset[i] = (tex->size + 63) & ~63;
+ tex->offset[i] = align(tex->size, 64);
tex->size = tex->offset[i] + size;
/* Save stride of first level to the texture. */