We only implemented the *_explicit versions, and only the versions that take both memory_order and memory_scope parameters. The OpenCL specification tells us we also need overloads that only take memory_order, and non-explicit versions that do not take either.
Description of change
Describe the intended behaviour your changes are meant to introduce to the
project and explain how they resolve the problem stated above. Detail any
relevant changes that may affect other users of the project, such as
compilation options, runtime flags, expected inputs and outputs, API entry
points, etc.
If you have added new testing, provide details on what tests you have added
and what the purpose of them is.
Anything else we should know?
Tested by running OpenCL CTS's updated test_generic_address_space test, which previously failed, and now passes.
Overview
Add missing atomic functions.
Reason for change
We only implemented the *_explicit versions, and only the versions that take both memory_order and memory_scope parameters. The OpenCL specification tells us we also need overloads that only take memory_order, and non-explicit versions that do not take either.
Description of change
Describe the intended behaviour your changes are meant to introduce to the project and explain how they resolve the problem stated above. Detail any relevant changes that may affect other users of the project, such as compilation options, runtime flags, expected inputs and outputs, API entry points, etc.
If you have added new testing, provide details on what tests you have added and what the purpose of them is.
Anything else we should know?
Tested by running OpenCL CTS's updated
test_generic_address_space
test, which previously failed, and now passes.Checklist