[PATCH xf86-video-amdgpu] glamor: Use glamor_finish when available

Michel Dänzer michel at daenzer.net
Wed Mar 8 08:58:00 UTC 2017


From: Michel Dänzer <michel.daenzer at amd.com>

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 configure.ac        | 9 +++++++--
 src/amdgpu_glamor.c | 7 +++++++
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 00249a599..591c2b9f6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -138,9 +138,14 @@ if test "x$GLAMOR" != "xno"; then
 					 [Have glamor_egl_destroy_textured_pixmap API])], [],
 			      [#include "xorg-server.h"
 			       #include "glamor.h"])
-	fi
 
-	PKG_CHECK_MODULES(LIBGL, [gl])
+		AC_CHECK_DECL(glamor_finish,
+			      [AC_DEFINE(HAVE_GLAMOR_FINISH, 1,
+					 [Have glamor_finish API])],
+					 [PKG_CHECK_MODULES(LIBGL, [gl])],
+			      [#include "xorg-server.h"
+			       #include "glamor.h"])
+	fi
 
 	if test "x$GLAMOR_XSERVER" != xyes; then
 		PKG_CHECK_MODULES(LIBGLAMOR, [glamor >= 0.6.0])
diff --git a/src/amdgpu_glamor.c b/src/amdgpu_glamor.c
index d29b096f4..1c5dfc2d1 100644
--- a/src/amdgpu_glamor.c
+++ b/src/amdgpu_glamor.c
@@ -36,7 +36,9 @@
 
 #include <gbm.h>
 
+#ifndef HAVE_GLAMOR_FINISH
 #include <GL/gl.h>
+#endif
 
 DevPrivateKeyRec amdgpu_pixmap_index;
 
@@ -470,8 +472,13 @@ void amdgpu_glamor_finish(ScrnInfoPtr pScrn)
 	AMDGPUInfoPtr info = AMDGPUPTR(pScrn);
 
 	if (info->use_glamor) {
+#if HAVE_GLAMOR_FINISH
+		glamor_finish(pScrn->pScreen);
+		info->gpu_flushed++;
+#else
 		amdgpu_glamor_flush(pScrn);
 		glFinish();
+#endif
 	}
 }
 
-- 
2.11.0



More information about the amd-gfx mailing list