isl: Fix isl_surf_get_image_offset_sa for gen4_3d layout
authorChad Versace <chad.versace@intel.com>
Fri, 22 Jan 2016 16:32:00 +0000 (08:32 -0800)
committerChad Versace <chad.versace@intel.com>
Fri, 22 Jan 2016 17:45:22 +0000 (09:45 -0800)
Bug found by unit test
test_bdw_3d_r8g8b8a8_unorm_256x256x256_levels09_tiley0.

src/isl/isl.c

index bb3d59576e0cb135db91839092022b61e7a0d448..40663ca18af284169524184308cd806d039bef2d 100644 (file)
@@ -1200,10 +1200,9 @@ get_image_offset_sa_gen4_3d(const struct isl_surf *surf,
    const uint32_t level_d = isl_align_npot(isl_minify(D0, level), image_align_sa.d);
 
    const uint32_t max_layers_horiz = MIN(level_d, 1u << level);
-   const uint32_t max_layers_vert = isl_align_div(level_d, 1u << level);
 
    x += level_w * (logical_z_offset_px % max_layers_horiz);
-   y += level_h * (logical_z_offset_px / max_layers_vert);
+   y += level_h * (logical_z_offset_px / max_layers_horiz);
 
    *x_offset_sa = x;
    *y_offset_sa = y;