From 088eeb2d81aaf25d6d539bc5edb025e9e8c4bc4e Mon Sep 17 00:00:00 2001 From: Caio Oliveira Date: Thu, 9 Apr 2026 17:36:50 -0700 Subject: [PATCH] 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 Part-of: --- src/intel/vulkan/anv_physical_device.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/intel/vulkan/anv_physical_device.c b/src/intel/vulkan/anv_physical_device.c index 988554e98fe..1482dedd5b2 100644 --- a/src/intel/vulkan/anv_physical_device.c +++ b/src/intel/vulkan/anv_physical_device.c @@ -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;