@@ -628,7 +628,7 @@ clRemapCommandBufferKHR(
628628 "cl_khr_command_buffer_mutable_dispatch"
629629
630630
631- #define CL_KHR_COMMAND_BUFFER_MUTABLE_DISPATCH_EXTENSION_VERSION CL_MAKE_VERSION(0, 9, 4 )
631+ #define CL_KHR_COMMAND_BUFFER_MUTABLE_DISPATCH_EXTENSION_VERSION CL_MAKE_VERSION(0, 9, 5 )
632632
633633typedef cl_uint cl_command_buffer_update_type_khr ;
634634typedef cl_bitfield cl_mutable_dispatch_fields_khr ;
@@ -745,6 +745,9 @@ clGetMutableCommandInfoKHR(
745745
746746#endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
747747
748+ /* cl_command_buffer_state_khr */
749+ #define CL_COMMAND_BUFFER_STATE_FINALIZED_KHR 2
750+
748751#endif /* defined(CL_ENABLE_BETA_EXTENSIONS) */
749752
750753/***************************************************************
@@ -4263,6 +4266,222 @@ typedef cl_bitfield cl_device_kernel_clock_capabilities_khr;
42634266
42644267#define CL_KHR_SUBGROUP_SHUFFLE_RELATIVE_EXTENSION_VERSION CL_MAKE_VERSION(1, 0, 0)
42654268
4269+ /***************************************************************
4270+ * cl_khr_unified_svm (beta)
4271+ ***************************************************************/
4272+ #if defined(CL_ENABLE_BETA_EXTENSIONS )
4273+
4274+ #if defined(CL_VERSION_2_0 )
4275+
4276+ #define cl_khr_unified_svm 1
4277+ #define CL_KHR_UNIFIED_SVM_EXTENSION_NAME \
4278+ "cl_khr_unified_svm"
4279+
4280+
4281+ #define CL_KHR_UNIFIED_SVM_EXTENSION_VERSION CL_MAKE_VERSION(0, 9, 0)
4282+
4283+ /* cl_platform_info */
4284+ #define CL_PLATFORM_SVM_TYPE_CAPABILITIES_KHR 0x0909
4285+
4286+ /* cl_device_info */
4287+ #define CL_DEVICE_SVM_TYPE_CAPABILITIES_KHR 0x1077
4288+
4289+ typedef cl_bitfield cl_svm_capabilities_khr ;
4290+
4291+ /* cl_svm_capabilities_khr - bitfield */
4292+ #define CL_SVM_CAPABILITY_SINGLE_ADDRESS_SPACE_KHR (1 << 0)
4293+ #define CL_SVM_CAPABILITY_SYSTEM_ALLOCATED_KHR (1 << 1)
4294+ #define CL_SVM_CAPABILITY_DEVICE_OWNED_KHR (1 << 2)
4295+ #define CL_SVM_CAPABILITY_DEVICE_UNASSOCIATED_KHR (1 << 3)
4296+ #define CL_SVM_CAPABILITY_CONTEXT_ACCESS_KHR (1 << 4)
4297+ #define CL_SVM_CAPABILITY_HOST_OWNED_KHR (1 << 5)
4298+ #define CL_SVM_CAPABILITY_HOST_READ_KHR (1 << 6)
4299+ #define CL_SVM_CAPABILITY_HOST_WRITE_KHR (1 << 7)
4300+ #define CL_SVM_CAPABILITY_HOST_MAP_KHR (1 << 8)
4301+ #define CL_SVM_CAPABILITY_DEVICE_READ_KHR (1 << 9)
4302+ #define CL_SVM_CAPABILITY_DEVICE_WRITE_KHR (1 << 10)
4303+ #define CL_SVM_CAPABILITY_DEVICE_ATOMIC_ACCESS_KHR (1 << 11)
4304+ #define CL_SVM_CAPABILITY_CONCURRENT_ACCESS_KHR (1 << 12)
4305+ #define CL_SVM_CAPABILITY_CONCURRENT_ATOMIC_ACCESS_KHR (1 << 13)
4306+ #define CL_SVM_CAPABILITY_INDIRECT_ACCESS_KHR (1 << 14)
4307+
4308+ typedef cl_properties cl_svm_alloc_properties_khr ;
4309+ typedef cl_bitfield cl_svm_alloc_access_flags_khr ;
4310+ typedef cl_properties cl_svm_free_properties_khr ;
4311+ typedef cl_bitfield cl_svm_free_flags_khr ;
4312+ typedef cl_uint cl_svm_pointer_info_khr ;
4313+
4314+ /* cl_svm_alloc_properties_khr */
4315+ #define CL_SVM_ALLOC_ASSOCIATED_DEVICE_HANDLE_KHR 0x2078
4316+ #define CL_SVM_ALLOC_ACCESS_FLAGS_KHR 0x2079
4317+ #define CL_SVM_ALLOC_ALIGNMENT_KHR 0x207A
4318+
4319+ /* cl_svm_alloc_access_flags_khr */
4320+ #define CL_SVM_ALLOC_ACCESS_HOST_NOREAD_KHR (1 << 0)
4321+ #define CL_SVM_ALLOC_ACCESS_HOST_NOWRITE_KHR (1 << 1)
4322+ #define CL_SVM_ALLOC_ACCESS_DEVICE_NOREAD_KHR (1 << 8)
4323+ #define CL_SVM_ALLOC_ACCESS_DEVICE_NOWRITE_KHR (1 << 9)
4324+
4325+ /* cl_svm_pointer_info_khr */
4326+ #define CL_SVM_INFO_TYPE_INDEX_KHR 0x2088
4327+ #define CL_SVM_INFO_CAPABILITIES_KHR 0x2089
4328+ #define CL_SVM_INFO_PROPERTIES_KHR 0x208A
4329+ #define CL_SVM_INFO_ACCESS_FLAGS_KHR 0x208B
4330+ #define CL_SVM_INFO_BASE_PTR_KHR 0x419B
4331+ #define CL_SVM_INFO_SIZE_KHR 0x419C
4332+ #define CL_SVM_INFO_ASSOCIATED_DEVICE_HANDLE_KHR 0x419D
4333+
4334+ /* cl_kernel_exec_info */
4335+ #define CL_KERNEL_EXEC_INFO_SVM_INDIRECT_ACCESS_KHR 0x11BB
4336+
4337+ /* SVM type convenience macros */
4338+ #define CL_SVM_TYPE_MACRO_COARSE_GRAIN_BUFFER_KHR \
4339+ (CL_SVM_CAPABILITY_SINGLE_ADDRESS_SPACE_KHR | \
4340+ CL_SVM_CAPABILITY_DEVICE_UNASSOCIATED_KHR | \
4341+ CL_SVM_CAPABILITY_CONTEXT_ACCESS_KHR | \
4342+ CL_SVM_CAPABILITY_HOST_MAP_KHR | \
4343+ CL_SVM_CAPABILITY_DEVICE_READ_KHR | \
4344+ CL_SVM_CAPABILITY_DEVICE_WRITE_KHR | \
4345+ CL_SVM_CAPABILITY_DEVICE_ATOMIC_ACCESS_KHR)
4346+ #define CL_SVM_TYPE_MACRO_FINE_GRAIN_BUFFER_KHR \
4347+ (CL_SVM_CAPABILITY_SINGLE_ADDRESS_SPACE_KHR | \
4348+ CL_SVM_CAPABILITY_DEVICE_UNASSOCIATED_KHR | \
4349+ CL_SVM_CAPABILITY_CONTEXT_ACCESS_KHR | \
4350+ CL_SVM_CAPABILITY_HOST_READ_KHR | \
4351+ CL_SVM_CAPABILITY_HOST_WRITE_KHR | \
4352+ CL_SVM_CAPABILITY_HOST_MAP_KHR | \
4353+ CL_SVM_CAPABILITY_DEVICE_READ_KHR | \
4354+ CL_SVM_CAPABILITY_DEVICE_WRITE_KHR | \
4355+ CL_SVM_CAPABILITY_DEVICE_ATOMIC_ACCESS_KHR | \
4356+ CL_SVM_CAPABILITY_CONCURRENT_ACCESS_KHR)
4357+ #define CL_SVM_TYPE_MACRO_DEVICE_KHR \
4358+ (CL_SVM_CAPABILITY_SINGLE_ADDRESS_SPACE_KHR | \
4359+ CL_SVM_CAPABILITY_DEVICE_OWNED_KHR | \
4360+ CL_SVM_CAPABILITY_DEVICE_READ_KHR | \
4361+ CL_SVM_CAPABILITY_DEVICE_WRITE_KHR | \
4362+ CL_SVM_CAPABILITY_DEVICE_ATOMIC_ACCESS_KHR | \
4363+ CL_SVM_CAPABILITY_INDIRECT_ACCESS_KHR)
4364+ #define CL_SVM_TYPE_MACRO_HOST_KHR \
4365+ (CL_SVM_CAPABILITY_SINGLE_ADDRESS_SPACE_KHR | \
4366+ CL_SVM_CAPABILITY_DEVICE_UNASSOCIATED_KHR | \
4367+ CL_SVM_CAPABILITY_CONTEXT_ACCESS_KHR | \
4368+ CL_SVM_CAPABILITY_HOST_OWNED_KHR | \
4369+ CL_SVM_CAPABILITY_HOST_READ_KHR | \
4370+ CL_SVM_CAPABILITY_HOST_WRITE_KHR | \
4371+ CL_SVM_CAPABILITY_DEVICE_READ_KHR | \
4372+ CL_SVM_CAPABILITY_DEVICE_WRITE_KHR | \
4373+ CL_SVM_CAPABILITY_INDIRECT_ACCESS_KHR)
4374+ #define CL_SVM_TYPE_MACRO_SINGLE_DEVICE_SHARED_KHR \
4375+ (CL_SVM_CAPABILITY_SINGLE_ADDRESS_SPACE_KHR | \
4376+ CL_SVM_CAPABILITY_HOST_READ_KHR | \
4377+ CL_SVM_CAPABILITY_HOST_WRITE_KHR | \
4378+ CL_SVM_CAPABILITY_DEVICE_READ_KHR | \
4379+ CL_SVM_CAPABILITY_DEVICE_WRITE_KHR | \
4380+ CL_SVM_CAPABILITY_INDIRECT_ACCESS_KHR)
4381+ #define CL_SVM_TYPE_MACRO_SYSTEM_KHR \
4382+ (CL_SVM_CAPABILITY_SINGLE_ADDRESS_SPACE_KHR | \
4383+ CL_SVM_CAPABILITY_SYSTEM_ALLOCATED_KHR | \
4384+ CL_SVM_CAPABILITY_DEVICE_UNASSOCIATED_KHR | \
4385+ CL_SVM_CAPABILITY_CONTEXT_ACCESS_KHR | \
4386+ CL_SVM_CAPABILITY_HOST_READ_KHR | \
4387+ CL_SVM_CAPABILITY_HOST_WRITE_KHR | \
4388+ CL_SVM_CAPABILITY_HOST_MAP_KHR | \
4389+ CL_SVM_CAPABILITY_DEVICE_READ_KHR | \
4390+ CL_SVM_CAPABILITY_DEVICE_WRITE_KHR | \
4391+ CL_SVM_CAPABILITY_DEVICE_ATOMIC_ACCESS_KHR | \
4392+ CL_SVM_CAPABILITY_CONCURRENT_ACCESS_KHR | \
4393+ CL_SVM_CAPABILITY_CONCURRENT_ATOMIC_ACCESS_KHR | \
4394+ CL_SVM_CAPABILITY_INDIRECT_ACCESS_KHR)
4395+
4396+
4397+ typedef void * CL_API_CALL
4398+ clSVMAllocWithPropertiesKHR_t (
4399+ cl_context context ,
4400+ const cl_svm_alloc_properties_khr * properties ,
4401+ cl_uint svm_type_index ,
4402+ size_t size ,
4403+ cl_int * errcode_ret );
4404+
4405+ typedef clSVMAllocWithPropertiesKHR_t *
4406+ clSVMAllocWithPropertiesKHR_fn ;
4407+
4408+ typedef cl_int CL_API_CALL
4409+ clSVMFreeWithPropertiesKHR_t (
4410+ cl_context context ,
4411+ const cl_svm_free_properties_khr * properties ,
4412+ cl_svm_free_flags_khr flags ,
4413+ void * ptr );
4414+
4415+ typedef clSVMFreeWithPropertiesKHR_t *
4416+ clSVMFreeWithPropertiesKHR_fn ;
4417+
4418+ typedef cl_int CL_API_CALL
4419+ clGetSVMPointerInfoKHR_t (
4420+ cl_context context ,
4421+ cl_device_id device ,
4422+ const void * ptr ,
4423+ cl_svm_pointer_info_khr param_name ,
4424+ size_t param_value_size ,
4425+ void * param_value ,
4426+ size_t * param_value_size_ret );
4427+
4428+ typedef clGetSVMPointerInfoKHR_t *
4429+ clGetSVMPointerInfoKHR_fn ;
4430+
4431+ typedef cl_int CL_API_CALL
4432+ clGetSVMSuggestedTypeIndexKHR_t (
4433+ cl_context context ,
4434+ cl_svm_capabilities_khr required_capabilities ,
4435+ cl_svm_capabilities_khr desired_capabilities ,
4436+ const cl_svm_alloc_properties_khr * properties ,
4437+ size_t size ,
4438+ cl_uint * suggested_svm_type_index );
4439+
4440+ typedef clGetSVMSuggestedTypeIndexKHR_t *
4441+ clGetSVMSuggestedTypeIndexKHR_fn ;
4442+
4443+ #if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES )
4444+
4445+ extern CL_API_ENTRY void * CL_API_CALL
4446+ clSVMAllocWithPropertiesKHR (
4447+ cl_context context ,
4448+ const cl_svm_alloc_properties_khr * properties ,
4449+ cl_uint svm_type_index ,
4450+ size_t size ,
4451+ cl_int * errcode_ret ) ;
4452+
4453+ extern CL_API_ENTRY cl_int CL_API_CALL
4454+ clSVMFreeWithPropertiesKHR (
4455+ cl_context context ,
4456+ const cl_svm_free_properties_khr * properties ,
4457+ cl_svm_free_flags_khr flags ,
4458+ void * ptr ) ;
4459+
4460+ extern CL_API_ENTRY cl_int CL_API_CALL
4461+ clGetSVMPointerInfoKHR (
4462+ cl_context context ,
4463+ cl_device_id device ,
4464+ const void * ptr ,
4465+ cl_svm_pointer_info_khr param_name ,
4466+ size_t param_value_size ,
4467+ void * param_value ,
4468+ size_t * param_value_size_ret ) ;
4469+
4470+ extern CL_API_ENTRY cl_int CL_API_CALL
4471+ clGetSVMSuggestedTypeIndexKHR (
4472+ cl_context context ,
4473+ cl_svm_capabilities_khr required_capabilities ,
4474+ cl_svm_capabilities_khr desired_capabilities ,
4475+ const cl_svm_alloc_properties_khr * properties ,
4476+ size_t size ,
4477+ cl_uint * suggested_svm_type_index ) ;
4478+
4479+ #endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
4480+
4481+ #endif /* defined(CL_VERSION_2_0) */
4482+
4483+ #endif /* defined(CL_ENABLE_BETA_EXTENSIONS) */
4484+
42664485/***************************************************************
42674486* cl_khr_work_group_uniform_arithmetic
42684487***************************************************************/
0 commit comments