OpenCL C++ Bindings: cl::Context Class Reference

OpenCL C++ Bindings

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
cl::Context Class Reference

Class interface for cl_context. More...

`#include <opencl.hpp>`

Inheritance diagram for cl::Context:

## Public Member Functions
| Context (const vector< Device > &devices, const cl_context_properties *properties=nullptr, void(CL_CALLBACK *notifyFptr)(const char *, const void *, size_type, void *)=nullptr, void *data=nullptr, cl_int *err=nullptr)
| Constructs a context including a list of specified devices.
| Context (const Device &device, const cl_context_properties *properties=nullptr, void(CL_CALLBACK *notifyFptr)(const char *, const void *, size_type, void *)=nullptr, void *data=nullptr, cl_int *err=nullptr)
| Constructs a context including a specific device.
| Context (cl_device_type type, const cl_context_properties *properties=nullptr, void(CL_CALLBACK *notifyFptr)(const char *, const void *, size_type, void *)=nullptr, void *data=nullptr, cl_int *err=nullptr)
| Constructs a context including all or a subset of devices of a specified type.
| Context ()
| Default constructor - initializes to nullptr.
| Context (const cl_context &context, bool retainObject=false)
| Constructor from cl_context - takes ownership.
Context & | operator= (const cl_context &rhs)
| Assignment operator from cl_context - takes ownership.
template<typename T >
cl_int | getInfo (cl_context_info name, T *param) const
| Wrapper for clGetContextInfo().
template<cl_context_info name>
detail::param_traits< detail::cl_context_info, name >::param_type | getInfo (cl_int *err=nullptr) const
| Wrapper for clGetContextInfo() that returns by value.
cl_int | getSupportedImageFormats (cl_mem_flags flags, cl_mem_object_type type, vector< ImageFormat > *formats) const
| Gets a list of supported image formats.
cl_int | setDestructorCallback (void(CL_CALLBACK *pfn_notify)(cl_context, void *), void *user_data=nullptr)
| Registers a destructor callback function with a context.
Public Member Functions inherited from cl::detail::Wrapper< cl_context >
| 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

## Static Public Member Functions
static Context | getDefault (cl_int *err=nullptr)
| Returns a singleton context including all devices of CL_DEVICE_TYPE_DEFAULT.
static Context | setDefault (const Context &default_context)

## Additional Inherited Members
Public Types inherited from cl::detail::Wrapper< cl_context >
typedef cl_context | cl_type
Protected Member Functions inherited from cl::detail::Wrapper< cl_context >
cl_int | retain () const
cl_int | release () const
Protected Attributes inherited from cl::detail::Wrapper< cl_context >
cl_type | object_

## Detailed Description

Class interface for cl_context.

Note
  Copies of these objects are shallow, meaning that the copy will refer to the same underlying cl_context as the original. For details, see clRetainContext() and clReleaseContext().

See also
  cl_context

Definition at line 3147 of file opencl.hpp.

## Constructor & Destructor Documentation

## ◆ Context() [1/5]

cl::Context::Context | ( | const vector< Device > & | devices,
|  | const cl_context_properties * | properties = nullptr,
|  | void(CL_CALLBACK *notifyFptr)( const char *, const void *, size_type, void *) | = nullptr,
|  | void * | data = nullptr,
|  | cl_int * | err = nullptr )
| inline

Constructs a context including a list of specified devices.

Wraps clCreateContext().

Definition at line 3264 of file opencl.hpp.

## ◆ Context() [2/5]

cl::Context::Context | ( | const Device & | device,
|  | const cl_context_properties * | properties = nullptr,
|  | void(CL_CALLBACK *notifyFptr)( const char *, const void *, size_type, void *) | = nullptr,
|  | void * | data = nullptr,
|  | cl_int * | err = nullptr )
| inline

Constructs a context including a specific device.

Wraps clCreateContext().

Definition at line 3299 of file opencl.hpp.

## ◆ Context() [3/5]

cl::Context::Context | ( | cl_device_type | type,
|  | const cl_context_properties * | properties = nullptr,
|  | void(CL_CALLBACK *notifyFptr)( const char *, const void *, size_type, void *) | = nullptr,
|  | void * | data = nullptr,
|  | cl_int * | err = nullptr )
| inline

Constructs a context including all or a subset of devices of a specified type.

Wraps clCreateContextFromType().

Definition at line 3329 of file opencl.hpp.

## ◆ Context() [4/5]

cl::Context::Context | ( |  | ) |
| inline

Default constructor - initializes to nullptr.

Definition at line 3442 of file opencl.hpp.

## ◆ Context() [5/5]

cl::Context::Context | ( | const cl_context & | context,
|  | bool | retainObject = false )
| inlineexplicit

Constructor from cl_context - takes ownership.

This effectively transfers ownership of a refcount on the cl_context into the new Context object.

Definition at line 3449 of file opencl.hpp.

## Member Function Documentation

## ◆ getDefault()

static Context cl::Context::getDefault | ( | cl_int * | err = nullptr | ) |
| inlinestatic

Returns a singleton context including all devices of CL_DEVICE_TYPE_DEFAULT.

Note
  All calls to this function return the same cl_context as the first.

Definition at line 3417 of file opencl.hpp.

## ◆ getInfo() [1/2]

template<typename T >

cl_int cl::Context::getInfo | ( | cl_context_info | name,
|  | T * | param ) const
| inline

Wrapper for clGetContextInfo().

Definition at line 3465 of file opencl.hpp.

## ◆ getInfo() [2/2]

template<cl_context_info name>

detail::param_traits< detail::cl_context_info, name >::param_type cl::Context::getInfo | ( | cl_int * | err = nullptr | ) | const
| inline

Wrapper for clGetContextInfo() that returns by value.

Definition at line 3475 of file opencl.hpp.

## ◆ getSupportedImageFormats()

cl_int cl::Context::getSupportedImageFormats | ( | cl_mem_flags | flags,
|  | cl_mem_object_type | type,
|  | vector< ImageFormat > * | formats ) const
| inline

Gets a list of supported image formats.

Wraps clGetSupportedImageFormats().

Definition at line 3490 of file opencl.hpp.

## ◆ operator=()

Context & cl::Context::operator= | ( | const cl_context & | rhs | ) |
| inline

Assignment operator from cl_context - takes ownership.

This effectively transfers ownership of a refcount on the rhs and calls clReleaseContext() on the value previously held by this instance.

Definition at line 3457 of file opencl.hpp.

## ◆ setDefault()

static Context cl::Context::setDefault | ( | const Context & | default_context | ) |
| inlinestatic

Modify the default context to be used by subsequent operations. Will only set the default if no default was previously created.

Returns
  updated default context. Should be compared to the passed value to ensure that it was updated.

Definition at line 3434 of file opencl.hpp.

## ◆ setDestructorCallback()

cl_int cl::Context::setDestructorCallback | ( | void(CL_CALLBACK *pfn_notify)(cl_context, void *) | ,
|  | void * | user_data = nullptr )
| inline

Registers a destructor callback function with a context.

Wraps clSetContextDestructorCallback().

Each call to this function registers the specified callback function on a destructor callback stack associated with context. The registered callback functions are called in the reverse order in which they were registered. If a context callback function was specified when context was created, it will not be called after any context destructor callback is called.

Definition at line 3581 of file opencl.hpp.

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

- opencl.hpp