isl: Add logical z offset to GEN4_2D surfaces
authorNanley Chery <nanley.g.chery@intel.com>
Wed, 27 Jan 2016 06:56:21 +0000 (22:56 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 27 Jan 2016 23:12:42 +0000 (15:12 -0800)
3D surfaces in Skylake are stored with ISL_DIM_LAYOUT_GEN4_2D. Any
delta in the logical z offset causes an equivalent delta in the
surface's array layer.

src/isl/isl.c

index 716ce29..ec63237 100644 (file)
@@ -1309,7 +1309,8 @@ get_image_offset_sa(const struct isl_surf *surf,
                                   x_offset_sa, y_offset_sa);
       break;
    case ISL_DIM_LAYOUT_GEN4_2D:
-      get_image_offset_sa_gen4_2d(surf, level, logical_array_layer,
+      get_image_offset_sa_gen4_2d(surf, level, logical_array_layer
+                                  + logical_z_offset_px,
                                   x_offset_sa, y_offset_sa);
       break;
    case ISL_DIM_LAYOUT_GEN4_3D: