cl20: Reuse test harness code in clCopyImage (#197)

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:47:13 +01:00
committed by Kévin Petit
parent 3c124e0807
commit 1a59260373
11 changed files with 133 additions and 228 deletions

View File

@@ -22,13 +22,11 @@ extern bool gDebugTrace, gDisableOffsets, gTestSmallImages, gEnablePi
extern cl_filter_mode gFilterModeToUse;
extern cl_addressing_mode gAddressModeToUse;
extern uint64_t gRoundingStartValue;
extern cl_command_queue queue;
extern cl_context context;
extern int test_copy_image_generic( cl_device_id device, image_descriptor *srcImageInfo, image_descriptor *dstImageInfo,
extern int test_copy_image_generic( cl_context context, cl_command_queue queue, image_descriptor *srcImageInfo, image_descriptor *dstImageInfo,
const size_t sourcePos[], const size_t destPos[], const size_t regionSize[], MTdata d );
int test_copy_image_size_1D_array( cl_device_id device, image_descriptor *imageInfo, MTdata d )
int test_copy_image_size_1D_array( cl_context context, cl_command_queue queue, image_descriptor *imageInfo, MTdata d )
{
size_t sourcePos[ 3 ], destPos[ 3 ], regionSize[ 3 ];
int ret = 0, retCode;
@@ -64,7 +62,7 @@ int test_copy_image_size_1D_array( cl_device_id device, image_descriptor *imageI
regionSize[ 0 ] = width_lod;
}
retCode = test_copy_image_generic( device, imageInfo, imageInfo, sourcePos, destPos, regionSize, d );
retCode = test_copy_image_generic( context, queue, imageInfo, imageInfo, sourcePos, destPos, regionSize, d );
if( retCode < 0 )
return retCode;
else
@@ -98,7 +96,7 @@ int test_copy_image_size_1D_array( cl_device_id device, image_descriptor *imageI
// Go for it!
retCode = test_copy_image_generic( device, imageInfo, imageInfo, sourcePos, destPos, regionSize, d );
retCode = test_copy_image_generic( context, queue, imageInfo, imageInfo, sourcePos, destPos, regionSize, d );
if( retCode < 0 )
return retCode;
else
@@ -108,7 +106,7 @@ int test_copy_image_size_1D_array( cl_device_id device, image_descriptor *imageI
return ret;
}
int test_copy_image_set_1D_array( cl_device_id device, cl_image_format *format )
int test_copy_image_set_1D_array( cl_device_id device, cl_context context, cl_command_queue queue, cl_image_format *format )
{
size_t maxWidth, maxArraySize;
cl_ulong maxAllocSize, memSize;
@@ -155,7 +153,7 @@ int test_copy_image_set_1D_array( cl_device_id device, cl_image_format *format )
if( gDebugTrace )
log_info( " at size %d,%d\n", (int)imageInfo.width, (int)imageInfo.arraySize );
int ret = test_copy_image_size_1D_array( device, &imageInfo, seed );
int ret = test_copy_image_size_1D_array( context, queue, &imageInfo, seed );
if( ret )
return -1;
}
@@ -192,7 +190,7 @@ int test_copy_image_set_1D_array( cl_device_id device, cl_image_format *format )
log_info( "Testing %d x %d\n", (int)sizes[ idx ][ 0 ], (int)sizes[ idx ][ 2 ] );
if( gDebugTrace )
log_info( " at max size %d,%d\n", (int)sizes[ idx ][ 0 ], (int)sizes[ idx ][ 2 ] );
if( test_copy_image_size_1D_array( device, &imageInfo, seed ) )
if( test_copy_image_size_1D_array( context, queue, &imageInfo, seed ) )
return -1;
}
}
@@ -238,7 +236,7 @@ int test_copy_image_set_1D_array( cl_device_id device, cl_image_format *format )
if( gDebugTrace )
log_info( " at size %d,%d (row pitch %d) out of %d,%d\n", (int)imageInfo.width, (int)imageInfo.arraySize, (int)imageInfo.rowPitch, (int)maxWidth, (int)maxArraySize );
int ret = test_copy_image_size_1D_array( device, &imageInfo, seed );
int ret = test_copy_image_size_1D_array( context, queue, &imageInfo, seed );
if( ret )
return -1;
}