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