mirror of
https://github.com/xmrig/xmrig.git
synced 2025-12-08 08:23:34 -05:00
Simplify branch buffers.
This commit is contained in:
@@ -47,10 +47,16 @@ xmrig::OclCnRunner::OclCnRunner(size_t index, const OclLaunchData &data) : OclBa
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_states = OclLib::createBuffer(data.ctx, CL_MEM_READ_WRITE, 200 * g_thd, nullptr, &ret);
|
m_states = OclLib::createBuffer(data.ctx, CL_MEM_READ_WRITE, 200 * g_thd, nullptr, &ret);
|
||||||
m_blake256 = OclLib::createBuffer(data.ctx, CL_MEM_READ_WRITE, sizeof(cl_uint) * (g_thd + 2), nullptr, &ret);
|
if (ret != CL_SUCCESS) {
|
||||||
m_groestl256 = OclLib::createBuffer(data.ctx, CL_MEM_READ_WRITE, sizeof(cl_uint) * (g_thd + 2), nullptr, &ret);
|
return;
|
||||||
m_jh256 = OclLib::createBuffer(data.ctx, CL_MEM_READ_WRITE, sizeof(cl_uint) * (g_thd + 2), nullptr, &ret);
|
}
|
||||||
m_skein512 = OclLib::createBuffer(data.ctx, CL_MEM_READ_WRITE, sizeof(cl_uint) * (g_thd + 2), nullptr, &ret);
|
|
||||||
|
for (size_t i = 0; i < BRANCH_MAX; ++i) {
|
||||||
|
m_branches[i] = OclLib::createBuffer(data.ctx, CL_MEM_READ_WRITE, sizeof(cl_uint) * (g_thd + 2), nullptr, &ret);
|
||||||
|
if (ret != CL_SUCCESS) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
uint32_t stridedIndex = data.thread.stridedIndex();
|
uint32_t stridedIndex = data.thread.stridedIndex();
|
||||||
if (data.device.vendorId() == OCL_VENDOR_NVIDIA) {
|
if (data.device.vendorId() == OCL_VENDOR_NVIDIA) {
|
||||||
@@ -85,10 +91,10 @@ xmrig::OclCnRunner::~OclCnRunner()
|
|||||||
|
|
||||||
OclLib::releaseMemObject(m_scratchpads);
|
OclLib::releaseMemObject(m_scratchpads);
|
||||||
OclLib::releaseMemObject(m_states);
|
OclLib::releaseMemObject(m_states);
|
||||||
OclLib::releaseMemObject(m_blake256);
|
|
||||||
OclLib::releaseMemObject(m_groestl256);
|
for (size_t i = 0; i < BRANCH_MAX; ++i) {
|
||||||
OclLib::releaseMemObject(m_jh256);
|
OclLib::releaseMemObject(m_branches[i]);
|
||||||
OclLib::releaseMemObject(m_skein512);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -97,10 +103,10 @@ bool xmrig::OclCnRunner::isReadyToBuild() const
|
|||||||
return OclBaseRunner::isReadyToBuild() &&
|
return OclBaseRunner::isReadyToBuild() &&
|
||||||
m_scratchpads != nullptr &&
|
m_scratchpads != nullptr &&
|
||||||
m_states != nullptr &&
|
m_states != nullptr &&
|
||||||
m_blake256 != nullptr &&
|
m_branches[BRANCH_BLAKE_256] != nullptr &&
|
||||||
m_groestl256 != nullptr &&
|
m_branches[BRANCH_GROESTL_256] != nullptr &&
|
||||||
m_jh256 != nullptr &&
|
m_branches[BRANCH_JH_256] != nullptr &&
|
||||||
m_skein512 != nullptr;
|
m_branches[BRANCH_SKEIN_512] != nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -48,11 +48,17 @@ protected:
|
|||||||
void build() override;
|
void build() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
cl_mem m_blake256 = nullptr;
|
enum Branches : size_t {
|
||||||
cl_mem m_groestl256 = nullptr;
|
BRANCH_BLAKE_256,
|
||||||
cl_mem m_jh256 = nullptr;
|
BRANCH_GROESTL_256,
|
||||||
|
BRANCH_JH_256,
|
||||||
|
BRANCH_SKEIN_512,
|
||||||
|
BRANCH_MAX
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
cl_mem m_branches[BRANCH_MAX] = { nullptr, nullptr, nullptr, nullptr };
|
||||||
cl_mem m_scratchpads = nullptr;
|
cl_mem m_scratchpads = nullptr;
|
||||||
cl_mem m_skein512 = nullptr;
|
|
||||||
cl_mem m_states = nullptr;
|
cl_mem m_states = nullptr;
|
||||||
Cn0Kernel *m_cn0 = nullptr;
|
Cn0Kernel *m_cn0 = nullptr;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user