1*1cddb830SAndroid Build Coastguard Worker #define CL_USE_DEPRECATED_OPENCL_1_0_APIS
2*1cddb830SAndroid Build Coastguard Worker #define CL_USE_DEPRECATED_OPENCL_1_1_APIS
3*1cddb830SAndroid Build Coastguard Worker
4*1cddb830SAndroid Build Coastguard Worker #include <CL/cl.h>
5*1cddb830SAndroid Build Coastguard Worker #include <CL/cl_gl.h>
6*1cddb830SAndroid Build Coastguard Worker #include "param_struct.h"
7*1cddb830SAndroid Build Coastguard Worker #include <platform/icd_test_log.h>
8*1cddb830SAndroid Build Coastguard Worker
9*1cddb830SAndroid Build Coastguard Worker extern cl_context context;
10*1cddb830SAndroid Build Coastguard Worker extern cl_mem buffer;
11*1cddb830SAndroid Build Coastguard Worker extern cl_command_queue command_queue;
12*1cddb830SAndroid Build Coastguard Worker extern cl_event event;
13*1cddb830SAndroid Build Coastguard Worker extern cl_context_properties context_properties[3];
14*1cddb830SAndroid Build Coastguard Worker
15*1cddb830SAndroid Build Coastguard Worker struct clCreateFromGLBuffer_st clCreateFromGLBufferData[NUM_ITEMS_clCreateFromGLBuffer] = {
16*1cddb830SAndroid Build Coastguard Worker {NULL, 0x0, 0, NULL}
17*1cddb830SAndroid Build Coastguard Worker };
18*1cddb830SAndroid Build Coastguard Worker
test_clCreateFromGLBuffer(const struct clCreateFromGLBuffer_st * data)19*1cddb830SAndroid Build Coastguard Worker int test_clCreateFromGLBuffer(const struct clCreateFromGLBuffer_st* data)
20*1cddb830SAndroid Build Coastguard Worker {
21*1cddb830SAndroid Build Coastguard Worker cl_mem ret_mem;
22*1cddb830SAndroid Build Coastguard Worker
23*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("clCreateFromGLBuffer(%p, %x, %u, %p)\n",
24*1cddb830SAndroid Build Coastguard Worker context,
25*1cddb830SAndroid Build Coastguard Worker data->flags,
26*1cddb830SAndroid Build Coastguard Worker data->bufobj,
27*1cddb830SAndroid Build Coastguard Worker data->errcode_ret);
28*1cddb830SAndroid Build Coastguard Worker
29*1cddb830SAndroid Build Coastguard Worker ret_mem = clCreateFromGLBuffer(context,
30*1cddb830SAndroid Build Coastguard Worker data->flags,
31*1cddb830SAndroid Build Coastguard Worker data->bufobj,
32*1cddb830SAndroid Build Coastguard Worker data->errcode_ret);
33*1cddb830SAndroid Build Coastguard Worker
34*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("Value returned: %p\n", ret_mem);
35*1cddb830SAndroid Build Coastguard Worker
36*1cddb830SAndroid Build Coastguard Worker return 0;
37*1cddb830SAndroid Build Coastguard Worker }
38*1cddb830SAndroid Build Coastguard Worker
39*1cddb830SAndroid Build Coastguard Worker struct clCreateFromGLTexture_st clCreateFromGLTextureData[NUM_ITEMS_clCreateFromGLTexture] = {
40*1cddb830SAndroid Build Coastguard Worker {NULL, 0x0, 0, 0, 0, NULL}
41*1cddb830SAndroid Build Coastguard Worker };
42*1cddb830SAndroid Build Coastguard Worker
test_clCreateFromGLTexture(const struct clCreateFromGLTexture_st * data)43*1cddb830SAndroid Build Coastguard Worker int test_clCreateFromGLTexture(const struct clCreateFromGLTexture_st* data)
44*1cddb830SAndroid Build Coastguard Worker {
45*1cddb830SAndroid Build Coastguard Worker cl_mem ret_mem;
46*1cddb830SAndroid Build Coastguard Worker
47*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("clCreateFromGLTexture(%p, %x, %d, %d, %u, %p)\n",
48*1cddb830SAndroid Build Coastguard Worker context,
49*1cddb830SAndroid Build Coastguard Worker data->flags,
50*1cddb830SAndroid Build Coastguard Worker data->texture_target,
51*1cddb830SAndroid Build Coastguard Worker data->miplevel,
52*1cddb830SAndroid Build Coastguard Worker data->texture,
53*1cddb830SAndroid Build Coastguard Worker data->errcode_ret);
54*1cddb830SAndroid Build Coastguard Worker
55*1cddb830SAndroid Build Coastguard Worker ret_mem = clCreateFromGLTexture(context,
56*1cddb830SAndroid Build Coastguard Worker data->flags,
57*1cddb830SAndroid Build Coastguard Worker data->texture_target,
58*1cddb830SAndroid Build Coastguard Worker data->miplevel,
59*1cddb830SAndroid Build Coastguard Worker data->texture,
60*1cddb830SAndroid Build Coastguard Worker data->errcode_ret);
61*1cddb830SAndroid Build Coastguard Worker
62*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("Value returned: %p\n", ret_mem);
63*1cddb830SAndroid Build Coastguard Worker
64*1cddb830SAndroid Build Coastguard Worker return 0;
65*1cddb830SAndroid Build Coastguard Worker }
66*1cddb830SAndroid Build Coastguard Worker
67*1cddb830SAndroid Build Coastguard Worker struct clCreateFromGLTexture2D_st clCreateFromGLTexture2DData[NUM_ITEMS_clCreateFromGLTexture2D] = {
68*1cddb830SAndroid Build Coastguard Worker {NULL, 0x0, 0, 0, 0, NULL}
69*1cddb830SAndroid Build Coastguard Worker };
70*1cddb830SAndroid Build Coastguard Worker
test_clCreateFromGLTexture2D(const struct clCreateFromGLTexture2D_st * data)71*1cddb830SAndroid Build Coastguard Worker int test_clCreateFromGLTexture2D(const struct clCreateFromGLTexture2D_st* data)
72*1cddb830SAndroid Build Coastguard Worker {
73*1cddb830SAndroid Build Coastguard Worker cl_mem ret_mem;
74*1cddb830SAndroid Build Coastguard Worker
75*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("clCreateFromGLTexture2D(%p, %x, %d, %d, %u, %p)\n",
76*1cddb830SAndroid Build Coastguard Worker context,
77*1cddb830SAndroid Build Coastguard Worker data->flags,
78*1cddb830SAndroid Build Coastguard Worker data->texture_target,
79*1cddb830SAndroid Build Coastguard Worker data->miplevel,
80*1cddb830SAndroid Build Coastguard Worker data->texture,
81*1cddb830SAndroid Build Coastguard Worker data->errcode_ret);
82*1cddb830SAndroid Build Coastguard Worker
83*1cddb830SAndroid Build Coastguard Worker ret_mem = clCreateFromGLTexture2D(context,
84*1cddb830SAndroid Build Coastguard Worker data->flags,
85*1cddb830SAndroid Build Coastguard Worker data->texture_target,
86*1cddb830SAndroid Build Coastguard Worker data->miplevel,
87*1cddb830SAndroid Build Coastguard Worker data->texture,
88*1cddb830SAndroid Build Coastguard Worker data->errcode_ret);
89*1cddb830SAndroid Build Coastguard Worker
90*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("Value returned: %p\n", ret_mem);
91*1cddb830SAndroid Build Coastguard Worker
92*1cddb830SAndroid Build Coastguard Worker return 0;
93*1cddb830SAndroid Build Coastguard Worker }
94*1cddb830SAndroid Build Coastguard Worker
95*1cddb830SAndroid Build Coastguard Worker struct clCreateFromGLTexture3D_st clCreateFromGLTexture3DData[NUM_ITEMS_clCreateFromGLTexture3D] = {
96*1cddb830SAndroid Build Coastguard Worker {NULL, 0, 0, 0, 0, NULL}
97*1cddb830SAndroid Build Coastguard Worker };
98*1cddb830SAndroid Build Coastguard Worker
test_clCreateFromGLTexture3D(const struct clCreateFromGLTexture3D_st * data)99*1cddb830SAndroid Build Coastguard Worker int test_clCreateFromGLTexture3D(const struct clCreateFromGLTexture3D_st* data)
100*1cddb830SAndroid Build Coastguard Worker {
101*1cddb830SAndroid Build Coastguard Worker cl_mem ret_mem;
102*1cddb830SAndroid Build Coastguard Worker
103*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("clCreateFromGLTexture3D(%p, %x, %d, %d, %u, %p)\n",
104*1cddb830SAndroid Build Coastguard Worker context,
105*1cddb830SAndroid Build Coastguard Worker data->flags,
106*1cddb830SAndroid Build Coastguard Worker data->texture_target,
107*1cddb830SAndroid Build Coastguard Worker data->miplevel,
108*1cddb830SAndroid Build Coastguard Worker data->texture,
109*1cddb830SAndroid Build Coastguard Worker data->errcode_ret);
110*1cddb830SAndroid Build Coastguard Worker
111*1cddb830SAndroid Build Coastguard Worker ret_mem = clCreateFromGLTexture3D(context,
112*1cddb830SAndroid Build Coastguard Worker data->flags,
113*1cddb830SAndroid Build Coastguard Worker data->texture_target,
114*1cddb830SAndroid Build Coastguard Worker data->miplevel,
115*1cddb830SAndroid Build Coastguard Worker data->texture,
116*1cddb830SAndroid Build Coastguard Worker data->errcode_ret);
117*1cddb830SAndroid Build Coastguard Worker
118*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("Value returned: %p\n", ret_mem);
119*1cddb830SAndroid Build Coastguard Worker
120*1cddb830SAndroid Build Coastguard Worker return 0;
121*1cddb830SAndroid Build Coastguard Worker }
122*1cddb830SAndroid Build Coastguard Worker
123*1cddb830SAndroid Build Coastguard Worker struct clCreateFromGLRenderbuffer_st clCreateFromGLRenderbufferData[NUM_ITEMS_clCreateFromGLRenderbuffer] = {
124*1cddb830SAndroid Build Coastguard Worker {NULL, 0x0, 0, NULL}
125*1cddb830SAndroid Build Coastguard Worker };
126*1cddb830SAndroid Build Coastguard Worker
test_clCreateFromGLRenderbuffer(const struct clCreateFromGLRenderbuffer_st * data)127*1cddb830SAndroid Build Coastguard Worker int test_clCreateFromGLRenderbuffer(const struct clCreateFromGLRenderbuffer_st* data)
128*1cddb830SAndroid Build Coastguard Worker {
129*1cddb830SAndroid Build Coastguard Worker cl_mem ret_mem;
130*1cddb830SAndroid Build Coastguard Worker
131*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("clCreateFromGLRenderbuffer(%p, %x, %d, %p)\n",
132*1cddb830SAndroid Build Coastguard Worker context,
133*1cddb830SAndroid Build Coastguard Worker data->flags,
134*1cddb830SAndroid Build Coastguard Worker data->renderbuffer,
135*1cddb830SAndroid Build Coastguard Worker data->errcode_ret);
136*1cddb830SAndroid Build Coastguard Worker
137*1cddb830SAndroid Build Coastguard Worker ret_mem = clCreateFromGLRenderbuffer(context,
138*1cddb830SAndroid Build Coastguard Worker data->flags,
139*1cddb830SAndroid Build Coastguard Worker data->renderbuffer,
140*1cddb830SAndroid Build Coastguard Worker data->errcode_ret);
141*1cddb830SAndroid Build Coastguard Worker
142*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("Value returned: %p\n", ret_mem);
143*1cddb830SAndroid Build Coastguard Worker
144*1cddb830SAndroid Build Coastguard Worker return 0;
145*1cddb830SAndroid Build Coastguard Worker }
146*1cddb830SAndroid Build Coastguard Worker
147*1cddb830SAndroid Build Coastguard Worker struct clGetGLObjectInfo_st clGetGLObjectInfoData[NUM_ITEMS_clGetGLObjectInfo] = {
148*1cddb830SAndroid Build Coastguard Worker {NULL, NULL, NULL}
149*1cddb830SAndroid Build Coastguard Worker };
150*1cddb830SAndroid Build Coastguard Worker
test_clGetGLObjectInfo(const struct clGetGLObjectInfo_st * data)151*1cddb830SAndroid Build Coastguard Worker int test_clGetGLObjectInfo(const struct clGetGLObjectInfo_st* data)
152*1cddb830SAndroid Build Coastguard Worker {
153*1cddb830SAndroid Build Coastguard Worker cl_int ret_val;
154*1cddb830SAndroid Build Coastguard Worker
155*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("clGetGLObjectInfo(%p, %p, %p)\n",
156*1cddb830SAndroid Build Coastguard Worker buffer,
157*1cddb830SAndroid Build Coastguard Worker data->gl_object_type,
158*1cddb830SAndroid Build Coastguard Worker data->gl_object_name);
159*1cddb830SAndroid Build Coastguard Worker
160*1cddb830SAndroid Build Coastguard Worker ret_val = clGetGLObjectInfo(buffer,
161*1cddb830SAndroid Build Coastguard Worker data->gl_object_type,
162*1cddb830SAndroid Build Coastguard Worker data->gl_object_name);
163*1cddb830SAndroid Build Coastguard Worker
164*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("Value returned: %p\n", ret_val);
165*1cddb830SAndroid Build Coastguard Worker
166*1cddb830SAndroid Build Coastguard Worker return ret_val;
167*1cddb830SAndroid Build Coastguard Worker
168*1cddb830SAndroid Build Coastguard Worker }
169*1cddb830SAndroid Build Coastguard Worker
170*1cddb830SAndroid Build Coastguard Worker struct clGetGLTextureInfo_st clGetGLTextureInfoData[NUM_ITEMS_clGetGLTextureInfo] = {
171*1cddb830SAndroid Build Coastguard Worker {NULL, 0, 0, NULL, NULL}
172*1cddb830SAndroid Build Coastguard Worker };
173*1cddb830SAndroid Build Coastguard Worker
test_clGetGLTextureInfo(const struct clGetGLTextureInfo_st * data)174*1cddb830SAndroid Build Coastguard Worker int test_clGetGLTextureInfo(const struct clGetGLTextureInfo_st* data)
175*1cddb830SAndroid Build Coastguard Worker {
176*1cddb830SAndroid Build Coastguard Worker cl_int ret_val;
177*1cddb830SAndroid Build Coastguard Worker
178*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("clGetGLTextureInfo(%p, %u, %u, %p, %p)\n",
179*1cddb830SAndroid Build Coastguard Worker buffer,
180*1cddb830SAndroid Build Coastguard Worker data->param_name,
181*1cddb830SAndroid Build Coastguard Worker data->param_value_size,
182*1cddb830SAndroid Build Coastguard Worker data->param_value,
183*1cddb830SAndroid Build Coastguard Worker data->param_value_size_ret);
184*1cddb830SAndroid Build Coastguard Worker
185*1cddb830SAndroid Build Coastguard Worker ret_val = clGetGLTextureInfo (buffer,
186*1cddb830SAndroid Build Coastguard Worker data->param_name,
187*1cddb830SAndroid Build Coastguard Worker data->param_value_size,
188*1cddb830SAndroid Build Coastguard Worker data->param_value,
189*1cddb830SAndroid Build Coastguard Worker data->param_value_size_ret);
190*1cddb830SAndroid Build Coastguard Worker
191*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("Value returned: %p\n", ret_val);
192*1cddb830SAndroid Build Coastguard Worker
193*1cddb830SAndroid Build Coastguard Worker return 0;
194*1cddb830SAndroid Build Coastguard Worker }
195*1cddb830SAndroid Build Coastguard Worker
196*1cddb830SAndroid Build Coastguard Worker struct clEnqueueAcquireGLObjects_st clEnqueueAcquireGLObjectsData[NUM_ITEMS_clEnqueueAcquireGLObjects] = {
197*1cddb830SAndroid Build Coastguard Worker {NULL, 0, NULL, 0, NULL, NULL}
198*1cddb830SAndroid Build Coastguard Worker };
199*1cddb830SAndroid Build Coastguard Worker
test_clEnqueueAcquireGLObjects(const struct clEnqueueAcquireGLObjects_st * data)200*1cddb830SAndroid Build Coastguard Worker int test_clEnqueueAcquireGLObjects(const struct clEnqueueAcquireGLObjects_st* data)
201*1cddb830SAndroid Build Coastguard Worker {
202*1cddb830SAndroid Build Coastguard Worker cl_int ret_val;
203*1cddb830SAndroid Build Coastguard Worker
204*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("clEnqueueAcquireGLObjects(%p, %u, %p, %u, %p, %p)\n",
205*1cddb830SAndroid Build Coastguard Worker command_queue,
206*1cddb830SAndroid Build Coastguard Worker data->num_objects,
207*1cddb830SAndroid Build Coastguard Worker data->mem_objects,
208*1cddb830SAndroid Build Coastguard Worker data->num_events_in_wait_list,
209*1cddb830SAndroid Build Coastguard Worker &event,
210*1cddb830SAndroid Build Coastguard Worker &event);
211*1cddb830SAndroid Build Coastguard Worker
212*1cddb830SAndroid Build Coastguard Worker ret_val = clEnqueueAcquireGLObjects (command_queue,
213*1cddb830SAndroid Build Coastguard Worker data->num_objects,
214*1cddb830SAndroid Build Coastguard Worker data->mem_objects,
215*1cddb830SAndroid Build Coastguard Worker data->num_events_in_wait_list,
216*1cddb830SAndroid Build Coastguard Worker &event,
217*1cddb830SAndroid Build Coastguard Worker &event);
218*1cddb830SAndroid Build Coastguard Worker
219*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("Value returned: %p\n", ret_val);
220*1cddb830SAndroid Build Coastguard Worker
221*1cddb830SAndroid Build Coastguard Worker return 0;
222*1cddb830SAndroid Build Coastguard Worker }
223*1cddb830SAndroid Build Coastguard Worker
224*1cddb830SAndroid Build Coastguard Worker struct clEnqueueReleaseGLObjects_st clEnqueueReleaseGLObjectsData[NUM_ITEMS_clEnqueueReleaseGLObjects] = {
225*1cddb830SAndroid Build Coastguard Worker {NULL, 0, NULL, 0, NULL, NULL}
226*1cddb830SAndroid Build Coastguard Worker };
227*1cddb830SAndroid Build Coastguard Worker
test_clEnqueueReleaseGLObjects(const struct clEnqueueReleaseGLObjects_st * data)228*1cddb830SAndroid Build Coastguard Worker int test_clEnqueueReleaseGLObjects(const struct clEnqueueReleaseGLObjects_st* data)
229*1cddb830SAndroid Build Coastguard Worker {
230*1cddb830SAndroid Build Coastguard Worker cl_int ret_val;
231*1cddb830SAndroid Build Coastguard Worker
232*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("clEnqueueReleaseGLObjects(%p, %u, %p, %u, %p, %p)\n",
233*1cddb830SAndroid Build Coastguard Worker command_queue,
234*1cddb830SAndroid Build Coastguard Worker data->num_objects,
235*1cddb830SAndroid Build Coastguard Worker data->mem_objects,
236*1cddb830SAndroid Build Coastguard Worker data->num_events_in_wait_list,
237*1cddb830SAndroid Build Coastguard Worker &event,
238*1cddb830SAndroid Build Coastguard Worker &event);
239*1cddb830SAndroid Build Coastguard Worker
240*1cddb830SAndroid Build Coastguard Worker ret_val = clEnqueueReleaseGLObjects (command_queue,
241*1cddb830SAndroid Build Coastguard Worker data->num_objects,
242*1cddb830SAndroid Build Coastguard Worker data->mem_objects,
243*1cddb830SAndroid Build Coastguard Worker data->num_events_in_wait_list,
244*1cddb830SAndroid Build Coastguard Worker &event,
245*1cddb830SAndroid Build Coastguard Worker &event);
246*1cddb830SAndroid Build Coastguard Worker
247*1cddb830SAndroid Build Coastguard Worker
248*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("Value returned: %p\n", ret_val);
249*1cddb830SAndroid Build Coastguard Worker
250*1cddb830SAndroid Build Coastguard Worker return 0;
251*1cddb830SAndroid Build Coastguard Worker }
252*1cddb830SAndroid Build Coastguard Worker
253*1cddb830SAndroid Build Coastguard Worker struct clCreateEventFromGLsyncKHR_st clCreateEventFromGLsyncKHRData[NUM_ITEMS_clCreateEventFromGLsyncKHR] = {
254*1cddb830SAndroid Build Coastguard Worker {NULL, NULL, NULL}
255*1cddb830SAndroid Build Coastguard Worker };
256*1cddb830SAndroid Build Coastguard Worker
257*1cddb830SAndroid Build Coastguard Worker typedef cl_event
258*1cddb830SAndroid Build Coastguard Worker (CL_API_CALL *PFN_clCreateEventFromGLsyncKHR)(cl_context /* context */,
259*1cddb830SAndroid Build Coastguard Worker cl_GLsync /* cl_GLsync */,
260*1cddb830SAndroid Build Coastguard Worker cl_int * /* errcode_ret */);
261*1cddb830SAndroid Build Coastguard Worker
test_clCreateEventFromGLsyncKHR(const struct clCreateEventFromGLsyncKHR_st * data)262*1cddb830SAndroid Build Coastguard Worker int test_clCreateEventFromGLsyncKHR(const struct clCreateEventFromGLsyncKHR_st* data)
263*1cddb830SAndroid Build Coastguard Worker { cl_event ret_event;
264*1cddb830SAndroid Build Coastguard Worker PFN_clCreateEventFromGLsyncKHR pfn_clCreateEventFromGLsyncKHR = NULL;
265*1cddb830SAndroid Build Coastguard Worker
266*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("clCreateEventFromGLsyncKHR(%p, %p, %p)\n",
267*1cddb830SAndroid Build Coastguard Worker context,
268*1cddb830SAndroid Build Coastguard Worker data->sync,
269*1cddb830SAndroid Build Coastguard Worker data->errcode_ret);
270*1cddb830SAndroid Build Coastguard Worker
271*1cddb830SAndroid Build Coastguard Worker pfn_clCreateEventFromGLsyncKHR = (PFN_clCreateEventFromGLsyncKHR)
272*1cddb830SAndroid Build Coastguard Worker (intptr_t)clGetExtensionFunctionAddress("clCreateEventFromGLsyncKHR");
273*1cddb830SAndroid Build Coastguard Worker if (!pfn_clCreateEventFromGLsyncKHR) {
274*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("clGetExtensionFunctionAddress failed!\n");
275*1cddb830SAndroid Build Coastguard Worker return 1;
276*1cddb830SAndroid Build Coastguard Worker }
277*1cddb830SAndroid Build Coastguard Worker
278*1cddb830SAndroid Build Coastguard Worker ret_event = pfn_clCreateEventFromGLsyncKHR (context,
279*1cddb830SAndroid Build Coastguard Worker data->sync,
280*1cddb830SAndroid Build Coastguard Worker data->errcode_ret);
281*1cddb830SAndroid Build Coastguard Worker
282*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("Value returned: %p\n", ret_event);
283*1cddb830SAndroid Build Coastguard Worker return 0;
284*1cddb830SAndroid Build Coastguard Worker }
285*1cddb830SAndroid Build Coastguard Worker
286*1cddb830SAndroid Build Coastguard Worker struct clGetGLContextInfoKHR_st clGetGLContextInfoKHRData[NUM_ITEMS_clGetGLContextInfoKHR] = {
287*1cddb830SAndroid Build Coastguard Worker {NULL, 0, 0, NULL, NULL}
288*1cddb830SAndroid Build Coastguard Worker };
289*1cddb830SAndroid Build Coastguard Worker
290*1cddb830SAndroid Build Coastguard Worker typedef cl_int
291*1cddb830SAndroid Build Coastguard Worker (CL_API_CALL *PFN_clGetGLContextInfoKHR)(const cl_context_properties * /* properties */,
292*1cddb830SAndroid Build Coastguard Worker cl_gl_context_info /* param_name */,
293*1cddb830SAndroid Build Coastguard Worker size_t /* param_value_size */,
294*1cddb830SAndroid Build Coastguard Worker void * /* param_value */,
295*1cddb830SAndroid Build Coastguard Worker size_t * /* param_value_size_ret */);
296*1cddb830SAndroid Build Coastguard Worker
test_clGetGLContextInfoKHR(const struct clGetGLContextInfoKHR_st * data)297*1cddb830SAndroid Build Coastguard Worker int test_clGetGLContextInfoKHR(const struct clGetGLContextInfoKHR_st* data)
298*1cddb830SAndroid Build Coastguard Worker {
299*1cddb830SAndroid Build Coastguard Worker cl_int ret_val;
300*1cddb830SAndroid Build Coastguard Worker
301*1cddb830SAndroid Build Coastguard Worker PFN_clGetGLContextInfoKHR pfn_clGetGLContextInfoKHR = NULL;
302*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("clGetGLContextInfoKHR(%p, %u, %u, %p, %p)\n",
303*1cddb830SAndroid Build Coastguard Worker context_properties,
304*1cddb830SAndroid Build Coastguard Worker data->param_name,
305*1cddb830SAndroid Build Coastguard Worker data->param_value_size,
306*1cddb830SAndroid Build Coastguard Worker data->param_value,
307*1cddb830SAndroid Build Coastguard Worker data->param_value_size_ret);
308*1cddb830SAndroid Build Coastguard Worker
309*1cddb830SAndroid Build Coastguard Worker pfn_clGetGLContextInfoKHR = (PFN_clGetGLContextInfoKHR)
310*1cddb830SAndroid Build Coastguard Worker (intptr_t)clGetExtensionFunctionAddress("clGetGLContextInfoKHR");
311*1cddb830SAndroid Build Coastguard Worker if (!pfn_clGetGLContextInfoKHR) {
312*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("clGetExtensionFunctionAddress failed!\n");
313*1cddb830SAndroid Build Coastguard Worker return 1;
314*1cddb830SAndroid Build Coastguard Worker }
315*1cddb830SAndroid Build Coastguard Worker
316*1cddb830SAndroid Build Coastguard Worker ret_val = pfn_clGetGLContextInfoKHR(context_properties,
317*1cddb830SAndroid Build Coastguard Worker data->param_name,
318*1cddb830SAndroid Build Coastguard Worker data->param_value_size,
319*1cddb830SAndroid Build Coastguard Worker data->param_value,
320*1cddb830SAndroid Build Coastguard Worker data->param_value_size_ret);
321*1cddb830SAndroid Build Coastguard Worker
322*1cddb830SAndroid Build Coastguard Worker test_icd_app_log("Value returned: %p\n", ret_val);
323*1cddb830SAndroid Build Coastguard Worker return 0;
324*1cddb830SAndroid Build Coastguard Worker
325*1cddb830SAndroid Build Coastguard Worker }
326*1cddb830SAndroid Build Coastguard Worker
test_OpenGL_share()327*1cddb830SAndroid Build Coastguard Worker int test_OpenGL_share()
328*1cddb830SAndroid Build Coastguard Worker {
329*1cddb830SAndroid Build Coastguard Worker int i;
330*1cddb830SAndroid Build Coastguard Worker
331*1cddb830SAndroid Build Coastguard Worker for(i=0;i<NUM_ITEMS_clCreateFromGLBuffer;i++)
332*1cddb830SAndroid Build Coastguard Worker test_clCreateFromGLBuffer(&clCreateFromGLBufferData[i]);
333*1cddb830SAndroid Build Coastguard Worker
334*1cddb830SAndroid Build Coastguard Worker for(i=0;i<NUM_ITEMS_clCreateFromGLTexture;i++)
335*1cddb830SAndroid Build Coastguard Worker test_clCreateFromGLTexture(&clCreateFromGLTextureData[i]);
336*1cddb830SAndroid Build Coastguard Worker
337*1cddb830SAndroid Build Coastguard Worker for(i=0;i<NUM_ITEMS_clCreateFromGLTexture2D;i++)
338*1cddb830SAndroid Build Coastguard Worker test_clCreateFromGLTexture2D(&clCreateFromGLTexture2DData[i]);
339*1cddb830SAndroid Build Coastguard Worker
340*1cddb830SAndroid Build Coastguard Worker for(i=0;i<NUM_ITEMS_clCreateFromGLTexture3D;i++)
341*1cddb830SAndroid Build Coastguard Worker test_clCreateFromGLTexture3D(&clCreateFromGLTexture3DData[i]);
342*1cddb830SAndroid Build Coastguard Worker
343*1cddb830SAndroid Build Coastguard Worker for(i=0;i<NUM_ITEMS_clCreateFromGLRenderbuffer;i++)
344*1cddb830SAndroid Build Coastguard Worker test_clCreateFromGLRenderbuffer(&clCreateFromGLRenderbufferData[i]);
345*1cddb830SAndroid Build Coastguard Worker
346*1cddb830SAndroid Build Coastguard Worker for(i=0;i<NUM_ITEMS_clGetGLObjectInfo;i++)
347*1cddb830SAndroid Build Coastguard Worker test_clGetGLObjectInfo(&clGetGLObjectInfoData[i]);
348*1cddb830SAndroid Build Coastguard Worker
349*1cddb830SAndroid Build Coastguard Worker for(i=0;i<NUM_ITEMS_clGetGLTextureInfo;i++)
350*1cddb830SAndroid Build Coastguard Worker test_clGetGLTextureInfo(&clGetGLTextureInfoData[i]);
351*1cddb830SAndroid Build Coastguard Worker
352*1cddb830SAndroid Build Coastguard Worker for(i=0;i<NUM_ITEMS_clEnqueueAcquireGLObjects;i++)
353*1cddb830SAndroid Build Coastguard Worker test_clEnqueueAcquireGLObjects(&clEnqueueAcquireGLObjectsData[i]);
354*1cddb830SAndroid Build Coastguard Worker
355*1cddb830SAndroid Build Coastguard Worker for(i=0;i<NUM_ITEMS_clEnqueueReleaseGLObjects;i++)
356*1cddb830SAndroid Build Coastguard Worker test_clEnqueueReleaseGLObjects(&clEnqueueReleaseGLObjectsData[i]);
357*1cddb830SAndroid Build Coastguard Worker
358*1cddb830SAndroid Build Coastguard Worker for(i=0;i<NUM_ITEMS_clCreateEventFromGLsyncKHR;i++)
359*1cddb830SAndroid Build Coastguard Worker test_clCreateEventFromGLsyncKHR(&clCreateEventFromGLsyncKHRData[i]);
360*1cddb830SAndroid Build Coastguard Worker
361*1cddb830SAndroid Build Coastguard Worker for(i=0;i<NUM_ITEMS_clGetGLContextInfoKHR;i++)
362*1cddb830SAndroid Build Coastguard Worker test_clGetGLContextInfoKHR(&clGetGLContextInfoKHRData[i]);
363*1cddb830SAndroid Build Coastguard Worker
364*1cddb830SAndroid Build Coastguard Worker return 0;
365*1cddb830SAndroid Build Coastguard Worker }
366