summaryrefslogtreecommitdiff
path: root/src/lib/ecore_x
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 /src/lib/ecore_x
parent8f05d0363949a808b0f150432010503985ad538f (diff)
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
Diffstat (limited to 'src/lib/ecore_x')
-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)
592 goto checkdone; 592 goto checkdone;
593 } 593 }
594 } 594 }
595 if ((!strcmp(drmver->name, "amdgpu")) &&
596 (strstr(drmver->desc, "AMD")) &&
597 ((drmver->version_major > 2)))
598 {
599 if (((vmaj >= 3) && (vmin >= 14)) || (vmaj >= 4))
600 {
601 if (getenv("ECORE_VSYNC_DRM_VERSION_DEBUG"))
602 fprintf(stderr, "Whitelisted amdgpu OK\n");
603 ok = EINA_TRUE;
604 goto checkdone;
605 }
606 }
595 } 607 }
596 if ((((drmverbroken->version_major == 1) && 608 if ((((drmverbroken->version_major == 1) &&
597 (drmverbroken->version_minor >= 6)) || 609 (drmverbroken->version_minor >= 6)) ||
@@ -636,6 +648,18 @@ _drm_init(int *flags)
636 goto checkdone; 648 goto checkdone;
637 } 649 }
638 } 650 }
651 if ((!strcmp(drmverbroken->name, "amdgpu")) &&
652 (strstr(drmverbroken->desc, "AMD")) &&
653 ((drmverbroken->version_major > 2)))
654 {
655 if (((vmaj >= 3) && (vmin >= 14)) || (vmaj >= 4))
656 {
657 if (getenv("ECORE_VSYNC_DRM_VERSION_DEBUG"))
658 fprintf(stderr, "Whitelisted amdgpu OK\n");
659 ok = EINA_TRUE;
660 goto checkdone;
661 }
662 }
639 } 663 }
640 if ((drmver->version_major >= 0) && 664 if ((drmver->version_major >= 0) &&
641 (drmver->version_minor >= 0) && 665 (drmver->version_minor >= 0) &&