1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-22 20:44:19 +00:00

Use poclbm preferentially on Tahiti now regardless of SDK.

This commit is contained in:
Con Kolivas 2012-03-27 19:58:51 +11:00
parent 746fe8b2e6
commit 39395eb1e0

29
ocl.c
View File

@ -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 */
strstr(vbuff, "851.4") || // Windows 64 bit "" if (!strstr(name, "Tahiti") &&
strstr(vbuff, "831.4")) { // Windows & Linux 32 bit "" (strstr(vbuff, "844.4") || // Linux 64 bit ATI 2.6 SDK
if (strstr(name, "Tahiti")) { strstr(vbuff, "851.4") || // Windows 64 bit ""
applog(LOG_INFO, "Selecting poclbm kernel"); strstr(vbuff, "831.4") ||
clState->chosen_kernel = KL_POCLBM; strstr(vbuff, "898.1"))) { // 12.2 driver SDK
} else {
applog(LOG_INFO, "Selecting diablo kernel"); applog(LOG_INFO, "Selecting diablo kernel");
clState->chosen_kernel = KL_DIABLO; clState->chosen_kernel = KL_DIABLO;
} /* Detect all 7970s, older ATI and NVIDIA and use poclbm */
} else if (strstr(vbuff, "898.1") || // Windows 64 bit 12.2 driver } else if (strstr(name, "Tahiti") || !clState->hasBitAlign) {
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 {
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 {
applog(LOG_INFO, "Selecting phatk kernel");
clState->chosen_kernel = KL_PHATK;
} }
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;