anv: When using INTEL_LOWER_DPAS disable BFloat16 cmat configurations

Those configurates are not currently supported by the
emulation pass brw_lower_dpas.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41564>
This commit is contained in:
Caio Oliveira 2026-04-09 17:36:50 -07:00 committed by Marge Bot
parent 6bcf70bd85
commit 088eeb2d81

View file

@ -3456,6 +3456,8 @@ VkResult anv_GetPhysicalDeviceCooperativeMatrixPropertiesKHR(
if (!pdevice->has_cooperative_matrix)
return vk_outarray_status(&out);
const bool emulated = debug_get_bool_option("INTEL_LOWER_DPAS", false);
for (int i = 0; i < ARRAY_SIZE(devinfo->cooperative_matrix_configurations); i++) {
const struct intel_cooperative_matrix_configuration *cfg =
&devinfo->cooperative_matrix_configurations[i];
@ -3463,6 +3465,10 @@ VkResult anv_GetPhysicalDeviceCooperativeMatrixPropertiesKHR(
if (cfg->scope == INTEL_CMAT_SCOPE_NONE)
break;
/* BFloat16 not supported by brw_lower_dpas emulation. */
if (emulated && cfg->a == INTEL_CMAT_BFLOAT16)
continue;
vk_outarray_append_typed(VkCooperativeMatrixPropertiesKHR, &out, prop) {
prop->sType = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR;