From 253848edd96adacb479f63fb3c59179dc69f1f58 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Thu, 17 Nov 2011 11:41:48 -0500 Subject: [PATCH] Add 'secret' constructor to make MemoryObjects from integers. --- src/wrapper/wrap_cl.hpp | 6 ++++++ src/wrapper/wrap_cl_part_1.cpp | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/src/wrapper/wrap_cl.hpp b/src/wrapper/wrap_cl.hpp index 78946cb8..27d671d4 100644 --- a/src/wrapper/wrap_cl.hpp +++ b/src/wrapper/wrap_cl.hpp @@ -1308,6 +1308,12 @@ namespace pyopencl } #endif + inline + memory_object *memory_object_from_int(intptr_t cl_mem_as_int) + { + return new memory_object((cl_mem) cl_mem_as_int, true); + } + // }}} // {{{ buffer diff --git a/src/wrapper/wrap_cl_part_1.cpp b/src/wrapper/wrap_cl_part_1.cpp index bb8cdda0..48095b04 100644 --- a/src/wrapper/wrap_cl_part_1.cpp +++ b/src/wrapper/wrap_cl_part_1.cpp @@ -151,6 +151,10 @@ void pyopencl_expose_part_1() .DEF_SIMPLE_METHOD(release) .add_property("obj_ptr", &cls::obj_ptr) .add_property("hostbuf", &cls::hostbuf) + .def("from_cl_mem_as_int", memory_object_from_int, + py::return_value_policy<py::manage_new_object>(), + py::args("cl_mem_as_int")) + .staticmethod("from_cl_mem_as_int") ; } -- GitLab