mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-25 16:29:03 +00:00
Fix api/test_api_min_max for Embedded profile with cles_khr_int64 support (#994)
In embedded profile with cles_khr_int64 support, the test did not consider the size of long. Thus the number of argument computation was not coherent with the returned CL_DEVICE_MAX_PARAMETER_SIZE leaded to test failure. We fix this by taking the size of long when cles_khr_int64 is available in the device extension.
This commit is contained in:
@@ -994,6 +994,7 @@ int test_min_max_parameter_size(cl_device_id deviceID, cl_context context, cl_co
|
|||||||
size_t decrement;
|
size_t decrement;
|
||||||
cl_event event;
|
cl_event event;
|
||||||
cl_int event_status;
|
cl_int event_status;
|
||||||
|
bool embeddedNoLong = gIsEmbedded && !gHasLong;
|
||||||
|
|
||||||
|
|
||||||
/* Get the max param size */
|
/* Get the max param size */
|
||||||
@@ -1007,8 +1008,9 @@ int test_min_max_parameter_size(cl_device_id deviceID, cl_context context, cl_co
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The embedded profile does not require longs, so use ints */
|
/* The embedded profile without cles_khr_int64 extension does not require
|
||||||
if(gIsEmbedded)
|
* longs, so use ints */
|
||||||
|
if (embeddedNoLong)
|
||||||
numberOfIntParametersToTry = numberExpected = (maxSize-sizeof(cl_mem))/sizeof(cl_int);
|
numberOfIntParametersToTry = numberExpected = (maxSize-sizeof(cl_mem))/sizeof(cl_int);
|
||||||
else
|
else
|
||||||
numberOfIntParametersToTry = numberExpected = (maxSize-sizeof(cl_mem))/sizeof(cl_long);
|
numberOfIntParametersToTry = numberExpected = (maxSize-sizeof(cl_mem))/sizeof(cl_long);
|
||||||
@@ -1024,7 +1026,7 @@ int test_min_max_parameter_size(cl_device_id deviceID, cl_context context, cl_co
|
|||||||
clMemWrapper mem;
|
clMemWrapper mem;
|
||||||
clKernelWrapper kernel;
|
clKernelWrapper kernel;
|
||||||
|
|
||||||
if(gIsEmbedded)
|
if (embeddedNoLong)
|
||||||
{
|
{
|
||||||
log_info("Trying a kernel with %ld int arguments (%ld bytes) and one cl_mem (%ld bytes) for %ld bytes total.\n",
|
log_info("Trying a kernel with %ld int arguments (%ld bytes) and one cl_mem (%ld bytes) for %ld bytes total.\n",
|
||||||
numberOfIntParametersToTry, sizeof(cl_int)*numberOfIntParametersToTry, sizeof(cl_mem),
|
numberOfIntParametersToTry, sizeof(cl_int)*numberOfIntParametersToTry, sizeof(cl_mem),
|
||||||
|
|||||||
Reference in New Issue
Block a user