| OpenCL extension specification template. |
| Revision $Revision: 10641 $ last modified on $Date: 2010-03-10 00:30:25 -0800 (Wed, 10 Mar 2010) $. |
| |
| An extension specification is a (usually) plain text file containing a |
| series of sections describing different aspects of the extension. Fields |
| to be filled in for an actual extension specification are described in |
| the text in <angle brackets> following each section header. |
| |
| For an example of a published extension following this template, see |
| |
| http://www.khronos.org/registry/cl/extensions/khr/cl_khr_gl_sharing.txt |
| |
| ---------------------------- TEMPLATE STARTS HERE ---------------------------- |
| |
| XXX - Not complete yet!!! |
| |
| <Leave the XXX warning in until the extension is complete, and |
| preferably implemented and approved by the appropriate group.> |
| |
| Name Strings |
| |
| <The name returned in the platform or device extension string |
| corresponding to this extension. Names should be of the form |
| cl_<prefix>_<name> where <prefix> is "khr" for a Khronos-approved |
| extension, a vendor tag for a single-vendor extension, and "ext" for |
| a multivendor (but not Khronos-approved) extension. Use the same |
| prefix as for other Khronos API extensions, such as OpenGL. |
| Precedent suggests that the vendor/multivendor tags should be |
| lowercase for OpenCL even though they're uppercase for all other |
| APIs.> |
| |
| Contributors |
| |
| <List contributors to the extension specification and their |
| affiliations, one person/line.> |
| |
| Contact |
| |
| <List the principal extension author and their email address, |
| preferably obfuscated by e.g. changing the "@" into "'at'" or |
| similar.> |
| |
| IP Status |
| |
| <List any known IP claims bearing on the functionality of the |
| extension, e.g. published IP disclosures to Khronos, patent numbers, |
| pointers to IP statements by companies, etc. If no claims or |
| disclosures are known to exist state that instead.> |
| |
| Version |
| |
| <Document revision number and modification date, |
| e.g. "Version 7, April 27, 2009" or similar> |
| |
| Number |
| |
| <"TBD" until the extension is completed and posted to the |
| Khronos Registry> |
| |
| Status |
| |
| <E.g. "Complete. Version ## approved by the OpenCL Working Group." or |
| "Incomplete - DO NOT SHIP" or similar. When an extension is ratified |
| by the Khronos Promoters, note that as well, along with the date.> |
| |
| Extension Type |
| |
| <Either "OpenCL platform extension" or "OpenCL device extension"> |
| |
| Dependencies |
| |
| <List all dependencies on minimum core versions of OpenCL (e.g. |
| "OpenCL 1.0 is required"), other required extensions, and other |
| required features (e.g. "OpenGL 3.1 is required"). Also list any |
| existing registered extensions which this extension is modified by, |
| should they be present, in a form like "This extension is affected |
| by CL_<prefix>_<name>". Also describe which release of the OpenCL |
| specification document this extension is written against.> |
| |
| Overview |
| |
| <Brief summary of what the extension is for, what functionality |
| it provides, and why someone might want to use it> |
| |
| Header File |
| |
| <List the OpenCL header file which will define the extension API |
| interfaces, if there is an API component.> |
| |
| New Procedures and Functions |
| |
| <List each new entry point in the form used in the OpenCL |
| Specification. New entry points must end with the same <prefix> as |
| in the extension name, but the <prefix> should be uppercase instead |
| of lowercase, e.g. "clNewFunctionKHR".> |
| |
| New Tokens |
| |
| <List each new token together with its assigned hexadecimal value. |
| Until values are assigned by the Khronos Registrar from the |
| enumerant registry (see |
| https://cvs.khronos.org/svn/repos/registry/trunk/cl/token_registry.txt |
| in Khronos Subversion), use the value "0x????". |
| |
| New token names must end with '_' followed by the same <prefix> as |
| new entry points. Precede tokens by a summary of which functions |
| they are used in and how. Examples: |
| |
| Returned by clCreateContext when an invalid OpenCL context |
| is specified in properties: |
| |
| CL_INVALID_GL_CONTEXT_KHR 0x???? |
| |
| Accepted as the <param_name> argument of clGetGLContextInfoKHR: |
| |
| CL_CGL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR 0x???? |
| > |
| |
| Additions to Chapter NNN / Appendix AAA of the OpenCL <version> Specification |
| |
| <For each section of the Specification modified by this extension, |
| write a corresponding section describing those changes. Typically |
| this is done by describing the section and paragraph of the change, |
| followed by new language in quotes (again, see gl_sharing.txt).> |
| |
| Interactions with other extensions |
| |
| <When this extension modifies an existing extension's functionality, |
| for each such interaction, include a high-level section |
| "Interactions with CL_<prefix>_<name>" followed by a summary of the |
| interaction.> |
| |
| Issues |
| |
| <Keep track of issues encountered during the development of the |
| extension. Each issue should be numbered separately and include its |
| status (RESOLVED, UNRESOLVED, DISCUSSION, etc.) followed by as much |
| detail as appropriate. Don't delete issues unless they become |
| entirely irrelevant due to wholesale rewriting of the extension. |
| It's probably best not to renumber issues either.> |
| |
| Sample Code |
| |
| <Include any sample code, or a pointer to it, for using this |
| extension here.> |
| |
| Conformance Tests |
| |
| <Summarize conformances tests or conformance test proposals for this |
| extension here.> |
| |
| Revision History |
| |
| <List the revision history of the extension here. Each revision |
| should include its number, date of revision, author of the revision, |
| and a high-level summary of changes. Proposed Khronos extensions |
| should be maintained in Khronos Subversion prior to approval, in the |
| "drafts" area of the OpenCL Extension Registry: |
| |
| https://cvs.khronos.org/svn/repos/registry/trunk/cl/extensions/KHR/drafts/ |
| > |