From e34ce368b559eaad7bf97f7f4ef4fc770e0484c4 Mon Sep 17 00:00:00 2001 From: psychocrypt Date: Wed, 4 Oct 2017 22:04:29 +0200 Subject: [PATCH] fix broken nicehash support - add nicehash flag back to `miner_work` --- xmrstak/backend/miner_work.hpp | 4 ++-- xmrstak/cli/cli-miner.cpp | 2 +- xmrstak/misc/executor.cpp | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/xmrstak/backend/miner_work.hpp b/xmrstak/backend/miner_work.hpp index e9f9e07..aecbd70 100644 --- a/xmrstak/backend/miner_work.hpp +++ b/xmrstak/backend/miner_work.hpp @@ -26,8 +26,8 @@ namespace xmrstak miner_work() : iWorkSize(0), bNiceHash(false), bStall(true), iPoolId(0) { } miner_work(const char* sJobID, const uint8_t* bWork, uint32_t iWorkSize, uint32_t iResumeCnt, - uint64_t iTarget, size_t iPoolId) : iWorkSize(iWorkSize), iResumeCnt(iResumeCnt), - iTarget(iTarget), bNiceHash(false), bStall(false), iPoolId(iPoolId) + uint64_t iTarget, bool bNiceHash, size_t iPoolId) : iWorkSize(iWorkSize), iResumeCnt(iResumeCnt), + iTarget(iTarget), bNiceHash(bNiceHash), bStall(false), iPoolId(iPoolId) { assert(iWorkSize <= sizeof(bWorkBlob)); memcpy(this->sJobID, sJobID, sizeof(miner_work::sJobID)); diff --git a/xmrstak/cli/cli-miner.cpp b/xmrstak/cli/cli-miner.cpp index ff31d2c..a2d950d 100644 --- a/xmrstak/cli/cli-miner.cpp +++ b/xmrstak/cli/cli-miner.cpp @@ -346,7 +346,7 @@ void do_benchmark() printer::inst()->print_msg(L0, "Running a 60 second benchmark..."); uint8_t work[76] = {0}; - xmrstak::miner_work oWork = xmrstak::miner_work("", work, sizeof(work), 0, 0, 0); + xmrstak::miner_work oWork = xmrstak::miner_work("", work, sizeof(work), 0, 0, false, 0); pvThreads = xmrstak::BackendConnector::thread_starter(oWork); uint64_t iStartStamp = time_point_cast(high_resolution_clock::now()).time_since_epoch().count(); diff --git a/xmrstak/misc/executor.cpp b/xmrstak/misc/executor.cpp index ce5fbb2..f2bdad4 100644 --- a/xmrstak/misc/executor.cpp +++ b/xmrstak/misc/executor.cpp @@ -235,6 +235,7 @@ void executor::on_pool_have_job(size_t pool_id, pool_job& oPoolJob) xmrstak::miner_work oWork(oPoolJob.sJobID, oPoolJob.bWorkBlob, oPoolJob.iWorkLen, oPoolJob.iResumeCnt, oPoolJob.iTarget, + pool_id != dev_pool_id && ::jconf::inst()->NiceHashMode(), pool_id); oWork.iTarget32 = oPoolJob.iTarget32; @@ -357,7 +358,7 @@ void executor::on_switch_pool(size_t pool_id) xmrstak::miner_work oWork(oPoolJob.sJobID, oPoolJob.bWorkBlob, oPoolJob.iWorkLen, oPoolJob.iResumeCnt, oPoolJob.iTarget, - pool_id); + ::jconf::inst()->NiceHashMode(), pool_id); oWork.iTarget32 = oPoolJob.iTarget32;