diff --git a/src/backend/opencl/generators/ocl_generic_rx_generator.cpp b/src/backend/opencl/generators/ocl_generic_rx_generator.cpp index dbe8d5f1..788cabea 100644 --- a/src/backend/opencl/generators/ocl_generic_rx_generator.cpp +++ b/src/backend/opencl/generators/ocl_generic_rx_generator.cpp @@ -40,6 +40,12 @@ bool ocl_generic_rx_generator(const OclDevice &device, const Algorithm &algorith return false; } + // Mobile Ryzen APUs + if (device.type() == OclDevice::Raven) { + threads.add(OclThread(device.index(), (device.computeUnits() > 4) ? 256 : 128, 8, 1, true, true, 6)); + return true; + } + const size_t mem = device.globalMemSize(); auto config = RxAlgo::base(algorithm); bool gcnAsm = false; diff --git a/src/backend/opencl/runners/OclRxBaseRunner.cpp b/src/backend/opencl/runners/OclRxBaseRunner.cpp index 36a31e1b..eb0ddd51 100644 --- a/src/backend/opencl/runners/OclRxBaseRunner.cpp +++ b/src/backend/opencl/runners/OclRxBaseRunner.cpp @@ -52,7 +52,7 @@ xmrig::OclRxBaseRunner::OclRxBaseRunner(size_t index, const OclLaunchData &data) m_worksize = 8; } - if (data.device.type() == OclDevice::Vega_10 || data.device.type() == OclDevice::Vega_20) { + if (data.device.type() == OclDevice::Vega_10 || data.device.type() == OclDevice::Vega_20 || data.device.type() == OclDevice::Raven) { m_gcn_version = 14; }