12 inline namespace _V1 {
17 std::unique_ptr<SYCLMemObjAllocator> Allocator,
19 impl = std::make_shared<detail::image_impl>(
20 Order, Type, Range, std::move(Allocator),
Dimensions, PropList);
25 std::unique_ptr<SYCLMemObjAllocator> Allocator,
27 impl = std::make_shared<detail::image_impl>(
28 Order, Type, Range, Pitch, std::move(Allocator),
Dimensions, PropList);
33 std::unique_ptr<SYCLMemObjAllocator> Allocator,
35 impl = std::make_shared<detail::image_impl>(HostPointer, Order, Type, Range,
42 std::unique_ptr<SYCLMemObjAllocator> Allocator,
44 impl = std::make_shared<detail::image_impl>(HostPointer, Order, Type, Range,
52 std::unique_ptr<SYCLMemObjAllocator> Allocator,
54 impl = std::make_shared<detail::image_impl>(HostPointer, Order, Type, Range,
55 Pitch, std::move(Allocator),
62 std::unique_ptr<SYCLMemObjAllocator> Allocator,
65 impl = std::make_shared<detail::image_impl>(HostPointer, Order, Type, Range,
67 PropList, IsConstPtr);
73 std::unique_ptr<SYCLMemObjAllocator> Allocator,
76 impl = std::make_shared<detail::image_impl>(HostPointer, Order, Type, Range,
77 Pitch, std::move(Allocator),
84 std::unique_ptr<SYCLMemObjAllocator> Allocator,
86 impl = std::make_shared<detail::image_impl>(HostPointer, Order, Type, Sampler,
87 Range, std::move(Allocator),
94 std::unique_ptr<SYCLMemObjAllocator> Allocator,
96 impl = std::make_shared<detail::image_impl>(
97 HostPointer, Order, Type, Sampler, Range, Pitch, std::move(Allocator),
104 std::unique_ptr<SYCLMemObjAllocator> Allocator,
106 impl = std::make_shared<detail::image_impl>(HostPointer, Order, Type, Sampler,
107 Range, std::move(Allocator),
115 std::unique_ptr<SYCLMemObjAllocator> Allocator,
117 impl = std::make_shared<detail::image_impl>(
118 HostPointer, Order, Type, Sampler, Range, Pitch, std::move(Allocator),
122 #ifdef __SYCL_INTERNAL_API
124 event AvailableEvent,
125 std::unique_ptr<SYCLMemObjAllocator> Allocator,
127 impl = std::make_shared<detail::image_impl>(ClMemObject, SyclContext,
134 event AvailableEvent,
135 std::unique_ptr<SYCLMemObjAllocator> Allocator,
139 impl = std::make_shared<detail::image_impl>(
140 MemObject, SyclContext, AvailableEvent, std::move(Allocator),
Dimensions,
141 Order, Type, OwnNativeHandle, Range3WithOnes);
144 #define __SYCL_PARAM_TRAITS_SPEC(param_type) \
146 __SYCL_EXPORT bool image_plain::has_property<param_type>() const noexcept { \
147 return impl->has_property<param_type>(); \
149 #include <sycl/detail/properties_traits.def>
151 #undef __SYCL_PARAM_TRAITS_SPEC
153 #define __SYCL_PARAM_TRAITS_SPEC(param_type) \
155 __SYCL_EXPORT param_type image_plain::get_property<param_type>() const { \
156 return impl->get_property<param_type>(); \
158 #include <sycl/detail/properties_traits.def>
160 #undef __SYCL_PARAM_TRAITS_SPEC
173 const std::function<
void(
const std::function<
void(
void *
const Ptr)> &)>
175 impl->set_final_data(FinalDataFunc);
179 impl->set_write_back(NeedWriteBack);
182 const std::unique_ptr<SYCLMemObjAllocator> &
184 return impl->get_allocator_internal();
194 return impl->getSampler();
198 return impl->getChannelOrder();
202 return impl->getChannelType();
209 impl->sampledImageConstructorNotification(CodeLoc, UserObj, HostObj, Dim,
210 Range, Format, Sampler);
214 impl->sampledImageDestructorNotification(UserObj);
220 impl->unsampledImageConstructorNotification(CodeLoc, UserObj, HostObj, Dim,
225 impl->unsampledImageDestructorNotification(UserObj);
The context class represents a SYCL context on which kernel functions may be executed.
size_t get_count() const noexcept
void unsampledImageConstructorNotification(const detail::code_location &CodeLoc, void *UserObj, const void *HostObj, uint32_t Dim, size_t Range[3], image_format Format)
range< 2 > get_pitch() const
size_t getElementSize() const
image_sampler getSampler() const noexcept
size_t getRowPitch() const
range< 3 > get_range() const
void set_write_back(bool flag)
std::shared_ptr< detail::image_impl > impl
const std::unique_ptr< SYCLMemObjAllocator > & get_allocator_internal() const
image_channel_order getChannelOrder() const
size_t getSlicePitch() const
void unsampledImageDestructorNotification(void *UserObj)
size_t get_size() const noexcept
image_channel_type getChannelType() const
void sampledImageConstructorNotification(const detail::code_location &CodeLoc, void *UserObj, const void *HostObj, uint32_t Dim, size_t Range[3], image_format Format, const image_sampler &Sampler)
void set_final_data_internal()
image_plain(const std::shared_ptr< detail::image_impl > &Impl)
void sampledImageDestructorNotification(void *UserObj)
An event object can be used to synchronize memory transfers, enqueues of kernels and signaling barrie...
Objects of the property_list class are containers for the SYCL properties.
class __SYCL_EBO __SYCL_SPECIAL_CLASS __SYCL_TYPE(local_accessor) local_accessor class __SYCL_EBO __SYCL_SPECIAL_CLASS Dimensions
uintptr_t pi_native_handle
_Abi const simd< _Tp, _Abi > & noexcept