OpenCL C++ Bindings
cl::Image2D Class Reference

Class interface for 2D Image Memory objects. More...

#include <opencl.hpp>

Inheritance diagram for cl::Image2D:
cl::Image cl::Memory cl::detail::Wrapper< cl_mem > cl::Image2DGL

Public Member Functions

 Image2D (const Context &context, cl_mem_flags flags, ImageFormat format, size_type width, size_type height, size_type row_pitch=0, void *host_ptr=NULL, cl_int *err=NULL)
 Constructs a 2D Image in a specified context. More...
 
 Image2D (const Context &context, ImageFormat format, const Buffer &sourceBuffer, size_type width, size_type height, size_type row_pitch=0, cl_int *err=nullptr)
 Constructs a 2D Image from a buffer. More...
 
 Image2D (const Context &context, cl_channel_order order, const Image &sourceImage, cl_int *err=nullptr)
 Constructs a 2D Image from an image. More...
 
 Image2D ()
 Default constructor - initializes to NULL. More...
 
 Image2D (const cl_mem &image2D, bool retainObject=false)
 Constructor from cl_mem - takes ownership. More...
 
Image2Doperator= (const cl_mem &rhs)
 Assignment from cl_mem - performs shallow copy. More...
 
 Image2D (const Image2D &img)
 Copy constructor to forward copy to the superclass correctly. Required for MSVC. More...
 
Image2Doperator= (const Image2D &img)
 Copy assignment to forward copy to the superclass correctly. Required for MSVC. More...
 
 Image2D (Image2D &&img) CL_HPP_NOEXCEPT_
 Move constructor to forward move to the superclass correctly. Required for MSVC. More...
 
Image2Doperator= (Image2D &&img)
 Move assignment to forward move to the superclass correctly. Required for MSVC. More...
 
- Public Member Functions inherited from cl::Image
template<typename T >
cl_int getImageInfo (cl_image_info name, T *param) const
 Wrapper for clGetImageInfo(). More...
 
template<cl_image_info name>
detail::param_traits< detail::cl_image_info, name >::param_type getImageInfo (cl_int *err=NULL) const
 Wrapper for clGetImageInfo() that returns by value. 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::Image
 Image ()
 Default constructor - initializes to NULL. More...
 
 Image (const cl_mem &image, bool retainObject=false)
 Constructor from cl_mem - takes ownership. More...
 
Imageoperator= (const cl_mem &rhs)
 Assignment from cl_mem - performs shallow copy. More...
 
 Image (const Image &img)
 Copy constructor to forward copy to the superclass correctly. Required for MSVC. More...
 
Imageoperator= (const Image &img)
 Copy assignment to forward copy to the superclass correctly. Required for MSVC. More...
 
 Image (Image &&img) CL_HPP_NOEXCEPT_
 Move constructor to forward move to the superclass correctly. Required for MSVC. More...
 
Imageoperator= (Image &&img)
 Move assignment to forward move to the superclass correctly. Required for MSVC. More...
 
- 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 2D Image Memory objects.

See Memory for details about copy semantics, etc.

See also
Memory

Definition at line 4788 of file opencl.hpp.

Constructor & Destructor Documentation

◆ Image2D() [1/7]

cl::Image2D::Image2D ( const Context context,
cl_mem_flags  flags,
ImageFormat  format,
size_type  width,
size_type  height,
size_type  row_pitch = 0,
void *  host_ptr = NULL,
cl_int *  err = NULL 
)
inline

Constructs a 2D Image in a specified context.

Wraps clCreateImage().

Definition at line 4795 of file opencl.hpp.

◆ Image2D() [2/7]

cl::Image2D::Image2D ( const Context context,
ImageFormat  format,
const Buffer sourceBuffer,
size_type  width,
size_type  height,
size_type  row_pitch = 0,
cl_int *  err = nullptr 
)
inline

Constructs a 2D Image from a buffer.

Note
This will share storage with the underlying buffer.

Wraps clCreateImage().

Definition at line 4863 of file opencl.hpp.

◆ Image2D() [3/7]

cl::Image2D::Image2D ( const Context context,
cl_channel_order  order,
const Image sourceImage,
cl_int *  err = nullptr 
)
inline

Constructs a 2D Image from an image.

Note
This will share storage with the underlying image but may reinterpret the channel order and type.

The image will be created matching with a descriptor matching the source.

Parameters
orderis the channel order to reinterpret the image data as. The channel order may differ as described in the OpenCL 2.0 API specification.

Wraps clCreateImage().

Definition at line 4909 of file opencl.hpp.

◆ Image2D() [4/7]

cl::Image2D::Image2D ( )
inline

Default constructor - initializes to NULL.

Definition at line 4960 of file opencl.hpp.

◆ Image2D() [5/7]

cl::Image2D::Image2D ( const cl_mem &  image2D,
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 4969 of file opencl.hpp.

◆ Image2D() [6/7]

cl::Image2D::Image2D ( const Image2D img)
inline

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

Definition at line 4985 of file opencl.hpp.

◆ Image2D() [7/7]

cl::Image2D::Image2D ( Image2D &&  img)
inline

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

Definition at line 4999 of file opencl.hpp.

Member Function Documentation

◆ operator=() [1/3]

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

Assignment from cl_mem - performs shallow copy.

See Memory for further details.

Definition at line 4976 of file opencl.hpp.

◆ operator=() [2/3]

Image2D & cl::Image2D::operator= ( const Image2D img)
inline

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

Definition at line 4990 of file opencl.hpp.

◆ operator=() [3/3]

Image2D & cl::Image2D::operator= ( Image2D &&  img)
inline

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

Definition at line 5004 of file opencl.hpp.


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