OpenCL C++ Bindings

Loading...
Searching...
No Matches
cl::BufferGL Class Reference

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

`#include <opencl.hpp>`

Inheritance diagram for cl::BufferGL:

## Public Member Functions
| BufferGL (const Context &context, cl_mem_flags flags, cl_GLuint bufobj, cl_int *err=nullptr)
| Constructs a BufferGL in a specified context, from a given GL buffer.
| BufferGL ()
| Default constructor - initializes to nullptr.
| BufferGL (const cl_mem &buffer, bool retainObject=false)
| Constructor from cl_mem - takes ownership.
BufferGL & | operator= (const cl_mem &rhs)
| Assignment from cl_mem - performs shallow copy.
cl_int | getObjectInfo (cl_gl_object_type *type, cl_GLuint *gl_object_name)
| Wrapper for clGetGLObjectInfo().
Public Member Functions inherited from cl::Buffer
| Buffer (const Context &context, cl_mem_flags flags, size_type size, void *host_ptr=nullptr, cl_int *err=nullptr)
| Constructs a Buffer in a specified context.
| Buffer (const Context &context, const vector< cl_mem_properties > &properties, cl_mem_flags flags, size_type size, void *host_ptr=nullptr, cl_int *err=nullptr)
| Constructs a Buffer in a specified context and with specified properties.
| Buffer (cl_mem_flags flags, size_type size, void *host_ptr=nullptr, cl_int *err=nullptr)
| Constructs a Buffer in the default context.
| Buffer (const vector< cl_mem_properties > &properties, cl_mem_flags flags, size_type size, void *host_ptr=nullptr, cl_int *err=nullptr)
| Constructs a Buffer in the default context and with specified properties.
template<typename IteratorType>
| Buffer (IteratorType startIterator, IteratorType endIterator, bool readOnly, bool useHostPtr=false, cl_int *err=nullptr)
| Construct a Buffer from a host container via iterators. IteratorType must be random access. If useHostPtr is specified iterators must represent contiguous data.
template<typename IteratorType>
| Buffer (const Context &context, IteratorType startIterator, IteratorType endIterator, bool readOnly, bool useHostPtr=false, cl_int *err=nullptr)
| 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.
template<typename IteratorType>
| Buffer (const CommandQueue &queue, IteratorType startIterator, IteratorType endIterator, bool readOnly, bool useHostPtr=false, cl_int *err=nullptr)
| Construct a Buffer from a host container via iterators using a specified queue. If useHostPtr is specified iterators must be random access.
| Buffer ()
| Default constructor - initializes to nullptr.
| Buffer (const cl_mem &buffer, bool retainObject=false)
| Constructor from cl_mem - takes ownership.
Buffer & | operator= (const cl_mem &rhs)
| Assignment from cl_mem - performs shallow copy.
Buffer | createSubBuffer (cl_mem_flags flags, cl_buffer_create_type buffer_create_type, const void *buffer_create_info, cl_int *err=nullptr)
| Creates a new buffer object from this.
Public Member Functions inherited from cl::Memory
| Memory ()
| Default constructor - initializes to nullptr.
| Memory (const cl_mem &memory, bool retainObject)
| Constructor from cl_mem - takes ownership.
Memory & | operator= (const cl_mem &rhs)
| Assignment operator from cl_mem - takes ownership.
template<typename T>
cl_int | getInfo (cl_mem_info name, T *param) const
| Wrapper for clGetMemObjectInfo().
template<cl_mem_info name>
detail::param_traits< detail::cl_mem_info, name >::param_type | getInfo (cl_int *err=nullptr) const
| Wrapper for clGetMemObjectInfo() that returns by value.
cl_int | setDestructorCallback (void(CL_CALLBACK *pfn_notify)(cl_mem, void *), void *user_data=nullptr)
| Registers a callback function to be called when the memory object is no longer needed.
Public Member Functions inherited from cl::detail::Wrapper< cl_mem >
Wrapper< cl_type > & | operator= (const Wrapper< cl_type > &rhs)
const cl_type & | operator() () const
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 4673 of file opencl.hpp.

## Constructor & Destructor Documentation

## ◆ BufferGL() [1/3]

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

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

Wraps clCreateFromGLBuffer().

Definition at line 4681 of file opencl.hpp.

## ◆ BufferGL() [2/3]

cl::BufferGL::BufferGL | ( |  | ) |
| inline

Default constructor - initializes to nullptr.

Definition at line 4701 of file opencl.hpp.

## ◆ BufferGL() [3/3]

cl::BufferGL::BufferGL | ( | const cl_mem & | buffer,
|  | bool | retainObject = false )
| inline explicit

Constructor from cl_mem - takes ownership.

Parameters

  retainObject | will 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 4710 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 4725 of file opencl.hpp.

## ◆ operator=()

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

Assignment from cl_mem - performs shallow copy.

See Memory for further details.

Definition at line 4717 of file opencl.hpp.

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

- opencl.hpp