[][src]Struct opencv::core::ProgramSource

pub struct ProgramSource { /* fields omitted */ }

Methods

impl ProgramSource[src]

pub fn as_raw_ProgramSource(&self) -> *mut c_void[src]

pub unsafe fn from_raw_ptr(ptr: *mut c_void) -> Self[src]

impl ProgramSource[src]

pub fn default() -> Result<ProgramSource>[src]

pub fn new(
    module: &str,
    name: &str,
    code_str: &str,
    code_hash: &str
) -> Result<ProgramSource>
[src]

pub fn from_str(prog: &str) -> Result<ProgramSource>[src]

pub fn source(&self) -> Result<String>[src]

pub fn hash(&self) -> Result<u64>[src]

pub fn from_binary(
    module: &str,
    name: &str,
    binary: &u8,
    size: size_t,
    build_options: &str
) -> Result<ProgramSource>
[src]

Describe OpenCL program binary. Do not call clCreateProgramWithBinary() and/or clBuildProgram().

Caller should guarantee binary buffer lifetime greater than ProgramSource object (and any of its copies).

This kind of binary is not portable between platforms in general - it is specific to OpenCL vendor / device / driver version.

Parameters

  • module: name of program owner module
  • name: unique name of program (module+name is used as key for OpenCL program caching)
  • binary: buffer address. See buffer lifetime requirement in description.
  • size: buffer size
  • buildOptions: additional program-related build options passed to clBuildProgram()

Returns

created ProgramSource object

C++ default parameters

  • build_options: cv::String()

pub fn from_spir(
    module: &str,
    name: &str,
    binary: &u8,
    size: size_t,
    build_options: &str
) -> Result<ProgramSource>
[src]

Describe OpenCL program in SPIR format. Do not call clCreateProgramWithBinary() and/or clBuildProgram().

Supports SPIR 1.2 by default (pass '-spir-std=X.Y' in buildOptions to override this behavior)

Caller should guarantee binary buffer lifetime greater than ProgramSource object (and any of its copies).

Programs in this format are portable between OpenCL implementations with 'khr_spir' extension: https://www.khronos.org/registry/OpenCL/sdk/2.0/docs/man/xhtml/cl_khr_spir.html (but they are not portable between different platforms: 32-bit / 64-bit)

Note: these programs can't support vendor specific extensions, like 'cl_intel_subgroups'.

Parameters

  • module: name of program owner module
  • name: unique name of program (module+name is used as key for OpenCL program caching)
  • binary: buffer address. See buffer lifetime requirement in description.
  • size: buffer size
  • buildOptions: additional program-related build options passed to clBuildProgram() (these options are added automatically: '-x spir' and '-spir-std=1.2')

Returns

created ProgramSource object.

C++ default parameters

  • build_options: cv::String()

Trait Implementations

impl Drop for ProgramSource[src]

impl Send for ProgramSource[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.