[Mesa-dev] [PATCH 08/16] swrast: When asked to map a slice of a 1D array, give back that slice.
Eric Anholt
eric at anholt.net
Thu Sep 29 15:39:59 PDT 2011
Until now, we've been treating 1D arrays as a single slice, and each
array slice is actually just a row of the 2D texture. While swrast
still stores them this way, hardware drivers think that 1D arrays have
actual separate slices not stored as contiguous rows.
---
src/mesa/swrast/s_texture.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/src/mesa/swrast/s_texture.c b/src/mesa/swrast/s_texture.c
index aa07375..36b429c 100644
--- a/src/mesa/swrast/s_texture.c
+++ b/src/mesa/swrast/s_texture.c
@@ -177,6 +177,13 @@ _swrast_map_teximage(struct gl_context *ctx,
1);
assert(slice < texImage->Depth);
map += slice * sliceSize;
+ } else if (texImage->TexObject->Target == GL_TEXTURE_1D_ARRAY) {
+ GLuint sliceSize = _mesa_format_image_size(texImage->TexFormat,
+ texImage->Width,
+ 1,
+ 1);
+ assert(slice < texImage->Height);
+ map += slice * sliceSize;
}
/* apply x/y offset to map address */
--
1.7.6.3
More information about the mesa-dev
mailing list