diff --git a/test_conformance/math_brute_force/main.cpp b/test_conformance/math_brute_force/main.cpp index d939984e..e1ea4c25 100644 --- a/test_conformance/math_brute_force/main.cpp +++ b/test_conformance/math_brute_force/main.cpp @@ -1043,13 +1043,14 @@ int IsTininessDetectedBeforeRounding(void) { int error; const char *kernelSource = - R"(__kernel void IsTininessDetectedBeforeRounding( __global float *out ) + R"(__kernel void IsTininessDetectedBeforeRounding( __global float *out, float a, float b ) { - volatile float a = 0x1.000002p-126f; - volatile float b = 0x1.fffffcp-1f; out[0] = a * b; // product is 0x1.fffffffffff8p-127 })"; + float a = 0x1.000002p-126f; + float b = 0x1.fffffcp-1f; + clProgramWrapper query; clKernelWrapper kernel; error = @@ -1073,6 +1074,22 @@ int IsTininessDetectedBeforeRounding(void) return error; } + if ((error = clSetKernelArg(kernel, 1, sizeof(a), &a))) + { + vlog_error("Error: Unable to set kernel arg to detect how tininess is " + "detected for the device. Err = %d", + error); + return error; + } + + if ((error = clSetKernelArg(kernel, 2, sizeof(b), &b))) + { + vlog_error("Error: Unable to set kernel arg to detect how tininess is " + "detected for the device. Err = %d", + error); + return error; + } + size_t dim = 1; if ((error = clEnqueueNDRangeKernel(gQueue, kernel, 1, NULL, &dim, NULL, 0, NULL, NULL)))