From e0fb17e9cfb448909c7ba77ee034a021c653db39 Mon Sep 17 00:00:00 2001 From: psychocrypt <psychocryptHPC@gmail.com> Date: Tue, 3 Apr 2018 07:57:10 +0200 Subject: [PATCH] AMD OpenCL: fix sumokoin - fix that version argument was not passed to extended kernel parameters --- xmrstak/backend/amd/amd_gpu/gpu.cpp | 15 ++++++++++++--- xmrstak/version.cpp | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/xmrstak/backend/amd/amd_gpu/gpu.cpp b/xmrstak/backend/amd/amd_gpu/gpu.cpp index 2973db4..006a7ed 100644 --- a/xmrstak/backend/amd/amd_gpu/gpu.cpp +++ b/xmrstak/backend/amd/amd_gpu/gpu.cpp @@ -926,7 +926,10 @@ size_t XMRSetJob(GpuContext* ctx, uint8_t* input, size_t input_len, uint64_t tar return(ERR_OCL_API); } - if(miner_algo == cryptonight_heavy) + /* ATTENTION: if we miner cryptonight_heavy the kernel needs an additional parameter version. + * Do NOT use the variable `miner_algo` because this variable is changed dynamicly + */ + if(::jconf::inst()->GetMiningAlgo() == cryptonight_heavy) { // version if ((ret = clSetKernelArg(ctx->Kernels[0], 4, sizeof(cl_uint), &version)) != CL_SUCCESS) @@ -975,7 +978,10 @@ size_t XMRSetJob(GpuContext* ctx, uint8_t* input, size_t input_len, uint64_t tar return ERR_OCL_API; } } - else if(miner_algo == cryptonight_heavy) + /* ATTENTION: if we miner cryptonight_heavy the kernel needs an additional parameter version. + * Do NOT use the variable `miner_algo` because this variable is changed dynamicly + */ + else if(::jconf::inst()->GetMiningAlgo() == cryptonight_heavy) { // version if ((ret = clSetKernelArg(ctx->Kernels[1], 3, sizeof(cl_uint), &version)) != CL_SUCCESS) @@ -1035,7 +1041,10 @@ size_t XMRSetJob(GpuContext* ctx, uint8_t* input, size_t input_len, uint64_t tar return(ERR_OCL_API); } - if(miner_algo == cryptonight_heavy) + /* ATTENTION: if we miner cryptonight_heavy the kernel needs an additional parameter version. + * Do NOT use the variable `miner_algo` because this variable is changed dynamicly + */ + if(::jconf::inst()->GetMiningAlgo() == cryptonight_heavy) { // version if ((ret = clSetKernelArg(ctx->Kernels[2], 7, sizeof(cl_uint), &version)) != CL_SUCCESS) diff --git a/xmrstak/version.cpp b/xmrstak/version.cpp index d3764e4..04948d1 100644 --- a/xmrstak/version.cpp +++ b/xmrstak/version.cpp @@ -18,7 +18,7 @@ #endif #define XMR_STAK_NAME "xmr-stak" -#define XMR_STAK_VERSION "2.4.0" +#define XMR_STAK_VERSION "2.4.1" #if defined(_WIN32) #define OS_TYPE "win" -- GitLab