cl20: Reuse test harness code in clFillImage (#200)

Some of the setup functionality is already there in the test harness, so
use that and remove the duplicated code from within the suite.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
This commit is contained in:
Radek Szymanski
2019-04-25 02:50:10 +01:00
committed by Kévin Petit
parent 1a59260373
commit a12de660ee
8 changed files with 86 additions and 179 deletions

View File

@@ -22,15 +22,13 @@ extern bool gDebugTrace, gDisableOffsets, gTestSmallImages, gEnabl
extern cl_filter_mode gFilterModeToUse;
extern cl_addressing_mode gAddressModeToUse;
extern uint64_t gRoundingStartValue;
extern cl_command_queue queue;
extern cl_context context;
// Defined in test_fill_2D_3D.cpp
extern int test_fill_image_generic( cl_device_id device, image_descriptor *imageInfo,
extern int test_fill_image_generic( cl_context context, cl_command_queue queue, image_descriptor *imageInfo,
const size_t origin[], const size_t region[], ExplicitType outputType, MTdata d );
int test_fill_image_size_1D( cl_device_id device, image_descriptor *imageInfo, ExplicitType outputType, MTdata d )
int test_fill_image_size_1D( cl_context context, cl_command_queue queue, image_descriptor *imageInfo, ExplicitType outputType, MTdata d )
{
size_t origin[ 3 ], region[ 3 ];
int ret = 0, retCode;
@@ -41,7 +39,7 @@ int test_fill_image_size_1D( cl_device_id device, image_descriptor *imageInfo, E
region[ 1 ] = 1;
region[ 2 ] = 1;
retCode = test_fill_image_generic( device, imageInfo, origin, region, outputType, d );
retCode = test_fill_image_generic( context, queue, imageInfo, origin, region, outputType, d );
if ( retCode < 0 )
return retCode;
else
@@ -57,7 +55,7 @@ int test_fill_image_size_1D( cl_device_id device, image_descriptor *imageInfo, E
origin[ 0 ] = ( imageInfo->width > region[ 0 ] ) ? (size_t)random_in_range( 0, (int)( imageInfo->width - region[ 0 ] - 1 ), d ) : 0;
// Go for it!
retCode = test_fill_image_generic( device, imageInfo, origin, region, outputType, d );
retCode = test_fill_image_generic( context, queue, imageInfo, origin, region, outputType, d );
if ( retCode < 0 )
return retCode;
else
@@ -68,7 +66,7 @@ int test_fill_image_size_1D( cl_device_id device, image_descriptor *imageInfo, E
}
int test_fill_image_set_1D( cl_device_id device, cl_image_format *format, ExplicitType outputType )
int test_fill_image_set_1D( cl_device_id device, cl_context context, cl_command_queue queue, cl_image_format *format, ExplicitType outputType )
{
size_t maxWidth;
cl_ulong maxAllocSize, memSize;
@@ -110,7 +108,7 @@ int test_fill_image_set_1D( cl_device_id device, cl_image_format *format, Explic
if ( gDebugTrace )
log_info( " at size %d,%d\n", (int)imageInfo.width, (int)imageInfo.height );
int ret = test_fill_image_size_1D( device, &imageInfo, outputType, seed );
int ret = test_fill_image_size_1D( context, queue, &imageInfo, outputType, seed );
if ( ret )
return -1;
}
@@ -140,7 +138,7 @@ int test_fill_image_set_1D( cl_device_id device, cl_image_format *format, Explic
log_info( "Testing %d\n", (int)sizes[ idx ][ 0 ] );
if ( gDebugTrace )
log_info( " at max size %d\n", (int)sizes[ idx ][ 0 ] );
if ( test_fill_image_size_1D( device, &imageInfo, outputType, seed ) )
if ( test_fill_image_size_1D( context, queue, &imageInfo, outputType, seed ) )
return -1;
}
}
@@ -171,7 +169,7 @@ int test_fill_image_set_1D( cl_device_id device, cl_image_format *format, Explic
if ( gDebugTrace )
log_info( " at size %d (row pitch %d) out of %d\n", (int)imageInfo.width, (int)imageInfo.rowPitch, (int)maxWidth );
int ret = test_fill_image_size_1D( device, &imageInfo, outputType, seed );
int ret = test_fill_image_size_1D( context, queue, &imageInfo, outputType, seed );
if ( ret )
return -1;
}