From decafea0ad6724f7506ea4dc5cb94d422746234e Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Sat, 30 Jul 2011 16:36:02 +1000 Subject: [PATCH] Revert "Read buffers only after reading data back now that we're sync." This reverts commit 5f2c3151b474ac49635701ff3f56966c23abfd57. Bad idea. Need to rework around sync lineup. --- main.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/main.c b/main.c index 53d0a291..abde75ae 100644 --- a/main.c +++ b/main.c @@ -3059,6 +3059,19 @@ static void *gpuminer_thread(void *userdata) if (unlikely(status != CL_SUCCESS)) { applog(LOG_ERR, "Error: clSetKernelArg of all params failed."); goto out; } + /* MAXBUFFERS entry is used as a flag to say nonces exist */ + if (res[MAXBUFFERS]) { + /* Clear the buffer again */ + status = clEnqueueWriteBuffer(clState->commandQueue, clState->outputBuffer, CL_TRUE, 0, + BUFFERSIZE, blank_res, 0, NULL, NULL); + if (unlikely(status != CL_SUCCESS)) + { applog(LOG_ERR, "Error: clEnqueueWriteBuffer failed."); goto out; } + if (opt_debug) + applog(LOG_DEBUG, "GPU %d found something?", gpu); + postcalc_hash_async(mythr, work, res); + memset(res, 0, BUFFERSIZE); + } + status = clEnqueueNDRangeKernel(clState->commandQueue, *kernel, 1, NULL, globalThreads, localThreads, 0, NULL, NULL); if (unlikely(status != CL_SUCCESS)) @@ -3090,19 +3103,6 @@ static void *gpuminer_thread(void *userdata) } set_threads_hashes(vectors, &threads, &hashes, globalThreads, localThreads[0]); - /* MAXBUFFERS entry is used as a flag to say nonces exist */ - if (res[MAXBUFFERS]) { - /* Clear the buffer again */ - status = clEnqueueWriteBuffer(clState->commandQueue, clState->outputBuffer, CL_TRUE, 0, - BUFFERSIZE, blank_res, 0, NULL, NULL); - if (unlikely(status != CL_SUCCESS)) - { applog(LOG_ERR, "Error: clEnqueueWriteBuffer failed."); goto out; } - if (opt_debug) - applog(LOG_DEBUG, "GPU %d found something?", gpu); - postcalc_hash_async(mythr, work, res); - memset(res, 0, BUFFERSIZE); - } - gettimeofday(&tv_end, NULL); timeval_subtract(&diff, &tv_end, &tv_start); hashes_done += hashes;