Skip to content

Commit e8fc688

Browse files
committed
[SYCL][Doc] Specify that image_mem must follow CRS
`image_mem` has been specified that it now must follow Common Reference Semantics as outlined by the core SYCL 2020 specification.
1 parent 75cd62e commit e8fc688

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

sycl/doc/extensions/proposed/sycl_ext_oneapi_bindless_images.asciidoc

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -276,9 +276,9 @@ struct image_mem_handle {
276276
class image_mem {
277277
public:
278278
image_mem();
279-
image_mem(const image_mem &) = delete;
280-
279+
image_mem(const image_mem &rhs);
281280
image_mem(image_mem &&rhs) noexcept;
281+
282282
image_mem(const image_descriptor &imageDesc,
283283
const sycl::device &syclDevice,
284284
const sycl::context &syclContext);
@@ -287,8 +287,11 @@ public:
287287

288288
~image_mem();
289289

290-
image_mem &operator=(image_mem &&);
291-
image_mem &operator=(image_mem &) = delete;
290+
image_mem &operator=(image_mem &rhs);
291+
image_mem &operator=(image_mem &&rhs) noexcept;
292+
293+
bool operator==(const image_mem &rhs) const;
294+
bool operator!=(const image_mem &rhs) const;
292295

293296
image_mem_handle get_handle() const;
294297
image_descriptor get_descriptor() const;
@@ -354,13 +357,10 @@ Note that the handle type `image_mem_handle::raw_handle_type` is an opaque type,
354357
and the handle cannot be dereferenced on the host. The layout of the memory is
355358
backend-specific, and may be an optimized layout, e.g. tile swizzle patterns.
356359

357-
`image_mem` shall not be copy-constructible, copy-assignable, or
358-
device-copyable.
359-
`image_mem` shall be default-constructible, move-constructible, as well as
360-
provide a move-assignment operator.
360+
The `image_mem` class must follow Common Reference Semantics as outlined by the
361+
core SYCL 2020 specification.
361362

362-
`image_mem_handle` shall be default-constructible and copy-constructible.
363-
`image_mem_handle` shall not be device-copyable.
363+
The `image_mem` class is not a valid kernel argument.
364364

365365
If the construction of the `image_mem` class fails, a
366366
`sycl::exception` with error code `sycl::errc::memory_allocation` will be
@@ -1964,7 +1964,10 @@ These features still need to be handled:
19641964
specified that the implementation should relay the reason
19651965
for the failure back to the user.
19661966

1967-
- Added a `bindless_image_sampler` struct
1967+
- Added a `bindless_image_sampler` struct.
1968+
1969+
- Specified that `image_mem` must follow Common Reference
1970+
Semantics.
19681971

1969-
- Updated code samples
1972+
- Updated code samples.
19701973
|======================

0 commit comments

Comments
 (0)