Skip to content

Commit

Permalink
Add specification for cl_ext_immutable_memory_objects
Browse files Browse the repository at this point in the history
Fixes KhronosGroup#1110

Change-Id: I120f66ad20f977c251b77cc42a32021cb407518e
Signed-off-by: Kevin Petit <[email protected]>
  • Loading branch information
kpet committed Nov 6, 2024
1 parent 97adb9a commit 1334f2e
Show file tree
Hide file tree
Showing 4 changed files with 225 additions and 5 deletions.
43 changes: 43 additions & 0 deletions api/cl_ext_immutable_memory_objects.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
// Copyright 2024 The Khronos Group Inc.
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}cl_ext_immutable_memory_objects.txt[]

=== Other Extension Metadata

*Last Modified Date*::
2024-11-06
*IP Status*::
No known IP claims.
*Contributors*::
- Kevin Petit, Arm Ltd.
- Ahmed Hesham, Arm Ltd.
- Michael Rizkalla, Arm Ltd.
*Interactions*::
- This extension interacts with {cl_khr_egl_image_EXT}.

=== Description

{cl_ext_immutable_memory_objects_EXT} provides a mechanism to create memory
objects that cannot be modified by the implementation after creation. This,
for example, enables implementation to support image formats for which no write
operations can be supported.

=== New Enums

* {cl_mem_flags_TYPE}
** {CL_MEM_IMMUTABLE_EXT}

=== Issues

1) Can {CL_MEM_READ_ONLY} be used instead of {CL_MEM_IMMUTABLE_EXT}?
--
*RESOLVED*: No. Memory objects created with {CL_MEM_READ_ONLY} can be modified
by copy or fill commands and this behaviour cannot be changed without breaking
backwards compatibility.
--

=== Version History

* Revision 1.0.0, 2024-11-06
** Initial version
10 changes: 10 additions & 0 deletions api/glossary.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,16 @@ The elements of an image are selected from a list of predefined image
formats.
--

ifdef::cl_ext_immutable_memory_objects[]
Immutable Memory Object ::
A _memory object_ whose contents cannot be altered by the implementation
after creation.
ifdef::cl_khr_external_memory[]
External entities may change the contents of
_immutable memory objects_ created from external handles.
endif::cl_khr_external_memory[]
endif::cl_ext_immutable_memory_objects[]

Implementation-Defined ::
Behavior that is explicitly allowed to vary between conforming
implementations of OpenCL.
Expand Down
Loading

0 comments on commit 1334f2e

Please sign in to comment.