panfrost: Determine classes for stores

Fewer special cases here, thankfully.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>
This commit is contained in:
Alyssa Rosenzweig 2020-05-13 12:23:53 -04:00 committed by Marge Bot
parent 18a767df35
commit dbd72a8f94
2 changed files with 13 additions and 0 deletions

View file

@ -113,3 +113,15 @@ pan_format_class_load(const struct util_format_description *desc, unsigned quirk
/* Otherwise, we can do native */
return PAN_FORMAT_NATIVE;
}
enum pan_format_class
pan_format_class_store(const struct util_format_description *desc, unsigned quirks)
{
/* Check if we can do anything better than software architecturally */
if (quirks & MIDGARD_NO_TYPED_BLEND_STORES) {
return (quirks & NO_BLEND_PACKS)
? PAN_FORMAT_SOFTWARE : PAN_FORMAT_PACK;
}
return PAN_FORMAT_NATIVE;
}

View file

@ -41,5 +41,6 @@ enum pan_format_class {
nir_alu_type pan_unpacked_type_for_format(const struct util_format_description *desc);
enum pan_format_class pan_format_class_load(const struct util_format_description *desc, unsigned quirks);
enum pan_format_class pan_format_class_store(const struct util_format_description *desc, unsigned quirks);
#endif