From 18cccd87985566be84431e4ef97e7cce6aad7af3 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Wed, 18 Jul 2018 11:52:09 +0900 Subject: [PATCH] ecore x - fix vsync to not block amdgpu drivers amdgpu vsync works so don't block is so those drivers get proper vsynced rendering as well. @fix --- src/lib/ecore_x/ecore_x_vsync.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/lib/ecore_x/ecore_x_vsync.c b/src/lib/ecore_x/ecore_x_vsync.c index 9f648f4f9b..08a679641b 100644 --- a/src/lib/ecore_x/ecore_x_vsync.c +++ b/src/lib/ecore_x/ecore_x_vsync.c @@ -592,6 +592,18 @@ _drm_init(int *flags) goto checkdone; } } + if ((!strcmp(drmver->name, "amdgpu")) && + (strstr(drmver->desc, "AMD")) && + ((drmver->version_major > 2))) + { + if (((vmaj >= 3) && (vmin >= 14)) || (vmaj >= 4)) + { + if (getenv("ECORE_VSYNC_DRM_VERSION_DEBUG")) + fprintf(stderr, "Whitelisted amdgpu OK\n"); + ok = EINA_TRUE; + goto checkdone; + } + } } if ((((drmverbroken->version_major == 1) && (drmverbroken->version_minor >= 6)) || @@ -636,6 +648,18 @@ _drm_init(int *flags) goto checkdone; } } + if ((!strcmp(drmverbroken->name, "amdgpu")) && + (strstr(drmverbroken->desc, "AMD")) && + ((drmverbroken->version_major > 2))) + { + if (((vmaj >= 3) && (vmin >= 14)) || (vmaj >= 4)) + { + if (getenv("ECORE_VSYNC_DRM_VERSION_DEBUG")) + fprintf(stderr, "Whitelisted amdgpu OK\n"); + ok = EINA_TRUE; + goto checkdone; + } + } } if ((drmver->version_major >= 0) && (drmver->version_minor >= 0) &&