Migrate geometrics suite to the new test registration framework (#2335)

Contributes to https://github.com/KhronosGroup/OpenCL-CTS/issues/2181.

Signed-off-by: Michael Rizkalla <michael.rizkalla@arm.com>
This commit is contained in:
Michael Rizkalla
2025-03-18 17:13:35 +00:00
committed by GitHub
parent 7cd13e1e93
commit ac38405a62
4 changed files with 46 additions and 73 deletions

View File

@@ -148,15 +148,13 @@ void cross_product( const float *vecA, const float *vecB, float *outVector, floa
}
int test_geom_cross(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements )
REGISTER_TEST(geom_cross)
{
int vecsize;
RandomSeed seed(gRandomSeed);
/* Get the default rounding mode */
cl_device_fp_config defaultRoundingMode = get_default_rounding_mode(deviceID);
cl_device_fp_config defaultRoundingMode = get_default_rounding_mode(device);
if( 0 == defaultRoundingMode )
return -1;
@@ -269,12 +267,16 @@ int test_geom_cross(cl_device_id deviceID, cl_context context, cl_command_queue
}
} // for(vecsize=...
if(!is_extension_available(deviceID, "cl_khr_fp64")) {
if (!is_extension_available(device, "cl_khr_fp64"))
{
log_info("Extension cl_khr_fp64 not supported; skipping double tests.\n");
return 0;
} else {
}
else
{
log_info("Testing doubles...\n");
return test_geom_cross_double( deviceID, context, queue, num_elements, seed);
return test_geom_cross_double(device, context, queue, num_elements,
seed);
}
}
@@ -497,7 +499,7 @@ double verifyDot( float *srcA, float *srcB, size_t vecSize )
return total;
}
int test_geom_dot(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements)
REGISTER_TEST(geom_dot)
{
size_t sizes[] = { 1, 2, 3, 4, 0 };
unsigned int size;
@@ -516,14 +518,14 @@ int test_geom_dot(cl_device_id deviceID, cl_context context, cl_command_queue qu
if (retVal)
return retVal;
if(!is_extension_available(deviceID, "cl_khr_fp64"))
if (!is_extension_available(device, "cl_khr_fp64"))
{
log_info("Extension cl_khr_fp64 not supported; skipping double tests.\n");
return 0;
}
log_info("Testing doubles...\n");
return test_geom_dot_double( deviceID, context, queue, num_elements, seed);
return test_geom_dot_double(device, context, queue, num_elements, seed);
}
double verifyFastDistance( float *srcA, float *srcB, size_t vecSize )
@@ -542,7 +544,7 @@ double verifyFastDistance( float *srcA, float *srcB, size_t vecSize )
return sqrt( total );
}
int test_geom_fast_distance(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements)
REGISTER_TEST(geom_fast_distance)
{
size_t sizes[] = { 1, 2, 3, 4, 0 };
unsigned int size;
@@ -589,7 +591,7 @@ double verifyDistance( float *srcA, float *srcB, size_t vecSize )
return sqrt( total );
}
int test_geom_distance(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements)
REGISTER_TEST(geom_distance)
{
size_t sizes[] = { 1, 2, 3, 4, 0 };
unsigned int size;
@@ -616,13 +618,14 @@ int test_geom_distance(cl_device_id deviceID, cl_context context, cl_command_que
if (retVal)
return retVal;
if(!is_extension_available(deviceID, "cl_khr_fp64"))
if (!is_extension_available(device, "cl_khr_fp64"))
{
log_info("Extension cl_khr_fp64 not supported; skipping double tests.\n");
return 0;
} else {
log_info("Testing doubles...\n");
return test_geom_distance_double( deviceID, context, queue, num_elements, seed);
return test_geom_distance_double(device, context, queue, num_elements,
seed);
}
}
@@ -754,7 +757,7 @@ double verifyLength( float *srcA, size_t vecSize )
return sqrt( total );
}
int test_geom_length(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements)
REGISTER_TEST(geom_length)
{
size_t sizes[] = { 1, 2, 3, 4, 0 };
unsigned int size;
@@ -781,7 +784,7 @@ int test_geom_length(cl_device_id deviceID, cl_context context, cl_command_queue
if (retVal)
return retVal;
if(!is_extension_available(deviceID, "cl_khr_fp64"))
if (!is_extension_available(device, "cl_khr_fp64"))
{
log_info("Extension cl_khr_fp64 not supported; skipping double tests.\n");
return 0;
@@ -789,7 +792,8 @@ int test_geom_length(cl_device_id deviceID, cl_context context, cl_command_queue
else
{
log_info("Testing doubles...\n");
return test_geom_length_double( deviceID, context, queue, num_elements, seed);
return test_geom_length_double(device, context, queue, num_elements,
seed);
}
}
@@ -809,7 +813,7 @@ double verifyFastLength( float *srcA, size_t vecSize )
return sqrt( total );
}
int test_geom_fast_length(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements)
REGISTER_TEST(geom_fast_length)
{
size_t sizes[] = { 1, 2, 3, 4, 0 };
unsigned int size;
@@ -1059,7 +1063,7 @@ void verifyNormalize( float *srcA, float *dst, size_t vecSize )
dst[i] = (float)( (double)srcA[i] / value );
}
int test_geom_normalize(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements)
REGISTER_TEST(geom_normalize)
{
size_t sizes[] = { 1, 2, 3, 4, 0 };
unsigned int size;
@@ -1084,18 +1088,19 @@ int test_geom_normalize(cl_device_id deviceID, cl_context context, cl_command_qu
if (retVal)
return retVal;
if(!is_extension_available(deviceID, "cl_khr_fp64"))
if (!is_extension_available(device, "cl_khr_fp64"))
{
log_info("Extension cl_khr_fp64 not supported; skipping double tests.\n");
return 0;
} else {
log_info("Testing doubles...\n");
return test_geom_normalize_double( deviceID, context, queue, num_elements, seed);
return test_geom_normalize_double(device, context, queue, num_elements,
seed);
}
}
int test_geom_fast_normalize(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements)
REGISTER_TEST(geom_fast_normalize)
{
size_t sizes[] = { 1, 2, 3, 4, 0 };
unsigned int size;