Use the right flags when creating images (#328) (#1015)

Test was querying for supported images with CL_MEM_WRITE_ONLY flag, but
always used CL_MEM_READ_ONLY to create images.

Fixes issue #328

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
Signed-off-by: James Morrissey <james.morrissey@arm.com>

Co-authored-by: Radek Szymanski <radek.szymanski@arm.com>
This commit is contained in:
james-morrissey-arm
2021-01-07 12:26:44 +00:00
committed by GitHub
parent 18c54be0a4
commit 24e6a9125c
6 changed files with 115 additions and 51 deletions

View File

@@ -16,11 +16,23 @@
#include "../testBase.h"
#include "../common.h"
extern int test_read_image_set_1D( cl_device_id device, cl_context context, cl_command_queue queue, cl_image_format *format );
extern int test_read_image_set_2D( cl_device_id device, cl_context context, cl_command_queue queue, cl_image_format *format );
extern int test_read_image_set_3D( cl_device_id device, cl_context context, cl_command_queue queue, cl_image_format *format );
extern int test_read_image_set_1D_array( cl_device_id device, cl_context context, cl_command_queue queue, cl_image_format *format );
extern int test_read_image_set_2D_array( cl_device_id device, cl_context context, cl_command_queue queue, cl_image_format *format );
extern int test_read_image_set_1D(cl_device_id device, cl_context context,
cl_command_queue queue,
cl_image_format *format, cl_mem_flags flags);
extern int test_read_image_set_2D(cl_device_id device, cl_context context,
cl_command_queue queue,
cl_image_format *format, cl_mem_flags flags);
extern int test_read_image_set_3D(cl_device_id device, cl_context context,
cl_command_queue queue,
cl_image_format *format, cl_mem_flags flags);
extern int test_read_image_set_1D_array(cl_device_id device, cl_context context,
cl_command_queue queue,
cl_image_format *format,
cl_mem_flags flags);
extern int test_read_image_set_2D_array(cl_device_id device, cl_context context,
cl_command_queue queue,
cl_image_format *format,
cl_mem_flags flags);
int test_image_type( cl_device_id device, cl_context context, cl_command_queue queue, cl_mem_object_type imageType, cl_mem_flags flags )
{
@@ -73,19 +85,24 @@ int test_image_type( cl_device_id device, cl_context context, cl_command_queue q
switch (imageType) {
case CL_MEM_OBJECT_IMAGE1D:
test_return = test_read_image_set_1D( device, context, queue, &formatList[ i ] );
test_return = test_read_image_set_1D(device, context, queue,
&formatList[i], flags);
break;
case CL_MEM_OBJECT_IMAGE2D:
test_return = test_read_image_set_2D( device, context, queue, &formatList[ i ] );
test_return = test_read_image_set_2D(device, context, queue,
&formatList[i], flags);
break;
case CL_MEM_OBJECT_IMAGE3D:
test_return = test_read_image_set_3D( device,context, queue, &formatList[ i ] );
test_return = test_read_image_set_3D(device, context, queue,
&formatList[i], flags);
break;
case CL_MEM_OBJECT_IMAGE1D_ARRAY:
test_return = test_read_image_set_1D_array( device, context, queue, &formatList[ i ] );
test_return = test_read_image_set_1D_array(
device, context, queue, &formatList[i], flags);
break;
case CL_MEM_OBJECT_IMAGE2D_ARRAY:
test_return = test_read_image_set_2D_array( device, context, queue, &formatList[ i ] );
test_return = test_read_image_set_2D_array(
device, context, queue, &formatList[i], flags);
break;
}