summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTopi Pohjolainen <topi.pohjolainen@intel.com>2017-07-07 11:33:12 +0300
committerTopi Pohjolainen <topi.pohjolainen@intel.com>2017-07-18 21:36:13 +0300
commit0926fb69a4bb81f2c95c1d6acd43887a442d33f5 (patch)
treee796c7bb09132a3a541aa301548bc5ac79689a3b
parent91608e4ac1d7c9629b1a26878232406ea2cfbd38 (diff)
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 <jason@jlekstrand.net> Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
-rw-r--r--src/intel/blorp/blorp_blit.c8
1 files changed, 7 insertions, 1 deletions
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,
};