diff --git a/api/boinc_opencl.cpp b/api/boinc_opencl.cpp index f31b73d0948abce6468b9404e3a9ffac6d386e07..976fff33ae57c7deb5a6f70789a74b089e5fc970 100644 --- a/api/boinc_opencl.cpp +++ b/api/boinc_opencl.cpp @@ -75,6 +75,10 @@ int get_vendor(cl_device_id device_id, char* vendor, int len) { strlcpy(vendor, GPU_TYPE_INTEL, len); // "intel_gpu" } + if (strcasestr(vendor, "apple")) { + strlcpy(vendor, GPU_TYPE_APPLE, len); // "intel_gpu" + } + return 0; } diff --git a/lib/coproc.cpp b/lib/coproc.cpp index 083288c2c0dd4a44762d90cb3ba7fbe4d2914c81..13f451646248a16e91394419b511af2cb278aed8 100644 --- a/lib/coproc.cpp +++ b/lib/coproc.cpp @@ -212,6 +212,7 @@ void COPROCS::summary_string(char* buf, int len) { if (type == PROC_TYPE_NVIDIA_GPU) continue; if (type == PROC_TYPE_AMD_GPU) continue; if (type == PROC_TYPE_INTEL_GPU) continue; + if (type == PROC_TYPE_APPLE_GPU) continue; if (!strlen(cp.opencl_prop.name)) continue; snprintf(buf2, sizeof(buf2), "[opencl_gpu|%s|%d|%dMB|%d]", @@ -1020,6 +1021,7 @@ const char* proc_type_name_xml(int pt) { case PROC_TYPE_NVIDIA_GPU: return "NVIDIA"; case PROC_TYPE_AMD_GPU: return "ATI"; case PROC_TYPE_INTEL_GPU: return "intel_gpu"; + case PROC_TYPE_APPLE_GPU: return "apple_gpu"; case PROC_TYPE_MINER_ASIC: return "miner_asic"; } return "unknown"; @@ -1031,6 +1033,7 @@ const char* proc_type_name(int pt) { case PROC_TYPE_NVIDIA_GPU: return "NVIDIA GPU"; case PROC_TYPE_AMD_GPU: return "AMD/ATI GPU"; case PROC_TYPE_INTEL_GPU: return "Intel GPU"; + case PROC_TYPE_APPLE_GPU: return "Apple GPU"; case PROC_TYPE_MINER_ASIC: return "Miner ASIC"; } return "unknown"; diff --git a/lib/coproc.h b/lib/coproc.h index f23db843de7bfb37b0a8cf434f767170581d6d10..c2abf441c672e6bf02944630f31239badc6dc42f 100644 --- a/lib/coproc.h +++ b/lib/coproc.h @@ -107,7 +107,8 @@ #define PROC_TYPE_AMD_GPU 2 #define PROC_TYPE_INTEL_GPU 3 #define PROC_TYPE_MINER_ASIC 4 -#define NPROC_TYPES 5 +#define PROC_TYPE_APPLE_GPU 5 +#define NPROC_TYPES 6 extern const char* proc_type_name(int); // user-readable name @@ -119,6 +120,7 @@ extern int coproc_type_name_to_num(const char* name); #define GPU_TYPE_NVIDIA proc_type_name_xml(PROC_TYPE_NVIDIA_GPU) #define GPU_TYPE_ATI proc_type_name_xml(PROC_TYPE_AMD_GPU) #define GPU_TYPE_INTEL proc_type_name_xml(PROC_TYPE_INTEL_GPU) +#define GPU_TYPE_APPLE proc_type_name_xml(PROC_TYPE_APPLE_GPU) // represents a requirement for a coproc. // This is a parsed version of the <coproc> elements in an <app_version>