OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
cv::ocl::ProgramSource 类参考

#include <opencv2/core/ocl.hpp>

cv::ocl::ProgramSource 的协作图

公共类型

typedef uint64 hash_t
 

公共成员函数

 ProgramSource () CV_NOEXCEPT
 
 ProgramSource (const char *prog)
 
 ProgramSource (const ProgramSource &prog)
 
 ProgramSource (const String &module, const String &name, const String &codeStr, const String &codeHash)
 
 ProgramSource (const String &prog)
 
 ProgramSource (ProgramSource &&prog) CV_NOEXCEPT
 
 ~ProgramSource ()
 
bool empty () const
 
ImplgetImpl () const
 
hash_t hash () const
 
ProgramSourceoperator= (const ProgramSource &prog)
 
ProgramSourceoperator= (ProgramSource &&prog) CV_NOEXCEPT
 
const Stringsource () const
 

静态公共成员函数

static ProgramSource fromBinary (const String &module, const String &name, const unsigned char *binary, const size_t size, const cv::String &buildOptions=cv::String())
 描述 OpenCL 程序二进制文件。不要调用 clCreateProgramWithBinary() 和/或 clBuildProgram()。
 
static ProgramSource fromSPIR (const String &module, const String &name, const unsigned char *binary, const size_t size, const cv::String &buildOptions=cv::String())
 描述 SPIR 格式的 OpenCL 程序。不要调用 clCreateProgramWithBinary() 和/或 clBuildProgram()。
 

受保护的属性

Implp
 

友元

struct Impl
 

成员类型定义文档

◆ hash_t

构造函数和析构函数文档

◆ ProgramSource() [1/6]

cv::ocl::ProgramSource::ProgramSource ( )

◆ ProgramSource() [2/6]

cv::ocl::ProgramSource::ProgramSource ( const String & module,
const String & name,
const String & codeStr,
const String & codeHash )
explicit

◆ ProgramSource() [3/6]

cv::ocl::ProgramSource::ProgramSource ( const String & prog)
explicit

◆ ProgramSource() [4/6]

cv::ocl::ProgramSource::ProgramSource ( const char * prog)
explicit

◆ ~ProgramSource()

cv::ocl::ProgramSource::~ProgramSource ( )

◆ ProgramSource() [5/6]

cv::ocl::ProgramSource::ProgramSource ( const ProgramSource & prog)

◆ ProgramSource() [6/6]

cv::ocl::ProgramSource::ProgramSource ( ProgramSource && prog)

成员函数文档

◆ empty()

bool cv::ocl::ProgramSource::empty ( ) const
inline

◆ fromBinary()

static ProgramSource cv::ocl::ProgramSource::fromBinary ( const String & module,
const String & name,
const unsigned char * binary,
const size_t size,
const cv::String & buildOptions = cv::String() )
static

描述 OpenCL 程序二进制文件。不要调用 clCreateProgramWithBinary() 和/或 clBuildProgram()。

调用者应保证二进制缓冲区的生命周期长于 ProgramSource 对象(及其任何副本)。

这种二进制文件通常在平台之间不可移植——它特定于 OpenCL 供应商/设备/驱动程序版本。

参数
module程序所属模块的名称
name程序的唯一名称(模块+名称用作 OpenCL 程序缓存的键)
binary缓冲区地址。请参阅说明中的缓冲区生命周期要求。
size缓冲区大小
buildOptions传递给 clBuildProgram() 的其他与程序相关的构建选项
返回值
已创建的 ProgramSource 对象

◆ fromSPIR()

static ProgramSource cv::ocl::ProgramSource::fromSPIR ( const String & module,
const String & name,
const unsigned char * binary,
const size_t size,
const cv::String & buildOptions = cv::String() )
static

描述 SPIR 格式的 OpenCL 程序。不要调用 clCreateProgramWithBinary() 和/或 clBuildProgram()。

默认支持 SPIR 1.2(在 buildOptions 中传递 '-spir-std=X.Y' 以覆盖此行为)

调用者应保证二进制缓冲区的生命周期长于 ProgramSource 对象(及其任何副本)。

此格式的程序可在具有 'khr_spir' 扩展的 OpenCL 实现之间移植:https://www.khronos.org/registry/OpenCL/sdk/2.0/docs/man/xhtml/cl_khr_spir.html(但它们在不同的平台之间不可移植:32 位/64 位)

注意:这些程序不支持供应商特定的扩展,例如 'cl_intel_subgroups'。

参数
module程序所属模块的名称
name程序的唯一名称(模块+名称用作 OpenCL 程序缓存的键)
binary缓冲区地址。请参阅说明中的缓冲区生命周期要求。
size缓冲区大小
buildOptions传递给 clBuildProgram() 的其他与程序相关的构建选项(这些选项会自动添加:'-x spir' 和 '-spir-std=1.2')
返回值
已创建的 ProgramSource 对象。

◆ getImpl()

Impl * cv::ocl::ProgramSource::getImpl ( ) const
inline

◆ hash()

hash_t cv::ocl::ProgramSource::hash ( ) const

◆ operator=() [1/2]

ProgramSource & cv::ocl::ProgramSource::operator= ( const ProgramSource & prog)

◆ operator=() [2/2]

ProgramSource & cv::ocl::ProgramSource::operator= ( ProgramSource && prog)

◆ source()

常量 String & cv::ocl::ProgramSource::source ( ) const

友元和相关符号文档

◆ Impl

friend struct Impl
友元

成员数据文档

◆ p

Impl* cv::ocl::ProgramSource::p
保护

此类的文档是从以下文件生成的: