Skip to content
This repository was archived by the owner on Jun 2, 2022. It is now read-only.

Commit 02d81ff

Browse files
committed
modelHandler: add apple platform support
1 parent 8b6c9a7 commit 02d81ff

File tree

1 file changed

+25
-5
lines changed

1 file changed

+25
-5
lines changed

src/modelHandler_OpenCL.cpp

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,12 @@ namespace w2xc
210210
cl_device_type dtype;
211211

212212
clGetDeviceInfo(dev, CL_DEVICE_TYPE, sizeof(dtype), &dtype, NULL);
213+
214+
size_t dev_name_len;
215+
clGetDeviceInfo(dev, CL_DEVICE_NAME, 0, nullptr, &dev_name_len);
216+
std::vector<char> dev_name(dev_name_len + 1);
217+
clGetDeviceInfo(dev, CL_DEVICE_NAME, dev_name_len, &dev_name[0], &dev_name_len);
218+
213219
int sub_type = 0;
214220

215221
if (is_amd)
@@ -224,6 +230,25 @@ namespace w2xc
224230
{
225231
sub_type = W2XCONV_PROC_OPENCL_PLATFORM_INTEL;
226232
}
233+
else if (is_apple)
234+
{
235+
if(strstr(&dev_name[0], "AMD") != NULL)
236+
{
237+
sub_type = W2XCONV_PROC_OPENCL_PLATFORM_AMD;
238+
}
239+
else if(strstr(&dev_name[0], "NVIDIA") != NULL)
240+
{
241+
sub_type = W2XCONV_PROC_OPENCL_PLATFORM_NVIDIA;
242+
}
243+
else if(strstr(&dev_name[0], "Intel") != NULL)
244+
{
245+
sub_type = W2XCONV_PROC_OPENCL_PLATFORM_INTEL;
246+
}
247+
else
248+
{
249+
sub_type = W2XCONV_PROC_OPENCL_PLATFORM_UNKNOWN;
250+
}
251+
}
227252
else
228253
{
229254
sub_type = W2XCONV_PROC_OPENCL_PLATFORM_UNKNOWN;
@@ -243,11 +268,6 @@ namespace w2xc
243268
}
244269

245270
proc.sub_type = sub_type;
246-
247-
size_t dev_name_len;
248-
clGetDeviceInfo(dev, CL_DEVICE_NAME, 0, nullptr, &dev_name_len);
249-
std::vector<char> dev_name(dev_name_len + 1);
250-
clGetDeviceInfo(dev, CL_DEVICE_NAME, dev_name_len, &dev_name[0], &dev_name_len);
251271

252272
proc.dev_name = strdup(&dev_name[0]);
253273
proc.dev_id = cur_dev_id++;

0 commit comments

Comments
 (0)