Skip to content

Commit

Permalink
Use array for clUpdateMutableCommandsKHR
Browse files Browse the repository at this point in the history
Proposal to pass the update configs to `clUpdateMutableCommandsKHR` as
an array, rather than pointer changed linked list.

See KhronosGroup/OpenCL-Docs#1041 for
motivation.
  • Loading branch information
EwanC committed Jun 19, 2024
1 parent dcf7d4f commit 9fed87c
Showing 1 changed file with 14 additions and 22 deletions.
36 changes: 14 additions & 22 deletions CL/cl_ext.h
Original file line number Diff line number Diff line change
Expand Up @@ -605,9 +605,9 @@ clRemapCommandBufferKHR(


#define CL_KHR_COMMAND_BUFFER_MUTABLE_DISPATCH_EXTENSION_VERSION \
CL_MAKE_VERSION(0, 9, 1)
CL_MAKE_VERSION(0, 9, 2)

typedef cl_uint cl_command_buffer_structure_type_khr;
typedef cl_uint cl_command_buffer_update_type_khr;
typedef cl_bitfield cl_mutable_dispatch_fields_khr;
typedef cl_uint cl_mutable_command_info_khr;
typedef struct _cl_mutable_dispatch_arg_khr {
Expand All @@ -620,9 +620,8 @@ typedef struct _cl_mutable_dispatch_exec_info_khr {
size_t param_value_size;
const void* param_value;
} cl_mutable_dispatch_exec_info_khr;
typedef struct _cl_mutable_dispatch_config_khr {
cl_command_buffer_structure_type_khr type;
const void* next;
typedef struct _cl_mutable_dispatch_config_khr
{
cl_mutable_command_khr command;
cl_uint num_args;
cl_uint num_svm_args;
Expand All @@ -635,12 +634,6 @@ typedef struct _cl_mutable_dispatch_config_khr {
const size_t* global_work_size;
const size_t* local_work_size;
} cl_mutable_dispatch_config_khr;
typedef struct _cl_mutable_base_config_khr {
cl_command_buffer_structure_type_khr type;
const void* next;
cl_uint num_mutable_dispatch;
const cl_mutable_dispatch_config_khr* mutable_dispatch_list;
} cl_mutable_base_config_khr;
typedef cl_bitfield cl_mutable_dispatch_asserts_khr;

/* cl_command_buffer_flags_khr - bitfield */
Expand Down Expand Up @@ -673,9 +666,8 @@ typedef cl_bitfield cl_mutable_dispatch_asserts_khr;
#define CL_MUTABLE_DISPATCH_GLOBAL_WORK_SIZE_KHR 0x12A6
#define CL_MUTABLE_DISPATCH_LOCAL_WORK_SIZE_KHR 0x12A7

/* cl_command_buffer_structure_type_khr */
#define CL_STRUCTURE_TYPE_MUTABLE_BASE_CONFIG_KHR 0
#define CL_STRUCTURE_TYPE_MUTABLE_DISPATCH_CONFIG_KHR 1
/* cl_command_buffer_update_type_khr */
#define CL_STRUCTURE_TYPE_MUTABLE_DISPATCH_CONFIG_KHR 0

/* cl_command_buffer_properties_khr */
#define CL_COMMAND_BUFFER_MUTABLE_DISPATCH_ASSERTS_KHR 0x12B7
Expand All @@ -687,10 +679,10 @@ typedef cl_bitfield cl_mutable_dispatch_asserts_khr;
#define CL_MUTABLE_DISPATCH_ASSERT_NO_ADDITIONAL_WORK_GROUPS_KHR (1 << 0)


typedef cl_int CL_API_CALL
clUpdateMutableCommandsKHR_t(
cl_command_buffer_khr command_buffer,
const cl_mutable_base_config_khr* mutable_config);
typedef cl_int CL_API_CALL clUpdateMutableCommandsKHR_t(
cl_command_buffer_khr command_buffer, cl_uint num_configs,
const cl_command_buffer_update_type_khr* config_types,
const void** configs);

typedef clUpdateMutableCommandsKHR_t *
clUpdateMutableCommandsKHR_fn ;
Expand All @@ -708,10 +700,10 @@ clGetMutableCommandInfoKHR_fn ;

#if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)

extern CL_API_ENTRY cl_int CL_API_CALL
clUpdateMutableCommandsKHR(
cl_command_buffer_khr command_buffer,
const cl_mutable_base_config_khr* mutable_config) ;
extern CL_API_ENTRY cl_int CL_API_CALL clUpdateMutableCommandsKHR(
cl_command_buffer_khr command_buffer, cl_uint num_configs,
const cl_command_buffer_update_type_khr* config_types,
const void** configs);

extern CL_API_ENTRY cl_int CL_API_CALL
clGetMutableCommandInfoKHR(
Expand Down

0 comments on commit 9fed87c

Please sign in to comment.