From abd742f3aef2d441c08026d28b363edb9e760acb Mon Sep 17 00:00:00 2001 From: Sun Serega Date: Sat, 1 Jul 2023 17:14:50 +0300 Subject: [PATCH 1/7] --- xml/cl.xml | 81 ++++++++++++++++++++++++++++++++++++++++-------- xml/registry.rnc | 18 +++++++++-- 2 files changed, 84 insertions(+), 15 deletions(-) diff --git a/xml/cl.xml b/xml/cl.xml index 219e2c5f1..0d9d5e41f 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -372,6 +372,61 @@ server's OpenCL/api-docs repository. cl_uint num_mutable_dispatch const cl_mutable_dispatch_config_khr* mutable_dispatch_list + + + void + cl_command_queue queue + cl_uint num_svm_pointers + void* svm_pointers[] + void* user_data + + + + void + const char* errinfo + const void* private_info + size_t cb + void* user_data + + + + void + cl_context context + void* user_data + + + + void + cl_mem memobj + void* user_data + + + + void + cl_program program + void* user_data + + + + void + cl_event event + cl_int event_command_status + void* user_data + + + + void + void* user_data + + + + void + const char* buffer + size_t len + size_t complete + void* user_data + + @@ -2720,7 +2775,7 @@ server's OpenCL/api-docs repository. cl_command_queue command_queue cl_uint num_svm_pointers void* svm_pointers[] - void (CL_CALLBACK* pfn_free_func)(cl_command_queue queue, cl_uint num_svm_pointers, void * svm_pointers[], void *user_data) + cl_enqueue_svm_free_callback pfn_free_func void* user_data cl_uint num_events_in_wait_list const cl_event* event_wait_list @@ -3297,7 +3352,7 @@ server's OpenCL/api-docs repository. const cl_context_properties* properties cl_uint num_devices const cl_device_id* devices - void (CL_CALLBACK* pfn_notify)(const char* errinfo, const void* private_info, size_t cb, void* user_data) + cl_create_context_callback pfn_notify void* user_data cl_int* errcode_ret @@ -3305,7 +3360,7 @@ server's OpenCL/api-docs repository. cl_context clCreateContextFromType const cl_context_properties* properties cl_device_type device_type - void (CL_CALLBACK* pfn_notify)(const char* errinfo, const void* private_info, size_t cb, void* user_data) + cl_create_context_callback pfn_notify void* user_data cl_int* errcode_ret @@ -3328,7 +3383,7 @@ server's OpenCL/api-docs repository. cl_int clSetContextDestructorCallback cl_context context - void (CL_CALLBACK* pfn_notify)(cl_context context, void* user_data) + cl_context_destructor_callback pfn_notify void* user_data @@ -3451,13 +3506,13 @@ server's OpenCL/api-docs repository. cl_int clSetMemObjectDestructorCallback cl_mem memobj - void (CL_CALLBACK* pfn_notify)(cl_mem memobj, void* user_data) + cl_mem_object_destructor_callback pfn_notify void* user_data cl_int clSetMemObjectDestructorAPPLE cl_mem memobj - void (CL_CALLBACK* pfn_notify)(cl_mem memobj, void* user_data) + cl_mem_object_destructor_callback pfn_notify void* user_data @@ -3541,7 +3596,7 @@ server's OpenCL/api-docs repository. cl_uint num_devices const cl_device_id* device_list const char* options - void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data) + cl_program_callback pfn_notify void* user_data @@ -3553,7 +3608,7 @@ server's OpenCL/api-docs repository. cl_uint num_input_headers const cl_program* input_headers const char** header_include_names - void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data) + cl_program_callback pfn_notify void* user_data @@ -3564,14 +3619,14 @@ server's OpenCL/api-docs repository. const char* options cl_uint num_input_programs const cl_program* input_programs - void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data) + cl_program_callback pfn_notify void* user_data cl_int* errcode_ret cl_int clSetProgramReleaseCallback cl_program program - void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data) + cl_program_callback pfn_notify void* user_data @@ -3720,7 +3775,7 @@ server's OpenCL/api-docs repository. cl_int clSetEventCallback cl_event event cl_int command_exec_callback_type - void (CL_CALLBACK* pfn_notify)(cl_event event, cl_int event_command_status, void *user_data) + cl_event_callback pfn_notify void* user_data @@ -3974,7 +4029,7 @@ server's OpenCL/api-docs repository. cl_int clEnqueueNativeKernel cl_command_queue command_queue - void (CL_CALLBACK* user_func)(void*) + cl_enqueue_native_kernel_callback user_func void* args size_t cb_args cl_uint num_mem_objects @@ -4003,7 +4058,7 @@ server's OpenCL/api-docs repository. cl_command_queue command_queue cl_uint num_svm_pointers void* svm_pointers[] - void (CL_CALLBACK* pfn_free_func)(cl_command_queue queue, cl_uint num_svm_pointers, void* svm_pointers[], void* user_data) + cl_enqueue_svm_free_callback pfn_free_func void* user_data cl_uint num_events_in_wait_list const cl_event* event_wait_list diff --git a/xml/registry.rnc b/xml/registry.rnc index d2055e79f..fd79e8dd4 100644 --- a/xml/registry.rnc +++ b/xml/registry.rnc @@ -82,7 +82,7 @@ Types = element types { # api - matches a api attribute, if present # requires - name of another type definition required by this one # category - if present, 'enum' indicates a matching -# 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', @@ -122,6 +122,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 # - containing arbitrary text (unused) +# For types with category 'function', contents should be one and zero or more +# - contains a single tag, indicating return value of function pointer +# - like tag in # # *** There's a problem here: I'm not sure how to represent the # syntax where it may contain arbitrarily interleaved text, , and @@ -169,7 +172,18 @@ Type = element type { } } | element comment { text } - ) * + ) * | + ( + element proto { + element type { TypeName } + } , + element param { + mixed { + element type { TypeName } ? , + element name { text } ? + } + } * + ) ) } From 1d4454755699f3adaea7d41976d2d675b712158b Mon Sep 17 00:00:00 2001 From: Sun Serega Date: Fri, 5 Sep 2025 17:50:21 +0200 Subject: [PATCH 2/7] add function types to --- xml/cl.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/xml/cl.xml b/xml/cl.xml index 62c19cb92..60b2d3bf4 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -4679,6 +4679,9 @@ server's OpenCL/api-docs repository. + + + @@ -5185,6 +5188,8 @@ server's OpenCL/api-docs repository. + + @@ -5451,6 +5456,7 @@ server's OpenCL/api-docs repository. + @@ -5636,6 +5642,7 @@ server's OpenCL/api-docs repository. + @@ -5916,6 +5923,7 @@ server's OpenCL/api-docs repository. + @@ -6390,6 +6398,7 @@ server's OpenCL/api-docs repository. + From 9f334df03051282343cb4a287f1d7e537c8f28cb Mon Sep 17 00:00:00 2001 From: Sun Serega Date: Sat, 18 Oct 2025 02:06:04 +0200 Subject: [PATCH 3/7] rename callbacks --- xml/cl.xml | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/xml/cl.xml b/xml/cl.xml index 2e46a8fa3..17d644c57 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -463,7 +463,7 @@ server's OpenCL/api-docs repository. CL_SVM_CAPABILITY_CONCURRENT_ATOMIC_ACCESS_KHR | \ CL_SVM_CAPABILITY_INDIRECT_ACCESS_KHR) - + void cl_command_queue queue cl_uint num_svm_pointers @@ -471,7 +471,7 @@ server's OpenCL/api-docs repository. void* user_data - + void const char* errinfo const void* private_info @@ -479,13 +479,13 @@ server's OpenCL/api-docs repository. void* user_data - + void cl_context context void* user_data - + void cl_mem memobj void* user_data @@ -497,14 +497,14 @@ server's OpenCL/api-docs repository. void* user_data - + void cl_event event cl_int event_command_status void* user_data - + void void* user_data @@ -3002,7 +3002,7 @@ server's OpenCL/api-docs repository. cl_command_queue command_queue cl_uint num_svm_pointers void* svm_pointers[] - cl_enqueue_svm_free_callback pfn_free_func + cl_free_svm_callback pfn_free_func void* user_data cl_uint num_events_in_wait_list const cl_event* event_wait_list @@ -3650,7 +3650,7 @@ server's OpenCL/api-docs repository. const cl_context_properties* properties cl_uint num_devices const cl_device_id* devices - cl_create_context_callback pfn_notify + cl_context_error_callback pfn_notify void* user_data cl_int* errcode_ret @@ -3658,7 +3658,7 @@ server's OpenCL/api-docs repository. cl_context clCreateContextFromType const cl_context_properties* properties cl_device_type device_type - cl_create_context_callback pfn_notify + cl_context_error_callback pfn_notify void* user_data cl_int* errcode_ret @@ -3681,7 +3681,7 @@ server's OpenCL/api-docs repository. cl_int clSetContextDestructorCallback cl_context context - cl_context_destructor_callback pfn_notify + cl_context_destruction_callback pfn_notify void* user_data @@ -3804,13 +3804,13 @@ server's OpenCL/api-docs repository. cl_int clSetMemObjectDestructorCallback cl_mem memobj - cl_mem_object_destructor_callback pfn_notify + cl_mem_object_destruction_callback pfn_notify void* user_data cl_int clSetMemObjectDestructorAPPLE cl_mem memobj - cl_mem_object_destructor_callback pfn_notify + cl_mem_object_destruction_callback pfn_notify void* user_data @@ -4079,7 +4079,7 @@ server's OpenCL/api-docs repository. cl_int clSetEventCallback cl_event event cl_int command_exec_callback_type - cl_event_callback pfn_notify + cl_event_status_change_callback pfn_notify void* user_data @@ -4333,7 +4333,7 @@ server's OpenCL/api-docs repository. cl_int clEnqueueNativeKernel cl_command_queue command_queue - cl_enqueue_native_kernel_callback user_func + cl_native_kernel_callback user_func void* args size_t cb_args cl_uint num_mem_objects @@ -4362,7 +4362,7 @@ server's OpenCL/api-docs repository. cl_command_queue command_queue cl_uint num_svm_pointers void* svm_pointers[] - cl_enqueue_svm_free_callback pfn_free_func + cl_free_svm_callback pfn_free_func void* user_data cl_uint num_events_in_wait_list const cl_event* event_wait_list @@ -4680,9 +4680,9 @@ server's OpenCL/api-docs repository. - + - + @@ -5189,8 +5189,8 @@ server's OpenCL/api-docs repository. - - + + @@ -5457,7 +5457,7 @@ server's OpenCL/api-docs repository. - + @@ -5643,7 +5643,7 @@ server's OpenCL/api-docs repository. - + @@ -5924,7 +5924,7 @@ server's OpenCL/api-docs repository. - + @@ -6400,7 +6400,7 @@ server's OpenCL/api-docs repository. - + From 81b0230159072801f791993d10e70103a6d1fd96 Mon Sep 17 00:00:00 2001 From: Sun Serega Date: Sun, 19 Oct 2025 15:57:43 +0200 Subject: [PATCH 4/7] fix tests --- xml/cl.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/xml/cl.xml b/xml/cl.xml index 17d644c57..06d03c2ce 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -463,7 +463,7 @@ server's OpenCL/api-docs repository. CL_SVM_CAPABILITY_CONCURRENT_ATOMIC_ACCESS_KHR | \ CL_SVM_CAPABILITY_INDIRECT_ACCESS_KHR) - + void cl_command_queue queue cl_uint num_svm_pointers @@ -471,7 +471,7 @@ server's OpenCL/api-docs repository. void* user_data - + void const char* errinfo const void* private_info @@ -479,37 +479,37 @@ server's OpenCL/api-docs repository. void* user_data - + void cl_context context void* user_data - + void cl_mem memobj void* user_data - + void cl_program program void* user_data - + void cl_event event cl_int event_command_status void* user_data - + void void* user_data - + void const char* buffer size_t len From 296e1d498d542048d90332e10a6e0ceacb738e77 Mon Sep 17 00:00:00 2001 From: Sun Serega Date: Tue, 28 Oct 2025 12:38:13 +0100 Subject: [PATCH 5/7] cl_program_destruction_callback --- xml/cl.xml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/xml/cl.xml b/xml/cl.xml index 06d03c2ce..e740e861f 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -497,6 +497,12 @@ server's OpenCL/api-docs repository. void* user_data + + void + cl_program program + void* user_data + + void cl_event event @@ -3924,7 +3930,7 @@ server's OpenCL/api-docs repository. cl_int clSetProgramReleaseCallback cl_program program - cl_program_callback pfn_notify + cl_program_destruction_callback pfn_notify void* user_data @@ -5619,6 +5625,9 @@ server's OpenCL/api-docs repository. + + + From c28b73ca198abb1369f4f039edff2e61a1cf5456 Mon Sep 17 00:00:00 2001 From: Sun Serega Date: Tue, 28 Oct 2025 12:38:59 +0100 Subject: [PATCH 6/7] add guards --- xml/cl.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xml/cl.xml b/xml/cl.xml index e740e861f..65296e6d3 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -5933,6 +5933,8 @@ server's OpenCL/api-docs repository. + + @@ -6409,6 +6411,8 @@ server's OpenCL/api-docs repository. + + From 766cf1254d62e95975c7a3f76c2bdcdf3795bb2c Mon Sep 17 00:00:00 2001 From: Sun Serega Date: Tue, 28 Oct 2025 12:42:36 +0100 Subject: [PATCH 7/7] add cl_printf_callback to --- xml/cl.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xml/cl.xml b/xml/cl.xml index 65296e6d3..b0907351f 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -6135,6 +6135,9 @@ server's OpenCL/api-docs repository. + + +