diff --git a/xmrstak/backend/amd/config.tpl b/xmrstak/backend/amd/config.tpl index b852a7e81435a0010c1e2195a8017440a6018a47..c3da93a38ed2bf98f04b350b47f599c38903b357 100644 --- a/xmrstak/backend/amd/config.tpl +++ b/xmrstak/backend/amd/config.tpl @@ -15,7 +15,7 @@ R"===(// generated by XMRSTAK_VERSION * mem_chunk - range 0 to 18: set the number of elements (16byte) per chunk * this value is only used if 'strided_index' == 2 * element count is computed with the equation: 2 to the power of 'mem_chunk' e.g. 4 means a chunk of 16 elements(256byte) - * unroll - allow to control how often the POW main loop is unrolled; valid range [0;128) - for most OpenCL implementations it must be a power of two. + * unroll - allow to control how often the POW main loop is unrolled; valid range [1;128) - for most OpenCL implementations it must be a power of two. * comp_mode - Compatibility enable/disable the automatic guard around compute kernel which allows * to use a intensity which is not the multiple of the worksize. * If you set false and the intensity is not multiple of the worksize the miner can crash: diff --git a/xmrstak/backend/amd/jconf.cpp b/xmrstak/backend/amd/jconf.cpp index fab91d7e35642c94f6b89e2c458767e0ec2c0a01..152f8add43eed3f9028797db72653d45c1f8680b 100644 --- a/xmrstak/backend/amd/jconf.cpp +++ b/xmrstak/backend/amd/jconf.cpp @@ -151,9 +151,9 @@ bool jconf::GetThreadConfig(size_t id, thd_cfg &cfg) cfg.memChunk = (int)memChunk->GetInt64(); - if(!unroll->IsUint64() || (int)unroll->GetInt64() >= 128) + if(!unroll->IsUint64() || (int)unroll->GetInt64() >= 128 || (int)unroll->GetInt64() == 0) { - printer::inst()->print_msg(L0, "ERROR: unroll must be smaller than 128 and a power of two"); + printer::inst()->print_msg(L0, "ERROR: unroll must be smaller than 128 and not zero"); return false; } cfg.unroll = (int)unroll->GetInt64();