lavu/hwcontext_vaapi: ignore nonexistent device in default DRM device selection
It is possible that renderD128 doesn't exist but renderD129 is available in a system (see [1]). This change can make sure the default DRM device selection works even if renderD128 doesn't exist. [1] https://github.com/intel/intel-device-plugins-for-kubernetes/blob/main/cmd/gpu_plugin/README.md#issues-with-media-workloads-on-multi-gpu-setups Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
This commit is contained in:
@@ -1733,6 +1733,17 @@ static int vaapi_device_create(AVHWDeviceContext *ctx, const char *device,
|
|||||||
"/dev/dri/renderD%d", 128 + n);
|
"/dev/dri/renderD%d", 128 + n);
|
||||||
priv->drm_fd = open(path, O_RDWR);
|
priv->drm_fd = open(path, O_RDWR);
|
||||||
if (priv->drm_fd < 0) {
|
if (priv->drm_fd < 0) {
|
||||||
|
if (errno == ENOENT) {
|
||||||
|
if (n != max_devices - 1) {
|
||||||
|
av_log(ctx, AV_LOG_VERBOSE,
|
||||||
|
"No render device %s, try next device for "
|
||||||
|
"DRM render node.\n", path);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
av_log(ctx, AV_LOG_VERBOSE, "No available render device "
|
||||||
|
"for DRM render node.\n");
|
||||||
|
} else
|
||||||
av_log(ctx, AV_LOG_VERBOSE, "Cannot open "
|
av_log(ctx, AV_LOG_VERBOSE, "Cannot open "
|
||||||
"DRM render node for device %d.\n", n);
|
"DRM render node for device %d.\n", n);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user