Skip to content

Commit da46ffc

Browse files
authored
regenerate extension headers with support for cl_khr_unified_svm (#290)
1 parent 5d52989 commit da46ffc

2 files changed

Lines changed: 217 additions & 0 deletions

File tree

CL/cl_ext.h

Lines changed: 216 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4263,6 +4263,222 @@ typedef cl_bitfield cl_device_kernel_clock_capabilities_khr;
42634263

42644264
#define CL_KHR_SUBGROUP_SHUFFLE_RELATIVE_EXTENSION_VERSION CL_MAKE_VERSION(1, 0, 0)
42654265

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

CL/cl_layer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ extern "C" {
5656

5757
#define CL_LOADER_LAYERS_EXTENSION_VERSION CL_MAKE_VERSION(1, 0, 0)
5858

59+
typedef struct _cl_icd_dispatch cl_icd_dispatch;
5960
typedef cl_uint cl_layer_info;
6061
typedef cl_uint cl_layer_api_version;
6162

0 commit comments

Comments
 (0)