From 5f261cb57ea111134ec68d24239e52bfe2b74b18 Mon Sep 17 00:00:00 2001 From: Radek Szymanski Date: Thu, 25 Apr 2019 01:56:02 +0100 Subject: [PATCH] cl22: Reuse test harness code in clGetInfo (#205) 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 --- test_conformance/images/clGetInfo/main.cpp | 170 ++---------------- test_conformance/images/clGetInfo/test_1D.cpp | 16 +- .../images/clGetInfo/test_1D_2D_array.cpp | 30 ++-- test_conformance/images/clGetInfo/test_2D.cpp | 18 +- test_conformance/images/clGetInfo/test_3D.cpp | 16 +- .../images/clGetInfo/test_loops.cpp | 34 ++-- 6 files changed, 74 insertions(+), 210 deletions(-) diff --git a/test_conformance/images/clGetInfo/main.cpp b/test_conformance/images/clGetInfo/main.cpp index 48ed201d..3c8d9e95 100644 --- a/test_conformance/images/clGetInfo/main.cpp +++ b/test_conformance/images/clGetInfo/main.cpp @@ -25,45 +25,44 @@ #include "../testBase.h" -bool gDebugTrace = false, gTestSmallImages = false, gTestMaxImages = false, gTestRounding = false; -int gTypesToTest = 0; -static bool gTest3DImages = true; +bool gDebugTrace; +bool gTestSmallImages; +bool gTestMaxImages; +bool gTestRounding; +int gTypesToTest; cl_channel_type gChannelTypeToUse = (cl_channel_type)-1; cl_device_type gDeviceType = CL_DEVICE_TYPE_DEFAULT; -cl_command_queue queue; -cl_context context; -static cl_device_id device; -extern int test_image_set( cl_device_id device, cl_mem_object_type image_type ); +extern int test_image_set( cl_device_id device, cl_context context, cl_mem_object_type image_type ); static void printUsage( const char *execName ); #define MAX_ALLOWED_STD_DEVIATION_IN_MB 8.0 -int test_1D(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements) +int test_1D(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) { - return test_image_set( device, CL_MEM_OBJECT_IMAGE1D ); + return test_image_set( device, context, CL_MEM_OBJECT_IMAGE1D ); } -int test_2D(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements) +int test_2D(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) { - return test_image_set( device, CL_MEM_OBJECT_IMAGE2D ); + return test_image_set( device, context, CL_MEM_OBJECT_IMAGE2D ); } -int test_3D(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements) +int test_3D(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) { - if( !gTest3DImages ) + if( checkFor3DImageSupport( device ) ) { log_info("3D image is not supported, test not run.\n"); return 0; } - return test_image_set( device, CL_MEM_OBJECT_IMAGE3D ); + return test_image_set( device, context, CL_MEM_OBJECT_IMAGE3D ); } -int test_1Darray(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements) +int test_1Darray(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) { - return test_image_set( device, CL_MEM_OBJECT_IMAGE1D_ARRAY ); + return test_image_set( device, context, CL_MEM_OBJECT_IMAGE1D_ARRAY ); } -int test_2Darray(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements) +int test_2Darray(cl_device_id device, cl_context context, cl_command_queue queue, int num_elements) { - return test_image_set( device, CL_MEM_OBJECT_IMAGE2D_ARRAY ); + return test_image_set( device, context, CL_MEM_OBJECT_IMAGE2D_ARRAY ); } test_definition test_list[] = { @@ -78,11 +77,7 @@ const int test_num = ARRAY_SIZE( test_list ); int main(int argc, const char *argv[]) { - cl_platform_id platform; cl_channel_type chanType; - bool randomize = false; - - test_start(); checkDeviceTypeOverride( &gDeviceType ); @@ -117,9 +112,6 @@ int main(int argc, const char *argv[]) else if( strcmp( argv[i], "max_images" ) == 0 ) gTestMaxImages = true; - else if( strcmp( argv[i], "randomize" ) == 0 ) - randomize = true; - else if( strcmp( argv[i], "--help" ) == 0 || strcmp( argv[i], "-h" ) == 0 ) { printUsage( argv[ 0 ] ); @@ -134,130 +126,10 @@ int main(int argc, const char *argv[]) } } - // Seed the random # generators - if( randomize ) - { - gRandomSeed = (cl_uint) time( NULL ); - log_info( "Random seed: %u.\n", gRandomSeed ); - gReSeed = 1; - } - - int error; - // Get our platform - error = clGetPlatformIDs(1, &platform, NULL); - if( error ) - { - print_error( error, "Unable to get platform" ); - test_finish(); - return -1; - } - - // Get our device - unsigned int num_devices; - error = clGetDeviceIDs(platform, gDeviceType, 0, NULL, &num_devices); - if( error ) - { - print_error( error, "Unable to get number of devices" ); - test_finish(); - return -1; - } - - uint32_t gDeviceIndex = 0; - const char* device_index_env = getenv("CL_DEVICE_INDEX"); - if (device_index_env) { - if (device_index_env) { - gDeviceIndex = atoi(device_index_env); - } - - if (gDeviceIndex >= num_devices) { - vlog("Specified CL_DEVICE_INDEX=%d out of range, using index 0.\n", gDeviceIndex); - gDeviceIndex = 0; - } - } - - cl_device_id *gDeviceList = (cl_device_id *)malloc( num_devices * sizeof( cl_device_id ) ); - error = clGetDeviceIDs(platform, gDeviceType, num_devices, gDeviceList, NULL); - if( error ) - { - print_error( error, "Unable to get devices" ); - free( gDeviceList ); - test_finish(); - return -1; - } - - device = gDeviceList[gDeviceIndex]; - free( gDeviceList ); - - log_info( "Using " ); - if( printDeviceHeader( device ) != CL_SUCCESS ) - { - test_finish(); - return -1; - } - - // Check for image support - if(checkForImageSupport( device ) == CL_IMAGE_FORMAT_NOT_SUPPORTED) { - log_info("Device does not support images. Skipping test.\n"); - test_finish(); - return 0; - } - - // Check for 3D image support - { - size_t max_height, max_depth, max_width; - max_height = max_depth = max_width = -1L; - - if( (error = clGetDeviceInfo( device, CL_DEVICE_IMAGE3D_MAX_WIDTH, sizeof( max_width ), &max_width, NULL ) )) - { print_error( error, "FAILURE: Unable to get CL_DEVICE_IMAGE3D_MAX_WIDTH" ); test_finish(); return -1; } - if( (error = clGetDeviceInfo( device, CL_DEVICE_IMAGE3D_MAX_HEIGHT, sizeof( max_height ), &max_height, NULL ) )) - { print_error( error, "FAILURE: Unable to get CL_DEVICE_IMAGE3D_MAX_HEIGHT"); test_finish(); return -1; } - if( (error = clGetDeviceInfo( device, CL_DEVICE_IMAGE3D_MAX_DEPTH, sizeof( max_depth ), &max_depth, NULL ) )) - { print_error( error, "FAILURE: Unable to get CL_DEVICE_IMAGE3D_MAX_DEPTH" ); test_finish(); return -1; } - - if( 0 == (max_height | max_depth | max_width) ) - { - char deviceProfile[128]; - error = clGetDeviceInfo( device, CL_DEVICE_PROFILE, sizeof( deviceProfile ), deviceProfile, NULL ); - if( error ) - { - print_error( error, "Unable to get device profile" ); - test_finish(); - return -1; - } - - if( strcmp( deviceProfile, "EMBEDDED_PROFILE" ) ) - { - log_error( "FAILURE: non-Embedded device with image support does not support 3D images." ); - test_finish(); - return -1; - } - - gTest3DImages = false; - } - } - - // Create a context to test with - context = clCreateContext( NULL, 1, &device, notify_callback, NULL, &error ); - if( error != CL_SUCCESS ) - { - print_error( error, "Unable to create testing context" ); - test_finish(); - return -1; - } - - // Create a queue against the context - queue = clCreateCommandQueueWithProperties( context, device, 0, &error ); - if( error != CL_SUCCESS ) - { - print_error( error, "Unable to create testing command queue" ); - test_finish(); - return -1; - } - if( gTestSmallImages ) log_info( "Note: Using small test images\n" ); - int ret = parseAndCallCommandLineTests( argCount, argList, NULL, test_num, test_list, true, 0, 0 ); + int ret = runTestHarness( argCount, argList, test_num, test_list, true, false, 0 ); if (gTestFailure == 0) { if (gTestCount > 1) @@ -271,12 +143,8 @@ int main(int argc, const char *argv[]) log_error("FAILED sub-test.\n"); } - // Clean up - clReleaseCommandQueue(queue); - clReleaseContext(context); - free(argList); - test_finish(); + free(argList); return ret; } diff --git a/test_conformance/images/clGetInfo/test_1D.cpp b/test_conformance/images/clGetInfo/test_1D.cpp index 8a484804..e1d92064 100644 --- a/test_conformance/images/clGetInfo/test_1D.cpp +++ b/test_conformance/images/clGetInfo/test_1D.cpp @@ -20,10 +20,10 @@ extern bool gDebugTrace, gTestSmallImages, gTestMaxImages; -extern int test_get_image_info_single( cl_device_id device, image_descriptor *imageInfo, MTdata d, cl_mem_flags flags, size_t row_pitch, size_t slice_pitch ); +extern int test_get_image_info_single( cl_context context, image_descriptor *imageInfo, MTdata d, cl_mem_flags flags, size_t row_pitch, size_t slice_pitch ); -int test_get_image_info_1D( cl_device_id device, cl_image_format *format, cl_mem_flags flags ) +int test_get_image_info_1D( cl_device_id device, cl_context context, cl_image_format *format, cl_mem_flags flags ) { size_t maxWidth; cl_ulong maxAllocSize, memSize; @@ -62,10 +62,10 @@ int test_get_image_info_1D( cl_device_id device, cl_image_format *format, cl_mem { if( gDebugTrace ) log_info( " at size %d (flags[%u] 0x%x pitch %d)\n", (int)imageInfo.width, j, (unsigned int) all_host_ptr_flags[j], (int)imageInfo.rowPitch ); - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) return -1; } } @@ -88,10 +88,10 @@ int test_get_image_info_1D( cl_device_id device, cl_image_format *format, cl_mem { if( gDebugTrace ) log_info( " at max size %d (flags[%u] 0x%x pitch %d)\n", (int)imageInfo.width, j, (unsigned int) all_host_ptr_flags[j], (int)imageInfo.rowPitch ); - if( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) + if( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) return -1; } } @@ -124,10 +124,10 @@ int test_get_image_info_1D( cl_device_id device, cl_image_format *format, cl_mem { if( gDebugTrace ) log_info( " at size %d (flags[%u] 0x%x pitch %d) out of %d\n", (int)imageInfo.width, j, (unsigned int) all_host_ptr_flags[j], (int)imageInfo.rowPitch, (int)maxWidth ); - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) return -1; } } diff --git a/test_conformance/images/clGetInfo/test_1D_2D_array.cpp b/test_conformance/images/clGetInfo/test_1D_2D_array.cpp index 132a9c32..c250e094 100644 --- a/test_conformance/images/clGetInfo/test_1D_2D_array.cpp +++ b/test_conformance/images/clGetInfo/test_1D_2D_array.cpp @@ -20,9 +20,9 @@ extern bool gDebugTrace, gTestSmallImages, gTestMaxImages; -extern int test_get_image_info_single( cl_device_id device, image_descriptor *imageInfo, MTdata d, cl_mem_flags flags, size_t row_pitch, size_t slice_pitch ); +extern int test_get_image_info_single( cl_context context, image_descriptor *imageInfo, MTdata d, cl_mem_flags flags, size_t row_pitch, size_t slice_pitch ); -int test_get_image_info_1D_array( cl_device_id device, cl_image_format *format, cl_mem_flags flags ) +int test_get_image_info_1D_array( cl_device_id device, cl_context context, cl_image_format *format, cl_mem_flags flags ) { size_t maxWidth, maxArraySize; cl_ulong maxAllocSize, memSize; @@ -63,10 +63,10 @@ int test_get_image_info_1D_array( cl_device_id device, cl_image_format *format, { if( gDebugTrace ) log_info( " at size %d,%d (flags[%u] 0x%x pitch %d)\n", (int)imageInfo.width, (int)imageInfo.arraySize, j, (unsigned int) all_host_ptr_flags[j], (int)imageInfo.rowPitch ); - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) return -1; } } @@ -94,10 +94,10 @@ int test_get_image_info_1D_array( cl_device_id device, cl_image_format *format, { if( gDebugTrace ) log_info( " at max size %d,%d (flags[%u] 0x%x pitch %d)\n", (int)imageInfo.width, (int)imageInfo.arraySize, j, (unsigned int) all_host_ptr_flags[j], (int)imageInfo.rowPitch ); - if( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) + if( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) return -1; } } @@ -129,10 +129,10 @@ int test_get_image_info_1D_array( cl_device_id device, cl_image_format *format, { if( gDebugTrace ) log_info( " at size %d,%d (flags[%u] 0x%x pitch %d) out of %d,%d\n", (int)imageInfo.width, (int)imageInfo.arraySize, j, (unsigned int) all_host_ptr_flags[j], (int)imageInfo.rowPitch, (int)maxWidth, (int)maxArraySize ); - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) return -1; } } @@ -143,7 +143,7 @@ int test_get_image_info_1D_array( cl_device_id device, cl_image_format *format, } -int test_get_image_info_2D_array( cl_device_id device, cl_image_format *format, cl_mem_flags flags ) +int test_get_image_info_2D_array( cl_device_id device, cl_context context, cl_image_format *format, cl_mem_flags flags ) { size_t maxWidth, maxHeight, maxArraySize; cl_ulong maxAllocSize, memSize; @@ -190,10 +190,10 @@ int test_get_image_info_2D_array( cl_device_id device, cl_image_format *format, { if( gDebugTrace ) log_info( " at size %d,%d,%d (flags[%u] 0x%x pitch %d)\n", (int)imageInfo.width, (int)imageInfo.height, (int)imageInfo.arraySize, j, (unsigned int) all_host_ptr_flags[j], (int)imageInfo.rowPitch ); - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) return -1; } } @@ -222,10 +222,10 @@ int test_get_image_info_2D_array( cl_device_id device, cl_image_format *format, { if( gDebugTrace ) log_info( " at max size %d,%d,%d (flags[%u] 0x%x pitch %d)\n", (int)imageInfo.width, (int)imageInfo.height, (int)imageInfo.arraySize, j, (unsigned int) all_host_ptr_flags[j], (int)imageInfo.rowPitch ); - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) return -1; } } @@ -265,10 +265,10 @@ int test_get_image_info_2D_array( cl_device_id device, cl_image_format *format, { if( gDebugTrace ) log_info( " at size %d,%d,%d (flags[%u] 0x%x pitch %d) out of %d,%d,%d\n", (int)imageInfo.width, (int)imageInfo.height, (int)imageInfo.arraySize, j, (unsigned int) all_host_ptr_flags[j], (int)imageInfo.rowPitch, (int)maxWidth, (int)maxHeight, (int)maxArraySize ); - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) return -1; } } diff --git a/test_conformance/images/clGetInfo/test_2D.cpp b/test_conformance/images/clGetInfo/test_2D.cpp index 20933581..4a72735d 100644 --- a/test_conformance/images/clGetInfo/test_2D.cpp +++ b/test_conformance/images/clGetInfo/test_2D.cpp @@ -19,11 +19,9 @@ #define MAX_HALF_LINEAR_ERR 0.3f extern bool gDebugTrace, gTestSmallImages, gTestMaxImages; -extern cl_command_queue queue; -extern cl_context context; -int test_get_image_info_single( cl_device_id device, image_descriptor *imageInfo, MTdata d, cl_mem_flags flags, size_t row_pitch, size_t slice_pitch ) +int test_get_image_info_single( cl_context context, image_descriptor *imageInfo, MTdata d, cl_mem_flags flags, size_t row_pitch, size_t slice_pitch ) { int error; clMemWrapper image; @@ -264,7 +262,7 @@ int test_get_image_info_single( cl_device_id device, image_descriptor *imageInfo return 0; } -int test_get_image_info_2D( cl_device_id device, cl_image_format *format, cl_mem_flags flags ) +int test_get_image_info_2D( cl_device_id device, cl_context context, cl_image_format *format, cl_mem_flags flags ) { size_t maxWidth, maxHeight; cl_ulong maxAllocSize, memSize; @@ -306,10 +304,10 @@ int test_get_image_info_2D( cl_device_id device, cl_image_format *format, cl_mem { if( gDebugTrace ) log_info( " at size %d,%d (flags[%u] 0x%x pitch %d)\n", (int)imageInfo.width, (int)imageInfo.height, j, (unsigned int) all_host_ptr_flags[j], (int)imageInfo.rowPitch ); - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) return -1; } } @@ -334,10 +332,10 @@ int test_get_image_info_2D( cl_device_id device, cl_image_format *format, cl_mem { if( gDebugTrace ) log_info( " at max size %d,%d (flags[%u] 0x%x pitch %d)\n", (int)imageInfo.width, (int)imageInfo.height, j, (unsigned int) all_host_ptr_flags[j], (int)imageInfo.rowPitch ); - if( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) + if( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) return -1; } } @@ -371,10 +369,10 @@ int test_get_image_info_2D( cl_device_id device, cl_image_format *format, cl_mem { if( gDebugTrace ) log_info( " at size %d,%d (flags[%u] 0x%x pitch %d) out of %d,%d\n", (int)imageInfo.width, (int)imageInfo.height, j, (unsigned int) all_host_ptr_flags[j], (int)imageInfo.rowPitch, (int)maxWidth, (int)maxHeight ); - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, 0 ) ) return -1; } } diff --git a/test_conformance/images/clGetInfo/test_3D.cpp b/test_conformance/images/clGetInfo/test_3D.cpp index 24f7021d..4bc189a4 100644 --- a/test_conformance/images/clGetInfo/test_3D.cpp +++ b/test_conformance/images/clGetInfo/test_3D.cpp @@ -20,9 +20,9 @@ extern bool gDebugTrace, gTestSmallImages, gTestMaxImages; -extern int test_get_image_info_single( cl_device_id device, image_descriptor *imageInfo, MTdata d, cl_mem_flags flags, size_t row_pitch, size_t slice_pitch ); +extern int test_get_image_info_single( cl_context context, image_descriptor *imageInfo, MTdata d, cl_mem_flags flags, size_t row_pitch, size_t slice_pitch ); -int test_get_image_info_3D( cl_device_id device, cl_image_format *format, cl_mem_flags flags ) +int test_get_image_info_3D( cl_device_id device, cl_context context, cl_image_format *format, cl_mem_flags flags ) { size_t maxWidth, maxHeight, maxDepth; cl_ulong maxAllocSize, memSize; @@ -69,10 +69,10 @@ int test_get_image_info_3D( cl_device_id device, cl_image_format *format, cl_mem { if( gDebugTrace ) log_info( " at size %d,%d,%d (flags[%u] 0x%lx pitch %d,%d)\n", (int)imageInfo.width, (int)imageInfo.height, (int)imageInfo.depth, j, (unsigned long)all_host_ptr_flags[j], (int)imageInfo.rowPitch, (int)imageInfo.slicePitch ); - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, imageInfo.slicePitch ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, imageInfo.slicePitch ) ) return -1; } } @@ -101,10 +101,10 @@ int test_get_image_info_3D( cl_device_id device, cl_image_format *format, cl_mem { if( gDebugTrace ) log_info( " at max size %d,%d,%d (flags[%u] 0x%lx pitch %d,%d)\n", (int)sizes[ idx ][ 0 ], (int)sizes[ idx ][ 1 ], (int)sizes[ idx ][ 2 ], j, (unsigned long)all_host_ptr_flags[j], (int)imageInfo.rowPitch, (int)imageInfo.slicePitch ); - if( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, imageInfo.slicePitch ) ) + if( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, imageInfo.slicePitch ) ) return -1; } } @@ -144,10 +144,10 @@ int test_get_image_info_3D( cl_device_id device, cl_image_format *format, cl_mem { if( gDebugTrace ) log_info( " at size %d,%d,%d (flags[%u] 0x%lx pitch %d,%d) out of %d,%d,%d\n", (int)imageInfo.width, (int)imageInfo.height, (int)imageInfo.depth, j, (unsigned long) all_host_ptr_flags[i], (int)imageInfo.rowPitch, (int)imageInfo.slicePitch, (int)maxWidth, (int)maxHeight, (int)maxDepth ); - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], 0, 0 ) ) return -1; if (all_host_ptr_flags[j] & (CL_MEM_COPY_HOST_PTR | CL_MEM_USE_HOST_PTR)) { // skip test when host_ptr is NULL - if ( test_get_image_info_single( device, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, imageInfo.slicePitch ) ) + if ( test_get_image_info_single( context, &imageInfo, seed, all_host_ptr_flags[j], imageInfo.rowPitch, imageInfo.slicePitch ) ) return -1; } } diff --git a/test_conformance/images/clGetInfo/test_loops.cpp b/test_conformance/images/clGetInfo/test_loops.cpp index 2c9e400f..07d0edb4 100644 --- a/test_conformance/images/clGetInfo/test_loops.cpp +++ b/test_conformance/images/clGetInfo/test_loops.cpp @@ -20,17 +20,15 @@ extern cl_addressing_mode gAddressModeToUse; extern int gTypesToTest; extern int gNormalizedModeToUse; extern cl_channel_type gChannelTypeToUse; -extern cl_command_queue queue; -extern cl_context context; extern bool gDebugTrace; -extern int test_get_image_info_1D( cl_device_id device, cl_image_format *format, cl_mem_flags flags ); -extern int test_get_image_info_2D( cl_device_id device, cl_image_format *format, cl_mem_flags flags ); -extern int test_get_image_info_3D( cl_device_id device, cl_image_format *format, cl_mem_flags flags ); -extern int test_get_image_info_1D_array( cl_device_id device, cl_image_format *format, cl_mem_flags flags ); -extern int test_get_image_info_2D_array( cl_device_id device, cl_image_format *format, cl_mem_flags flags ); +extern int test_get_image_info_1D( cl_device_id device, cl_context context, cl_image_format *format, cl_mem_flags flags ); +extern int test_get_image_info_2D( cl_device_id device, cl_context context, cl_image_format *format, cl_mem_flags flags ); +extern int test_get_image_info_3D( cl_device_id device, cl_context context, cl_image_format *format, cl_mem_flags flags ); +extern int test_get_image_info_1D_array( cl_device_id device, cl_context context, cl_image_format *format, cl_mem_flags flags ); +extern int test_get_image_info_2D_array( cl_device_id device, cl_context context, cl_image_format *format, cl_mem_flags flags ); static const char *str_1d_image = "1D"; static const char *str_2d_image = "2D"; @@ -112,7 +110,7 @@ int filter_formats( cl_image_format *formatList, bool *filterFlags, unsigned int return numSupported; } -int get_format_list( cl_device_id device, cl_mem_object_type image_type, cl_image_format * &outFormatList, +int get_format_list( cl_context context, cl_mem_object_type image_type, cl_image_format * &outFormatList, unsigned int &outFormatCount, cl_mem_flags flags ) { int error; @@ -129,7 +127,7 @@ int get_format_list( cl_device_id device, cl_mem_object_type image_type, cl_imag return 0; } -int test_image_type( cl_device_id device, cl_mem_object_type image_type, cl_mem_flags flags ) +int test_image_type( cl_device_id device, cl_context context, cl_mem_object_type image_type, cl_mem_flags flags ) { log_info( "Running %s %s-only tests...\n", convert_image_type_to_string(image_type), flags == CL_MEM_READ_ONLY ? "read" : "write" ); @@ -140,7 +138,7 @@ int test_image_type( cl_device_id device, cl_mem_object_type image_type, cl_mem_ bool *filterFlags; unsigned int numFormats; - if ( get_format_list( device, image_type, formatList, numFormats, flags ) ) + if ( get_format_list( context, image_type, formatList, numFormats, flags ) ) return -1; BufferOwningPtr formatListBuf(formatList); @@ -184,19 +182,19 @@ int test_image_type( cl_device_id device, cl_mem_object_type image_type, cl_mem_ switch (image_type) { case CL_MEM_OBJECT_IMAGE1D: - test_return = test_get_image_info_1D( device, &formatList[ i ], flags ); + test_return = test_get_image_info_1D( device, context, &formatList[ i ], flags ); break; case CL_MEM_OBJECT_IMAGE2D: - test_return = test_get_image_info_2D( device, &formatList[ i ], flags ); + test_return = test_get_image_info_2D( device, context,&formatList[ i ], flags ); break; case CL_MEM_OBJECT_IMAGE3D: - test_return = test_get_image_info_3D( device, &formatList[ i ], flags ); + test_return = test_get_image_info_3D( device, context, &formatList[ i ], flags ); break; case CL_MEM_OBJECT_IMAGE1D_ARRAY: - test_return = test_get_image_info_1D_array( device, &formatList[ i ], flags ); + test_return = test_get_image_info_1D_array( device, context, &formatList[ i ], flags ); break; case CL_MEM_OBJECT_IMAGE2D_ARRAY: - test_return = test_get_image_info_2D_array( device, &formatList[ i ], flags ); + test_return = test_get_image_info_2D_array( device, context, &formatList[ i ], flags ); break; } @@ -213,12 +211,12 @@ int test_image_type( cl_device_id device, cl_mem_object_type image_type, cl_mem_ return ret; } -int test_image_set( cl_device_id device, cl_mem_object_type image_type ) +int test_image_set( cl_device_id device, cl_context context, cl_mem_object_type image_type ) { int ret = 0; - ret += test_image_type( device, image_type, CL_MEM_READ_ONLY ); - ret += test_image_type( device, image_type, CL_MEM_WRITE_ONLY ); + ret += test_image_type( device, context, image_type, CL_MEM_READ_ONLY ); + ret += test_image_type( device, context, image_type, CL_MEM_WRITE_ONLY ); return ret; }