Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 92 additions & 13 deletions xml/cl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,66 @@ server's OpenCL/api-docs repository.
CL_SVM_CAPABILITY_CONCURRENT_ATOMIC_ACCESS_KHR | \
CL_SVM_CAPABILITY_INDIRECT_ACCESS_KHR)</type>

<type category="funcpointer" name="cl_free_svm_callback">
<proto><type>void</type></proto>
<param><type>cl_command_queue</type> <name>queue</name></param>
<param><type>cl_uint</type> <name>num_svm_pointers</name></param>
<param><type>void</type>* <name>svm_pointers</name>[]</param>
<param><type>void</type>* <name>user_data</name></param>
</type>

<type category="funcpointer" name="cl_context_error_callback">
<proto><type>void</type></proto>
<param>const <type>char</type>* <name>errinfo</name></param>
<param>const <type>void</type>* <name>private_info</name></param>
<param><type>size_t</type> <name>cb</name></param>
<param><type>void</type>* <name>user_data</name></param>
</type>

<type category="funcpointer" name="cl_context_destruction_callback">
<proto><type>void</type></proto>
<param><type>cl_context</type> <name>context</name></param>
<param><type>void</type>* <name>user_data</name></param>
</type>

<type category="funcpointer" name="cl_mem_object_destruction_callback">
<proto><type>void</type></proto>
<param><type>cl_mem</type> <name>memobj</name></param>
<param><type>void</type>* <name>user_data</name></param>
</type>

<type category="funcpointer" name="cl_program_callback">
<proto><type>void</type></proto>
<param><type>cl_program</type> <name>program</name></param>
<param><type>void</type>* <name>user_data</name></param>
</type>

<type category="funcpointer" name="cl_program_destruction_callback">
<proto><type>void</type></proto>
<param><type>cl_program</type> <name>program</name></param>
<param><type>void</type>* <name>user_data</name></param>
</type>

<type category="funcpointer" name="cl_event_status_change_callback">
<proto><type>void</type></proto>
<param><type>cl_event</type> <name>event</name></param>
<param><type>cl_int</type> <name>event_command_status</name></param>
<param><type>void</type>* <name>user_data</name></param>
</type>

<type category="funcpointer" name="cl_native_kernel_callback">
<proto><type>void</type></proto>
<param><type>void</type>* <name>user_data</name></param>
</type>

<type category="funcpointer" name="cl_printf_callback">
<proto><type>void</type></proto>
<param>const <type>char</type>* <name>buffer</name></param>
<param><type>size_t</type> <name>len</name></param>
<param><type>size_t</type> <name>complete</name></param>
<param><type>void</type>* <name>user_data</name></param>
</type>

</types>

<!-- SECTION: OpenCL enumerant (token) definitions. -->
Expand Down Expand Up @@ -2948,7 +3008,7 @@ server's OpenCL/api-docs repository.
<param><type>cl_command_queue</type> <name>command_queue</name></param>
<param><type>cl_uint</type> <name>num_svm_pointers</name></param>
<param><type>void</type>* <name>svm_pointers</name>[]</param>
<param>void (CL_CALLBACK* <name>pfn_free_func</name>)(cl_command_queue queue, cl_uint num_svm_pointers, void * svm_pointers[], void *user_data)</param>
<param><type>cl_free_svm_callback</type> <name>pfn_free_func</name></param>
<param><type>void</type>* <name>user_data</name></param>
<param><type>cl_uint</type> <name>num_events_in_wait_list</name></param>
<param>const <type>cl_event</type>* <name>event_wait_list</name></param>
Expand Down Expand Up @@ -3596,15 +3656,15 @@ server's OpenCL/api-docs repository.
<param>const <type>cl_context_properties</type>* <name>properties</name></param>
<param><type>cl_uint</type> <name>num_devices</name></param>
<param>const <type>cl_device_id</type>* <name>devices</name></param>
<param>void (CL_CALLBACK* <name>pfn_notify</name>)(const char* errinfo, const void* private_info, size_t cb, void* user_data)</param>
<param><type>cl_context_error_callback</type> <name>pfn_notify</name></param>
<param><type>void</type>* <name>user_data</name></param>
<param><type>cl_int</type>* <name>errcode_ret</name></param>
</command>
<command suffix="CL_API_SUFFIX__VERSION_1_0">
<proto><type>cl_context</type> <name>clCreateContextFromType</name></proto>
<param>const <type>cl_context_properties</type>* <name>properties</name></param>
<param><type>cl_device_type</type> <name>device_type</name></param>
<param>void (CL_CALLBACK* <name>pfn_notify</name>)(const char* errinfo, const void* private_info, size_t cb, void* user_data)</param>
<param><type>cl_context_error_callback</type> <name>pfn_notify</name></param>
<param><type>void</type>* <name>user_data</name></param>
<param><type>cl_int</type>* <name>errcode_ret</name></param>
</command>
Expand All @@ -3627,7 +3687,7 @@ server's OpenCL/api-docs repository.
<command suffix="CL_API_SUFFIX__VERSION_3_0">
<proto><type>cl_int</type> <name>clSetContextDestructorCallback</name></proto>
<param><type>cl_context</type> <name>context</name></param>
<param>void (CL_CALLBACK* <name>pfn_notify</name>)(cl_context context, void* user_data)</param>
<param><type>cl_context_destruction_callback</type> <name>pfn_notify</name></param>
<param><type>void</type>* <name>user_data</name></param>
</command>
<command suffix="CL_API_SUFFIX__VERSION_2_0">
Expand Down Expand Up @@ -3750,13 +3810,13 @@ server's OpenCL/api-docs repository.
<command suffix="CL_API_SUFFIX__VERSION_1_1">
<proto><type>cl_int</type> <name>clSetMemObjectDestructorCallback</name></proto>
<param><type>cl_mem</type> <name>memobj</name></param>
<param>void (CL_CALLBACK* <name>pfn_notify</name>)(cl_mem memobj, void* user_data)</param>
<param><type>cl_mem_object_destruction_callback</type> <name>pfn_notify</name></param>
<param><type>void</type>* <name>user_data</name></param>
</command>
<command suffix="CL_API_SUFFIX__VERSION_1_0">
<proto><type>cl_int</type> <name>clSetMemObjectDestructorAPPLE</name></proto>
<param><type>cl_mem</type> <name>memobj</name></param>
<param>void (CL_CALLBACK* <name>pfn_notify</name>)(cl_mem memobj, void* user_data)</param>
<param><type>cl_mem_object_destruction_callback</type> <name>pfn_notify</name></param>
<param><type>void</type>* <name>user_data</name></param>
</command>
<command suffix="CL_API_SUFFIX__VERSION_2_0">
Expand Down Expand Up @@ -3840,7 +3900,7 @@ server's OpenCL/api-docs repository.
<param><type>cl_uint</type> <name>num_devices</name></param>
<param>const <type>cl_device_id</type>* <name>device_list</name></param>
<param>const <type>char</type>* <name>options</name></param>
<param>void (CL_CALLBACK* <name>pfn_notify</name>)(cl_program program, void* user_data)</param>
<param><type>cl_program_callback</type> <name>pfn_notify</name></param>
<param><type>void</type>* <name>user_data</name></param>
</command>
<command suffix="CL_API_SUFFIX__VERSION_1_2">
Expand All @@ -3852,7 +3912,7 @@ server's OpenCL/api-docs repository.
<param><type>cl_uint</type> <name>num_input_headers</name></param>
<param>const <type>cl_program</type>* <name>input_headers</name></param>
<param>const <type>char</type>** <name>header_include_names</name></param>
<param>void (CL_CALLBACK* <name>pfn_notify</name>)(cl_program program, void* user_data)</param>
<param><type>cl_program_callback</type> <name>pfn_notify</name></param>
<param><type>void</type>* <name>user_data</name></param>
</command>
<command suffix="CL_API_SUFFIX__VERSION_1_2">
Expand All @@ -3863,14 +3923,14 @@ server's OpenCL/api-docs repository.
<param>const <type>char</type>* <name>options</name></param>
<param><type>cl_uint</type> <name>num_input_programs</name></param>
<param>const <type>cl_program</type>* <name>input_programs</name></param>
<param>void (CL_CALLBACK* <name>pfn_notify</name>)(cl_program program, void* user_data)</param>
<param><type>cl_program_callback</type> <name>pfn_notify</name></param>
<param><type>void</type>* <name>user_data</name></param>
<param><type>cl_int</type>* <name>errcode_ret</name></param>
</command>
<command prefix="CL_API_PREFIX__VERSION_2_2_DEPRECATED" suffix="CL_API_SUFFIX__VERSION_2_2_DEPRECATED">
<proto><type>cl_int</type> <name>clSetProgramReleaseCallback</name></proto>
<param><type>cl_program</type> <name>program</name></param>
<param>void (CL_CALLBACK* <name>pfn_notify</name>)(cl_program program, void* user_data)</param>
<param><type>cl_program_destruction_callback</type> <name>pfn_notify</name></param>
<param><type>void</type>* <name>user_data</name></param>
</command>
<command suffix="CL_API_SUFFIX__VERSION_2_2">
Expand Down Expand Up @@ -4025,7 +4085,7 @@ server's OpenCL/api-docs repository.
<proto><type>cl_int</type> <name>clSetEventCallback</name></proto>
<param><type>cl_event</type> <name>event</name></param>
<param><type>cl_int</type> <name>command_exec_callback_type</name></param>
<param>void (CL_CALLBACK* <name>pfn_notify</name>)(cl_event event, cl_int event_command_status, void *user_data)</param>
<param><type>cl_event_status_change_callback</type> <name>pfn_notify</name></param>
<param><type>void</type>* <name>user_data</name></param>
</command>
<command suffix="CL_API_SUFFIX__VERSION_1_0">
Expand Down Expand Up @@ -4279,7 +4339,7 @@ server's OpenCL/api-docs repository.
<command suffix="CL_API_SUFFIX__VERSION_1_0">
<proto><type>cl_int</type> <name>clEnqueueNativeKernel</name></proto>
<param><type>cl_command_queue</type> <name>command_queue</name></param>
<param>void (CL_CALLBACK* <name>user_func</name>)(void*)</param>
<param><type>cl_native_kernel_callback</type> <name>user_func</name></param>
<param><type>void</type>* <name>args</name></param>
<param><type>size_t</type> <name>cb_args</name></param>
<param><type>cl_uint</type> <name>num_mem_objects</name></param>
Expand Down Expand Up @@ -4308,7 +4368,7 @@ server's OpenCL/api-docs repository.
<param><type>cl_command_queue</type> <name>command_queue</name></param>
<param><type>cl_uint</type> <name>num_svm_pointers</name></param>
<param><type>void</type>* <name>svm_pointers</name>[]</param>
<param>void (CL_CALLBACK* <name>pfn_free_func</name>)(cl_command_queue queue, cl_uint num_svm_pointers, void* svm_pointers[], void* user_data)</param>
<param><type>cl_free_svm_callback</type> <name>pfn_free_func</name></param>
<param><type>void</type>* <name>user_data</name></param>
<param><type>cl_uint</type> <name>num_events_in_wait_list</name></param>
<param>const <type>cl_event</type>* <name>event_wait_list</name></param>
Expand Down Expand Up @@ -4626,6 +4686,9 @@ server's OpenCL/api-docs repository.
<type name="cl_profiling_info"/>
<type name="cl_image_format"/>
<type name="cl_buffer_region"/>
<type name="cl_context_error_callback"/>
<type name="cl_program_callback"/>
<type name="cl_native_kernel_callback"/>
</require>
<require comment="Constants">
<enum name="CL_CHAR_BIT"/>
Expand Down Expand Up @@ -5132,6 +5195,8 @@ server's OpenCL/api-docs repository.
<feature api="opencl" name="CL_VERSION_1_1" number="1.1" comment="OpenCL core API interface definitions">
<require>
<type name="cl_buffer_create_type"/>
<type name="cl_mem_object_destruction_callback"/>
<type name="cl_event_status_change_callback"/>
</require>
<require comment="Constants">
<enum name="CL_NAN"/>
Expand Down Expand Up @@ -5398,6 +5463,7 @@ server's OpenCL/api-docs repository.
<type name="cl_pipe_info"/>
<type name="cl_sampler_properties"/>
<type name="cl_kernel_exec_info"/>
<type name="cl_free_svm_callback"/>
</require>
<require comment="Error codes">
<enum name="CL_INVALID_PIPE_SIZE"/>
Expand Down Expand Up @@ -5559,6 +5625,9 @@ server's OpenCL/api-docs repository.
</feature>

<feature api="opencl" name="CL_VERSION_2_2" number="2.2" comment="OpenCL core API interface definitions">
<require>
<type name="cl_program_destruction_callback"/>
</require>
<require comment="Error codes">
<enum name="CL_INVALID_SPEC_ID"/>
<enum name="CL_MAX_SIZE_RESTRICTION_EXCEEDED"/>
Expand All @@ -5583,6 +5652,7 @@ server's OpenCL/api-docs repository.
<type name="cl_mem_properties"/>
<type name="cl_version"/>
<type name="cl_name_version"/>
<type name="cl_context_destruction_callback"/>
</require>
<require comment="cl_device_atomic_capabilities - bitfield">
<enum name="CL_DEVICE_ATOMIC_ORDER_RELAXED"/>
Expand Down Expand Up @@ -5864,6 +5934,9 @@ server's OpenCL/api-docs repository.
<require>
<type name="CL/cl.h"/>
</require>
<require condition="!defined(CL_VERSION_1_1)" comment="defined in CL.h for OpenCL 1.1 and newer">
<type name="cl_mem_object_destruction_callback"/>
</require>
<require>
<command name="clSetMemObjectDestructorAPPLE"/>
</require>
Expand Down Expand Up @@ -6062,6 +6135,9 @@ server's OpenCL/api-docs repository.
<require>
<type name="CL/cl.h"/>
</require>
<require>
<type name="cl_printf_callback"/>
</require>
<require comment="cl_context_properties">
<enum name="CL_PRINTF_CALLBACK_ARM"/>
<enum name="CL_PRINTF_BUFFERSIZE_ARM"/>
Expand Down Expand Up @@ -6339,6 +6415,9 @@ server's OpenCL/api-docs repository.
<type name="cl_kernel_exec_info_arm"/>
<type name="cl_device_svm_capabilities_arm"/>
</require>
<require condition="!defined(CL_VERSION_2_0)" comment="defined in CL.h for OpenCL 2.0 and newer">
<type name="cl_free_svm_callback"/>
</require>
<require comment="cl_device_info">
<enum name="CL_DEVICE_SVM_CAPABILITIES_ARM"/>
</require>
Expand Down
18 changes: 16 additions & 2 deletions xml/registry.rnc
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Types = element types {
# bitvalues - for a *Flags type, name of an enum definition that
# defines the valid values for parameters of that type
# category - if present, 'enum' indicates a matching <enums>
# block to generate an enumerated type for, and 'struct'
# block to generate an enumerated type for, and 'struct'/'function'
# causes special interpretation of the contents of the type
# tag including ... TBD ...
# Other allowed values are 'include', 'define', 'handle' and 'bitmask',
Expand Down Expand Up @@ -123,6 +123,9 @@ Types = element types {
# noautovalidity - tag stating that no automatic validity language should be generated
# values - comma-separated list of legal values, usually used only for sType enums
# <comment> - containing arbitrary text (unused)
# For types with category 'function', contents should be one <proto> and zero or more <param>
# <proto> - contains a single <type> tag, indicating return value of function pointer
# <param> - like <param> tag in <command>
#
# *** There is a problem here: I am not sure how to represent the <type>
# syntax where it may contain arbitrarily interleaved text, <type>, and
Expand Down Expand Up @@ -178,7 +181,18 @@ Type = element type {
} +
} |
element comment { text }
) *
) * |
(
element proto {
element type { TypeName }
} ,
element param {
mixed {
element type { TypeName } ? ,
element name { text } ?
}
} *
)
)
}

Expand Down