[Mesa-dev] [PATCH 14/16] intel/blorp/gen4: Drop cube map flag for single face copy

Topi Pohjolainen topi.pohjolainen at gmail.com
Mon Jul 17 13:35:05 UTC 2017


This will falsely trigger an assert on number of lyaers once
isl is prepared for 3D layouts of Gen4 cube maps.

Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
---
 src/intel/blorp/blorp_blit.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c
index 0850473eba..973e3ef430 100644
--- a/src/intel/blorp/blorp_blit.c
+++ b/src/intel/blorp/blorp_blit.c
@@ -1420,6 +1420,12 @@ blorp_surf_convert_to_single_slice(const struct isl_device *isl_dev,
    uint32_t tile_x_px, tile_y_px;
    surf_get_intratile_offset_px(info, &tile_x_px, &tile_y_px);
 
+   /* Even for cube maps there will be only single face, therefore drop the
+    * corresponding flag if present.
+    */
+   const isl_surf_usage_flags_t without_cube_map_flag =
+      info->surf.usage & (~ISL_SURF_USAGE_CUBE_BIT);
+
    struct isl_surf_init_info init_info = {
       .dim = ISL_SURF_DIM_2D,
       .format = info->surf.format,
@@ -1430,7 +1436,7 @@ blorp_surf_convert_to_single_slice(const struct isl_device *isl_dev,
       .array_len = 1,
       .samples = info->surf.samples,
       .row_pitch = info->surf.row_pitch,
-      .usage = info->surf.usage,
+      .usage = without_cube_map_flag,
       .tiling_flags = 1 << info->surf.tiling,
    };
 
-- 
2.11.0



More information about the mesa-dev mailing list