From 2b6b38eabad73f72210401cb4146a92dd4554bc7 Mon Sep 17 00:00:00 2001 From: Kevin Petit Date: Wed, 31 Jul 2019 12:16:19 +0100 Subject: [PATCH] Report actual image size being tested # Conflicts: # test_conformance/images/clFillImage/test_fill_2D_array.cpp --- .../images/clFillImage/test_fill_2D_array.cpp | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/test_conformance/images/clFillImage/test_fill_2D_array.cpp b/test_conformance/images/clFillImage/test_fill_2D_array.cpp index 26b27e1b..be2a8159 100644 --- a/test_conformance/images/clFillImage/test_fill_2D_array.cpp +++ b/test_conformance/images/clFillImage/test_fill_2D_array.cpp @@ -149,29 +149,28 @@ int test_fill_image_set_2D_array( cl_device_id device, cl_context context, cl_co } imageInfo.slicePitch = imageInfo.rowPitch * (imageInfo.height + slicePadding); - cl_ulong size = (cl_ulong)imageInfo.slicePitch * (cl_ulong)imageInfo.arraySize * 4 * 4; + // Loop until we get a size that a) will fit in the max alloc size and b) that an allocation of that // image, the result array, plus offset arrays, will fit in the global ram space - while( size > maxAllocSize || ( size * 3 ) > memSize ) - { - if(imageInfo.arraySize == 1) - { - // ArraySize cannot be 0. + cl_ulong size = (cl_ulong)imageInfo.slicePitch * (cl_ulong)imageInfo.arraySize * 4 * 4; + + while (size > maxAllocSize || (size * 3) > memSize) { + if (imageInfo.arraySize == 1) { + // arraySize cannot be 0. break; } imageInfo.arraySize--; size = (cl_ulong)imageInfo.slicePitch * (cl_ulong)imageInfo.arraySize * 4 * 4; } - while( size > maxAllocSize || ( size * 3 ) > memSize ) - { + while (size > maxAllocSize || (size * 3) > memSize) { imageInfo.height--; imageInfo.slicePitch = imageInfo.height * imageInfo.rowPitch; size = (cl_ulong)imageInfo.slicePitch * (cl_ulong)imageInfo.arraySize * 4 * 4; } - log_info( "Testing %d x %d x %d\n", (int)sizes[ idx ][ 0 ], (int)sizes[ idx ][ 1 ], (int)sizes[ idx ][ 2 ] ); - if ( gDebugTrace ) - log_info( " at max size %d,%d,%d\n", (int)sizes[ idx ][ 0 ], (int)sizes[ idx ][ 1 ], (int)sizes[ idx ][ 2 ] ); + + log_info( "Testing %d x %d x %d\n", (int)imageInfo.width, (int)imageInfo.height, (int)imageInfo.arraySize); + if ( test_fill_image_2D_array( context, queue, &imageInfo, outputType, seed ) ) return -1; }