mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-23 04:54:26 +00:00
Use the poclbm kernel on SDK2.6 with bitalign devices only if there is no binary available.
This commit is contained in:
parent
2c33f12255
commit
3057b701e7
25
ocl.c
25
ocl.c
@ -481,6 +481,31 @@ _clState *initCl(unsigned int gpu, char *name, size_t nameSize)
|
||||
/////////////////////////////////////////////////////////////////
|
||||
|
||||
build:
|
||||
/* If no binary is available, and we have a card that suffers with phatk
|
||||
* on SDK2.6, use the poclbm kernel instead if one has not been
|
||||
* selected. */
|
||||
if (chosen_kernel == KL_NONE && !strstr(name, "Tahiti") && clState->hasBitAlign &&
|
||||
(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 "" */ )) {
|
||||
applog(LOG_WARNING, "SDK 2.6 detected, using poclbm kernel");
|
||||
clState->chosen_kernel = KL_POCLBM;
|
||||
strcpy(filename, POCLBM_KERNNAME".cl");
|
||||
strcpy(binaryfilename, POCLBM_KERNNAME);
|
||||
strcat(binaryfilename, name);
|
||||
strcat(binaryfilename, "bitalign");
|
||||
strcat(binaryfilename, "v");
|
||||
sprintf(numbuf, "%d", clState->preferred_vwidth);
|
||||
strcat(binaryfilename, numbuf);
|
||||
strcat(binaryfilename, "w");
|
||||
sprintf(numbuf, "%d", (int)clState->work_size);
|
||||
strcat(binaryfilename, numbuf);
|
||||
strcat(binaryfilename, "long");
|
||||
sprintf(numbuf, "%d", (int)sizeof(long));
|
||||
strcat(binaryfilename, numbuf);
|
||||
strcat(binaryfilename, ".bin");
|
||||
}
|
||||
|
||||
clState->program = clCreateProgramWithSource(clState->context, 1, (const char **)&source, sourceSize, &status);
|
||||
if (status != CL_SUCCESS) {
|
||||
applog(LOG_ERR, "Error: Loading Binary into cl_program (clCreateProgramWithSource)");
|
||||
|
Loading…
x
Reference in New Issue
Block a user