Test IMAGE1D_BUFFER in more scenario (#1806)

* cl_copy_images

* cl_get_info

* cl_fill_image

* cl_read_write_image

* kernel_image_methods

* IMAGE1D_BUFFER cannot be created with (USE_|ALLOC_|COPY_)_HOST_PTR

* do not allow mipmap with 1D buffer

* adjust M to be within maximum_sizes and max_pixels

* remove unused variables

* make sure M will never be 0

* fix region[0] after refactoring removing mipmap

* fix formatting

* format with clang-format-11

* fix image1d_buffer creation with gEnablePitch

* add missing case in switch

* use align_malloc when CL version is at least 2.0

* use CL_DEVICE_NUMERIC_VERSION and align_free

* fix free of pitch buffer

* fix formatting

* fix formatting

* fix data->is_aligned
This commit is contained in:
Romaric Jodin
2024-04-16 17:48:05 +02:00
committed by GitHub
parent 7fa567c7a5
commit be8b56d949
25 changed files with 1838 additions and 87 deletions

View File

@@ -24,6 +24,18 @@ extern int test_copy_image_set_2D_array( cl_device_id device, cl_context context
extern int test_copy_image_set_2D_3D( cl_device_id device, cl_context context, cl_command_queue queue, cl_image_format *format, bool reverse );
extern int test_copy_image_set_2D_2D_array( cl_device_id device, cl_context context, cl_command_queue queue, cl_image_format *format, bool reverse );
extern int test_copy_image_set_3D_2D_array( cl_device_id device, cl_context context, cl_command_queue queue, cl_image_format *format, bool reverse );
extern int test_copy_image_set_1D_buffer(cl_device_id device,
cl_context context,
cl_command_queue queue,
cl_image_format *format);
extern int test_copy_image_set_1D_1D_buffer(cl_device_id device,
cl_context context,
cl_command_queue queue,
cl_image_format *format);
extern int test_copy_image_set_1D_buffer_1D(cl_device_id device,
cl_context context,
cl_command_queue queue,
cl_image_format *format);
int test_image_type( cl_device_id device, cl_context context, cl_command_queue queue, MethodsToTest testMethod, cl_mem_flags flags )
{
@@ -87,6 +99,18 @@ int test_image_type( cl_device_id device, cl_context context, cl_command_queue q
name = "3D -> 2D array";
imageType = CL_MEM_OBJECT_IMAGE3D;
break;
case k1DBuffer:
name = "1D buffer -> 1D buffer";
imageType = CL_MEM_OBJECT_IMAGE1D_BUFFER;
break;
case k1DTo1DBuffer:
name = "1D -> 1D buffer";
imageType = CL_MEM_OBJECT_IMAGE1D_BUFFER;
break;
case k1DBufferTo1D:
name = "1D buffer -> 1D";
imageType = CL_MEM_OBJECT_IMAGE1D_BUFFER;
break;
}
if(gTestMipmaps)
@@ -138,6 +162,16 @@ int test_image_type( cl_device_id device, cl_context context, cl_command_queue q
test_return = test_copy_image_set_3D_2D_array( device, context, queue, &formatList[ i ], true);
else if( testMethod == k3DTo2DArray)
test_return = test_copy_image_set_3D_2D_array( device, context, queue, &formatList[ i ], false);
else if (testMethod == k1DBuffer)
test_return = test_copy_image_set_1D_buffer(device, context, queue,
&formatList[i]);
else if (testMethod == k1DBufferTo1D)
test_return = test_copy_image_set_1D_buffer_1D(
device, context, queue, &formatList[i]);
else if (testMethod == k1DTo1DBuffer)
test_return = test_copy_image_set_1D_1D_buffer(
device, context, queue, &formatList[i]);
if (test_return) {
gFailCount++;