This info can be used to configure the max EU threads of GPU device. >eu_total * 6
Signed-off-by: Zhao Yakui <[email protected]> --- src/intel_driver.c | 13 +++++++++++++ src/intel_driver.h | 3 +++ 2 files changed, 16 insertions(+) diff --git a/src/intel_driver.c b/src/intel_driver.c index bb19401..a2c8c71 100644 --- a/src/intel_driver.c +++ b/src/intel_driver.c @@ -50,6 +50,12 @@ uint32_t g_intel_debug_option_flags = 0; #define LOCAL_I915_PARAM_HAS_HUC 42 #endif +#ifdef I915_PARAM_EU_TOTAL +#define LOCAL_I915_PARAM_EU_TOTAL I915_PARAM_EU_TOTAL +#else +#define LOCAL_I915_PARAM_EU_TOTAL 34 +#endif + static Bool intel_driver_get_param(struct intel_driver_data *intel, int param, int *value) { @@ -142,6 +148,13 @@ intel_driver_init(VADriverContextP ctx) if (intel_driver_get_param(intel, LOCAL_I915_PARAM_HAS_HUC, &ret_value)) intel->has_huc = !!ret_value; + intel->has_eu_flag = 0; + intel->eu_total = 0; + if (intel_driver_get_param(intel, LOCAL_I915_PARAM_EU_TOTAL, &ret_value)) { + intel->has_eu_flag = !!ret_value; + intel->eu_total = ret_value; + } + intel_driver_get_revid(intel, &intel->revision); return true; } diff --git a/src/intel_driver.h b/src/intel_driver.h index dcdc03b..a02bfa8 100644 --- a/src/intel_driver.h +++ b/src/intel_driver.h @@ -182,6 +182,9 @@ struct intel_driver_data unsigned int has_vebox : 1; /* Flag: has VEBOX unit */ unsigned int has_bsd2 : 1; /* Flag: has the second BSD video ring unit */ unsigned int has_huc : 1; /* Flag: has a fully loaded HuC firmware? */ + unsigned int has_eu_flag : 1; /* Flag: Kernel will return EU counts */ + + int eu_total; const struct intel_device_info *device_info; }; -- 2.8.3 _______________________________________________ Libva mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libva
