Restored OclCache.

This commit is contained in:
XMRig 2019-08-27 06:31:40 +07:00
parent 47b8cb6044
commit ec1839d580
27 changed files with 290 additions and 72 deletions

View file

@ -42,18 +42,18 @@ template<class T>
class Thread
{
public:
inline Thread(IBackend *backend, size_t index, const T &config) : m_index(index), m_config(config), m_backend(backend) {}
inline Thread(IBackend *backend, size_t id, const T &config) : m_id(id), m_config(config), m_backend(backend) {}
inline ~Thread() { m_thread.join(); delete m_worker; }
inline const T &config() const { return m_config; }
inline IBackend *backend() const { return m_backend; }
inline IWorker *worker() const { return m_worker; }
inline size_t index() const { return m_index; }
inline size_t id() const { return m_id; }
inline void setWorker(IWorker *worker) { m_worker = worker; }
inline void start(void (*callback) (void *)) { m_thread = std::thread(callback, this); }
private:
const size_t m_index = 0;
const size_t m_id = 0;
const T m_config;
IBackend *m_backend;
IWorker *m_worker = nullptr;

View file

@ -134,7 +134,7 @@ void xmrig::Workers<T>::tick(uint64_t)
return;
}
d_ptr->hashrate->add(handle->index(), handle->worker()->hashCount(), handle->worker()->timestamp());
d_ptr->hashrate->add(handle->id(), handle->worker()->hashCount(), handle->worker()->timestamp());
}
d_ptr->hashrate->updateHighest();
@ -175,19 +175,19 @@ xmrig::IWorker *xmrig::Workers<CpuLaunchData>::create(Thread<CpuLaunchData> *han
{
switch (handle->config().intensity) {
case 1:
return new CpuWorker<1>(handle->index(), handle->config());
return new CpuWorker<1>(handle->id(), handle->config());
case 2:
return new CpuWorker<2>(handle->index(), handle->config());
return new CpuWorker<2>(handle->id(), handle->config());
case 3:
return new CpuWorker<3>(handle->index(), handle->config());
return new CpuWorker<3>(handle->id(), handle->config());
case 4:
return new CpuWorker<4>(handle->index(), handle->config());
return new CpuWorker<4>(handle->id(), handle->config());
case 5:
return new CpuWorker<5>(handle->index(), handle->config());
return new CpuWorker<5>(handle->id(), handle->config());
}
return nullptr;
@ -201,7 +201,7 @@ template class Workers<CpuLaunchData>;
template<>
xmrig::IWorker *xmrig::Workers<OclLaunchData>::create(Thread<OclLaunchData> *handle)
{
return new OclWorker(handle->index(), handle->config());
return new OclWorker(handle->id(), handle->config());
}