diff options
author | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2018-07-18 11:52:09 +0900 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2018-07-24 13:09:55 +0900 |
commit | 18cccd87985566be84431e4ef97e7cce6aad7af3 (patch) | |
tree | f4ceebc87ae3eeab59b0673b6934f8b86aea5059 | |
parent | 8f05d0363949a808b0f150432010503985ad538f (diff) | |
download | efl-18cccd87985566be84431e4ef97e7cce6aad7af3.tar.gz |
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
-rw-r--r-- | src/lib/ecore_x/ecore_x_vsync.c | 24 |
1 files changed, 24 insertions, 0 deletions
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) && |