cn/r part 2 of 2.

This commit is contained in:
XMRig 2019-09-04 11:23:04 +07:00
parent b9e15389ca
commit 57f82f7504
16 changed files with 287 additions and 139 deletions

View file

@ -37,7 +37,7 @@ xmrig::OclContext::OclContext(const OclDevice &device)
xmrig::OclContext::~OclContext()
{
if (m_ctx) {
OclLib::releaseContext(m_ctx);
OclLib::release(m_ctx);
}
}

View file

@ -39,7 +39,7 @@ xmrig::OclKernel::OclKernel(cl_program program, const char *name) :
xmrig::OclKernel::~OclKernel()
{
OclLib::releaseKernel(m_kernel);
OclLib::release(m_kernel);
}

View file

@ -375,7 +375,7 @@ cl_int xmrig::OclLib::getProgramInfo(cl_program program, cl_program_info param_n
}
cl_int xmrig::OclLib::releaseCommandQueue(cl_command_queue command_queue)
cl_int xmrig::OclLib::release(cl_command_queue command_queue)
{
assert(pReleaseCommandQueue != nullptr);
assert(pGetCommandQueueInfo != nullptr);
@ -391,7 +391,7 @@ cl_int xmrig::OclLib::releaseCommandQueue(cl_command_queue command_queue)
}
cl_int xmrig::OclLib::releaseContext(cl_context context)
cl_int xmrig::OclLib::release(cl_context context)
{
assert(pReleaseContext != nullptr);
@ -404,7 +404,7 @@ cl_int xmrig::OclLib::releaseContext(cl_context context)
}
cl_int xmrig::OclLib::releaseKernel(cl_kernel kernel)
cl_int xmrig::OclLib::release(cl_kernel kernel)
{
assert(pReleaseKernel != nullptr);
@ -421,7 +421,7 @@ cl_int xmrig::OclLib::releaseKernel(cl_kernel kernel)
}
cl_int xmrig::OclLib::releaseMemObject(cl_mem mem_obj)
cl_int xmrig::OclLib::release(cl_mem mem_obj)
{
assert(pReleaseMemObject != nullptr);
@ -438,7 +438,7 @@ cl_int xmrig::OclLib::releaseMemObject(cl_mem mem_obj)
}
cl_int xmrig::OclLib::releaseProgram(cl_program program)
cl_int xmrig::OclLib::release(cl_program program)
{
assert(pReleaseProgram != nullptr);
@ -550,6 +550,15 @@ cl_uint xmrig::OclLib::getNumPlatforms()
}
cl_uint xmrig::OclLib::getReferenceCount(cl_program program)
{
cl_uint out = 0;
OclLib::getProgramInfo(program, CL_PROGRAM_REFERENCE_COUNT, sizeof(cl_uint), &out);
return out;
}
cl_ulong xmrig::OclLib::getDeviceUlong(cl_device_id id, cl_device_info param, cl_ulong defaultValue)
{
OclLib::getDeviceInfo(id, param, sizeof(cl_ulong), &defaultValue);

View file

@ -60,11 +60,11 @@ public:
static cl_int getPlatformInfo(cl_platform_id platform, cl_platform_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret);
static cl_int getProgramBuildInfo(cl_program program, cl_device_id device, cl_program_build_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret);
static cl_int getProgramInfo(cl_program program, cl_program_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret = nullptr);
static cl_int releaseCommandQueue(cl_command_queue command_queue);
static cl_int releaseContext(cl_context context);
static cl_int releaseKernel(cl_kernel kernel);
static cl_int releaseMemObject(cl_mem mem_obj);
static cl_int releaseProgram(cl_program program);
static cl_int release(cl_command_queue command_queue);
static cl_int release(cl_context context);
static cl_int release(cl_kernel kernel);
static cl_int release(cl_mem mem_obj);
static cl_int release(cl_program program);
static cl_int setKernelArg(cl_kernel kernel, cl_uint arg_index, size_t arg_size, const void *arg_value);
static cl_kernel createKernel(cl_program program, const char *kernel_name, cl_int *errcode_ret);
static cl_mem createBuffer(cl_context context, cl_mem_flags flags, size_t size, void *host_ptr, cl_int *errcode_ret);
@ -72,6 +72,7 @@ public:
static cl_program createProgramWithSource(cl_context context, cl_uint count, const char **strings, const size_t *lengths, cl_int *errcode_ret);
static cl_uint getDeviceUint(cl_device_id id, cl_device_info param, cl_uint defaultValue = 0);
static cl_uint getNumPlatforms();
static cl_uint getReferenceCount(cl_program program);
static cl_ulong getDeviceUlong(cl_device_id id, cl_device_info param, cl_ulong defaultValue = 0);
static std::vector<cl_platform_id> getPlatformIDs();
static String getDeviceString(cl_device_id id, cl_device_info param);