Struct ocl::Context [−][src]
pub struct Context(_);
A context for a particular platform and set of device types.
Thread safety and destruction for any enclosed pointers are all handled automatically. Clone, store, and share between threads to your heart's content.
Methods
impl Context
[src]
impl Context
pub fn builder() -> ContextBuilder
[src]
pub fn builder() -> ContextBuilder
Returns a ContextBuilder
.
This is the preferred way to create a Context.
pub fn new(
properties: Option<ContextProperties>,
device_spec: Option<DeviceSpecifier>,
pfn_notify: Option<CreateContextCallbackFn>,
user_data: Option<UserDataPtr>
) -> OclResult<Context>
[src]
pub fn new(
properties: Option<ContextProperties>,
device_spec: Option<DeviceSpecifier>,
pfn_notify: Option<CreateContextCallbackFn>,
user_data: Option<UserDataPtr>
) -> OclResult<Context>
Returns a newly created context.
Prefer Context::builder()...
instead of this method unless you know
what you're doing. Please also immediately contact us if you do, in
fact, know what you're doing so that you can be added to the
development team as the one who does.
Defaults
- The 'NULL' platform (which is not to be relied on but is generally the first avaliable).
- All devices associated with the 'NULL' platform
- No notify callback function or user data.
Don't rely on these defaults, instead rely on the ContextBuilder
defaults. In other words, use: Context::builder().build().unwrap()
rather than Context::new(None, None, None, None).unwrap()
.
Panics
[TEMPORARY] Passing a Some
variant for pfn_notify
or user_data
is
not yet supported. File an issue if you need this.
pub fn resolve_wrapping_device_idxs(&self, idxs: &[usize]) -> Vec<Device>
[src]
pub fn resolve_wrapping_device_idxs(&self, idxs: &[usize]) -> Vec<Device>
Resolves a list of zero-based device indices into a list of Devices.
If any index is out of bounds it will wrap around zero (%) to the next valid device index.
pub fn get_device_by_wrapping_index(&self, index: usize) -> Device
[src]
pub fn get_device_by_wrapping_index(&self, index: usize) -> Device
Returns a device by its ordinal count within this context.
Round-robins (%) to the next valid device.
pub fn platform_info(
&self,
info_kind: PlatformInfo
) -> OclCoreResult<PlatformInfoResult>
[src]
pub fn platform_info(
&self,
info_kind: PlatformInfo
) -> OclCoreResult<PlatformInfoResult>
Returns info about the platform associated with the context.
pub fn device_info(
&self,
index: usize,
info_kind: DeviceInfo
) -> OclCoreResult<DeviceInfoResult>
[src]
pub fn device_info(
&self,
index: usize,
info_kind: DeviceInfo
) -> OclCoreResult<DeviceInfoResult>
Returns info about the device indexed by index
associated with this
context.
pub fn info(&self, info_kind: ContextInfo) -> OclCoreResult<ContextInfoResult>
[src]
pub fn info(&self, info_kind: ContextInfo) -> OclCoreResult<ContextInfoResult>
Returns info about the context.
pub fn as_core(&self) -> &ContextCore
[src]
pub fn as_core(&self) -> &ContextCore
Returns a reference to the core pointer wrapper, usable by functions in
the core
module.
pub fn devices(&self) -> Vec<Device>
[src]
pub fn devices(&self) -> Vec<Device>
Returns the list of devices associated with this context.
Panics upon any OpenCL error.
pub fn device_versions(&self) -> OclCoreResult<Vec<OpenclVersion>>
[src]
pub fn device_versions(&self) -> OclCoreResult<Vec<OpenclVersion>>
Returns the list of device versions associated with this context.
pub fn platform(&self) -> OclCoreResult<Option<Platform>>
[src]
pub fn platform(&self) -> OclCoreResult<Option<Platform>>
Returns the platform this context is associated with.
Methods from Deref<Target = ContextCore>
pub fn as_ptr(&self) -> *mut c_void
[src]
pub fn as_ptr(&self) -> *mut c_void
Returns a pointer, do not store it.
pub fn devices(&self) -> Result<Vec<DeviceId>, Error>
[src]
pub fn devices(&self) -> Result<Vec<DeviceId>, Error>
Returns the devices associated with this context.
pub fn platform(&self) -> Result<Option<PlatformId>, Error>
[src]
pub fn platform(&self) -> Result<Option<PlatformId>, Error>
Returns the platform associated with this context, if any.
Errors upon the usual OpenCL errors.
Returns None
if the context properties do not specify a platform.
Trait Implementations
impl Debug for Context
[src]
impl Debug for Context
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Clone for Context
[src]
impl Clone for Context
fn clone(&self) -> Context
[src]
fn clone(&self) -> Context
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl From<ContextCore> for Context
[src]
impl From<ContextCore> for Context
fn from(c: ContextCore) -> Context
[src]
fn from(c: ContextCore) -> Context
Performs the conversion.
impl Display for Context
[src]
impl Display for Context
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Deref for Context
[src]
impl Deref for Context
type Target = ContextCore
The resulting type after dereferencing.
fn deref(&self) -> &ContextCore
[src]
fn deref(&self) -> &ContextCore
Dereferences the value.
impl DerefMut for Context
[src]
impl DerefMut for Context
fn deref_mut(&mut self) -> &mut ContextCore
[src]
fn deref_mut(&mut self) -> &mut ContextCore
Mutably dereferences the value.
impl<'a> ClContextPtr for &'a Context
[src]
impl<'a> ClContextPtr for &'a Context
fn as_ptr(&self) -> cl_context
[src]
fn as_ptr(&self) -> cl_context
impl ClVersions for Context
[src]
impl ClVersions for Context
fn device_versions(&self) -> OclCoreResult<Vec<OpenclVersion>>
[src]
fn device_versions(&self) -> OclCoreResult<Vec<OpenclVersion>>
fn platform_version(&self) -> OclCoreResult<OpenclVersion>
[src]
fn platform_version(&self) -> OclCoreResult<OpenclVersion>
fn verify_device_versions(
&self,
required_version: [u16; 2]
) -> Result<(), Error>
[src]
fn verify_device_versions(
&self,
required_version: [u16; 2]
) -> Result<(), Error>
fn verify_platform_version(
&self,
required_version: [u16; 2]
) -> Result<(), Error>
[src]
fn verify_platform_version(
&self,
required_version: [u16; 2]
) -> Result<(), Error>
impl<'a> ClVersions for &'a Context
[src]
impl<'a> ClVersions for &'a Context
fn device_versions(&self) -> OclCoreResult<Vec<OpenclVersion>>
[src]
fn device_versions(&self) -> OclCoreResult<Vec<OpenclVersion>>
fn platform_version(&self) -> OclCoreResult<OpenclVersion>
[src]
fn platform_version(&self) -> OclCoreResult<OpenclVersion>
fn verify_device_versions(
&self,
required_version: [u16; 2]
) -> Result<(), Error>
[src]
fn verify_device_versions(
&self,
required_version: [u16; 2]
) -> Result<(), Error>
fn verify_platform_version(
&self,
required_version: [u16; 2]
) -> Result<(), Error>
[src]
fn verify_platform_version(
&self,
required_version: [u16; 2]
) -> Result<(), Error>