|
|
@ -52,8 +52,13 @@ void gen_hash(const unsigned char *data, unsigned int len, unsigned char *hash) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#define CL_SET_BLKARG(blkvar) status |= clSetKernelArg(*kernel, num++, sizeof(uint), (void *)&blk->blkvar) |
|
|
|
#define CL_SET_BLKARG(blkvar) status |= clSetKernelArg(*kernel, num++, sizeof(uint), (void *)&blk->blkvar) |
|
|
|
#define CL_SET_ARG(var) status |= clSetKernelArg(*kernel, num++, sizeof(var), (void *)&var) |
|
|
|
|
|
|
|
#define CL_SET_VARG(args, var) status |= clSetKernelArg(*kernel, num++, args * sizeof(uint), (void *)var) |
|
|
|
#define CL_SET_VARG(args, var) status |= clSetKernelArg(*kernel, num++, args * sizeof(uint), (void *)var) |
|
|
|
|
|
|
|
#define CL_SET_ARG_N(n, var) do { status |= clSetKernelArg(*kernel, n, sizeof(var), (void *)&var); } while (0) |
|
|
|
|
|
|
|
#define CL_SET_ARG_0(var) CL_SET_ARG_N(0, var) |
|
|
|
|
|
|
|
#define CL_SET_ARG(var) CL_SET_ARG_N(num++, var) |
|
|
|
|
|
|
|
#define CL_NEXTKERNEL_SET_ARG_N(n, var) do { kernel++; CL_SET_ARG_N(n, var); } while (0) |
|
|
|
|
|
|
|
#define CL_NEXTKERNEL_SET_ARG_0(var) CL_NEXTKERNEL_SET_ARG_N(0, var) |
|
|
|
|
|
|
|
#define CL_NEXTKERNEL_SET_ARG(var) CL_NEXTKERNEL_SET_ARG_N(num++, var) |
|
|
|
|
|
|
|
|
|
|
|
static void append_scrypt_compiler_options(struct _build_kernel_data *data, struct cgpu_info *cgpu, struct _algorithm_t *algorithm) |
|
|
|
static void append_scrypt_compiler_options(struct _build_kernel_data *data, struct cgpu_info *cgpu, struct _algorithm_t *algorithm) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -150,44 +155,26 @@ static cl_int queue_darkcoin_mod_kernel(struct __clState *clState, struct _dev_b |
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
// bmw - search1
|
|
|
|
// bmw - search1
|
|
|
|
kernel = clState->extra_kernels; |
|
|
|
kernel = clState->extra_kernels; |
|
|
|
num = 0; |
|
|
|
CL_SET_ARG_0(clState->padbuffer8); |
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// groestl - search2
|
|
|
|
// groestl - search2
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// skein - search3
|
|
|
|
// skein - search3
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// jh - search4
|
|
|
|
// jh - search4
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// keccak - search5
|
|
|
|
// keccak - search5
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// luffa - search6
|
|
|
|
// luffa - search6
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// cubehash - search7
|
|
|
|
// cubehash - search7
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// shavite - search8
|
|
|
|
// shavite - search8
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// simd - search9
|
|
|
|
// simd - search9
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// echo - search10
|
|
|
|
// echo - search10
|
|
|
|
kernel++; |
|
|
|
|
|
|
|
num = 0; |
|
|
|
num = 0; |
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
CL_NEXTKERNEL_SET_ARG(clState->padbuffer8); |
|
|
|
CL_SET_ARG(clState->outputBuffer); |
|
|
|
CL_SET_ARG(clState->outputBuffer); |
|
|
|
CL_SET_ARG(le_target); |
|
|
|
CL_SET_ARG(le_target); |
|
|
|
|
|
|
|
|
|
|
@ -212,52 +199,30 @@ static cl_int queue_marucoin_mod_kernel(struct __clState *clState, struct _dev_b |
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
// bmw - search1
|
|
|
|
// bmw - search1
|
|
|
|
kernel = clState->extra_kernels; |
|
|
|
kernel = clState->extra_kernels; |
|
|
|
num = 0; |
|
|
|
CL_SET_ARG_0(clState->padbuffer8); |
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// groestl - search2
|
|
|
|
// groestl - search2
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// skein - search3
|
|
|
|
// skein - search3
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// jh - search4
|
|
|
|
// jh - search4
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// keccak - search5
|
|
|
|
// keccak - search5
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// luffa - search6
|
|
|
|
// luffa - search6
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// cubehash - search7
|
|
|
|
// cubehash - search7
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// shavite - search8
|
|
|
|
// shavite - search8
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// simd - search9
|
|
|
|
// simd - search9
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// echo - search10
|
|
|
|
// echo - search10
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// hamsi - search11
|
|
|
|
// hamsi - search11
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// fugue - search12
|
|
|
|
// fugue - search12
|
|
|
|
kernel++; |
|
|
|
|
|
|
|
num = 0; |
|
|
|
num = 0; |
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
CL_NEXTKERNEL_SET_ARG(clState->padbuffer8); |
|
|
|
CL_SET_ARG(clState->outputBuffer); |
|
|
|
CL_SET_ARG(clState->outputBuffer); |
|
|
|
CL_SET_ARG(le_target); |
|
|
|
CL_SET_ARG(le_target); |
|
|
|
|
|
|
|
|
|
|
@ -282,44 +247,26 @@ static cl_int queue_marucoin_mod_old_kernel(struct __clState *clState, struct _d |
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
// bmw - search1
|
|
|
|
// bmw - search1
|
|
|
|
kernel = clState->extra_kernels; |
|
|
|
kernel = clState->extra_kernels; |
|
|
|
num = 0; |
|
|
|
CL_SET_ARG_0(clState->padbuffer8); |
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// groestl - search2
|
|
|
|
// groestl - search2
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// skein - search3
|
|
|
|
// skein - search3
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// jh - search4
|
|
|
|
// jh - search4
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// keccak - search5
|
|
|
|
// keccak - search5
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// luffa - search6
|
|
|
|
// luffa - search6
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// cubehash - search7
|
|
|
|
// cubehash - search7
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// shavite - search8
|
|
|
|
// shavite - search8
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// simd - search9
|
|
|
|
// simd - search9
|
|
|
|
kernel++; |
|
|
|
CL_NEXTKERNEL_SET_ARG_0(clState->padbuffer8); |
|
|
|
num = 0; |
|
|
|
|
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
|
|
|
|
// combined echo, hamsi, fugue - search10
|
|
|
|
// combined echo, hamsi, fugue - search10
|
|
|
|
kernel++; |
|
|
|
|
|
|
|
num = 0; |
|
|
|
num = 0; |
|
|
|
CL_SET_ARG(clState->padbuffer8); |
|
|
|
CL_NEXTKERNEL_SET_ARG(clState->padbuffer8); |
|
|
|
CL_SET_ARG(clState->outputBuffer); |
|
|
|
CL_SET_ARG(clState->outputBuffer); |
|
|
|
CL_SET_ARG(le_target); |
|
|
|
CL_SET_ARG(le_target); |
|
|
|
|
|
|
|
|
|
|
|