mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-29 00:50:23 +01:00
intel/isl: Disable some gen10 CCS_E formats for now
CannonLake additionally supports R11G11B10_FLOAT and four 10-10-10-2 formats with CCS_E. None of these formats fit within the current blorp_copy framework so disable them until support is added. Signed-off-by: Nanley Chery <nanley.g.chery@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
3ba973fe37
commit
c7baaafe54
1 changed files with 24 additions and 0 deletions
|
|
@ -536,6 +536,30 @@ isl_format_supports_ccs_e(const struct gen_device_info *devinfo,
|
|||
if (!format_info[format].exists)
|
||||
return false;
|
||||
|
||||
/* For simplicity, only report that a format supports CCS_E if blorp can
|
||||
* perform bit-for-bit copies with an image of that format while compressed.
|
||||
* This allows ISL users to avoid having to resolve the image before
|
||||
* performing such a copy. We may want to change this behavior in the
|
||||
* future.
|
||||
*
|
||||
* R11G11B10_FLOAT has no equivalent UINT format. Given how blorp_copy
|
||||
* currently works, bit-for-bit copy operations are not possible without an
|
||||
* intermediate resolve.
|
||||
*/
|
||||
if (format == ISL_FORMAT_R11G11B10_FLOAT)
|
||||
return false;
|
||||
|
||||
/* blorp_copy currently doesn't support formats with different bit-widths
|
||||
* per-channel. Until that support is added, report that these formats don't
|
||||
* support CCS_E. FIXME: Add support for these formats.
|
||||
*/
|
||||
if (format == ISL_FORMAT_B10G10R10A2_UNORM ||
|
||||
format == ISL_FORMAT_B10G10R10A2_UNORM_SRGB ||
|
||||
format == ISL_FORMAT_R10G10B10A2_UNORM ||
|
||||
format == ISL_FORMAT_R10G10B10A2_UINT) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return format_gen(devinfo) >= format_info[format].ccs_e;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue