|
|
@ -342,28 +342,23 @@ _clState *initCl(unsigned int gpu, char *name, size_t nameSize) |
|
|
|
char numbuf[10]; |
|
|
|
char numbuf[10]; |
|
|
|
|
|
|
|
|
|
|
|
if (gpus[gpu].kernel == KL_NONE) { |
|
|
|
if (gpus[gpu].kernel == KL_NONE) { |
|
|
|
if (strstr(vbuff, "844.4") || // Linux 64 bit ATI 2.6 SDK
|
|
|
|
/* Detect all 2.6 SDKs not with Tahiti and use diablo kernel */ |
|
|
|
|
|
|
|
if (!strstr(name, "Tahiti") && |
|
|
|
|
|
|
|
(strstr(vbuff, "844.4") || // Linux 64 bit ATI 2.6 SDK
|
|
|
|
strstr(vbuff, "851.4") || // Windows 64 bit ""
|
|
|
|
strstr(vbuff, "851.4") || // Windows 64 bit ""
|
|
|
|
strstr(vbuff, "831.4")) { // Windows & Linux 32 bit ""
|
|
|
|
strstr(vbuff, "831.4") || |
|
|
|
if (strstr(name, "Tahiti")) { |
|
|
|
strstr(vbuff, "898.1"))) { // 12.2 driver SDK
|
|
|
|
|
|
|
|
applog(LOG_INFO, "Selecting diablo kernel"); |
|
|
|
|
|
|
|
clState->chosen_kernel = KL_DIABLO; |
|
|
|
|
|
|
|
/* Detect all 7970s, older ATI and NVIDIA and use poclbm */ |
|
|
|
|
|
|
|
} else if (strstr(name, "Tahiti") || !clState->hasBitAlign) { |
|
|
|
applog(LOG_INFO, "Selecting poclbm kernel"); |
|
|
|
applog(LOG_INFO, "Selecting poclbm kernel"); |
|
|
|
clState->chosen_kernel = KL_POCLBM; |
|
|
|
clState->chosen_kernel = KL_POCLBM; |
|
|
|
|
|
|
|
/* Use phatk for the rest R5xxx R6xxx */ |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
applog(LOG_INFO, "Selecting diablo kernel"); |
|
|
|
|
|
|
|
clState->chosen_kernel = KL_DIABLO; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} else if (strstr(vbuff, "898.1") || // Windows 64 bit 12.2 driver
|
|
|
|
|
|
|
|
strstr(name, "Tahiti")) { // All non SDK 2.6 79x0
|
|
|
|
|
|
|
|
applog(LOG_INFO, "Selecting diablo kernel"); |
|
|
|
|
|
|
|
clState->chosen_kernel = KL_DIABLO; |
|
|
|
|
|
|
|
} else if (clState->hasBitAlign) { |
|
|
|
|
|
|
|
applog(LOG_INFO, "Selecting phatk kernel"); |
|
|
|
applog(LOG_INFO, "Selecting phatk kernel"); |
|
|
|
clState->chosen_kernel = KL_PHATK; |
|
|
|
clState->chosen_kernel = KL_PHATK; |
|
|
|
} else { |
|
|
|
|
|
|
|
applog(LOG_INFO, "Selecting poclbm kernel"); |
|
|
|
|
|
|
|
clState->chosen_kernel = KL_POCLBM; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
gpus[gpu].kernel = clState->chosen_kernel; |
|
|
|
gpus[gpu].kernel = clState->chosen_kernel; |
|
|
|
} else |
|
|
|
} else |
|
|
|
clState->chosen_kernel = gpus[gpu].kernel; |
|
|
|
clState->chosen_kernel = gpus[gpu].kernel; |
|
|
|