The following fence operations are supported.
void atomic_work_item_fence(cl_mem_fence_flags flags, memory_order order, memory_scope scope)
flags must be set to
CLK_IMAGE_MEM_FENCE or a combination of these values ORed together;
otherwise the behavior is undefined.
The behavior of calling
ORed together with either
equivalent to calling
atomic_work_item_fence individually for
CLK_IMAGE_MEM_FENCE and the other flags.
atomic_work_item_fence will synchronize memory operations to both
global memory through some shared atomic action, as described in
section 18.104.22.168 of the OpenCL Specification.
Depending on the value of order, this operation:
has no effects, if order ==
is an acquire fence, if order ==
is a release fence, if order ==
is both an acquire fence and a release fence, if order ==
is a sequentially consistent acquire and release fence, if order ==
For images declared with the
read_write qualifier, the
atomic_work_item_fence must be called to make sure that writes to the
image by a work-item become visible to that work-item on subsequent reads to
that image by that work-item.
For more information, see the OpenCL C Specification
This page is extracted from the OpenCL C Specification. Fixes and changes should be made to the Specification, not directly.
Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.