Browse Source

Use poclbm preferentially on Tahiti now regardless of SDK.

nfactor-troky
Con Kolivas 13 years ago
parent
commit
39395eb1e0
  1. 29
      ocl.c

29
ocl.c

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

Loading…
Cancel
Save