OpenCL C++ Bindings
cl::BufferGL Class Reference

Class interface for GL Buffer Memory Objects. More...

#include <opencl.hpp>

Inheritance diagram for cl::BufferGL:
cl::Buffer cl::Memory cl::detail::Wrapper< cl_mem >

Public Member Functions

 BufferGL (const Context &context, cl_mem_flags flags, cl_GLuint bufobj, cl_int *err=NULL)
 Constructs a BufferGL in a specified context, from a given GL buffer. More...
 
 BufferGL ()
 Default constructor - initializes to NULL. More...
 
 BufferGL (const cl_mem &buffer, bool retainObject=false)
 Constructor from cl_mem - takes ownership. More...
 
BufferGLoperator= (const cl_mem &rhs)
 Assignment from cl_mem - performs shallow copy. More...
 
 BufferGL (const BufferGL &buf)
 Copy constructor to forward copy to the superclass correctly. Required for MSVC. More...
 
BufferGLoperator= (const BufferGL &buf)
 Copy assignment to forward copy to the superclass correctly. Required for MSVC. More...
 
 BufferGL (BufferGL &&buf) CL_HPP_NOEXCEPT_
 Move constructor to forward move to the superclass correctly. Required for MSVC. More...
 
BufferGLoperator= (BufferGL &&buf)
 Move assignment to forward move to the superclass correctly. Required for MSVC. More...
 
cl_int getObjectInfo (cl_gl_object_type *type, cl_GLuint *gl_object_name)
 Wrapper for clGetGLObjectInfo(). More...
 
- Public Member Functions inherited from cl::Buffer
 Buffer (const Context &context, cl_mem_flags flags, size_type size, void *host_ptr=NULL, cl_int *err=NULL)
 Constructs a Buffer in a specified context. More...
 
 Buffer (cl_mem_flags flags, size_type size, void *host_ptr=NULL, cl_int *err=NULL)
 Constructs a Buffer in the default context. More...
 
template<typename IteratorType >
 Buffer (IteratorType startIterator, IteratorType endIterator, bool readOnly, bool useHostPtr=false, cl_int *err=NULL)
 Construct a Buffer from a host container via iterators. IteratorType must be random access. If useHostPtr is specified iterators must represent contiguous data. More...
 
template<typename IteratorType >
 Buffer (const Context &context, IteratorType startIterator, IteratorType endIterator, bool readOnly, bool useHostPtr=false, cl_int *err=NULL)
 Construct a Buffer from a host container via iterators using a specified context. IteratorType must be random access. If useHostPtr is specified iterators must represent contiguous data. More...
 
template<typename IteratorType >
 Buffer (const CommandQueue &queue, IteratorType startIterator, IteratorType endIterator, bool readOnly, bool useHostPtr=false, cl_int *err=NULL)
 Construct a Buffer from a host container via iterators using a specified queue. If useHostPtr is specified iterators must be random access. More...
 
 Buffer ()
 Default constructor - initializes to NULL. More...
 
 Buffer (const cl_mem &buffer, bool retainObject=false)
 Constructor from cl_mem - takes ownership. More...
 
Bufferoperator= (const cl_mem &rhs)
 Assignment from cl_mem - performs shallow copy. More...
 
 Buffer (const Buffer &buf)
 Copy constructor to forward copy to the superclass correctly. Required for MSVC. More...
 
Bufferoperator= (const Buffer &buf)
 Copy assignment to forward copy to the superclass correctly. Required for MSVC. More...
 
 Buffer (Buffer &&buf) CL_HPP_NOEXCEPT_
 Move constructor to forward move to the superclass correctly. Required for MSVC. More...
 
Bufferoperator= (Buffer &&buf)
 Move assignment to forward move to the superclass correctly. Required for MSVC. More...
 
Buffer createSubBuffer (cl_mem_flags flags, cl_buffer_create_type buffer_create_type, const void *buffer_create_info, cl_int *err=NULL)
 Creates a new buffer object from this. More...
 
- Public Member Functions inherited from cl::Memory
 Memory ()
 Default constructor - initializes to NULL. More...
 
 Memory (const cl_mem &memory, bool retainObject)
 Constructor from cl_mem - takes ownership. More...
 
Memoryoperator= (const cl_mem &rhs)
 Assignment operator from cl_mem - takes ownership. More...
 
 Memory (const Memory &mem)
 Copy constructor to forward copy to the superclass correctly. Required for MSVC. More...
 
Memoryoperator= (const Memory &mem)
 Copy assignment to forward copy to the superclass correctly. Required for MSVC. More...
 
 Memory (Memory &&mem) CL_HPP_NOEXCEPT_
 Move constructor to forward move to the superclass correctly. Required for MSVC. More...
 
Memoryoperator= (Memory &&mem)
 Move assignment to forward move to the superclass correctly. Required for MSVC. More...
 
template<typename T >
cl_int getInfo (cl_mem_info name, T *param) const
 Wrapper for clGetMemObjectInfo(). More...
 
template<cl_mem_info name>
detail::param_traits< detail::cl_mem_info, name >::param_type getInfo (cl_int *err=NULL) const
 Wrapper for clGetMemObjectInfo() that returns by value. More...
 
cl_int setDestructorCallback (void(CL_CALLBACK *pfn_notify)(cl_mem, void *), void *user_data=NULL)
 Registers a callback function to be called when the memory object is no longer needed. More...
 
- Public Member Functions inherited from cl::detail::Wrapper< cl_mem >
 Wrapper (const cl_type &obj, bool retainObject)
 
 Wrapper (const Wrapper< cl_type > &rhs)
 
 Wrapper (Wrapper< cl_type > &&rhs) CL_HPP_NOEXCEPT_
 
Wrapper< cl_type > & operator= (const Wrapper< cl_type > &rhs)
 
Wrapper< cl_type > & operator= (Wrapper< cl_type > &&rhs)
 
Wrapper< cl_type > & operator= (const cl_type &rhs)
 
const cl_type & operator() () const
 
cl_type & operator() ()
 
cl_type get () const
 

Additional Inherited Members

- Public Types inherited from cl::detail::Wrapper< cl_mem >
typedef cl_mem cl_type
 
- Protected Member Functions inherited from cl::detail::Wrapper< cl_mem >
cl_int retain () const
 
cl_int release () const
 
- Protected Attributes inherited from cl::detail::Wrapper< cl_mem >
cl_type object_
 

Detailed Description

Class interface for GL Buffer Memory Objects.

This is provided to facilitate interoperability with OpenGL.

See Memory for details about copy semantics, etc.

See also
Memory

Definition at line 4243 of file opencl.hpp.

Constructor & Destructor Documentation

◆ BufferGL() [1/5]

cl::BufferGL::BufferGL ( const Context context,
cl_mem_flags  flags,
cl_GLuint  bufobj,
cl_int *  err = NULL 
)
inline

Constructs a BufferGL in a specified context, from a given GL buffer.

Wraps clCreateFromGLBuffer().

Definition at line 4251 of file opencl.hpp.

◆ BufferGL() [2/5]

cl::BufferGL::BufferGL ( )
inline

Default constructor - initializes to NULL.

Definition at line 4271 of file opencl.hpp.

◆ BufferGL() [3/5]

cl::BufferGL::BufferGL ( const cl_mem &  buffer,
bool  retainObject = false 
)
inlineexplicit

Constructor from cl_mem - takes ownership.

Parameters
retainObjectwill cause the constructor to retain its cl object. Defaults to false to maintain compatibility with earlier versions. See Memory for further details.

Definition at line 4280 of file opencl.hpp.

◆ BufferGL() [4/5]

cl::BufferGL::BufferGL ( const BufferGL buf)
inline

Copy constructor to forward copy to the superclass correctly. Required for MSVC.

Definition at line 4296 of file opencl.hpp.

◆ BufferGL() [5/5]

cl::BufferGL::BufferGL ( BufferGL &&  buf)
inline

Move constructor to forward move to the superclass correctly. Required for MSVC.

Definition at line 4310 of file opencl.hpp.

Member Function Documentation

◆ getObjectInfo()

cl_int cl::BufferGL::getObjectInfo ( cl_gl_object_type *  type,
cl_GLuint *  gl_object_name 
)
inline

Wrapper for clGetGLObjectInfo().

Definition at line 4322 of file opencl.hpp.

◆ operator=() [1/3]

BufferGL & cl::BufferGL::operator= ( BufferGL &&  buf)
inline

Move assignment to forward move to the superclass correctly. Required for MSVC.

Definition at line 4315 of file opencl.hpp.

◆ operator=() [2/3]

BufferGL & cl::BufferGL::operator= ( const BufferGL buf)
inline

Copy assignment to forward copy to the superclass correctly. Required for MSVC.

Definition at line 4301 of file opencl.hpp.

◆ operator=() [3/3]

BufferGL & cl::BufferGL::operator= ( const cl_mem &  rhs)
inline

Assignment from cl_mem - performs shallow copy.

See Memory for further details.

Definition at line 4287 of file opencl.hpp.


The documentation for this class was generated from the following file: