[Mesa-dev] [PATCH 2/3] clover: override ret_object

EdB edb+mesa at sigluy.net
Sat Jun 13 11:18:42 PDT 2015


Return an API object from an intrusive smart reference Clover object,
incrementing the reference count of the object.
---
 src/gallium/state_trackers/clover/api/util.hpp | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/gallium/state_trackers/clover/api/util.hpp b/src/gallium/state_trackers/clover/api/util.hpp
index 918df61..6af28f2 100644
--- a/src/gallium/state_trackers/clover/api/util.hpp
+++ b/src/gallium/state_trackers/clover/api/util.hpp
@@ -61,6 +61,18 @@ namespace clover {
          *p = desc(v());
       }
    }
+
+   ///
+   /// Return an API object from an intrusive smart reference Clover object,
+   /// incrementing the reference count of the object.
+   ///
+   template<typename T>
+   typename T::descriptor_type *
+   ret_object(const intrusive_ref<T> &v) {
+      v().retain();
+      return desc(v());
+   }
+
 }
 
 #endif
-- 
2.4.3



More information about the mesa-dev mailing list