isl/blorp: handle failing 96bpp linear blit case
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Fix the aux usage assert in blorp for 96bpp linear blit and provide CMF
values for RGB formats supported by isl_format_rgb_to_rgba.

CC: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13670
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36709>
This commit is contained in:
Tapani Pälli 2025-08-04 17:05:09 +02:00 committed by Marge Bot
parent 7251c8121b
commit 42088cd602
2 changed files with 8 additions and 2 deletions

View file

@ -2490,8 +2490,10 @@ blorp_copy_supports_blitter(struct blorp_context *blorp,
/* XY_BLOCK_COPY_BLT mentions it doesn't support clear colors for 96bpp
* formats, but none of them support CCS anyway, so it's a moot point.
*/
assert(src_aux_usage == ISL_AUX_USAGE_NONE);
assert(dst_aux_usage == ISL_AUX_USAGE_NONE);
if (devinfo->verx10 < 20) {
assert(src_aux_usage == ISL_AUX_USAGE_NONE);
assert(dst_aux_usage == ISL_AUX_USAGE_NONE);
}
/* We can only support linear mode for 96bpp. */
if (src_surf->tiling != ISL_TILING_LINEAR ||

View file

@ -204,6 +204,10 @@ isl_get_qpitch(const struct isl_surf *surf)
UNUSED static uint8_t
isl_get_render_compression_format(enum isl_format format)
{
/* The spec gives no CMFs to NPOT RGB formats. Remap them to RGBA. */
if (isl_format_get_layout(format)->bpb % 3 == 0)
format = isl_format_rgb_to_rgba(format);
/* Bspec 63919 (r60413):
*
* Table "[Enumeration] UNIFIED_COMPRESSION_FORMAT"