[Libva] [LIBVA_INTEL_DRIVER][PATCH 1/4] Query the kernel API to check the EU counts of GPU device

Charles, Daniel daniel.charles at intel.com
Thu Nov 17 19:23:41 UTC 2016


On Wed, Nov 16, 2016 at 6:06 PM, Zhao Yakui <yakui.zhao at intel.com> wrote:
> This info can be used to configure the max EU threads of GPU device.
>>eu_total * 6
>
> Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
> ---
>  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;
>  };

This patch lgtm and also I have verified it on vp9 encoder supporting h/w

Thanks,

-- 
Daniel
> --
> 2.8.3
>
> _______________________________________________
> Libva mailing list
> Libva at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/libva


More information about the Libva mailing list