OpenCL C++ Bindings
Loading...
Searching...
No Matches
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=nullptr, cl_int *err=nullptr)
 Constructs a 2D Image in a specified context.
 
 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.
 
 Image2D (const Context &context, cl_channel_order order, const Image &sourceImage, cl_int *err=nullptr)
 Constructs a 2D Image from an image.
 
 Image2D (const Context &context, const vector< cl_mem_properties > &properties, cl_mem_flags flags, ImageFormat format, size_type width, size_type height, size_type row_pitch=0, void *host_ptr=nullptr, cl_int *err=nullptr)
 Constructs a Image2D with specified properties.
 
 Image2D (const Context &context, const vector< cl_mem_properties > &properties, cl_mem_flags flags, ImageFormat format, const Buffer &buffer, size_type width, size_type height, size_type row_pitch=0, cl_int *err=nullptr)
 Constructs a Image2D with specified properties.
 
 Image2D ()
 Default constructor - initializes to nullptr.
 
 Image2D (const cl_mem &image2D, bool retainObject=false)
 Constructor from cl_mem - takes ownership.
 
Image2Doperator= (const cl_mem &rhs)
 Assignment from cl_mem - performs shallow copy.
 
- Public Member Functions inherited from cl::Image
template<typename T >
cl_int getImageInfo (cl_image_info name, T *param) const
 Wrapper for clGetImageInfo().
 
template<cl_image_info name>
detail::param_traits< detail::cl_image_info, name >::param_type getImageInfo (cl_int *err=nullptr) const
 Wrapper for clGetImageInfo() that returns by value.
 
- 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.
 
Memoryoperator= (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 (const cl_type &obj, bool retainObject)
 
 Wrapper (const Wrapper< cl_type > &rhs)
 
 Wrapper (Wrapper< cl_type > &&rhs) 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 nullptr.
 
 Image (const cl_mem &image, bool retainObject=false)
 Constructor from cl_mem - takes ownership.
 
Imageoperator= (const cl_mem &rhs)
 Assignment from cl_mem - performs shallow copy.
 
- 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 5144 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 = nullptr,
cl_int * err = nullptr )
inline

Constructs a 2D Image in a specified context.

Wraps clCreateImage().

Definition at line 5151 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.

Requires OpenCL 2.0 or newer or OpenCL 1.2 and the cl_khr_image2d_from_buffer extension.

Wraps clCreateImage().

Definition at line 5222 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 5268 of file opencl.hpp.

◆ Image2D() [4/7]

cl::Image2D::Image2D ( const Context & context,
const vector< cl_mem_properties > & properties,
cl_mem_flags flags,
ImageFormat format,
size_type width,
size_type height,
size_type row_pitch = 0,
void * host_ptr = nullptr,
cl_int * err = nullptr )
inline

Constructs a Image2D with specified properties.

Wraps clCreateImageWithProperties().

Parameters
propertiesOptional list of properties for the image object and their corresponding values. The non-empty list must end with 0.
host_ptrStorage to be used if the CL_MEM_USE_HOST_PTR flag was specified. Note alignment & exclusivity requirements.

Definition at line 5329 of file opencl.hpp.

◆ Image2D() [5/7]

cl::Image2D::Image2D ( const Context & context,
const vector< cl_mem_properties > & properties,
cl_mem_flags flags,
ImageFormat format,
const Buffer & buffer,
size_type width,
size_type height,
size_type row_pitch = 0,
cl_int * err = nullptr )
inline

Constructs a Image2D with specified properties.

Wraps clCreateImageWithProperties().

Parameters
propertiesOptional list of properties for the image object and their corresponding values. The non-empty list must end with 0.
bufferRefer to a valid buffer or image memory object.

Definition at line 5365 of file opencl.hpp.

◆ Image2D() [6/7]

cl::Image2D::Image2D ( )
inline

Default constructor - initializes to nullptr.

Definition at line 5396 of file opencl.hpp.

◆ Image2D() [7/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 5405 of file opencl.hpp.

Member Function Documentation

◆ operator=()

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

Assignment from cl_mem - performs shallow copy.

See Memory for further details.

Definition at line 5412 of file opencl.hpp.


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