File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ // Copyright 2024 The Khronos Group Inc.
2+ // SPDX-License-Identifier: CC-BY-4.0
3+
4+ include::{generated}/meta/{refprefix}cl_ext_immutable_memory_objects.txt[]
5+
6+ === Other Extension Metadata
7+
8+ *Last Modified Date*::
9+ 2024-11-06
10+ *IP Status*::
11+ No known IP claims.
12+ *Contributors*::
13+ - Kevin Petit, Arm Ltd.
14+ - Ahmed Hesham, Arm Ltd.
15+ - Michael Rizkalla, Arm Ltd.
16+ *Interactions*::
17+ - This extension interacts with {cl_khr_egl_image_EXT}.
18+
19+ === Description
20+
21+ {cl_ext_immutable_memory_objects_EXT} provides a mechanism to create memory
22+ objects that cannot be modified by the implementation after creation. This,
23+ for example, enables implementation to support image formats for which no write
24+ operations can be supported.
25+
26+ === New Enums
27+
28+ * {cl_mem_flags_TYPE}
29+ ** {CL_MEM_IMMUTABLE_EXT}
30+
31+ === Issues
32+
33+ 1) Can {CL_MEM_READ_ONLY} be used instead of {CL_MEM_IMMUTABLE_EXT}?
34+ --
35+ *RESOLVED*: No. Memory objects created with {CL_MEM_READ_ONLY} can be modified
36+ by copy or fill commands and this behaviour cannot be changed without breaking
37+ backwards compatibility.
38+ --
39+
40+ === Version History
41+
42+ * Revision 1.0.0, 2024-11-06
43+ ** Initial version
Original file line number Diff line number Diff line change @@ -336,6 +336,16 @@ The elements of an image are selected from a list of predefined image
336336formats.
337337--
338338
339+ ifdef::cl_ext_immutable_memory_objects[]
340+ Immutable Memory Object ::
341+ A _memory object_ whose contents cannot be altered by the implementation
342+ after creation.
343+ ifdef::cl_khr_external_memory[]
344+ External entities may change the contents of
345+ _immutable memory objects_ created from external handles.
346+ endif::cl_khr_external_memory[]
347+ endif::cl_ext_immutable_memory_objects[]
348+
339349Implementation-Defined ::
340350 Behavior that is explicitly allowed to vary between conforming
341351 implementations of OpenCL.
You can’t perform that action at this time.
0 commit comments