aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys/radeon/drm/radeon_winsys.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/winsys/radeon/drm/radeon_winsys.h')
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_winsys.h20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/gallium/winsys/radeon/drm/radeon_winsys.h b/src/gallium/winsys/radeon/drm/radeon_winsys.h
index eeae724d042..485e9259be3 100644
--- a/src/gallium/winsys/radeon/drm/radeon_winsys.h
+++ b/src/gallium/winsys/radeon/drm/radeon_winsys.h
@@ -232,14 +232,17 @@ enum radeon_feature_id {
struct radeon_winsys {
/**
- * Reference counting
+ * The screen object this winsys was created for
*/
- struct pipe_reference reference;
+ struct pipe_screen *screen;
/**
- * The screen object this winsys was created for
+ * Decrement the winsys reference count.
+ *
+ * \param ws The winsys this function is called for.
+ * \return True if the winsys and screen should be destroyed.
*/
- struct pipe_screen *screen;
+ bool (*unref)(struct radeon_winsys *ws);
/**
* Destroy this winsys.
@@ -568,15 +571,6 @@ struct radeon_winsys {
enum radeon_value_id value);
};
-/**
- * Decrement the winsys reference count.
- *
- * \param ws The winsys this function is called for.
- */
-static INLINE boolean radeon_winsys_unref(struct radeon_winsys *ws)
-{
- return pipe_reference(&ws->reference, NULL);
-}
static INLINE void radeon_emit(struct radeon_winsys_cs *cs, uint32_t value)
{