diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2017-03-07 18:02:29 +0900 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2017-03-07 18:02:29 +0900 |
commit | fa85331f0ce27e16a9338516518433955133840e (patch) | |
tree | 08028d0967e2fdf9be28344154427175e38f878b | |
parent | 7884e38e94c2cbd6c205f556f2b31ad59b4089b4 (diff) |
glamor: Use glamor_finish when available
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | src/amdgpu_glamor.c | 7 |
2 files changed, 14 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 00249a5..591c2b9 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 d29b096..1c5dfc2 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 } } |