From a8b32b27204a8739350797d14118b72cccdaa248 Mon Sep 17 00:00:00 2001 From: Sven van Haastregt Date: Thu, 6 Feb 2025 19:43:00 +0100 Subject: [PATCH] math_brute_force: remove LogBuildError (#2233) `LogBuildError` was only ever called after `clSetKernelArg`, but setting a kernel argument has no impact on the program build log. Printing of the actual build log in case of a build failure is already handled via `create_single_kernel_helper`. Signed-off-by: Sven van Haastregt --- .../math_brute_force/binary_double.cpp | 27 ++++---------- .../math_brute_force/binary_float.cpp | 27 ++++---------- .../math_brute_force/binary_half.cpp | 27 ++++---------- .../math_brute_force/binary_i_double.cpp | 27 ++++---------- .../math_brute_force/binary_i_float.cpp | 27 ++++---------- .../math_brute_force/binary_i_half.cpp | 27 ++++---------- .../binary_operator_double.cpp | 27 ++++---------- .../binary_operator_float.cpp | 27 ++++---------- .../math_brute_force/binary_operator_half.cpp | 27 ++++---------- .../binary_two_results_i_double.cpp | 37 ++++++------------- .../binary_two_results_i_float.cpp | 37 ++++++------------- .../binary_two_results_i_half.cpp | 37 ++++++------------- .../math_brute_force/i_unary_double.cpp | 18 +++------ .../math_brute_force/i_unary_float.cpp | 18 +++------ .../math_brute_force/i_unary_half.cpp | 18 +++------ .../math_brute_force/macro_binary_double.cpp | 27 ++++---------- .../math_brute_force/macro_binary_float.cpp | 27 ++++---------- .../math_brute_force/macro_binary_half.cpp | 27 ++++---------- .../math_brute_force/macro_unary_double.cpp | 18 +++------ .../math_brute_force/macro_unary_float.cpp | 18 +++------ .../math_brute_force/macro_unary_half.cpp | 18 +++------ .../math_brute_force/mad_double.cpp | 36 ++++++------------ .../math_brute_force/mad_float.cpp | 36 ++++++------------ .../math_brute_force/mad_half.cpp | 36 ++++++------------ test_conformance/math_brute_force/main.cpp | 13 ------- .../math_brute_force/ternary_double.cpp | 36 ++++++------------ .../math_brute_force/ternary_float.cpp | 36 ++++++------------ .../math_brute_force/ternary_half.cpp | 36 ++++++------------ .../math_brute_force/unary_double.cpp | 18 +++------ .../math_brute_force/unary_float.cpp | 18 +++------ .../math_brute_force/unary_half.cpp | 18 +++------ .../unary_two_results_double.cpp | 28 +++++--------- .../unary_two_results_float.cpp | 28 +++++--------- .../unary_two_results_half.cpp | 28 +++++--------- .../unary_two_results_i_double.cpp | 28 +++++--------- .../unary_two_results_i_float.cpp | 28 +++++--------- .../unary_two_results_i_half.cpp | 28 +++++--------- .../math_brute_force/unary_u_double.cpp | 18 +++------ .../math_brute_force/unary_u_float.cpp | 18 +++------ .../math_brute_force/unary_u_half.cpp | 18 +++------ test_conformance/math_brute_force/utility.h | 3 -- 41 files changed, 324 insertions(+), 727 deletions(-) diff --git a/test_conformance/math_brute_force/binary_double.cpp b/test_conformance/math_brute_force/binary_double.cpp index feeedc47..5510c7a2 100644 --- a/test_conformance/math_brute_force/binary_double.cpp +++ b/test_conformance/math_brute_force/binary_double.cpp @@ -344,26 +344,15 @@ cl_int Test(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), - &tinfo->inBuf2))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); + error = + clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), &tinfo->inBuf2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/binary_float.cpp b/test_conformance/math_brute_force/binary_float.cpp index deea1ce9..6db812e5 100644 --- a/test_conformance/math_brute_force/binary_float.cpp +++ b/test_conformance/math_brute_force/binary_float.cpp @@ -349,26 +349,15 @@ cl_int Test(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), - &tinfo->inBuf2))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); + error = + clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), &tinfo->inBuf2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/binary_half.cpp b/test_conformance/math_brute_force/binary_half.cpp index 70057db5..5bbcbbda 100644 --- a/test_conformance/math_brute_force/binary_half.cpp +++ b/test_conformance/math_brute_force/binary_half.cpp @@ -229,26 +229,15 @@ cl_int TestHalf(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), - &tinfo->inBuf2))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); + error = + clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), &tinfo->inBuf2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/binary_i_double.cpp b/test_conformance/math_brute_force/binary_i_double.cpp index a6c28557..5f563c73 100644 --- a/test_conformance/math_brute_force/binary_i_double.cpp +++ b/test_conformance/math_brute_force/binary_i_double.cpp @@ -346,26 +346,15 @@ cl_int Test(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), - &tinfo->inBuf2))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); + error = + clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), &tinfo->inBuf2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/binary_i_float.cpp b/test_conformance/math_brute_force/binary_i_float.cpp index dfe25efc..a9a65719 100644 --- a/test_conformance/math_brute_force/binary_i_float.cpp +++ b/test_conformance/math_brute_force/binary_i_float.cpp @@ -337,26 +337,15 @@ cl_int Test(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), - &tinfo->inBuf2))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); + error = + clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), &tinfo->inBuf2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/binary_i_half.cpp b/test_conformance/math_brute_force/binary_i_half.cpp index 0f167fc9..bd91be46 100644 --- a/test_conformance/math_brute_force/binary_i_half.cpp +++ b/test_conformance/math_brute_force/binary_i_half.cpp @@ -225,26 +225,15 @@ cl_int TestHalf(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), - &tinfo->inBuf2))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); + error = + clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), &tinfo->inBuf2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/binary_operator_double.cpp b/test_conformance/math_brute_force/binary_operator_double.cpp index 43cf7eff..4dce5052 100644 --- a/test_conformance/math_brute_force/binary_operator_double.cpp +++ b/test_conformance/math_brute_force/binary_operator_double.cpp @@ -345,26 +345,15 @@ cl_int Test(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), - &tinfo->inBuf2))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); + error = + clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), &tinfo->inBuf2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/binary_operator_float.cpp b/test_conformance/math_brute_force/binary_operator_float.cpp index 49cfe670..c0c11c2e 100644 --- a/test_conformance/math_brute_force/binary_operator_float.cpp +++ b/test_conformance/math_brute_force/binary_operator_float.cpp @@ -367,26 +367,15 @@ cl_int Test(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), - &tinfo->inBuf2))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); + error = + clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), &tinfo->inBuf2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/binary_operator_half.cpp b/test_conformance/math_brute_force/binary_operator_half.cpp index 1a0776e3..3bd45857 100644 --- a/test_conformance/math_brute_force/binary_operator_half.cpp +++ b/test_conformance/math_brute_force/binary_operator_half.cpp @@ -240,26 +240,15 @@ cl_int TestHalf(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), - &tinfo->inBuf2))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); + error = + clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), &tinfo->inBuf2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/binary_two_results_i_double.cpp b/test_conformance/math_brute_force/binary_two_results_i_double.cpp index ec244c17..eca33f2f 100644 --- a/test_conformance/math_brute_force/binary_two_results_i_double.cpp +++ b/test_conformance/math_brute_force/binary_two_results_i_double.cpp @@ -185,31 +185,18 @@ int TestFunc_DoubleI_Double_Double(const Func *f, MTdata d, bool relaxedMode) size_t vectorSize = sizeof(cl_double) * sizeValues[j]; size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; // BUFFER_SIZE / vectorSize rounded up - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = - clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gOutBuffer2[j]), &gOutBuffer2[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 3, - sizeof(gInBuffer2), &gInBuffer2))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, + sizeof(gOutBuffer2[j]), &gOutBuffer2[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 3, sizeof(gInBuffer2), + &gInBuffer2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/binary_two_results_i_float.cpp b/test_conformance/math_brute_force/binary_two_results_i_float.cpp index 36d71898..213535a9 100644 --- a/test_conformance/math_brute_force/binary_two_results_i_float.cpp +++ b/test_conformance/math_brute_force/binary_two_results_i_float.cpp @@ -187,31 +187,18 @@ int TestFunc_FloatI_Float_Float(const Func *f, MTdata d, bool relaxedMode) size_t vectorSize = sizeof(cl_float) * sizeValues[j]; size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; // BUFFER_SIZE / vectorSize rounded up - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = - clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gOutBuffer2[j]), &gOutBuffer2[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 3, - sizeof(gInBuffer2), &gInBuffer2))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, + sizeof(gOutBuffer2[j]), &gOutBuffer2[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 3, sizeof(gInBuffer2), + &gInBuffer2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/binary_two_results_i_half.cpp b/test_conformance/math_brute_force/binary_two_results_i_half.cpp index 3c3ef71a..a2379431 100644 --- a/test_conformance/math_brute_force/binary_two_results_i_half.cpp +++ b/test_conformance/math_brute_force/binary_two_results_i_half.cpp @@ -179,31 +179,18 @@ int TestFunc_HalfI_Half_Half(const Func *f, MTdata d, bool relaxedMode) // align working group size with the bigger output type size_t vectorSize = sizeValues[j] * sizeof(int32_t); size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = - clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gOutBuffer2[j]), &gOutBuffer2[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 3, - sizeof(gInBuffer2), &gInBuffer2))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, + sizeof(gOutBuffer2[j]), &gOutBuffer2[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 3, sizeof(gInBuffer2), + &gInBuffer2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/i_unary_double.cpp b/test_conformance/math_brute_force/i_unary_double.cpp index c2c7963f..4db27a62 100644 --- a/test_conformance/math_brute_force/i_unary_double.cpp +++ b/test_conformance/math_brute_force/i_unary_double.cpp @@ -122,18 +122,12 @@ int TestFunc_Int_Double(const Func *f, MTdata d, bool relaxedMode) size_t vectorSize = sizeValues[j] * sizeof(cl_double); size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; // BUFFER_SIZE / vectorSize rounded up - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/i_unary_float.cpp b/test_conformance/math_brute_force/i_unary_float.cpp index eed76a6e..1f84b901 100644 --- a/test_conformance/math_brute_force/i_unary_float.cpp +++ b/test_conformance/math_brute_force/i_unary_float.cpp @@ -121,18 +121,12 @@ int TestFunc_Int_Float(const Func *f, MTdata d, bool relaxedMode) size_t vectorSize = sizeValues[j] * sizeof(cl_float); size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; // BUFFER_SIZE / vectorSize rounded up - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/i_unary_half.cpp b/test_conformance/math_brute_force/i_unary_half.cpp index 97955f93..0aad984b 100644 --- a/test_conformance/math_brute_force/i_unary_half.cpp +++ b/test_conformance/math_brute_force/i_unary_half.cpp @@ -118,18 +118,12 @@ int TestFunc_Int_Half(const Func *f, MTdata d, bool relaxedMode) { size_t vectorSize = sizeValues[j] * sizeof(cl_int); size_t localCount = (bufferSizeOut + vectorSize - 1) / vectorSize; - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/macro_binary_double.cpp b/test_conformance/math_brute_force/macro_binary_double.cpp index 51d5b64b..ab969ad6 100644 --- a/test_conformance/math_brute_force/macro_binary_double.cpp +++ b/test_conformance/math_brute_force/macro_binary_double.cpp @@ -327,26 +327,15 @@ cl_int Test(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), - &tinfo->inBuf2))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); + error = + clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), &tinfo->inBuf2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/macro_binary_float.cpp b/test_conformance/math_brute_force/macro_binary_float.cpp index b00a29ff..c49346cc 100644 --- a/test_conformance/math_brute_force/macro_binary_float.cpp +++ b/test_conformance/math_brute_force/macro_binary_float.cpp @@ -320,26 +320,15 @@ cl_int Test(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), - &tinfo->inBuf2))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); + error = + clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), &tinfo->inBuf2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/macro_binary_half.cpp b/test_conformance/math_brute_force/macro_binary_half.cpp index a8f459a7..ec10c65e 100644 --- a/test_conformance/math_brute_force/macro_binary_half.cpp +++ b/test_conformance/math_brute_force/macro_binary_half.cpp @@ -210,26 +210,15 @@ cl_int TestHalf(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), - &tinfo->inBuf2))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); + error = + clSetKernelArg(kernel, 2, sizeof(tinfo->inBuf2), &tinfo->inBuf2); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/macro_unary_double.cpp b/test_conformance/math_brute_force/macro_unary_double.cpp index b747b980..c6d81ab7 100644 --- a/test_conformance/math_brute_force/macro_unary_double.cpp +++ b/test_conformance/math_brute_force/macro_unary_double.cpp @@ -168,20 +168,12 @@ cl_int Test(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/macro_unary_float.cpp b/test_conformance/math_brute_force/macro_unary_float.cpp index 34f49a5a..85be620f 100644 --- a/test_conformance/math_brute_force/macro_unary_float.cpp +++ b/test_conformance/math_brute_force/macro_unary_float.cpp @@ -169,20 +169,12 @@ cl_int Test(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/macro_unary_half.cpp b/test_conformance/math_brute_force/macro_unary_half.cpp index a1e92118..d80dd153 100644 --- a/test_conformance/math_brute_force/macro_unary_half.cpp +++ b/test_conformance/math_brute_force/macro_unary_half.cpp @@ -151,20 +151,12 @@ cl_int TestHalf(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/mad_double.cpp b/test_conformance/math_brute_force/mad_double.cpp index b6a6742f..c0442e68 100644 --- a/test_conformance/math_brute_force/mad_double.cpp +++ b/test_conformance/math_brute_force/mad_double.cpp @@ -131,30 +131,18 @@ int TestFunc_mad_Double(const Func *f, MTdata d, bool relaxedMode) size_t vectorSize = sizeof(cl_double) * sizeValues[j]; size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; // BUFFER_SIZE / vectorSize rounded up - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer2), &gInBuffer2))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 3, - sizeof(gInBuffer3), &gInBuffer3))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer2), + &gInBuffer2); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 3, sizeof(gInBuffer3), + &gInBuffer3); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/mad_float.cpp b/test_conformance/math_brute_force/mad_float.cpp index 3f237ed9..2e3a294b 100644 --- a/test_conformance/math_brute_force/mad_float.cpp +++ b/test_conformance/math_brute_force/mad_float.cpp @@ -132,30 +132,18 @@ int TestFunc_mad_Float(const Func *f, MTdata d, bool relaxedMode) size_t vectorSize = sizeof(cl_float) * sizeValues[j]; size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; // BUFFER_SIZE / vectorSize rounded up - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer2), &gInBuffer2))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 3, - sizeof(gInBuffer3), &gInBuffer3))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer2), + &gInBuffer2); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 3, sizeof(gInBuffer3), + &gInBuffer3); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/mad_half.cpp b/test_conformance/math_brute_force/mad_half.cpp index 33235534..0a59f3f1 100644 --- a/test_conformance/math_brute_force/mad_half.cpp +++ b/test_conformance/math_brute_force/mad_half.cpp @@ -126,30 +126,18 @@ int TestFunc_mad_Half(const Func *f, MTdata d, bool relaxedMode) size_t vectorSize = sizeof(cl_half) * sizeValues[j]; size_t localCount = (bufferSize + vectorSize - 1) / vectorSize; // bufferSize / vectorSize rounded up - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer2), &gInBuffer2))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 3, - sizeof(gInBuffer3), &gInBuffer3))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer2), + &gInBuffer2); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 3, sizeof(gInBuffer3), + &gInBuffer3); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/main.cpp b/test_conformance/math_brute_force/main.cpp index f919ffa6..c6a4b5d6 100644 --- a/test_conformance/math_brute_force/main.cpp +++ b/test_conformance/math_brute_force/main.cpp @@ -981,19 +981,6 @@ static void ReleaseCL(void) } } -void _LogBuildError(cl_program p, int line, const char *file) -{ - char the_log[2048] = ""; - - vlog_error("%s:%d: Build Log:\n", file, line); - if (0 - == clGetProgramBuildInfo(p, gDevice, CL_PROGRAM_BUILD_LOG, - sizeof(the_log), the_log, NULL)) - vlog_error("%s", the_log); - else - vlog_error("*** Error getting build log for program %p\n", p); -} - int InitILogbConstants(void) { int error; diff --git a/test_conformance/math_brute_force/ternary_double.cpp b/test_conformance/math_brute_force/ternary_double.cpp index 62adbf29..aadebc25 100644 --- a/test_conformance/math_brute_force/ternary_double.cpp +++ b/test_conformance/math_brute_force/ternary_double.cpp @@ -236,30 +236,18 @@ int TestFunc_Double_Double_Double_Double(const Func *f, MTdata d, size_t vectorSize = sizeof(cl_double) * sizeValues[j]; size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; // BUFFER_SIZE / vectorSize rounded up - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer2), &gInBuffer2))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 3, - sizeof(gInBuffer3), &gInBuffer3))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer2), + &gInBuffer2); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 3, sizeof(gInBuffer3), + &gInBuffer3); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/ternary_float.cpp b/test_conformance/math_brute_force/ternary_float.cpp index efde6063..478090d4 100644 --- a/test_conformance/math_brute_force/ternary_float.cpp +++ b/test_conformance/math_brute_force/ternary_float.cpp @@ -258,30 +258,18 @@ int TestFunc_Float_Float_Float_Float(const Func *f, MTdata d, bool relaxedMode) size_t vectorSize = sizeof(cl_float) * sizeValues[j]; size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; // BUFFER_SIZE / vectorSize rounded up - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer2), &gInBuffer2))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 3, - sizeof(gInBuffer3), &gInBuffer3))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer2), + &gInBuffer2); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 3, sizeof(gInBuffer3), + &gInBuffer3); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/ternary_half.cpp b/test_conformance/math_brute_force/ternary_half.cpp index 856fa67d..843ceaa0 100644 --- a/test_conformance/math_brute_force/ternary_half.cpp +++ b/test_conformance/math_brute_force/ternary_half.cpp @@ -191,30 +191,18 @@ int TestFunc_Half_Half_Half_Half(const Func *f, MTdata d, bool relaxedMode) size_t vectorSize = sizeof(cl_half) * sizeValues[j]; size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; // BUFFER_SIZE / vectorSize rounded up - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer2), &gInBuffer2))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 3, - sizeof(gInBuffer3), &gInBuffer3))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer2), + &gInBuffer2); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 3, sizeof(gInBuffer3), + &gInBuffer3); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/unary_double.cpp b/test_conformance/math_brute_force/unary_double.cpp index f3157fdf..4762a81d 100644 --- a/test_conformance/math_brute_force/unary_double.cpp +++ b/test_conformance/math_brute_force/unary_double.cpp @@ -176,20 +176,12 @@ cl_int Test(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/unary_float.cpp b/test_conformance/math_brute_force/unary_float.cpp index 7d1f6cda..0a2af3be 100644 --- a/test_conformance/math_brute_force/unary_float.cpp +++ b/test_conformance/math_brute_force/unary_float.cpp @@ -205,20 +205,12 @@ cl_int Test(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument 0"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument 1"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/unary_half.cpp b/test_conformance/math_brute_force/unary_half.cpp index 83cdd01f..877e1fad 100644 --- a/test_conformance/math_brute_force/unary_half.cpp +++ b/test_conformance/math_brute_force/unary_half.cpp @@ -154,20 +154,12 @@ cl_int TestHalf(cl_uint job_id, cl_uint thread_id, void *data) (buffer_elements + sizeValues[j] - 1) / sizeValues[j]; cl_kernel kernel = job->k[j][thread_id]; // each worker thread has its // own copy of the cl_kernel - cl_program program = job->programs[j]; - if ((error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), - &tinfo->outBuf[j]))) - { - LogBuildError(program); - return error; - } - if ((error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), - &tinfo->inBuf))) - { - LogBuildError(program); - return error; - } + error = clSetKernelArg(kernel, 0, sizeof(tinfo->outBuf[j]), + &tinfo->outBuf[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernel, 1, sizeof(tinfo->inBuf), &tinfo->inBuf); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(tinfo->tQueue, kernel, 1, NULL, &vectorCount, NULL, 0, NULL, NULL))) diff --git a/test_conformance/math_brute_force/unary_two_results_double.cpp b/test_conformance/math_brute_force/unary_two_results_double.cpp index 4d660e0a..a109cd6e 100644 --- a/test_conformance/math_brute_force/unary_two_results_double.cpp +++ b/test_conformance/math_brute_force/unary_two_results_double.cpp @@ -143,25 +143,15 @@ int TestFunc_Double2_Double(const Func *f, MTdata d, bool relaxedMode) { size_t vectorSize = sizeValues[j] * sizeof(cl_double); size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = - clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gOutBuffer2[j]), &gOutBuffer2[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, + sizeof(gOutBuffer2[j]), &gOutBuffer2[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/unary_two_results_float.cpp b/test_conformance/math_brute_force/unary_two_results_float.cpp index 3fd16cd3..a3b52c62 100644 --- a/test_conformance/math_brute_force/unary_two_results_float.cpp +++ b/test_conformance/math_brute_force/unary_two_results_float.cpp @@ -159,25 +159,15 @@ int TestFunc_Float2_Float(const Func *f, MTdata d, bool relaxedMode) { size_t vectorSize = sizeValues[j] * sizeof(cl_float); size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = - clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gOutBuffer2[j]), &gOutBuffer2[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, + sizeof(gOutBuffer2[j]), &gOutBuffer2[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/unary_two_results_half.cpp b/test_conformance/math_brute_force/unary_two_results_half.cpp index 2bf35142..683e1492 100644 --- a/test_conformance/math_brute_force/unary_two_results_half.cpp +++ b/test_conformance/math_brute_force/unary_two_results_half.cpp @@ -132,25 +132,15 @@ int TestFunc_Half2_Half(const Func *f, MTdata d, bool relaxedMode) { size_t vectorSize = sizeValues[j] * sizeof(cl_half); size_t localCount = (bufferSize + vectorSize - 1) / vectorSize; - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = - clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gOutBuffer2[j]), &gOutBuffer2[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, + sizeof(gOutBuffer2[j]), &gOutBuffer2[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/unary_two_results_i_double.cpp b/test_conformance/math_brute_force/unary_two_results_i_double.cpp index 916f4a0c..dd60f43e 100644 --- a/test_conformance/math_brute_force/unary_two_results_i_double.cpp +++ b/test_conformance/math_brute_force/unary_two_results_i_double.cpp @@ -151,25 +151,15 @@ int TestFunc_DoubleI_Double(const Func *f, MTdata d, bool relaxedMode) { size_t vectorSize = sizeValues[j] * sizeof(cl_double); size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = - clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gOutBuffer2[j]), &gOutBuffer2[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, + sizeof(gOutBuffer2[j]), &gOutBuffer2[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/unary_two_results_i_float.cpp b/test_conformance/math_brute_force/unary_two_results_i_float.cpp index 0dbe3f77..6e01a794 100644 --- a/test_conformance/math_brute_force/unary_two_results_i_float.cpp +++ b/test_conformance/math_brute_force/unary_two_results_i_float.cpp @@ -156,25 +156,15 @@ int TestFunc_FloatI_Float(const Func *f, MTdata d, bool relaxedMode) { size_t vectorSize = sizeValues[j] * sizeof(cl_float); size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = - clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gOutBuffer2[j]), &gOutBuffer2[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, + sizeof(gOutBuffer2[j]), &gOutBuffer2[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/unary_two_results_i_half.cpp b/test_conformance/math_brute_force/unary_two_results_i_half.cpp index 7b3431ab..685611ea 100644 --- a/test_conformance/math_brute_force/unary_two_results_i_half.cpp +++ b/test_conformance/math_brute_force/unary_two_results_i_half.cpp @@ -145,25 +145,15 @@ int TestFunc_HalfI_Half(const Func *f, MTdata d, bool relaxedMode) // align working group size with the bigger output type size_t vectorSize = sizeValues[j] * sizeof(cl_int); size_t localCount = (bufferSizeHi + vectorSize - 1) / vectorSize; - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = - clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gOutBuffer2[j]), &gOutBuffer2[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 2, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, + sizeof(gOutBuffer2[j]), &gOutBuffer2[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 2, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/unary_u_double.cpp b/test_conformance/math_brute_force/unary_u_double.cpp index 226ef068..514b7c60 100644 --- a/test_conformance/math_brute_force/unary_u_double.cpp +++ b/test_conformance/math_brute_force/unary_u_double.cpp @@ -116,18 +116,12 @@ int TestFunc_Double_ULong(const Func *f, MTdata d, bool relaxedMode) { size_t vectorSize = sizeValues[j] * sizeof(cl_double); size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/unary_u_float.cpp b/test_conformance/math_brute_force/unary_u_float.cpp index 3eb76794..d5d30495 100644 --- a/test_conformance/math_brute_force/unary_u_float.cpp +++ b/test_conformance/math_brute_force/unary_u_float.cpp @@ -123,18 +123,12 @@ int TestFunc_Float_UInt(const Func *f, MTdata d, bool relaxedMode) { size_t vectorSize = sizeValues[j] * sizeof(cl_float); size_t localCount = (BUFFER_SIZE + vectorSize - 1) / vectorSize; - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/unary_u_half.cpp b/test_conformance/math_brute_force/unary_u_half.cpp index 2970403f..cc3fe728 100644 --- a/test_conformance/math_brute_force/unary_u_half.cpp +++ b/test_conformance/math_brute_force/unary_u_half.cpp @@ -111,18 +111,12 @@ int TestFunc_Half_UShort(const Func *f, MTdata d, bool relaxedMode) { size_t vectorSize = sizeValues[j] * sizeof(cl_half); size_t localCount = (bufferSize + vectorSize - 1) / vectorSize; - if ((error = clSetKernelArg(kernels[j][thread_id], 0, - sizeof(gOutBuffer[j]), &gOutBuffer[j]))) - { - LogBuildError(programs[j]); - return error; - } - if ((error = clSetKernelArg(kernels[j][thread_id], 1, - sizeof(gInBuffer), &gInBuffer))) - { - LogBuildError(programs[j]); - return error; - } + error = clSetKernelArg(kernels[j][thread_id], 0, + sizeof(gOutBuffer[j]), &gOutBuffer[j]); + test_error(error, "Failed to set kernel argument"); + error = clSetKernelArg(kernels[j][thread_id], 1, sizeof(gInBuffer), + &gInBuffer); + test_error(error, "Failed to set kernel argument"); if ((error = clEnqueueNDRangeKernel(gQueue, kernels[j][thread_id], 1, NULL, &localCount, NULL, 0, diff --git a/test_conformance/math_brute_force/utility.h b/test_conformance/math_brute_force/utility.h index 74cacc46..a43f3a64 100644 --- a/test_conformance/math_brute_force/utility.h +++ b/test_conformance/math_brute_force/utility.h @@ -114,9 +114,6 @@ inline double DoubleFromUInt32(uint32_t bits) return u.d; } -void _LogBuildError(cl_program p, int line, const char *file); -#define LogBuildError(program) _LogBuildError(program, __LINE__, __FILE__) - // The spec is fairly clear that we may enforce a hard cutoff to prevent // premature flushing to zero. // However, to avoid conflict for 1.0, we are letting results at TYPE_MIN +