-
Notifications
You must be signed in to change notification settings - Fork 123
Reserve enums for cl_ext_image_drm_format_modifier #1020
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Change-Id: Id096c7ab542d6fe04a5f7ae7cdbd031755ca15c8
bashbaug
approved these changes
Nov 29, 2023
aharon-abramson
pushed a commit
to aharon-abramson/OpenCL-Docs
that referenced
this pull request
Feb 27, 2025
Change-Id: Id096c7ab542d6fe04a5f7ae7cdbd031755ca15c8
bashbaug
added a commit
that referenced
this pull request
Sep 9, 2025
* Update cl_khr_command_buffer_mutable_dispatch.asciidoc Add type cl_mutable_dispatch_promises_khr and its possible values * Update cl_khr_command_buffer_mutable_dispatch.asciidoc * Update ext/cl_khr_command_buffer_mutable_dispatch.asciidoc Co-authored-by: Ewan Crawford <[email protected]> * changes to cl.xml * update extension's version * rename "promise" to "assert" * Update xml/cl.xml Co-authored-by: Ewan Crawford <[email protected]> * Update xml/cl.xml Co-authored-by: Sun Serega <[email protected]> * Update xml/cl.xml Co-authored-by: Sun Serega <[email protected]> * remove changes to files made by mistake * rename more occurances of "promise" to "assert" * Update cl_khr_command_buffer_mutable_dispatch.asciidoc * Update cl_khr_command_buffer_mutable_dispatch.asciidoc replace error with undefined behavior * add CL_COMMAND_BUFFER_MUTABLE_DISPATCH_ASSERTS_KHR * fixing mix-up in enum values * return errors in non-update APIs * spaces Co-authored-by: Sun Serega <[email protected]> * Update ext/cl_khr_command_buffer_mutable_dispatch.asciidoc Co-authored-by: Ewan Crawford <[email protected]> * update the formula for number of WGs * Update xml/cl.xml Co-authored-by: Sun Serega <[email protected]> * Remove minor TODO comment (#957) (#988) Delete obsolete comment in cl_khr_semaphore. Issue * Use hexapdf instead of ghostscript for PDF optimization (#991) * Use hexapdf instead of ghostscript for PDF optimization Resulting PDFs tend to be considerably smaller, and also runs about 15% faster when doing a full PDF build (2:39 vs. 3:06 on my machine). The hexapdf tool does need to be installed in the build environment - it is in the khronosgroup/docker-images:asciidoctor-spec Docker image. * Add hexapdf to Travis environment. * cl_khr_semaphore: Enforce one device semaphores (#973) (#996) * cl_khr_semaphore: Enforce one device semaphores (#973) Only permit semaphores to be associated with a single device. Add an error code for invalid use. * Changes wording according to review comments * Change error code to CL_INVALID_PROPERTY if a context is multi-device, and no device is specified. * move the layers spec to the extensions directory (#999) Since the layers spec is not published in the OpenCL extension spec and is instead published on the OpenCL registry similar to EXT and vendor extensions, it makes more sense to put it in the extensions directory. * cl_semaphore_khr: Query if semaphore is exportable (#997) * cl_semaphore_khr: Query if semaphore is exportable Add query to clGetSemaphoreInfoKHR that returns CL_TRUE if a semaphore is exportable. * Change extension version to 0.9.1 * Add missing brackets around return types. * remove TODO comment in semaphore spec (#1012) The default behavior when the device handle list is not specified is now properly described, so the TODO comment can be removed. * document USM error conditions for clSetKernelExecInfo (#974) * add description metadata (#1000) * consistently put newer versions at the bottom of version history tables (#1010) * Reserve enum for cl_ext_yuv_images (#1022) Change-Id: I942c3ce47284e7aea93edc02cf0f327af95e4ed9 * allow clSetCommandQueueProperty to return an error for non-OpenCL 1.0 devices (#980) This follows the same pattern and text used by clSetProgramReleaseCallback, which may return an error for non-OpenCL 2.2 devices. * clarify the free function for clEnqueueSVMFree must be thread-safe (#1016) * use title case for more chapter headings (#1011) * clarify async copies and wait group events must be convergent (#1015) * add old command queue APIs to the reference page table of contents (#985) * Reserve enums for cl_ext_image_drm_format_modifier (#1020) Change-Id: Id096c7ab542d6fe04a5f7ae7cdbd031755ca15c8 * fix version note links in the reference pages (#982) * fix version note links in the reference pages * add config files with and without links * fix comment as per review Co-authored-by: Alastair Murray <[email protected]> --------- Co-authored-by: Alastair Murray <[email protected]> * cl_khr_external_semaphore_khr: semaphore re-import (#939) * cl_khr_external_semaphore_khr Add clImportSemaphoreSyncFD API call. Sync fd semaphores must re-import the sync_fd after every wait. Add an API call to make this re-import possible, without creating a new OpenCL semaphores. See issue #888. * Revised to be general * Removed sync_fd reference * Cleaned up re-import mechanism * Move re-import back to sync_fd extension * Moved version to 0.9.1 * Bump version to 0.9.2 and re-name import to re-import --------- Co-authored-by: Joshua Kelly <[email protected]> * update the provisional extension notification text (#1002) * refactor the provisional notice into a separate file * correct and update the provisional notice text * add links to change log PRs (#1017) * include dictionaries before footnotes for reference pages (#1018) * remove unnecessary rounding mode text for geometric and common functions (#1027) Without knowing how these functions are implemented any statements about rounding modes or contractions are unnecessary and confusing. We have defined error bounds for these functions, and as long as an implementation meets these error bounds it should be considered correct. * clarify the user function for clEnqueueNativeKernel must be thread safe (#1026) * fix the link appearance in the online reference pages (#987) * fix the link appearance in the online reference pages * revert a few unintended extension changes * cl_img_mem_properties: Memory hint flags update (#1025) * Update cl.xml cl_img_mem_properties: Added hint mem alloc flags for CPU and GPU. * Update cl.xml * Update cl.xml * Update cl.xml Removing unused bitfield definition. * Renaming enum CL_DEVICE_MEMORY_CAPABILITIES_IMG * Update cl_img_mem_properties.asciidoc. Memory flag extensions and deviceInfo query extensions Added extension to memory allocation flags and deviceInfo property to query device memory capabilities. * Remove `cl_semaphore_import_properties_khr` (#1034) * fix ptr (#1033) * add the unbreakable attribute to generated source blocks (#1032) * update the spec change log with changes from 3.0.14 (#1031) * initial change log for changes to 3.0.14 * minor updates and wordsmithing * update the spec source copyright dates to 2024 (#1035) * add missing curly brace for asciidoctor attribute (#1038) * Add CL_CANCELLED_IMG error code for cl_img_cancel_command extension. (#1042) * Remove unnecessary RESERVED_IMG enums and add CL_CANCELLED_IMG error code for cl_img_cancel_commands * Re-add RESERVED enum names, and change CL_CANCELLED_IMG enum value to -1126 * Upload cl_img_cancel_command asciidoc specification (#1046) * Upload cl_img_cancel_command asciidoc specification * Fix copyright message * Fix unterminated table in IMG extension (#1051) Change-Id: Ib3e14b09c052930da79c74b2e09654c89df93d45 Signed-off-by: Kevin Petit <[email protected]> * clarify that 16-bit and 64-bit floats can be passed as kernel arguments (#1049) * fixes derived formula for atanh (#1048) Asciidoctor treats words surrounded by double parentheses as index terms, so we need to escape the first parenthesis so the derived formula for atanh is properly preserved. * Remove redundant error condition in cl_khr_semaphore (#1052) * Remove redundant error condition in cl_khr_semaphore This case is already (better) covered by the conditions for CL_INVALID_CONTEXT. Signed-off-by: Kevin Petit <[email protected]> Change-Id: Ibb22aaba04772042e84464487b3528305c0e2809 * remote stray or's Change-Id: I78918127b4818236b4cdf3ed569d1dfef7eace8c --------- Signed-off-by: Kevin Petit <[email protected]> * Fix `cl_khr_command_buffer_mutable_dispatch` extension (#1059) * fix found at the end of https://github.com/KhronosGroup/OpenCL-Docs/pull/992 * Update xml/cl.xml Co-authored-by: Ben Ashbaugh <[email protected]> --------- Co-authored-by: Ben Ashbaugh <[email protected]> * Add `cl_img_cancel_command` extension to XML (#1056) * Add `cl_img_cancel_command` to XML * also require the command * add USM host mem alloc size issue (#1058) * add USM host mem alloc size issue * fix asciidoc list markup * clarify conditions for CL_INVALID_PLATFORM (#1063) Clarifies the conditions when clCreateContext and clCreateContextFromType should return CL_INVALID_PLATFORM. * fix a few notes in the spec for consistency (#1070) * clarify clSetEventCallback behavior for command errors (#1071) The callback registered for CL_COMPLETE will be called when the command completes successfully or when the command is abnormally terminated. This behavior used to be documented in a footnote but it is belongs in the main spec text instead. * Fix markups of parameter names ``obj`` and ``value`` (#1054) In other part of the document, parameter names are enclosed in ``_``, so these parameters also should be marked up the same way. * fix a few more broken refpage links for CL_VERSION_X_Y macros (#1074) * fix a few minor issues in the extensions spec (#1062) * fix unterminated open block * fix missing word in assume linear images enum * tidy up mutable dispatch extension Use consistent comment style in new enum description Use asciidoctor attribute for mutable dispatch asserts type Rearrange enums slightly to group by use * move the description of the no additional work-groups error condition This error condition is returned by clCommandNDRangeKernelKHR, not clCreateCommandBufferKHR. * add the numerical value of the image channel order and data type (#1050) This may make it easier to extend these tables or enable additional simplifications in the future. * publish cl_intel_subgroup_local_block_io (#1028) * Building individual extensions depends on generated files (#1076) Fix an occasional parallel build failure. I don't think this is a new issue, just it rarely occurs and only on a clean build. * Remove CRLF line endings from two core spec files (#1079) All other text files in the repository use LF line endings. The presence of the carriage returns in the files means that on macOS the shell code that automatically builds up the Makefile dependencies from the include lines in Asciidoc was not working as xargs did not behave as intended. Note that various Intel vendor extensions also use CRLF line endings but this PR does not touch them, they do not contain includes so do not actually cause any problems. * Add framework for extensions in API spec (#950) * Add framework for extensions in API spec and examples for cl_khr_integer_dot_product and cl_khr_command_buffer. * Add uncommitted file * Complete adding cl_khr_integer_dot_product to API and C specs * Add external memory extensions * Bring cl_khr_command_buffer up to date with latest provisional updates * Add cl_khr_semaphore. * Add build script * Working snapshots api/draft/ -> working versions of extension specs api/draft/Snapshot/ -> latest snapshotted versions of ext/ Initially, these were identical to the published extension specs. This was followed by a lot of markup cleanup and reorganization, moving sections around to separate spec changes from extension appendix / descriptions, adding refpage block headers, cleaning up C function tables, making table headings uniform, using Title Case consistently in section headers, and marking all khr extensions Ratified. * Update NOTES * Use hexapdf instead of ghostscript for PDF optimization Resulting PDFs tend to be considerably smaller, and also runs about 15% faster when doing a full PDF build (2:39 vs. 3:06 on my machine). The hexapdf tool does need to be installed in the build environment - it is in the khronosgroup/docker-images:asciidoctor-spec Docker image. * Roughly sync with Vulkan scripts, then add CL customizations. Add a workaround for safely importing api.py, so that a missing api.py + empty 'api/' directory don't cause exceptions. Update XML schema to sync with Vulkan insofar as possible. * Replace extension names with links to extension appendices * Add framework for extension metadata includes in build and scripts. Add depends / promotedto / supersededby / ratified attributes to XML based on comments in extension specs and feedback from Ben, and start converting extension appendices to use metadata includes. Add missing OpenCL C extensions to cl.xml. This might impact downstream header generation - to be checked. Minor updates to metadocgenerator and conventions for OpenCL * Split documents containing multiple extensions into separate files, and split all extension documents into appendix and body (in draft/app/) files. Move appendices into API spec directory, leaving the bodies to be integrated in api/draft/. * Script fixes for extension/version link markup, and add provisional tags to XML * Remove workarea files not needed in this branch * Change to SPDX ID * Add cl_khr_external_semaphore* extension language And use Title Case consistently throughout the spec * Add cl_khr_subgroup* extensions, mostly to OpenCL C spec, and extension framework in the C spec * Add cl_khr_{global,local}_int32_{base,extended}_atomics extensions Really just improve language describing them, since all the functions were already in the OpenCL C spec as part of OpenCL 1.1. * Add cl_khr_fp64 extension language (virtually all of which was already present, but needed minor changes). * Add most remaining khr extensions to the API and C language specs: * cl_khr_async_work_group_copy_fence * cl_khr_device_enqueue_local_arg_types * cl_khr_device_uuid * cl_khr_extended_async_copies * cl_khr_extended_bit_ops * cl_khr_extended_versioning * cl_khr_gl_depth_images * cl_khr_gl_event * cl_khr_gl_msaa_sharing * cl_khr_gl_sharing * cl_khr_global_int32_base_atomics * cl_khr_global_int32_extended_atomics * cl_khr_icd * cl_khr_il_program * cl_khr_image2d_from_buffer * cl_khr_initialize_memory * cl_khr_int64_base_atomics * cl_khr_int64_extended_atomics * cl_khr_local_int32_base_atomics * cl_khr_local_int32_extended_atomics * cl_khr_mipmap_image * cl_khr_mipmap_image_writes * cl_khr_pci_bus_info * cl_khr_priority_hints * cl_khr_srgb_image_writes * cl_khr_suggested_local_work_size * cl_khr_terminate_context * cl_khr_throttle_hints * cl_khr_work_group_uniform_arithmetic There are about a dozen remaining extensions, mostly DX / EGL sharing related. * Add extension language for * cl_khr_create_command_queue * cl_khr_d3d10_sharing * cl_khr_d3d11_sharing * cl_khr_dx9_media_sharing * cl_khr_egl_event * cl_khr_egl_image * Fix SPDX typo * Fix dependency generation * Move asciidoc dependency generation into a separate shell script Executing the updated version under Travis CI (but not locally) was failing for no apparent reason. * Add new python dependency * Add extension language for * cl_khr_command_buffer * cl_khr_command_buffer_multi_device * cl_khr_command_buffer_mutable_dispatch * cl_khr_pci_bus_info * cl_khr_select_fprounding_mode * cl_khr_spir Also some minor cleanup / consistency edits in related markup. * Add cl_khr_fp16 and some missing cl_khr_depth_images extension language. Some table and section heading markup / capitalization cleanup. * Update api/appendix_e.asciidoc Co-authored-by: Ewan Crawford <[email protected]> * Update api/appendix_e.asciidoc Co-authored-by: Ewan Crawford <[email protected]> * Resolve https://github.com/KhronosGroup/OpenCL-Docs/pull/950#discussion_r1455084632 * Remove language in cl_khr_*_int32_*_atomics appendices saying that ''the volatile qualifier was added'' Closes #1013 * update * Various minor fixes to the build process Add 'makeSpec' script, replacing 'makeAll', and document it in README.adoc. Use `makeSpec -spec khr [make targets]` instead of `makeAll [make targets\` Remove static refpage source which is now extracted from the specification source, including various KHR extension API refpages and extension appendix refpages. Minor fixes to refpage extraction scripts. Remove version dependencies from `depends` attributes in cl.xml, which are not yet supported in the schema or the scripts which consume this attribute for `makeSpec`, and move them to `comment` attributes for the time being. * Minor script fixes. Try to build both core and khr targets in Travis CI. * Attempt to install needed python package * Bring extensions up to date with main at commit c66cb8209f0144fc2cf3819174433835730572eb All extensions in the API and C specs should now be consistent with the ext/ directory. * Cleanup and minor fixes / improvements Add links from the API spec extension appendices to the corresponding extension section of the C language spec. Markup fixes for a few asciidoc conditional typos. Add a few missing extension sections to the C language spec. Modify makeAll script to interpret '-spec all' as '-spec khr', since there are no extension appendices or other content for non-khr extensions at present, and building with all extensions causes problems in the document pipeline. * Removing separate OpenCL Extensions from the repository (#1081) Once we integrate all the khr extensions into the API and C specs, the separate documents under ext/ will serve no purpose and will have the risk of creating divergences between the sme content in the API / C specs and the separate extension spec. This removes the separate khr extension documents from the repo, and strips down the OpenCL Extension spec to just point to the corresponding extension appendix in the API spec. It will also serve as a forcing function for all future extension development to be done against the API / C specs. Any outstanding PRs against these documents will have to be rebased and the same edits reapplied to those specs, whether changes to published extensions or in-flight, but as yet unpublished khr extensions. Ideally this would merge into #950 before that is merged to main, if the WG can agree to that. It could also be retargeted to main instead, if this decision will take longer than the timeframe for merging #950. * Update XML to mark recently ratified extensions as non-provisional (#1084) Net effect is to rearrange the extension appendices so these extensions are no longer in a 'provisional' subsection, and to remove the generated comments about their being provisional from the extension refpages. --------- Co-authored-by: Ewan Crawford <[email protected]> * Switch to GitHub Actions for CI (#1085) * WIP First stab at Github Actions * sudo * remove travis config * change travis builds to only build on tags * sync GitHub actions with travis script * configure dependabot github actions version updates * update gem versions * add libwebp-dev dependency for asciidoctor-mathematical * minor updates * update for the new spec toolchain --------- Co-authored-by: Kévin Petit <[email protected]> * Reference layered extensions in command-buffer intro (#1090) The "Interaction With Other Extensions" introductory section of `cl_khr_command_buffer` references future layered extensions as part of the design rationale. Two of these layered extensions currently exist, so we can update this section to reference them directly as opposed to the existing speculative language. * fixes a few incorrect asciidoctor attributes (#1091) * strengthen requirements for CL_DEVICE_TYPE query (#1069) * strengthen requirements for CL_DEVICE_TYPE query * require that an OpenCL device only reports a single device type * clarify device types that may be used with clCreateContextFromType * fix a markup issue regarding cl_khr_subgroup_extended_types (#1104) * fix footnotes (#1097) Moves text for CL_KERNEL_ARG_TYPE_QUALIFIER out of a footnote and into the main spec text. Removes link to the cl_khr_fp16 extension for the footnote. This is not ideal, but is a reasonable short-term solution. * Fixup cl_khr_command_buffer after spec unification (#1089) After PR #950 merged the cl_khr_command_buffer spec needs updated in a couple of places: * Error around _num_queues_ to `clCreateCommandBufferKHR` should be in terms of `cl_khr_command_buffer_multi_device`. * "New Structure" heading can be deleted as these are listed under "New Types" * Typos in rendering of some types * Set anchor on `CL_COMMAND_BUFFER_MUTABLE_KHR` (#1115) The link in the "New Enums" section of cl_khr_command_buffer_mutable_dispatch doesn't lead anywhere otherwise. * Fix provisional extension notes in appendices (#1113) * Remove provisional notice include for recently ratified extensions * Remove provisional_notice include for each provisional extensions. Add a new subsection of the extensions appendix capturing the same information. The autogenerated link in the extension metadata for each provisional extension links to this subsection. * Synchronize scripts with Vulkan and correct extension appendix section nesting (#1116) The observable effects of this are - Pushes the subsection titles in the extension appendices down one level, similar to #1087 but keeping the scripts in sync - Adds an autogenerated 'API Interactions' section with currently only affects the cl_khr_command_buffer extension, since that's the only one with some APIs tagged in the XML as dependent on a particular core version * Fix markup for a few extension names. (#1112) * use the feature macro dictionary attributes in more places (#1107) * add initial draft of Valid Usage and Undefined Behavior section (#1105) * update generated version text for extension APIs and enums (#1108) * add missing anchors (#1120) * add missing anchors for external memory and semaphore commands * add missing anchors for external memory handles also a few missing anchors for various extensions * fix a few more missing anchors and incorrect attributes * cleans up extension metadata (#1122) use a consistent order for new commands, types, enums, etc. add a few missing extension types do not use the new SPIR-V capabilities section use consistent terminology * fix section titles for sub-group extensions (#1124) also fix a few other section titles for consistency * adjustments to fix long table cells (#1125) We really need a better long-term solution for this... * Restore static refpages to the build (#1127) These were commented out during debugging and not restored. Also factors out a small difference between Vulkan and OpenCL scripts. Closes #1121 * fix an incorrect link to cl_khr_async_work_group_copy_fence (#1132) * add extension docs for spir-v-related extensions (#1123) * add extension docs for spir-v-related extensions cl_khr_spirv_extended_debug_info cl_khr_spirv_linkonce_odr cl_khr_spirv_no_integer_wrap_decoration * fix extension name * add and link error codes for extensions (#1119) * add error codes for cl_khr_command_buffer * add error codes for cl_khr_d3d10_sharing * add error codes for cl_khr_d3d11_sharing * error codes for cl_khr_dx9_media_sharing * error codes for cl_khr_egl_event * error codes for cl_khr_egl_image * error codes for cl_khr_gl_sharing * error codes for cl_khr_semaphore * error codes for cl_khr_terminate_context * error codes for cl_khr_command_buffer_mutable_dispatch * fix typo Co-authored-by: Alastair Murray <[email protected]> --------- Co-authored-by: Alastair Murray <[email protected]> * add a few missing enums to the XML file (#1118) * add a few missing enums to the XML file use the feature dictionaries in a lot more places * add versioning macros to OpenCL 3.0 * update dictionary generation for API macros * add missing anchors * spec source for cl_khr_kernel_clock (#1103) * spec source for cl_khr_kernel_clock * updated after March 26th teleconference Clarified that this is a provisional extension Removed ext from feature names and feature test macros Added undefined behavior description to the SPIR-V environment spec * fix a few more places where the extension should be marked provisional * clarify in a few more places that this extension is provisional * remove provisional_notice.asciidoc, since it should not be used anymore * generate and use an extension dictionary (#1131) * generate and use an extension dictionary * change cl_khr_kernel_clock to use asciidoctor attributes * adding missing anchor for CL_MEM_DEVICE_HANDLE_LIST_END_KHR (#1134) * remove nextafter TODO (#1140) * briefly describe cl_mutable_base_config_khr structure (#1139) * update non-provisional extensions to version 1.0.0 (#1133) * update non-provisional extensions to version 1.0.0 * update a few other revision comments, just in case * remove leftover conversion comments * fix fract for double and half arguments (#1136) * remove TODO and TBD placeholders (#1135) * tidy up cl_khr_create_command_queue (#1138) Removes unneeded special-case text regarding the type accepted for CL_QUEUE_PROPERTIES. Calling this a cl_bitfield was a bug all along, and using cl_command_queue_properties is fine because it is a bitfield anyhow. Generalizes some text so it is not specific to OpenCL 2.x devices. Removes a TODO - no changes required. * bugfix: the geometric functions do not operate componentwise (#1137) * update the quick reference list for finalized extensions (#1144) * change log with changes from v3.0.15 (#1126) * initial change log with changes from v3.0.15 * update cl_khr_kernel_clock link in a few other places * final change log updates * Fix a typo in the category ToC for the refpages (#1148) * Fix a typo in the category ToC for the refpages * Also fix a typo * One more typo * Add two missing extensions to extension.txt (#1162) Change-Id: I44c78179ad6cfe9fc6da656aee72cae7adc0bf90 Signed-off-by: Kevin Petit <[email protected]> * Define extension macros in environment specification (#1163) This was missed during the spec unification work. Change-Id: I23107b104431abdac2eaf8a3b1ebedd10303fc12 Signed-off-by: Kevin Petit <[email protected]> * Remove unused cl_khr_external_memory_dx and cl_khr_external_semaphore_dx_fence extensions (#1160) No implementers (and no interest expressed), no CTS tests. These extensions should not be part of the specification. Change-Id: I064076c8075b5947ef9109558c4b03da426e4505 Signed-off-by: Kevin Petit <[email protected]> * Mention dependency on SPV_EXT_shader_atomic_float16_add in cl_ext_float_atomics (#1153) The AtomicFloat16AddEXT capability it defines is referred to. Change-Id: Icbae5f1ad02561e11517a47e9640eea4bc6a4283 Signed-off-by: Kevin Petit <[email protected]> * remove an extra character in an OpenCL C example (#1172) * Add revision to XML extensions (#1161) This extension adds the revision field to the XML tag for extensions. This allows a version macro to be generated with: * https://github.com/KhronosGroup/OpenCL-Headers/pull/251 * https://github.com/KhronosGroup/OpenCL-Headers/issues/248 KHR extensions are given a revision based on the semantic version of the spec. However other extensions don't use semantic versioning, and so are given a placeholder `0.0.0` value until they can be updated by the owner. The XML schema is also updated to make the revision field mandatory in the XML entry for extensions and the existence of the macro this enables is advertised to users in the spec. * Fix links to commands in API specification (#1179) Links were not created for commands defined by extensions. With this changes all uses of e.g. {clCreateSemaphoreWithPropertiesKHR} link to the definition of the command which makes navigating the specification much easier. Change-Id: I4a9458609f4ba3229b66e3d169a68cb4564e2538 Signed-off-by: Kevin Petit <[email protected]> * Clarify the definition of prerequisites to commands (#923) * Clarify the definition of prerequisites to commands - Reword the first source of prerequisites so the wording is symmetrical with respect to the others (i.e. the first/second/third ...). - Broaden the first source of prerequisites to cover all implicit dependencies and provide an exhaustive list of how they arise: either because of barriers or because of ordering in in-order command-queues. Signed-off-by: Kevin Petit <[email protected]> Change-Id: Ic464066261fe13756347bafb4878cd6ffb5a8427 * Update api/opencl_architecture.asciidoc --------- Signed-off-by: Kevin Petit <[email protected]> * Use Khronos asciidoctor-spec Docker image in CI (#1196) * Use Khronos asciidoctor-spec Docker image in CI Per discussion with $bashbaug N.b. at present the CI script has less parallelism than it could, at least as I understand Actions. Some of the 'steps' could be split off into 'jobs'. Might try that next once the basic build is working. Net performance is still somewhat faster than current CI since it's generally faster to load the container than to add needed packages at each invocation, and the spec build is pretty fast, so there's not much to be gained. There was odd error behavior from shifting to the container which I have never seen in Vulkan CI, having to do with mixed ownership of files in the checked-out repository. I inserted a brute-force workaround right after the checkout action. * Update image (SHA changed, though not contents) * Update to 20240702 Docker image which sets HOME=/tmp to avoid asciidoctor-pdf permission problems with tmpfiles in home directory / * Fix SHA and remove fixed parallel job limit on manhtmlpages build * Switch to '#!/usr/bin/env python3' shebang lines Since the Docker build image runs a python virtual environment now. Also added 'scripts/runDocker' script which will invoke docker locally with the same image used in Github CI, for testing. Note this script will pull over a GB of Docker stuff onto the machine it's invoked on, if the image is not already cached. * Empty commit to try and re-trigger the 'fatal' message... ... which appears sporadic, not easily replicable. * Try to bulletproof the git invocations in Makefile * Remove diagnostic job stage after bulletproofing (hopefully) the Makefile For future reference, some of the git operations in CI and the Makefile appear to *sporadically* fail in CI because of different checked-out repo configurations. I modified the 'git symbolic-ref' and 'git log' operations invoked from the Makefile to detect errors and substitute a placeholder message, based on similar changes to the Vulkan Makefile a while back. This (appears) to eliminate the sporadic 'fatal' messages. We may need to do that to the 'git describe' as well. None of this reads on the generated artifacts, except that they may or may not contain accurate tag / commit comments. * Fix typo in clCreateProgramWithSource introduction (#1204) Signed-off-by: Sven van Haastregt <[email protected]> * Update extension template (#1197) - Update format for specification versions. We now use MAJOR.MINOR.PATCH as opposed to MAJOR.MINOR Revision PATCH. - Include generated dictionaries by default. Change-Id: Ie2cd8fc08ae6ec71d340bf9f274ffb17d8ebb118 Signed-off-by: Kevin Petit <[email protected]> * cl_khr_external_semaphore: Clarify language (#938) * cl_khr_external_semaphore: Clarify language Refined the cl_khr_external_semaphore spec. Removed references to permanence which appear to have been leveraged from the Vulkan spec but don’t apply to the OpenCL spec in its current form. * Fix table format * clarify CL_DEVICE_TYPE_DEFAULT and CL_DEVICE_TYPE_ALL for custom devices (#1117) * Fix typos in description of clReImportSemaphoreSyncFdKHR (#1208) Also add to list of new commands in extension appendix. Change-Id: I80b1d25368c2cefb0967120bdc429a8187c518c7 Signed-off-by: Kevin Petit <[email protected]> * Add missing table end (#1206) Introduced by #938 Change-Id: Ibef16bceb5398c49a14e88818a45236d0e17acf0 Signed-off-by: Kevin Petit <[email protected]> * Fail spec creation if asciidoctor errors are encountered (#1205) * Fail spec creation if asciidoctor errors are encountered This would have enabled the CI to catch a markup issue introduced by #938. Signed-off-by: Kevin Petit <[email protected]> Change-Id: I49de3eaf623117f7c29d1019dedf5b342766a029 * attempt to fix asciidoctor errors in API spec Change-Id: I0f9cbeddb72e0d76ba508b336d91c4ee640d77ad --------- Signed-off-by: Kevin Petit <[email protected]> * xml: require CL/GL types for cl_khr_gl_sharing (#1210) So the type definitions are included in the generated cl_gl.h Change-Id: I65a666dde8066958897acf13fb755ae2a3f3b52d Signed-off-by: Kevin Petit <[email protected]> * Add multi-device wording to clCommandBarrierWithWaitListKHR (#1146) `clCommandBarrierWithWaitListKHR` does not having wording for the `command_queue` parameter regarding when `cl_khr_command_buffer_multi_device` is enabled. * Fix CL_INVALID_CONTEXT command-buffer error definitions (#1149) * Fix CL_INVALID_CONTEXT command-buffer error definitions See issue https://github.com/KhronosGroup/OpenCL-Docs/issues/1147 documenting that the error specification for `CL_INVALID_CONTEXT` doesn't take into account the variation when `cl_khr_command_buffer_multi_device` is enabled. Doing this change also picked up that the error wording for `clCommandSVMMemcpyKHR` and `clCommandSVMMemFillKHR` referenced the _kernel_ parameter which doesn't exist. * Address review feedback * Remove extraneous `cl_khr_command_buffer_multi_device` precondition from error wording. * Change "enabled" terminology to "supported" with regards to extensions. * Use array for clUpdateMutableCommandsKHR. (#1045) Proposal to pass the update configs to `clUpdateMutableCommandsKHR` as an array, rather than pointer changed linked list. See https://github.com/KhronosGroup/OpenCL-Docs/issues/1041 for motivation. * Clarify Acquire/Release behavior for external memory (#1176) * Clarify Acquire/Release behavior for external memory Clarify Acquire/Release behavior for external memory specs to call out the scope of operations as well as the behavior in case of multiple acquire/release calls. Fixes #1078, #1086 * Updates to Acquire/Release clarifications (#1183) Address review comments on PR#1176 Fixes #1078, #1086 * Address left-over comments (#1194) Address some of the comments that were left out in earlier update. * Fix the typo for "acquired" Fix the typo suggested by Kevin to replace aquired to acquired. Co-authored-by: Kévin Petit <[email protected]> --------- Co-authored-by: Kévin Petit <[email protected]> * Fix typo in description of clGetSemaphoreHandleForTypeKHR (#1220) Change-Id: I694d985147ae8a78c25e6a29c49381e58faa3d8b Signed-off-by: Kevin Petit <[email protected]> * New Intel extension cl_intel_subgroup_buffer_prefetch (#1195) * Publish the cl_img_matrix_multiply extension specification. (#1199) * Publish cl_img_matrix_multiply extension specification. * The final draft of the cl_img_matrix_multiply extension. * Publish the cl_img_bitwise_ops extension specification. * Revert "Publish the cl_img_bitwise_ops extension specification." This reverts commit b17a1f7b3596601b314bdd3dd599c5b1afd85afd. * Update extensions/cl_img_matrix_multiply.asciidoc Listing the initial extension version. Co-authored-by: Ben Ashbaugh <[email protected]> * Update cl_img_matrix_multiply.asciidoc Adding execution results to the coding samples --------- Co-authored-by: Ben Ashbaugh <[email protected]> * Publish the cl_img_bitwise_ops extension specification. (#1200) * Publish the cl_img_bitwise_ops extension specification. * Update extensions/cl_img_bitwise_ops.asciidoc Listing the initial extension version. Co-authored-by: Ben Ashbaugh <[email protected]> --------- Co-authored-by: Ben Ashbaugh <[email protected]> * Publish the cl_img_swap_ops extension specification. (#1201) * Publish the cl_img_swap_ops extension specification. * Update extensions/cl_img_swap_ops.asciidoc Listing the initial extension version. Co-authored-by: Ben Ashbaugh <[email protected]> * Update cl_img_swap_ops.asciidoc Defining behavior as undefined for cases when the number of work-items is not evenly divisible by four and if some work-items in the block of four are inactive, defining 1-dimensional local ID as a base for grouping work-items. --------- Co-authored-by: Ben Ashbaugh <[email protected]> * Publish the cl_img_memory_management extension specification. (#1202) * Publish the cl_img_memory_management extension specification. * Update extensions/cl_img_memory_management.asciidoc Listing the initial extension version. Co-authored-by: Ben Ashbaugh <[email protected]> * Update cl_img_memory_management.asciidoc Status changed to Final Draft * Update cl_img_memory_management.asciidoc Fix typo (unnecessary "new_alloc" in the enum item name). --------- Co-authored-by: Ben Ashbaugh <[email protected]> * Generate OpenCL C feature dictionary (#1212) * Generate OpenCL C feature dictionary Features are stored in a text file for now. Ultimately, we probably want to use the XML registry for this. Generation script taken from #1174 with a few modifications. Contributes to #1166. Signed-off-by: Ben Ashbaugh <[email protected]> Signed-off-by: Kevin Petit <[email protected]> Change-Id: Ie2c14148d75457030aa1a97cf601daba2c007397 * Update scripts/gen_c_feature_dictionary.py Co-authored-by: Ben Ashbaugh <[email protected]> * define __opencl_c_<feature_name> outside of the list of features Signed-off-by: Kevin Petit <[email protected]> Change-Id: I8e0947c30775338dd70803d09c7059d340e86f5a --------- Signed-off-by: Ben Ashbaugh <[email protected]> Signed-off-by: Kevin Petit <[email protected]> Co-authored-by: Ben Ashbaugh <[email protected]> * further clarify a clCreateBuffer with SVM pointer error condition (#1189) It should also be invalid to use SVM host_ptr smaller than `size` in the CL_MEM_COPY_HOST_PTR case * Begin integration of EXT extensions into the unified specification (#1213) * Begin integration of EXT extensions into the unified specification - Add a khr+ext spec type to makeSpec and cover in CI - Document the version and dependencies of all EXT extensions in the XML - Integrate cl_ext_cxx_for_opencl into the unified specification - Add placeholder descriptions for all EXT extensions linking to either core/KHR features that supersede old extensions that were never part of the specification or the OpenCL Extensions document. This enables us to integrate EXT extensions incrementally and integrate future EXT extensions directly into the unified specification. Change-Id: Ic634ce000ad3ebfb56e56bce91f9c0de3e786383 Signed-off-by: Kevin Petit <[email protected]> * Update api/cl_ext_cxx_for_opencl.asciidoc Co-authored-by: Ewan Crawford <[email protected]> * remove dangling links in cl_ext_migrate_memobject appendix Change-Id: I13b4860dfcd3d6d865b269847c5876bf75516e87 * add links to latest published ext specs Change-Id: Ifddbbc47ddb0ac9be6327d9925682b96829d0946 --------- Signed-off-by: Kevin Petit <[email protected]> Co-authored-by: Ewan Crawford <[email protected]> * Clarify what re-import properties are accepted by clReImportSemaphoreSyncFdKHR (#1219) Align the language to clCreateBufferWithProperties. Change-Id: I58659fc9cd7fd3ae5178826285fd84d6932b29d8 Signed-off-by: Kevin Petit <[email protected]> * fix EPSILON typo (#1225) * remove duplicated extensions from quick reference table (#1229) * fix asciidoctor rightarrow typo (#1234) * update SPIR-V spec reference to SPIR-V 1.6 (#1237) * Fix bullet typo in clEnqueueAcquireExternalMemObjectsKHR (#1224) Signed-off-by: Gowtham Tammana <[email protected]> * eliminate some duplicated words found in the spec (#1226) * Add specification for cl_ext_image_unorm_int_2_101010 (#1223) * Add specification for cl_ext_image_unorm_int_2_101010 Change-Id: I51b0ec6f719c30a01637c56047a86d31fd78b7ca * Update OpenCL_C.txt Co-authored-by: Ben Ashbaugh <[email protected]> * review comments Change-Id: Ib1ac6320c4f391336074f468158187e76099c7b9 --------- Co-authored-by: Ben Ashbaugh <[email protected]> * Add mechanism to specify named win32 NT handles (#1177) * Add mechanism to specify named win32 NT handles Currently, cl_khr_external_semaphore and cl_khr_external_memory define properties to specify external win32 NT handle via pointer. Win32 NT handles can also be specified via named strings. Add properties to specify external Win32 NT handles via named strings too. Fixes #943 * Updates to win32 named handle type changes. (#1180) Address review comments. Fixes #943 * Drop NULL from named win32 handle description (#1187) * Updates to win32 named handle type changes. Address review comments. Fixes #943 * Drop NULL from named win32 handle description. Address review comments from Ben to remove NULL from named win32 handle description. Fixes #943 * Bump up spec versions for win32 (#1193) Bump up spec versions for cl_khr_external_memory_win32 from 1.0.0 to 1.1.0 and cl_khr_external_semaphore_win32 from 0.9.0 to 0.9.1 * fix typo and add OPAQUE_WIN32_NAME_KHR to semaphore enums list * Update opencl_runtime_layer.asciidoc Fix typo during conflict resolution opencl_runtime_layer.asciidoc. --------- Co-authored-by: Ben Ashbaugh <[email protected]> * clarify no implicit dependencies when waiting on or signaling semaphores (#1231) * Group or shorten the names of some API specification sections (#1250) As discussed in teleconferences, the unification of the API specification has led to some long-winded and/or redundant section headers. Here are a few proposed changes that I find make the unified specification easier to navigate. Change-Id: I326f4195e5585a821d38f128bbc9d300f490631f Signed-off-by: Kevin Petit <[email protected]> * fix formatting for bulleted list (#1253) * add nofooter by default when building the OpenCL specs (#1252) This will minimize diffs in the future, especially for things like the reference pages that may change infrequently. * Add properties parameter to all command-buffer commands (#1215) * Add properties parameter to all command-buffer commands See Issue https://github.com/KhronosGroup/OpenCL-Docs/issues/1207 disucssion how it could make the `cl_khr_command_buffer` extension more extensible if we allowed all the command-recording parameters to have a `properties` parameter that could be used. * fix misspelling * Update clGetMutableCommandInfoKHR table * Rename query to `CL_MUTABLE_COMMAND_PROPERTIES_ARRAY_KHR` --------- Co-authored-by: Ben Ashbaugh <[email protected]> * add an issue about zero-sized allocations (#1083) * document int4 functions and functions with other return types (#1181) * generate an OpenCL C built-in functions dictionary (#1228) * generate an OpenCL C built-in functions dictionary * switch command line argument to specify input file to -i * clarify num_mip_levels (#1255) * platform: Clarify behavior for ATOMIC_SCOPE_ALL_DEVICES #1129 (#1171) * platform: Clarify behavior for ATOMIC_SCOPE_ALL_DEVICES * Adjusted table widths to prevent overflow beyond a page Asciidr has a limitation that prevents table cells from spanning across pages * Update api/opencl_platform_layer.asciidoc Co-authored-by: Ben Ashbaugh <[email protected]> --------- Co-authored-by: Ben Ashbaugh <[email protected]> * clarify clGetSemaphoreHandleForTypeKHR is part of cl_khr_external_semaphore (#1257) * unify the CL_INVALID_COMMAND_QUEUE behavior for semaphore signals and waits (#1256) * ARM => Arm (#1263) * `cl_intel_driver_diagnostics` (#1260) `cl_diagnostics_verbose_level` => `cl_diagnostic_verbose_level_intel` * Add error when memory objects or semaphores are created with more than one external handle (#1249) Also link the description of external semaphore handles to the spec for clCreateSemaphoreWithPropertiesKHR. Fixes #1246 Change-Id: Ifb4c02795c6d4db8aee9b5f14b10fecd26992fd5 Signed-off-by: Kevin Petit <[email protected]> * Clarify that we do not remove functionality in minor versions of OpenCL (#1265) Change-Id: Iee7de47816ae8f40f684d713ad53bd886f4fcbd5 Signed-off-by: Kevin Petit <[email protected]> * Use "associated with" for external memory and semaphroes (#1268) Replace "accessible to" with "associated with" for describing the devices the external memory and semaphore are valid for. Fixes #1240 * add description of supported printf operand types (#1236) * improve param_value_size consistency (#1254) * fix descriptions of param_value_size for consistency Still need to check and update error conditions for consistency. * improve consistency for error descriptions too * fix CL_INVALID_VALUE error for clGetGLContextInfoKHR * clarify how to properly use and modify shared OpenCL objects (#1243) Refer to the OpenCL memory consistency model vs. duplicating requirements. * document valid coordinate types when reading from or writing to images (#1242) * add unsafe math optimization error bounds for the non-derived atan2 (#1073) * clarify the minimum value for CL_DEVICE_HALF_FP_CONFIG (#1273) The minimum value for CL_DEVICE_HALF_FP_CONFIG applies to devices supporting all OpenCL versions, not just for OpenCL 2.0 or newer devices. * add additional clarification for num_mip_levels (#1272) * rephrase and correct the descriptions for clSetKernelExecInfo (#1245) * rephrase and correct the descriptions for clSetKernelExecInfo * further wordsmithing clarify that CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM does not affect kernel arguments * fix typo * simplify CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM * change log with changes from v3.0.16 (#1274) * initial change log for changes to 3.0.16 * update with last-minute changes * add named NT handles to external memory in addition to semaphores * clarify cl_mem_flags to not affect copies (#1230) * Reserve cl_mem_flags bit for cl_ext_immutable_memory_objects (#1285) Relates to #1280 Change-Id: I66b553b4708b913a219d803e45ab7dd6cfb8fe93 Signed-off-by: Kevin Petit <[email protected]> * cl_khr_command_buffer sync-point capacity (#1286) * cl_khr_command_buffer sync-point capacity Document the behaviour when command-buffer command capacity is reached, and track under "Issues" the possible future use-cases for being able to optimize based on the capacity of a command-buffer. Closes https://github.com/KhronosGroup/OpenCL-Docs/issues/844 * Refine out-of-order command-buffer enqueue wording * Update api/cl_khr_command_buffer.asciidoc Co-authored-by: Ben Ashbaugh <[email protected]> --------- Co-authored-by: Ben Ashbaugh <[email protected]> * Document img 1x2_2x2 matmul functions. (#1283) * document img 1x2_2x2 matmul functions. * Correct the description of matmul with saturation. * Address review comments. * Update cl.xml (#1289) Reserving OpenCL Enumerant range for vendor Mastiṣka AI * Integrate cl_ext_image_requirements_info into unified specification (#1295) * Integrate cl_ext_image_requirements_info into unified specification Signed-off-by: Kevin Petit <[email protected]> Change-Id: Ia249f78aa521a8d202dfafbb736c9887574e56f9 * Update api/opencl_runtime_layer.asciidoc Co-authored-by: Ben Ashbaugh <[email protected]> * Update api/opencl_runtime_layer.asciidoc Co-authored-by: Ben Ashbaugh <[email protected]> --------- Signed-off-by: Kevin Petit <[email protected]> Co-authored-by: Ben Ashbaugh <[email protected]> * Command-buffer query for supported queue properties (#850) This change introduces a new device query related to the command-buffer extension - `CL_DEVICE_COMMAND_BUFFER_SUPPORTED_QUEUE_PROPERTIES_KHR`. This is different from `CL_DEVICE_COMMAND_BUFFER_REQUIRED_QUEUE_PROPERTIES_KHR`, as we want to convey to the user that an implementation supports using a queue property with a command-buffer, but is not *required* to use the property. This supersedes reporting queue related values from the `CL_DEVICE_COMMAND_BUFFER_CAPABILITIES_KHR` query. The flaw with `CL_DEVICE_COMMAND_BUFFER_CAPABILITIES_KHR` is that it contains bits explicitly added by the command-buffer extension for reporting support for queue properties. This is a brittle design, as any new queue property added in future would need to have a new bit added here in the command-buffer extension to report support when used with command-buffers. Instead a better design is to have a new query reporting queue properties supported, `CL_DEVICE_COMMAND_BUFFER_SUPPORTED_QUEUE_PROPERTIES_KHR`, and keeping `CL_DEVICE_COMMAND_BUFFER_CAPABILITIES_KHR` for capabilities unrelated to the command-queue properties. The `CL_COMMAND_BUFFER_CAPABILITY_OUT_OF_ORDER_KHR` use-case can now be covered by returning `CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE` from `CL_DEVICE_COMMAND_BUFFER_SUPPORTED_QUEUE_PROPERTIES_KHR`, so it is removed. * OpenCL C: Update ULP requirements for half-precision divide and reciprocal (#1293) * OpenCL C: Update ULP requirements for half-precision divide and reciprocal Update ULP requirements for these builtins to 1.0 as per discussion on #1278 * Restrict update to divide for now * Update SPIR-V environment spec to set fp-16 divide ULP to 1.0 * relax reciprocal ULP requirement also --------- Co-authored-by: Ben Ashbaugh <[email protected]> * Fix formatting issues in builtins tables (#1290) 1. Add missing newline between double and half versions of 'ldexp' 2. Fix formatting of snippets in 'mix' * Integrate cl_ext_image_from_buffer into unified specification (#1299) * Integrate cl_ext_image_from_buffer into unified specification Also add version notes for all CL_IMAGE_REQUIREMENTS_* enums. Signed-off-by: Kevin Petit <[email protected]> Change-Id: I7b7b093034121a9215786beff7318b18e7d0c24a * Update api/opencl_runtime_layer.asciidoc Co-authored-by: Ben Ashbaugh <[email protected]> * Update api/footnotes.asciidoc Co-authored-by: Ben Ashbaugh <[email protected]> * Update api/cl_ext_image_from_buffer.asciidoc --------- Signed-off-by: Kevin Petit <[email protected]> Co-authored-by: Ben Ashbaugh <[email protected]> * Refactor command-buffer queue compatability (#1292) * Refactor command-buffer queue compatability As proposed in https://github.com/KhronosGroup/OpenCL-Docs/issues/1142 the PR changes the semantics of the command-queues parameters used for command-buffer creation and enqueue. The queues used on command-buffer creation now only inform the device and dependencies of commands, rather than restricting the properties set on the queues used for command-buffer enqueue. This is based ontop on the change in https://github.com/KhronosGroup/OpenCL-Docs/pull/850 to add supported queue property semantics. * Address review feedback Clarify wording around default list of command-queues used for command-buffer enqueue. * Update XML version * update the spec source copyright dates to 2025 (#1301) * [NFC] Fix typo in address space conversion example (#1322) * cl_ext_buffer_device_address (#1159) * cl_ext_buffer_device_address The basic cl_mem buffer API doesn't enable access to the underlying raw pointers in the device memory, preventing its use in host side data structures that need pointer references to objects. This API adds a minimal increment on top of cl_mem that provides such capabilities. * BDA: Removed CL_MEM_DEVICE_SHARED_ADDRESS_EXT as unneeded. Also made the enums globally unique. * cl_ext_buffer_device_address to 1.0.0 The only content addition since the previous version is "If the device supports SVM and {clCreateBufferWithProperties} is called with a pointer returned by {clSVMAlloc} as its _host_ptr_ argument, and {CL_MEM_USE_HOST_PTR} is set in its _flags_ argument, the device-side address is guaranteed to match the _host_ptr." * cl_ext_buffer_device_address: Revision 1.0.1 * Made it explicit that passing illegal pointers is legal as long as they are not referenced. * Removed CL_INVALID_ARG_VALUE as a possible error in clSetKernelArgDevicePointerEXT() as there are no illegal pointer cases when calling this function. Return CL_INVALID_OPERATION for clGetMemObjectInfo() if the pointer is not a buffer device pointer. * clSetKernelExecInfo() and clSetKernelArgDevicePointerEXT() now only error out if no devices in the context associated with kernel support device pointers. * cl_ext_buffer_device_address: Revision 1.0.2 Converted the clSetKernelArgDevicePointerEXT() address parameter to a value instead of a pointer to the value. * clarify unsafe math accuracy requirements for the embedded profile (#1318) Clarifies the unsafe math accuracy requirements for divide, reciprocal, exp, and exp2 for the embedded profile. The previous wording was ambiguous, and could have been interpreted to mean that the embedded profile had stricter accuracy requirements than the full profile. * clarify printf format The intent behind "resolvable at compile time" is that format cannot be a kernel argument, i.e. it can only be a string literal. * setting kernel arguments before recording it in command buffer Add an image for the life cycle in mutable command buffers and specify that there is no need to set all the kernel arguments before recording it. * make changes in the original life cycle image * changes according to Ewan's comments * Update opencl_runtime_layer.asciidoc * Update cl_khr_command_buffer_mutable_dispatch.asciidoc * Update .gitignore and documentation for command buffer states * Update api/opencl_runtime_layer.asciidoc Co-authored-by: Ewan Crawford <[email protected]> * Update cl_khr_command_buffer_mutable_dispatch.asciidoc and cl.xml for experimental status and enum reordering * Update api/cl_khr_command_buffer_mutable_dispatch.asciidoc Co-authored-by: Ewan Crawford <[email protected]> * Update opencl_runtime_layer.asciidoc and cl.xml to enhance command buffer error handling and state requirements * remove Pending state form command buffer lifecycle * move CL_COMMAND_BUFFER_STATE_FINALIZED_KHR to cl_khr_command_buffer_mutable_dispatch * Update api/opencl_runtime_layer.asciidoc Co-authored-by: Ewan Crawford <[email protected]> * Update api/opencl_runtime_layer.asciidoc Co-authored-by: Ewan Crawford <[email protected]> --------- Signed-off-by: Kevin Petit <[email protected]> Signed-off-by: Sven van Haastregt <[email protected]> Signed-off-by: Ben Ashbaugh <[email protected]> Signed-off-by: Gowtham Tammana <[email protected]> Co-authored-by: Ewan Crawford <[email protected]> Co-authored-by: Sun Serega <[email protected]> Co-authored-by: joshqti <[email protected]> Co-authored-by: Jon Leech <[email protected]> Co-authored-by: Ben Ashbaugh <[email protected]> Co-authored-by: Kévin Petit <[email protected]> Co-authored-by: Alastair Murray <[email protected]> Co-authored-by: Sreelakshmi Haridas Maruthur <[email protected]> Co-authored-by: Joshua Kelly <[email protected]> Co-authored-by: jebasamuelimg <[email protected]> Co-authored-by: paulfradgley <[email protected]> Co-authored-by: Yuki K <[email protected]> Co-authored-by: Ewan Crawford <[email protected]> Co-authored-by: Kévin Petit <[email protected]> Co-authored-by: Sven van Haastregt <[email protected]> Co-authored-by: Nikhil Joshi <[email protected]> Co-authored-by: Grzegorz Wawiorko <[email protected]> Co-authored-by: tomasz-platek <[email protected]> Co-authored-by: Karol Herbst <[email protected]> Co-authored-by: Gowtham Tammana <[email protected]> Co-authored-by: Sreelakshmi Haridas Maruthur <[email protected]> Co-authored-by: Chuang-Yu Cheng <[email protected]> Co-authored-by: ssugumar-mstk <[email protected]> Co-authored-by: Fraser Cormack <[email protected]> Co-authored-by: Wenju He <[email protected]> Co-authored-by: Pekka Jääskeläinen <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Draft specification: #1019
Change-Id: Id096c7ab542d6fe04a5f7ae7cdbd031755ca15c8