summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2018-07-18 11:52:09 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2018-07-24 13:09:55 +0900
commit18cccd87985566be84431e4ef97e7cce6aad7af3 (patch)
treef4ceebc87ae3eeab59b0673b6934f8b86aea5059
parent8f05d0363949a808b0f150432010503985ad538f (diff)
downloadefl-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.c24
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) &&