From 5cfcd31635b189aed0671f0eb03faf67d697ec64 Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Wed, 3 Apr 2019 12:34:40 +0000 Subject: [PATCH] drm: check for DRM_NODE_RENDER via libdrm 0x80 bit is specific to Linux. Other systems may not use st_rdev. --- va/drm/va_drm_utils.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/va/drm/va_drm_utils.c b/va/drm/va_drm_utils.c index 21d4ea37..acc6cb88 100644 --- a/va/drm/va_drm_utils.c +++ b/va/drm/va_drm_utils.c @@ -26,7 +26,6 @@ #include "sysdeps.h" #include -#include #include "va_drm_utils.h" #include "va_drmcommon.h" @@ -87,12 +86,11 @@ VA_DRM_GetDriverName(VADriverContextP ctx, char **driver_name_ptr) int VA_DRM_IsRenderNodeFd(int fd) { - struct stat st; const char *name; /* Check by device node */ - if (fstat(fd, &st) == 0) - return S_ISCHR(st.st_mode) && (st.st_rdev & 0x80); + if (drmGetNodeTypeFromFd(fd) == DRM_NODE_RENDER) + return 1; /* Check by device name */ name = drmGetDeviceNameFromFd2(fd);