summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2016-09-12 18:05:51 +0900
committerMichel Dänzer <michel@daenzer.net>2016-09-14 16:29:53 +0900
commit38632bbd5ff80a9cf8ce584b2bc499d17d15befe (patch)
treef990675092087b6e6d906f7f45cfd2883a0d9ac4
parente91858e435672c32f9c4a854b3dec048199d6f7f (diff)
Consolidate get_drawable_pixmap helper
There were two static helpers for the same purpose. Consolidate them into a single inline helper which can be used anywhere. (Ported from amdgpu commit 641f4647b7f51dfd2da330376cd10fa9702b6423) Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--src/radeon_bo_helper.h16
-rw-r--r--src/radeon_dri2.c9
-rw-r--r--src/radeon_glamor_wrappers.c19
3 files changed, 17 insertions, 27 deletions
diff --git a/src/radeon_bo_helper.h b/src/radeon_bo_helper.h
index d4a4ee01..f1aed551 100644
--- a/src/radeon_bo_helper.h
+++ b/src/radeon_bo_helper.h
@@ -41,4 +41,20 @@ extern Bool
radeon_set_shared_pixmap_backing(PixmapPtr ppix, void *fd_handle,
struct radeon_surface *surface);
+/**
+ * get_drawable_pixmap() returns the backing pixmap for a given drawable.
+ *
+ * @param drawable the drawable being requested.
+ *
+ * This function returns the backing pixmap for a drawable, whether it is a
+ * redirected window, unredirected window, or already a pixmap.
+ */
+static inline PixmapPtr get_drawable_pixmap(DrawablePtr drawable)
+{
+ if (drawable->type == DRAWABLE_PIXMAP)
+ return (PixmapPtr)drawable;
+ else
+ return drawable->pScreen->GetWindowPixmap((WindowPtr)drawable);
+}
+
#endif /* RADEON_BO_HELPER_H */
diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
index c55e6ee8..069e4462 100644
--- a/src/radeon_dri2.c
+++ b/src/radeon_dri2.c
@@ -78,15 +78,6 @@ static DevPrivateKeyRec dri2_window_private_key_rec;
dixLookupPrivate(&(window)->devPrivates, dri2_window_private_key))
-static PixmapPtr get_drawable_pixmap(DrawablePtr drawable)
-{
- if (drawable->type == DRAWABLE_PIXMAP)
- return (PixmapPtr)drawable;
- else
- return (*drawable->pScreen->GetWindowPixmap)((WindowPtr)drawable);
-}
-
-
static PixmapPtr fixup_glamor(DrawablePtr drawable, PixmapPtr pixmap)
{
PixmapPtr old = get_drawable_pixmap(drawable);
diff --git a/src/radeon_glamor_wrappers.c b/src/radeon_glamor_wrappers.c
index cd02b068..5f165ebe 100644
--- a/src/radeon_glamor_wrappers.c
+++ b/src/radeon_glamor_wrappers.c
@@ -35,27 +35,10 @@
#ifdef USE_GLAMOR
#include "radeon.h"
+#include "radeon_bo_helper.h"
#include "radeon_glamor.h"
-/**
- * get_drawable_pixmap() returns the backing pixmap for a given drawable.
- *
- * @param pDrawable the drawable being requested.
- *
- * This function returns the backing pixmap for a drawable, whether it is a
- * redirected window, unredirected window, or already a pixmap.
- */
-static PixmapPtr
-get_drawable_pixmap(DrawablePtr pDrawable)
-{
- if (pDrawable->type == DRAWABLE_WINDOW)
- return pDrawable->pScreen->
- GetWindowPixmap((WindowPtr) pDrawable);
- else
- return (PixmapPtr) pDrawable;
-}
-
/* Are there any outstanding GPU operations for this pixmap? */
static Bool
radeon_glamor_gpu_pending(uint_fast32_t gpu_synced, uint_fast32_t gpu_access)