isl: add a no-aux-align usage flag
This flag signals that the driver will be dealing with aux-tt alignment requirements on its own. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26822>
This commit is contained in:

committed by
Marge Bot

parent
44515bb92c
commit
3f64ec141e
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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)
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user