From 25c39c96bba7a5181d8d994a15767f4b7a6f0691 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Mon, 15 Oct 2012 12:31:57 +1100 Subject: [PATCH] Ease the checking on allocation of padbuffer8 in the hope it works partially anyway on an apparently failed call. --- ocl.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ocl.c b/ocl.c index 5b56e003..f68c8012 100644 --- a/ocl.c +++ b/ocl.c @@ -816,8 +816,13 @@ built: bufsize = cgpu->max_alloc; applog(LOG_DEBUG, "Creating scrypt buffer sized %d", bufsize); clState->padbufsize = bufsize; + + /* This buffer is weird and might work to some degree even if + * the create buffer call has apparently failed, so check if we + * get anything back before we call it a failure. */ + clState->padbuffer8 = NULL; clState->padbuffer8 = clCreateBuffer(clState->context, CL_MEM_READ_WRITE, bufsize, NULL, &status); - if (status != CL_SUCCESS) { + if (status != CL_SUCCESS && !clState->padbuffer8) { applog(LOG_ERR, "Error %d: clCreateBuffer (padbuffer8), decrease CT or increase LG", status); return NULL; }