Skip to content
Snippets Groups Projects
Commit 08a4b813 authored by Andreas Klöckner's avatar Andreas Klöckner
Browse files

Merge branch 'master' into yuyichao-master-fixes

parents 818b2d55 fb4da120
No related branches found
No related tags found
No related merge requests found
{% extends "!layout.html" %}
{% set css_files = css_files + ['_static/akdoc.css']%}
{% set bootswatch_css_custom = ['_static/akdoc.css']%}
Subproject commit c5e80622ee2dfd129d56886098a5ad532c54cf09
Subproject commit 2293b43ecfadfd4ea2adc9266c8ec18f2ae0ce11
......@@ -2420,6 +2420,8 @@ namespace pyopencl
std::auto_ptr<py_buffer_wrapper> retained_buf_obj;
if (buffer.ptr() != Py_None)
{
retained_buf_obj = std::auto_ptr<py_buffer_wrapper>(new py_buffer_wrapper);
int py_buf_flags = PyBUF_ANY_CONTIGUOUS;
if ((flags & CL_MEM_USE_HOST_PTR)
&& ((flags & CL_MEM_READ_WRITE)
......@@ -2564,6 +2566,8 @@ namespace pyopencl
std::auto_ptr<py_buffer_wrapper> retained_buf_obj;
if (buffer.ptr() != Py_None)
{
retained_buf_obj = std::auto_ptr<py_buffer_wrapper>(new py_buffer_wrapper);
int py_buf_flags = PyBUF_ANY_CONTIGUOUS;
if ((flags & CL_MEM_USE_HOST_PTR)
&& ((flags & CL_MEM_READ_WRITE)
......@@ -3586,7 +3590,16 @@ namespace pyopencl
#ifdef PYOPENCL_USE_NEW_BUFFER_INTERFACE
py_buffer_wrapper buf_wrapper;
buf_wrapper.get(py_buffer.ptr(), PyBUF_ANY_CONTIGUOUS);
try
{
buf_wrapper.get(py_buffer.ptr(), PyBUF_ANY_CONTIGUOUS);
}
catch (py::error_already_set)
{
PyErr_Clear();
throw error("Kernel.set_arg", CL_INVALID_VALUE,
"invalid kernel argument");
}
buf = buf_wrapper.m_buf.buf;
len = buf_wrapper.m_buf.len;
......@@ -3889,7 +3902,7 @@ namespace pyopencl
class gl_buffer : public memory_object
{
public:
gl_buffer(cl_mem mem, bool retain, py::object *hostbuf=0)
gl_buffer(cl_mem mem, bool retain, hostbuf_t hostbuf=hostbuf_t())
: memory_object(mem, retain, hostbuf)
{ }
};
......@@ -3900,7 +3913,7 @@ namespace pyopencl
class gl_renderbuffer : public memory_object
{
public:
gl_renderbuffer(cl_mem mem, bool retain, py::object *hostbuf=0)
gl_renderbuffer(cl_mem mem, bool retain, hostbuf_t hostbuf=hostbuf_t())
: memory_object(mem, retain, hostbuf)
{ }
};
......@@ -3911,7 +3924,7 @@ namespace pyopencl
class gl_texture : public image
{
public:
gl_texture(cl_mem mem, bool retain, py::object *hostbuf=0)
gl_texture(cl_mem mem, bool retain, hostbuf_t hostbuf=hostbuf_t())
: image(mem, retain, hostbuf)
{ }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment