17 #ifndef __OPENCL_CL_VA_API_MEDIA_SHARING_INTEL_H
18 #define __OPENCL_CL_VA_API_MEDIA_SHARING_INTEL_H
21 #include <CL/cl_platform.h>
32 #define cl_intel_va_api_media_sharing 1
35 #define CL_INVALID_VA_API_MEDIA_ADAPTER_INTEL -1098
36 #define CL_INVALID_VA_API_MEDIA_SURFACE_INTEL -1099
37 #define CL_VA_API_MEDIA_SURFACE_ALREADY_ACQUIRED_INTEL -1100
38 #define CL_VA_API_MEDIA_SURFACE_NOT_ACQUIRED_INTEL -1101
41 #define CL_VA_API_DISPLAY_INTEL 0x4094
44 #define CL_PREFERRED_DEVICES_FOR_VA_API_INTEL 0x4095
45 #define CL_ALL_DEVICES_FOR_VA_API_INTEL 0x4096
48 #define CL_CONTEXT_VA_API_DISPLAY_INTEL 0x4097
51 #define CL_MEM_VA_API_MEDIA_SURFACE_INTEL 0x4098
54 #define CL_IMAGE_VA_API_PLANE_INTEL 0x4099
57 #define CL_COMMAND_ACQUIRE_VA_API_MEDIA_SURFACES_INTEL 0x409A
58 #define CL_COMMAND_RELEASE_VA_API_MEDIA_SURFACES_INTEL 0x409B
60 typedef cl_uint cl_va_api_device_source_intel;
61 typedef cl_uint cl_va_api_device_set_intel;
63 extern CL_API_ENTRY cl_int CL_API_CALL
64 clGetDeviceIDsFromVA_APIMediaAdapterINTEL(
65 cl_platform_id platform,
66 cl_va_api_device_source_intel media_adapter_type,
68 cl_va_api_device_set_intel media_adapter_set,
70 cl_device_id* devices,
71 cl_uint* num_devices) CL_API_SUFFIX__VERSION_1_2;
73 typedef CL_API_ENTRY cl_int (CL_API_CALL * clGetDeviceIDsFromVA_APIMediaAdapterINTEL_fn)(
74 cl_platform_id platform,
75 cl_va_api_device_source_intel media_adapter_type,
77 cl_va_api_device_set_intel media_adapter_set,
79 cl_device_id* devices,
80 cl_uint* num_devices) CL_API_SUFFIX__VERSION_1_2;
82 extern CL_API_ENTRY cl_mem CL_API_CALL
83 clCreateFromVA_APIMediaSurfaceINTEL(
88 cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
90 typedef CL_API_ENTRY cl_mem (CL_API_CALL * clCreateFromVA_APIMediaSurfaceINTEL_fn)(
95 cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
97 extern CL_API_ENTRY cl_int CL_API_CALL
98 clEnqueueAcquireVA_APIMediaSurfacesINTEL(
99 cl_command_queue command_queue,
101 const cl_mem* mem_objects,
102 cl_uint num_events_in_wait_list,
103 const cl_event* event_wait_list,
104 cl_event* event) CL_API_SUFFIX__VERSION_1_2;
106 typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireVA_APIMediaSurfacesINTEL_fn)(
107 cl_command_queue command_queue,
109 const cl_mem* mem_objects,
110 cl_uint num_events_in_wait_list,
111 const cl_event* event_wait_list,
112 cl_event* event) CL_API_SUFFIX__VERSION_1_2;
114 extern CL_API_ENTRY cl_int CL_API_CALL
115 clEnqueueReleaseVA_APIMediaSurfacesINTEL(
116 cl_command_queue command_queue,
118 const cl_mem* mem_objects,
119 cl_uint num_events_in_wait_list,
120 const cl_event* event_wait_list,
121 cl_event* event) CL_API_SUFFIX__VERSION_1_2;
123 typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseVA_APIMediaSurfacesINTEL_fn)(
124 cl_command_queue command_queue,
126 const cl_mem* mem_objects,
127 cl_uint num_events_in_wait_list,
128 const cl_event* event_wait_list,
129 cl_event* event) CL_API_SUFFIX__VERSION_1_2;