tree 03018a5d513f540649d43bfb7335000bc7dc648f
parent be93630330194886fed8057cae01cb725f29261d
author Nikhil Joshi <nikhilj@nvidia.com> 1611235914 +0530
committer GitHub <noreply@github.com> 1611235914 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJgCYJKCRBK7hj4Ov3rIwAAdHIIAJfe0snZvR/+qkNB/j1Y5rur
 HKbyvF4cXsfd0IXUKFw5TzoCpO06Pz/a5AEFf4n2mPq+BH66fzhgYQABVAyMZuEy
 qsYqx6gjYEVNPGJr3yA0xrDPVHefN3Y7A3b6titrtMlVheFAcUSKnp/m5Bc1USuR
 48yZkhj+8Wo4xaZvzYlfCSozUgtfXV0UcDSKhU7mTbnqS3KgK33ID2A3qMFDXy9B
 IpqlmTgVNWfVMSLldQy88aRPUPRJia/Ac8xcX/n1vYwsHZFeBKTQVVrF/MHVVy0N
 LFXC3O/4nxUowDaILzT4t55R09FaFfhquEQtEf8191eGBBV6iRNLwKCTegPujkQ=
 =JwRK
 -----END PGP SIGNATURE-----
 

 Fix malloc-size calculation in test imagedim (#1100)

* Fix enqueue_flags test to use correct barrier type.

Currently, enqueue_flags test uses CLK_LOCAL_MEM_FENCE.
Use CLK_GLOBAL_MEM_FENCE instead as all threads across work-groups
need to wait here.

* Add check for support for Read-Wrie images

Read-Write images have required OpenCL 2.x.
Read-Write image tests are already being skipped
for 1.x devices.
With OpenCL 3.0, read-write images being optional,
the tests should be run or skipped
depending on the implementation support.

Add a check to decide if Read-Write images are
supported or required to be supported depending
on OpenCL version and decide if the tests should
be run on skipped.

Fixes issue #894

* Fix formatting in case of Read-Write image checks.

Fix formatting in case of Read-write image checks.
Also, combine two ifs into one in case of
kerne_read_write tests

* Fix some more formatting for RW-image checks

Remove unnecessary spaces at various places.
Also, fix lengthy lines.

* Fix malloc-size calculation in test imagedim

unsigned char size is silently assumed to be 1
in imagedim test of test_basic.
Pass sizeof(type) in malloc size calculation.
Also, change loop variable from signed to unsigned.
Add checks for null pointer for malloced memory.

* Use size_t instead of int for imagedim

The size calculation for image with larger dimensions
is overflowing with int values.
Change image dim variables to use size_t
to avoid overflow.
While at it, fix formatting at various places.

* Use new instead of malloc in test imagedim

Use new and delete in place of malloc
and free through test_basic imagedim
to avoid NULL pointer checks.

* Revert sizeof changes from size calculation

As the types of width and height are now
changed to size_t, sizeof is not required
in size calculation.
Revert the same.