From 0926fb69a4bb81f2c95c1d6acd43887a442d33f5 Mon Sep 17 00:00:00 2001 From: Topi Pohjolainen Date: Fri, 7 Jul 2017 11:33:12 +0300 Subject: [PATCH] intel/blorp/gen4: Drop cube map flag for single face copy This will falsely trigger an assert on number of layers once isl is used for 3D layouts of Gen4 cube maps. Reviewed-by: Jason Ekstrand Signed-off-by: Topi Pohjolainen --- 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 0850473eba3..973e3ef4309 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.30.2