cl22: Reuse test harness code in clCopyImage (#199)

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:44:57 +01:00
committed by Kévin Petit
parent f42a688ac2
commit cd0af9ca25
11 changed files with 133 additions and 228 deletions

View File

@@ -22,10 +22,8 @@ extern bool gDebugTrace, gDisableOffsets, gTestSmallImages, gTestMaxI
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 );
@@ -65,7 +63,7 @@ static void set_image_dimensions( image_descriptor *imageInfo, size_t width, siz
}
int test_copy_image_size_2D_3D( cl_device_id device, image_descriptor *srcImageInfo, image_descriptor *dstImageInfo, MTdata d )
int test_copy_image_size_2D_3D( cl_context context, cl_command_queue queue, image_descriptor *srcImageInfo, image_descriptor *dstImageInfo, MTdata d )
{
size_t sourcePos[ 4 ] = { 0 }, destPos[ 4 ] = { 0 }, regionSize[ 3 ];
int ret = 0, retCode;
@@ -143,7 +141,7 @@ int test_copy_image_size_2D_3D( cl_device_id device, image_descriptor *srcImageI
}
}
retCode = test_copy_image_generic( device, srcImageInfo, dstImageInfo, sourcePos, destPos, regionSize, d );
retCode = test_copy_image_generic( context, queue, srcImageInfo, dstImageInfo, sourcePos, destPos, regionSize, d );
if( retCode < 0 )
return retCode;
else
@@ -214,7 +212,7 @@ int test_copy_image_size_2D_3D( cl_device_id device, image_descriptor *srcImageI
}
// Go for it!
retCode = test_copy_image_generic( device, srcImageInfo, dstImageInfo, sourcePos, destPos, regionSize, d );
retCode = test_copy_image_generic( context, queue, srcImageInfo, dstImageInfo, sourcePos, destPos, regionSize, d );
if( retCode < 0 )
return retCode;
else
@@ -225,7 +223,7 @@ int test_copy_image_size_2D_3D( cl_device_id device, image_descriptor *srcImageI
}
int test_copy_image_set_2D_3D( cl_device_id device, cl_image_format *format, bool reverse = false )
int test_copy_image_set_2D_3D( cl_device_id device, cl_context context, cl_command_queue queue, cl_image_format *format, bool reverse = false )
{
size_t maxWidth, maxHeight, max3DWidth, max3DHeight, max3DDepth;
cl_ulong maxAllocSize, memSize;
@@ -279,9 +277,9 @@ int test_copy_image_set_2D_3D( cl_device_id device, cl_image_format *format, boo
int ret;
if( reverse )
ret = test_copy_image_size_2D_3D( device, &dstImageInfo, &srcImageInfo, seed );
ret = test_copy_image_size_2D_3D( context, queue, &dstImageInfo, &srcImageInfo, seed );
else
ret = test_copy_image_size_2D_3D( device, &srcImageInfo, &dstImageInfo, seed );
ret = test_copy_image_size_2D_3D( context, queue, &srcImageInfo, &dstImageInfo, seed );
if( ret )
return -1;
}
@@ -330,9 +328,9 @@ int test_copy_image_set_2D_3D( cl_device_id device, cl_image_format *format, boo
log_info( " at max size %d,%d to %d,%d,%d\n", (int)srcImageInfo.width, (int)srcImageInfo.height, (int)dstImageInfo.width, (int)dstImageInfo.height, (int)dstImageInfo.depth );
int ret;
if( reverse )
ret = test_copy_image_size_2D_3D( device, &dstImageInfo, &srcImageInfo, seed );
ret = test_copy_image_size_2D_3D( context, queue, &dstImageInfo, &srcImageInfo, seed );
else
ret = test_copy_image_size_2D_3D( device, &srcImageInfo, &dstImageInfo, seed );
ret = test_copy_image_size_2D_3D( context, queue, &srcImageInfo, &dstImageInfo, seed );
if( ret )
return -1;
}
@@ -389,9 +387,9 @@ int test_copy_image_set_2D_3D( cl_device_id device, cl_image_format *format, boo
log_info( " at size %d,%d to %d,%d,%d\n", (int)srcImageInfo.width, (int)srcImageInfo.height, (int)dstImageInfo.width, (int)dstImageInfo.height, (int)dstImageInfo.depth );
int ret;
if( reverse )
ret = test_copy_image_size_2D_3D( device, &dstImageInfo, &srcImageInfo, seed );
ret = test_copy_image_size_2D_3D( context, queue, &dstImageInfo, &srcImageInfo, seed );
else
ret = test_copy_image_size_2D_3D( device, &srcImageInfo, &dstImageInfo, seed );
ret = test_copy_image_size_2D_3D( context, queue, &srcImageInfo, &dstImageInfo, seed );
if( ret )
return -1;
}