diff --git a/src/intel/dev/intel_device_info.c b/src/intel/dev/intel_device_info.c index 1cf4c346eeb..8f57c663f7a 100644 --- a/src/intel/dev/intel_device_info.c +++ b/src/intel/dev/intel_device_info.c @@ -616,10 +616,10 @@ static const struct intel_device_info intel_device_info_chv = { .has_sample_with_hiz = true, \ .has_illegal_ccs_values = true, \ .cooperative_matrix_configurations = { \ - { SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16 }, \ - { SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT32, INTEL_CMAT_FLOAT32 }, \ - { SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_SINT8, INTEL_CMAT_SINT8, INTEL_CMAT_SINT32, INTEL_CMAT_SINT32 }, \ - { SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_UINT8, INTEL_CMAT_UINT8, INTEL_CMAT_UINT32, INTEL_CMAT_UINT32 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT32, INTEL_CMAT_FLOAT32 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_SINT8, INTEL_CMAT_SINT8, INTEL_CMAT_SINT32, INTEL_CMAT_SINT32 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_UINT8, INTEL_CMAT_UINT8, INTEL_CMAT_UINT32, INTEL_CMAT_UINT32 }, \ } static const struct intel_device_info intel_device_info_skl_gt1 = { @@ -848,10 +848,10 @@ static const struct intel_device_info intel_device_info_cfl_gt3 = { .num_subslices = _subslices, \ .max_eus_per_subslice = 8, \ .cooperative_matrix_configurations = { \ - { SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16 }, \ - { SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT32, INTEL_CMAT_FLOAT32 }, \ - { SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_SINT8, INTEL_CMAT_SINT8, INTEL_CMAT_SINT32, INTEL_CMAT_SINT32 }, \ - { SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_UINT8, INTEL_CMAT_UINT8, INTEL_CMAT_UINT32, INTEL_CMAT_UINT32 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT32, INTEL_CMAT_FLOAT32 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_SINT8, INTEL_CMAT_SINT8, INTEL_CMAT_SINT32, INTEL_CMAT_SINT32 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_UINT8, INTEL_CMAT_UINT8, INTEL_CMAT_UINT32, INTEL_CMAT_UINT32 }, \ } #define GFX11_URB_MIN_MAX_ENTRIES \ @@ -981,10 +981,10 @@ static const struct intel_device_info intel_device_info_ehl_2x4 = { .writecombining = PAT_ENTRY(1, WC, NONE), \ }, \ .cooperative_matrix_configurations = { \ - { SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16 }, \ - { SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT32, INTEL_CMAT_FLOAT32 }, \ - { SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_SINT8, INTEL_CMAT_SINT8, INTEL_CMAT_SINT32, INTEL_CMAT_SINT32 }, \ - { SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_UINT8, INTEL_CMAT_UINT8, INTEL_CMAT_UINT32, INTEL_CMAT_UINT32 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT32, INTEL_CMAT_FLOAT32 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_SINT8, INTEL_CMAT_SINT8, INTEL_CMAT_SINT32, INTEL_CMAT_SINT32 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_UINT8, INTEL_CMAT_UINT8, INTEL_CMAT_UINT32, INTEL_CMAT_UINT32 }, \ } #define dual_subslices(args...) { args, } @@ -1119,10 +1119,10 @@ static const struct intel_device_info intel_device_info_sg1 = { .has_aux_map = false, \ .simulator_id = 29, \ .cooperative_matrix_configurations = { \ - { SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16 }, \ - { SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT32, INTEL_CMAT_FLOAT32 }, \ - { SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_SINT8, INTEL_CMAT_SINT8, INTEL_CMAT_SINT32, INTEL_CMAT_SINT32 }, \ - { SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_UINT8, INTEL_CMAT_UINT8, INTEL_CMAT_UINT32, INTEL_CMAT_UINT32 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT16, INTEL_CMAT_FLOAT32, INTEL_CMAT_FLOAT32 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_SINT8, INTEL_CMAT_SINT8, INTEL_CMAT_SINT32, INTEL_CMAT_SINT32 }, \ + { INTEL_CMAT_SCOPE_SUBGROUP, 8, 8, 32, INTEL_CMAT_UINT8, INTEL_CMAT_UINT8, INTEL_CMAT_UINT32, INTEL_CMAT_UINT32 }, \ } #define DG2_FEATURES \ diff --git a/src/intel/dev/intel_device_info.h b/src/intel/dev/intel_device_info.h index fb97dae2d07..ba729153312 100644 --- a/src/intel/dev/intel_device_info.h +++ b/src/intel/dev/intel_device_info.h @@ -135,6 +135,12 @@ struct intel_device_info_pat_entry { .coherency = INTEL_DEVICE_INFO_COHERENCY_MODE_##coh_ \ } +enum intel_cmat_scope +{ + INTEL_CMAT_SCOPE_NONE = 0, + INTEL_CMAT_SCOPE_SUBGROUP, +}; + enum intel_cooperative_matrix_component_type { INTEL_CMAT_FLOAT16, @@ -147,7 +153,7 @@ enum intel_cooperative_matrix_component_type struct intel_cooperative_matrix_configuration { - mesa_scope scope; + enum intel_cmat_scope scope; /* Matrix A is MxK. * Matrix B is KxN. diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 4ac83c0a3f2..cdfba7a4206 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -2225,7 +2225,7 @@ anv_physical_device_try_create(struct vk_instance *vk_instance, device->has_exec_timeline = false; device->has_cooperative_matrix = - device->info.cooperative_matrix_configurations[0].scope != SCOPE_NONE; + device->info.cooperative_matrix_configurations[0].scope != INTEL_CMAT_SCOPE_NONE; unsigned st_idx = 0; @@ -5138,13 +5138,10 @@ convert_component_type(enum intel_cooperative_matrix_component_type t) } static VkScopeKHR -convert_scope(mesa_scope scope) +convert_scope(enum intel_cmat_scope scope) { switch (scope) { - case SCOPE_DEVICE: return VK_SCOPE_DEVICE_KHR; - case SCOPE_WORKGROUP: return VK_SCOPE_WORKGROUP_KHR; - case SCOPE_SUBGROUP: return VK_SCOPE_SUBGROUP_KHR; - case SCOPE_QUEUE_FAMILY: return VK_SCOPE_QUEUE_FAMILY_KHR; + case INTEL_CMAT_SCOPE_SUBGROUP: return VK_SCOPE_SUBGROUP_KHR; default: unreachable("invalid cooperative matrix scope in configuration"); } @@ -5166,7 +5163,7 @@ VkResult anv_GetPhysicalDeviceCooperativeMatrixPropertiesKHR( const struct intel_cooperative_matrix_configuration *cfg = &devinfo->cooperative_matrix_configurations[i]; - if (cfg->scope == SCOPE_NONE) + if (cfg->scope == INTEL_CMAT_SCOPE_NONE) break; vk_outarray_append_typed(VkCooperativeMatrixPropertiesKHR, &out, prop) {