1 #include <CL/cl_gl.h>
2 #include <platform/icd_test_log.h>
3
4 // Need to rename all CL API functions to prevent ICD loader functions calling
5 // themselves via the dispatch table. Include this before cl headers.
6 #include "rename_api.h"
7
8 #define SIZE_T_MAX (size_t) 0xFFFFFFFFFFFFFFFFULL
9
10 CL_API_ENTRY cl_mem CL_API_CALL
clCreateFromGLBuffer(cl_context context,cl_mem_flags flags,cl_GLuint bufret_mem,int * errcode_ret)11 clCreateFromGLBuffer(cl_context context ,
12 cl_mem_flags flags ,
13 cl_GLuint bufret_mem ,
14 int * errcode_ret ) CL_API_SUFFIX__VERSION_1_0
15 {
16 cl_mem ret_mem = (cl_mem)(SIZE_T_MAX);
17 test_icd_stub_log("clCreateFromGLBuffer(%p, %x, %u, %p)\n",
18 context,
19 flags,
20 bufret_mem,
21 errcode_ret);
22 test_icd_stub_log("Value returned: %p\n",
23 ret_mem);
24 return ret_mem;
25 }
26
27 CL_API_ENTRY cl_mem CL_API_CALL
clCreateFromGLTexture(cl_context context,cl_mem_flags flags,cl_GLenum target,cl_GLint miplevel,cl_GLuint texture,cl_int * errcode_ret)28 clCreateFromGLTexture(cl_context context ,
29 cl_mem_flags flags ,
30 cl_GLenum target ,
31 cl_GLint miplevel ,
32 cl_GLuint texture ,
33 cl_int * errcode_ret ) CL_API_SUFFIX__VERSION_1_2
34 {
35 cl_mem ret_mem = (cl_mem)(SIZE_T_MAX);
36 test_icd_stub_log("clCreateFromGLTexture(%p, %x, %d, %d, %u, %p)\n",
37 context ,
38 flags ,
39 target ,
40 miplevel ,
41 texture ,
42 errcode_ret );
43 test_icd_stub_log("Value returned: %p\n",
44 ret_mem);
45 return ret_mem;
46 }
47
48 CL_API_ENTRY cl_mem CL_API_CALL
clCreateFromGLTexture2D(cl_context context,cl_mem_flags flags,cl_GLenum target,cl_GLint miplevel,cl_GLuint texture,cl_int * errcode_ret)49 clCreateFromGLTexture2D(cl_context context,
50 cl_mem_flags flags,
51 cl_GLenum target,
52 cl_GLint miplevel,
53 cl_GLuint texture,
54 cl_int * errcode_ret ) CL_API_SUFFIX__VERSION_1_0
55 {
56 cl_mem ret_mem = (cl_mem)(SIZE_T_MAX);
57 test_icd_stub_log("clCreateFromGLTexture2D(%p, %x, %d, %d, %u, %p)\n",
58 context,
59 flags,
60 target,
61 miplevel,
62 texture,
63 errcode_ret );
64 test_icd_stub_log("Value returned: %p\n",
65 ret_mem);
66 return ret_mem;
67 }
68
69 CL_API_ENTRY cl_mem CL_API_CALL
clCreateFromGLTexture3D(cl_context context,cl_mem_flags flags,cl_GLenum target,cl_GLint miplevel,cl_GLuint texture,cl_int * errcode_ret)70 clCreateFromGLTexture3D(cl_context context,
71 cl_mem_flags flags,
72 cl_GLenum target,
73 cl_GLint miplevel,
74 cl_GLuint texture,
75 cl_int * errcode_ret ) CL_API_SUFFIX__VERSION_1_0
76
77 {
78 cl_mem ret_mem = (cl_mem)(SIZE_T_MAX);
79 test_icd_stub_log("clCreateFromGLTexture3D(%p, %x, %d, %d, %u, %p)\n",
80 context,
81 flags,
82 target,
83 miplevel,
84 texture,
85 errcode_ret );
86 test_icd_stub_log("Value returned: %p\n",
87 ret_mem);
88 return ret_mem;
89 }
90
91 CL_API_ENTRY cl_mem CL_API_CALL
clCreateFromGLRenderbuffer(cl_context context,cl_mem_flags flags,cl_GLuint renderbuffer,cl_int * errcode_ret)92 clCreateFromGLRenderbuffer(cl_context context,
93 cl_mem_flags flags,
94 cl_GLuint renderbuffer,
95 cl_int * errcode_ret ) CL_API_SUFFIX__VERSION_1_0
96 {
97 cl_mem ret_mem = (cl_mem)(SIZE_T_MAX);
98 test_icd_stub_log("clCreateFromGLRenderbuffer(%p, %x, %d, %p)\n",
99 context,
100 flags,
101 renderbuffer,
102 errcode_ret);
103 test_icd_stub_log("Value returned: %p\n",
104 ret_mem);
105 return ret_mem;
106 }
107
108 CL_API_ENTRY cl_int CL_API_CALL
clGetGLObjectInfo(cl_mem memobj,cl_gl_object_type * gl_object_type,cl_GLuint * gl_object_name)109 clGetGLObjectInfo(cl_mem memobj,
110 cl_gl_object_type * gl_object_type,
111 cl_GLuint * gl_object_name ) CL_API_SUFFIX__VERSION_1_0
112 {
113 cl_int ret_val = -5;
114 test_icd_stub_log("clGetGLObjectInfo(%p, %p, %p)\n",
115 memobj,
116 gl_object_type,
117 gl_object_name);
118 test_icd_stub_log("Value returned: %p\n",
119 ret_val);
120 return ret_val;
121 }
122
123 CL_API_ENTRY cl_int CL_API_CALL
clGetGLTextureInfo(cl_mem memobj,cl_gl_texture_info param_name,size_t param_value_size,void * param_value,size_t * param_value_size_ret)124 clGetGLTextureInfo(cl_mem memobj,
125 cl_gl_texture_info param_name,
126 size_t param_value_size,
127 void * param_value,
128 size_t * param_value_size_ret ) CL_API_SUFFIX__VERSION_1_0
129 {
130 cl_int ret_val = -5;
131 test_icd_stub_log("clGetGLTextureInfo(%p, %u, %u, %p, %p)\n",
132 memobj,
133 param_name,
134 param_value_size,
135 param_value,
136 param_value_size_ret );
137 test_icd_stub_log("Value returned: %p\n",
138 ret_val);
139 return ret_val;
140 }
141
142 CL_API_ENTRY cl_int CL_API_CALL
clEnqueueAcquireGLObjects(cl_command_queue command_queue,cl_uint num_objects,const cl_mem * mem_objects,cl_uint num_events_in_wait_list,const cl_event * event_wait_list,cl_event * event)143 clEnqueueAcquireGLObjects(cl_command_queue command_queue,
144 cl_uint num_objects,
145 const cl_mem * mem_objects,
146 cl_uint num_events_in_wait_list,
147 const cl_event * event_wait_list,
148 cl_event * event ) CL_API_SUFFIX__VERSION_1_0
149 {
150 cl_int ret_val = -5;
151 test_icd_stub_log("clEnqueueAcquireGLObjects(%p, %u, %p, %u, %p, %p)\n",
152 command_queue,
153 num_objects,
154 mem_objects,
155 num_events_in_wait_list,
156 event_wait_list,
157 event);
158
159 test_icd_stub_log("Value returned: %p\n",
160 ret_val);
161 return ret_val;
162 }
163
164 CL_API_ENTRY cl_int CL_API_CALL
clEnqueueReleaseGLObjects(cl_command_queue command_queue,cl_uint num_objects,const cl_mem * mem_objects,cl_uint num_events_in_wait_list,const cl_event * event_wait_list,cl_event * event)165 clEnqueueReleaseGLObjects(cl_command_queue command_queue,
166 cl_uint num_objects,
167 const cl_mem * mem_objects,
168 cl_uint num_events_in_wait_list,
169 const cl_event * event_wait_list,
170 cl_event * event ) CL_API_SUFFIX__VERSION_1_0
171
172 {
173 cl_int ret_val = -5;
174 test_icd_stub_log("clEnqueueReleaseGLObjects(%p, %u, %p, %u, %p, %p)\n",
175 command_queue,
176 num_objects,
177 mem_objects,
178 num_events_in_wait_list,
179 event_wait_list,
180 event);
181 test_icd_stub_log("Value returned: %p\n",
182 ret_val);
183 return ret_val;
184 }
185
186 CL_API_ENTRY cl_int CL_API_CALL
clGetGLContextInfoKHR(const cl_context_properties * properties,cl_gl_context_info param_name,size_t param_value_size,void * param_value,size_t * param_value_size_ret)187 clGetGLContextInfoKHR(const cl_context_properties * properties,
188 cl_gl_context_info param_name,
189 size_t param_value_size,
190 void * param_value,
191 size_t * param_value_size_ret ) CL_API_SUFFIX__VERSION_1_0
192 {
193 cl_int ret_val = -5;
194 test_icd_stub_log("clGetGLContextInfoKHR(%p, %u, %u, %p, %p)\n",
195 properties,
196 param_name,
197 param_value_size,
198 param_value,
199 param_value_size_ret);
200
201 test_icd_stub_log("Value returned: %p\n",
202 ret_val);
203 return ret_val;
204 }
205
206 CL_API_ENTRY cl_event CL_API_CALL
clCreateEventFromGLsyncKHR(cl_context context,cl_GLsync cl_GLsync,cl_int * errcode_ret)207 clCreateEventFromGLsyncKHR(cl_context context ,
208 cl_GLsync cl_GLsync ,
209 cl_int * errcode_ret ) CL_API_SUFFIX__VERSION_1_1
210
211 {
212 cl_event ret_event = (cl_event)(SIZE_T_MAX);
213 test_icd_stub_log("clCreateEventFromGLsyncKHR(%p, %p, %p)\n",
214 context,
215 cl_GLsync,
216 errcode_ret);
217 test_icd_stub_log("Value returned: %p\n",
218 ret_event);
219 return ret_event;
220 }
221