diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c index bd73729b510..61ed3ee0895 100644 --- a/src/intel/isl/isl.c +++ b/src/intel/isl/isl.c @@ -2374,7 +2374,7 @@ _isl_notify_failure(const struct isl_surf_init_info *surf_info, snprintf(msg + ret, sizeof(msg) - ret, " extent=%ux%ux%u dim=%s msaa=%ux levels=%u rpitch=%u fmt=%s " - "usages=%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s " + "usages=%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s " "tiling_flags=%s%s%s%s%s%s%s%s%s%s%s%s%s", surf_info->width, surf_info->height, surf_info->dim == ISL_SURF_DIM_3D ? @@ -2385,21 +2385,22 @@ _isl_notify_failure(const struct isl_surf_init_info *surf_info, surf_info->row_pitch_B, isl_format_get_name(surf_info->format) + strlen("ISL_FORMAT_"), - PRINT_USAGE(RENDER_TARGET, "rt"), - PRINT_USAGE(DEPTH, "depth"), - PRINT_USAGE(STENCIL, "stenc"), - PRINT_USAGE(TEXTURE, "tex"), - PRINT_USAGE(CUBE, "cube"), - PRINT_USAGE(DISABLE_AUX, "noaux"), - PRINT_USAGE(DISPLAY, "disp"), - PRINT_USAGE(HIZ, "hiz"), - PRINT_USAGE(MCS, "mcs"), - PRINT_USAGE(CCS, "ccs"), - PRINT_USAGE(VERTEX_BUFFER, "vb"), - PRINT_USAGE(INDEX_BUFFER, "ib"), - PRINT_USAGE(CONSTANT_BUFFER, "const"), - PRINT_USAGE(STAGING, "stage"), - PRINT_USAGE(SPARSE, "sparse"), + PRINT_USAGE(RENDER_TARGET, "rt"), + PRINT_USAGE(DEPTH, "depth"), + PRINT_USAGE(STENCIL, "stenc"), + PRINT_USAGE(TEXTURE, "tex"), + PRINT_USAGE(CUBE, "cube"), + PRINT_USAGE(DISABLE_AUX, "noaux"), + PRINT_USAGE(DISPLAY, "disp"), + PRINT_USAGE(HIZ, "hiz"), + PRINT_USAGE(MCS, "mcs"), + PRINT_USAGE(CCS, "ccs"), + PRINT_USAGE(VERTEX_BUFFER, "vb"), + PRINT_USAGE(INDEX_BUFFER, "ib"), + PRINT_USAGE(CONSTANT_BUFFER, "const"), + PRINT_USAGE(STAGING, "stage"), + PRINT_USAGE(SPARSE, "sparse"), + PRINT_USAGE(NO_AUX_TT_ALIGNMENT, "no-aux-align"), PRINT_TILING(LINEAR, "linear"), PRINT_TILING(W, "W"), @@ -2690,8 +2691,10 @@ isl_calc_base_alignment(const struct isl_device *dev, * is that we haven't enable CCS on linear images yet so we can avoid * the extra alignment there. */ - base_alignment_B = MAX(base_alignment_B, dev->info->verx10 >= 125 ? - 1024 * 1024 : 64 * 1024); + if (!(info->usage & ISL_SURF_USAGE_NO_AUX_TT_ALIGNMENT_BIT)) { + base_alignment_B = MAX(base_alignment_B, dev->info->verx10 >= 125 ? + 1024 * 1024 : 64 * 1024); + } } } diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h index c3640cd7a2f..d2f9f397778 100644 --- a/src/intel/isl/isl.h +++ b/src/intel/isl/isl.h @@ -1150,6 +1150,7 @@ typedef uint64_t isl_surf_usage_flags_t; #define ISL_SURF_USAGE_STREAM_OUT_BIT (1u << 18) #define ISL_SURF_USAGE_2D_3D_COMPATIBLE_BIT (1u << 19) #define ISL_SURF_USAGE_SPARSE_BIT (1u << 20) +#define ISL_SURF_USAGE_NO_AUX_TT_ALIGNMENT_BIT (1u << 21) /** @} */ /**