softpipe: minor code simplification for face/zslice offset calculation
authorBrian Paul <brianp@vmware.com>
Wed, 25 Feb 2009 04:01:07 +0000 (21:01 -0700)
committerBrian Paul <brianp@vmware.com>
Wed, 25 Feb 2009 04:01:34 +0000 (21:01 -0700)
src/gallium/drivers/softpipe/sp_texture.c

index 4112710..142ce23 100644 (file)
@@ -243,9 +243,11 @@ softpipe_get_tex_surface(struct pipe_screen *screen,
       ps->level = level;
       ps->zslice = zslice;
 
-      if (pt->target == PIPE_TEXTURE_CUBE || pt->target == PIPE_TEXTURE_3D) {
-         ps->offset += ((pt->target == PIPE_TEXTURE_CUBE) ? face : zslice) *
-            pt->nblocksy[level] * spt->stride[level];
+      if (pt->target == PIPE_TEXTURE_CUBE) {
+         ps->offset += face * pt->nblocksy[level] * spt->stride[level];
+      }
+      else if (pt->target == PIPE_TEXTURE_3D) {
+         ps->offset += zslice * pt->nblocksy[level] * spt->stride[level];
       }
       else {
          assert(face == 0);
@@ -308,10 +310,11 @@ softpipe_get_tex_transfer(struct pipe_screen *screen,
 
       spt->offset = sptex->level_offset[level];
 
-      if (texture->target == PIPE_TEXTURE_CUBE ||
-          texture->target == PIPE_TEXTURE_3D) {
-         spt->offset += ((texture->target == PIPE_TEXTURE_CUBE) ? face :
-                         zslice) * pt->nblocksy * pt->stride;
+      if (texture->target == PIPE_TEXTURE_CUBE) {
+         spt->offset += face * pt->nblocksy * pt->stride;
+      }
+      else if (texture->target == PIPE_TEXTURE_3D) {
+         spt->offset += zslice * pt->nblocksy * pt->stride;
       }
       else {
          assert(face == 0);