:extension_name: SPV_EXT_relaxed_printf_string_address_space

= {extension_name}

== Name Strings

{extension_name}

== Contact

To report problems with this extension, please open a new issue at:

https://github.com/KhronosGroup/SPIRV-Registry

== Contributors

Pekka Jääskeläinen, Parmance +
Henry Linjamäki, Parmance +
Brice Videau, Argonne National Laboratory +
Anastasia Stulova, Arm

== Notice

Copyright (c) 2022 The Khronos Group Inc. Copyright terms at
http://www.khronos.org/registry/speccopyright.html

== Status

Draft

== Version

[width="40%",cols="25,25"]
|========================================
| Last Modified Date | 2022-06-13
| Revision           | 3
|========================================

== Dependencies

This extension is written against the SPIR-V Specification,
Version 1.5, Revision 3, Unified

This extension is written against the OpenCL Extended Instruction Set
Specification, Version 1.00, Revision 7

This extension requires SPIR-V 1.0.

== Overview

This extension relaxes the address space requirement of the printf builtin
to support the cl_ext_relaxed_printf_string_address_space OpenCL C extension.

== Extension Name

To use this extension within a SPIR-V module, the following
*OpExtension* must be present in the module:

[subs="attributes"]
----
OpExtension "{extension_name}"
----

== Modifications to the OpenCL Extended Instruction Set Specification, Version 1.00, Revision 4

Modify Section 2.8, "Misc instructions", the printf description, the
sentence "format must be a pointer(constant) to i8." to
"format must be a pointer(constant, global, local, private, generic) to i8."

=== Issues

None

Revision History
----------------

[cols="5,15,15,70"]
[grid="rows"]
[options="header"]
|========================================
|Rev|Date|Author|Changes
|2|2022-06-13|Pekka Jääskeläinen, Anastasia Stulova| *The format pointer can also point to the generic address space.*
|2|2022-05-14|Pekka Jääskeläinen, Brice Videau| *Changed to an 'ext' extension for multi-vendor adoption promotion.*
|1|2022-04-08|Pekka Jääskeläinen|Initial RFC version.
|========================================