anv/image: Teach anv_get_image_format_features() about modifiers (v3)

Because anv_get_image_format_features() now understands modifiers, also
relocate most of the modifier compatibility checks from
anv_get_format_plane() into anv_get_image_format_features() in order to
avoid duplication.

The new signature forces some code movement in
anv_get_image_format_properties().

v2:
  - Reject VK_FORMAT_B4G4R4A4_UNORM_PACK16 with modifiers on HSW.
v3:
  - Revert the v2 change.
  - Query isl_format_layout instead of pipe_format. (for jekstrand)
  - Drop misguided comments. (for jekstrand)

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> (v2)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> (v3)
This commit is contained in:
Chad Versace
2020-08-03 10:02:40 -07:00
parent 486ae7c655
commit 1f39b3e48d
3 changed files with 132 additions and 27 deletions

View File

@@ -146,7 +146,7 @@ get_ahw_buffer_format_properties(
p->formatFeatures =
anv_get_image_format_features(&device->info, p->format, anv_format,
tiling);
tiling, NULL);
/* "Images can be created with an external format even if the Android hardware
* buffer has a format which has an equivalent Vulkan format to enable