softpipe: support for 1D/2D texture arrays

This commit is contained in:
Brian Paul
2011-01-25 20:27:10 -07:00
parent 9b56a2cb62
commit 779e9cb658
3 changed files with 210 additions and 1 deletions

View File

@@ -227,9 +227,13 @@ sp_get_tex_image_offset(const struct softpipe_resource *spr,
unsigned offset = spr->level_offset[level];
if (spr->base.target == PIPE_TEXTURE_CUBE ||
spr->base.target == PIPE_TEXTURE_3D) {
spr->base.target == PIPE_TEXTURE_3D ||
spr->base.target == PIPE_TEXTURE_2D_ARRAY) {
offset += layer * nblocksy * spr->stride[level];
}
else if (spr->base.target == PIPE_TEXTURE_1D_ARRAY) {
offset += layer * spr->stride[level];
}
else {
assert(layer == 0);
}