xref: /aosp_15_r20/external/mesa3d/src/intel/common/intel_common.c (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker /*
2*61046927SAndroid Build Coastguard Worker  * Copyright 2024 Intel Corporation
3*61046927SAndroid Build Coastguard Worker  * SPDX-License-Identifier: MIT
4*61046927SAndroid Build Coastguard Worker  */
5*61046927SAndroid Build Coastguard Worker 
6*61046927SAndroid Build Coastguard Worker #include <stdlib.h>
7*61046927SAndroid Build Coastguard Worker 
8*61046927SAndroid Build Coastguard Worker #include "intel_common.h"
9*61046927SAndroid Build Coastguard Worker 
10*61046927SAndroid Build Coastguard Worker #include "intel_engine.h"
11*61046927SAndroid Build Coastguard Worker 
12*61046927SAndroid Build Coastguard Worker /* Updates intel_device_info fields that has dependencies on intel/common
13*61046927SAndroid Build Coastguard Worker  * functions.
14*61046927SAndroid Build Coastguard Worker  */
intel_common_update_device_info(int fd,struct intel_device_info * devinfo)15*61046927SAndroid Build Coastguard Worker void intel_common_update_device_info(int fd, struct intel_device_info *devinfo)
16*61046927SAndroid Build Coastguard Worker {
17*61046927SAndroid Build Coastguard Worker    struct intel_query_engine_info *engine_info;
18*61046927SAndroid Build Coastguard Worker    enum intel_engine_class klass;
19*61046927SAndroid Build Coastguard Worker 
20*61046927SAndroid Build Coastguard Worker    engine_info = intel_engine_get_info(fd, devinfo->kmd_type);
21*61046927SAndroid Build Coastguard Worker    if (!engine_info)
22*61046927SAndroid Build Coastguard Worker       return;
23*61046927SAndroid Build Coastguard Worker 
24*61046927SAndroid Build Coastguard Worker    devinfo->has_compute_engine = intel_engines_count(engine_info,
25*61046927SAndroid Build Coastguard Worker                                                      INTEL_ENGINE_CLASS_COMPUTE);
26*61046927SAndroid Build Coastguard Worker 
27*61046927SAndroid Build Coastguard Worker    for (klass = 0; klass < INTEL_ENGINE_CLASS_INVALID; klass++)
28*61046927SAndroid Build Coastguard Worker       devinfo->engine_class_supported_count[klass] =
29*61046927SAndroid Build Coastguard Worker          intel_engines_supported_count(fd, devinfo, engine_info, klass);
30*61046927SAndroid Build Coastguard Worker 
31*61046927SAndroid Build Coastguard Worker    free(engine_info);
32*61046927SAndroid Build Coastguard Worker }
33