isl: Tile-align height in image size calculation
authorJason Ekstrand <jason.ekstrand@intel.com>
Wed, 30 Dec 2015 22:02:20 +0000 (14:02 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 30 Dec 2015 22:03:47 +0000 (14:03 -0800)
This fixes a bunch of gpu hangs on the dEQP-VK.glsl.ShaderExecutor.common
group of CTS tests.

src/isl/isl.c

index df0aeed01dff747adf91a6b6770e5a29dabb151f..75f65001a1eb76cb4faab1d135133fe635ac2b3b 100644 (file)
@@ -1016,7 +1016,7 @@ isl_surf_init_s(const struct isl_device *dev,
                                array_pitch_el_rows);
 
    const uint32_t total_h_sa = total_h_el * fmtl->bh;
-   const uint32_t size = row_pitch * total_h_sa;
+   const uint32_t size = row_pitch * isl_align(total_h_sa, tile_info.height);
 
    /* Alignment of surface base address, in bytes */
    uint32_t base_alignment = info->min_alignment;