diff --git a/sycl/include/CL/sycl/accessor.hpp b/sycl/include/CL/sycl/accessor.hpp index 7b0acee21a3ff..7da9b76704bad 100755 --- a/sycl/include/CL/sycl/accessor.hpp +++ b/sycl/include/CL/sycl/accessor.hpp @@ -286,6 +286,8 @@ class accessor_common { constexpr static bool IsAccessReadWrite = AccessMode == access::mode::read_write; + constexpr static bool IsAccessAtomic = AccessMode == access::mode::atomic; + using RefType = detail::const_if_const_AS &; using ConstRefType = const DataT &; using PtrType = detail::const_if_const_AS *; @@ -325,6 +327,14 @@ class accessor_common { return MAccessor[MIDs]; } + template + typename detail::enable_if_t> + operator[](size_t Index) const { + MIDs[Dims - CurDims] = Index; + return MAccessor[MIDs]; + } + template > ConstRefType operator[](size_t Index) const {