1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by generate_entry_points.py using data from gl.xml.
3 //
4 // Copyright 2019 The ANGLE Project Authors. All rights reserved.
5 // Use of this source code is governed by a BSD-style license that can be
6 // found in the LICENSE file.
7 //
8 // entry_points_gl_1_5_autogen.cpp:
9 // Defines the GL 1.5 entry points.
10
11 #include "libGL/entry_points_gl_1_5_autogen.h"
12
13 #include "libANGLE/Context.h"
14 #include "libANGLE/Context.inl.h"
15 #include "libANGLE/entry_points_utils.h"
16 #include "libANGLE/gl_enum_utils_autogen.h"
17 #include "libANGLE/validationEGL.h"
18 #include "libANGLE/validationES.h"
19 #include "libANGLE/validationES1.h"
20 #include "libANGLE/validationES2.h"
21 #include "libANGLE/validationES3.h"
22 #include "libANGLE/validationES31.h"
23 #include "libANGLE/validationESEXT.h"
24 #include "libANGLE/validationGL15_autogen.h"
25 #include "libGLESv2/global_state.h"
26
27 namespace gl
28 {
BeginQuery(GLenum target,GLuint id)29 void GL_APIENTRY BeginQuery(GLenum target, GLuint id)
30 {
31 EVENT("(GLenum target = %s, GLuint id = %u)", GLenumToString(GLenumGroup::QueryTarget, target),
32 id);
33
34 Context *context = GetValidGlobalContext();
35 if (context)
36 {
37 QueryType targetPacked = FromGL<QueryType>(target);
38 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
39 bool isCallValid =
40 (context->skipValidation() || ValidateBeginQuery(context, targetPacked, id));
41 if (isCallValid)
42 {
43 context->beginQuery(targetPacked, id);
44 }
45 ANGLE_CAPTURE(BeginQuery, isCallValid, context, targetPacked, id);
46 }
47 }
48
BindBuffer(GLenum target,GLuint buffer)49 void GL_APIENTRY BindBuffer(GLenum target, GLuint buffer)
50 {
51 EVENT("(GLenum target = %s, GLuint buffer = %u)",
52 GLenumToString(GLenumGroup::BufferTargetARB, target), buffer);
53
54 Context *context = GetValidGlobalContext();
55 if (context)
56 {
57 BufferBinding targetPacked = FromGL<BufferBinding>(target);
58 BufferID bufferPacked = FromGL<BufferID>(buffer);
59 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
60 bool isCallValid =
61 (context->skipValidation() || ValidateBindBuffer(context, targetPacked, bufferPacked));
62 if (isCallValid)
63 {
64 context->bindBuffer(targetPacked, bufferPacked);
65 }
66 ANGLE_CAPTURE(BindBuffer, isCallValid, context, targetPacked, bufferPacked);
67 }
68 }
69
BufferData(GLenum target,GLsizeiptr size,const void * data,GLenum usage)70 void GL_APIENTRY BufferData(GLenum target, GLsizeiptr size, const void *data, GLenum usage)
71 {
72 EVENT("(GLenum target = %s, GLsizeiptr size = %llu, const void *data = 0x%016" PRIxPTR
73 ", GLenum usage = %s)",
74 GLenumToString(GLenumGroup::BufferTargetARB, target),
75 static_cast<unsigned long long>(size), (uintptr_t)data,
76 GLenumToString(GLenumGroup::BufferUsageARB, usage));
77
78 Context *context = GetValidGlobalContext();
79 if (context)
80 {
81 BufferBinding targetPacked = FromGL<BufferBinding>(target);
82 BufferUsage usagePacked = FromGL<BufferUsage>(usage);
83 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
84 bool isCallValid = (context->skipValidation() ||
85 ValidateBufferData(context, targetPacked, size, data, usagePacked));
86 if (isCallValid)
87 {
88 context->bufferData(targetPacked, size, data, usagePacked);
89 }
90 ANGLE_CAPTURE(BufferData, isCallValid, context, targetPacked, size, data, usagePacked);
91 }
92 }
93
BufferSubData(GLenum target,GLintptr offset,GLsizeiptr size,const void * data)94 void GL_APIENTRY BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void *data)
95 {
96 EVENT(
97 "(GLenum target = %s, GLintptr offset = %llu, GLsizeiptr size = %llu, const void *data = "
98 "0x%016" PRIxPTR ")",
99 GLenumToString(GLenumGroup::BufferTargetARB, target),
100 static_cast<unsigned long long>(offset), static_cast<unsigned long long>(size),
101 (uintptr_t)data);
102
103 Context *context = GetValidGlobalContext();
104 if (context)
105 {
106 BufferBinding targetPacked = FromGL<BufferBinding>(target);
107 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
108 bool isCallValid = (context->skipValidation() ||
109 ValidateBufferSubData(context, targetPacked, offset, size, data));
110 if (isCallValid)
111 {
112 context->bufferSubData(targetPacked, offset, size, data);
113 }
114 ANGLE_CAPTURE(BufferSubData, isCallValid, context, targetPacked, offset, size, data);
115 }
116 }
117
DeleteBuffers(GLsizei n,const GLuint * buffers)118 void GL_APIENTRY DeleteBuffers(GLsizei n, const GLuint *buffers)
119 {
120 EVENT("(GLsizei n = %d, const GLuint *buffers = 0x%016" PRIxPTR ")", n, (uintptr_t)buffers);
121
122 Context *context = GetValidGlobalContext();
123 if (context)
124 {
125 const BufferID *buffersPacked = FromGL<const BufferID *>(buffers);
126 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
127 bool isCallValid =
128 (context->skipValidation() || ValidateDeleteBuffers(context, n, buffersPacked));
129 if (isCallValid)
130 {
131 context->deleteBuffers(n, buffersPacked);
132 }
133 ANGLE_CAPTURE(DeleteBuffers, isCallValid, context, n, buffersPacked);
134 }
135 }
136
DeleteQueries(GLsizei n,const GLuint * ids)137 void GL_APIENTRY DeleteQueries(GLsizei n, const GLuint *ids)
138 {
139 EVENT("(GLsizei n = %d, const GLuint *ids = 0x%016" PRIxPTR ")", n, (uintptr_t)ids);
140
141 Context *context = GetValidGlobalContext();
142 if (context)
143 {
144 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
145 bool isCallValid = (context->skipValidation() || ValidateDeleteQueries(context, n, ids));
146 if (isCallValid)
147 {
148 context->deleteQueries(n, ids);
149 }
150 ANGLE_CAPTURE(DeleteQueries, isCallValid, context, n, ids);
151 }
152 }
153
EndQuery(GLenum target)154 void GL_APIENTRY EndQuery(GLenum target)
155 {
156 EVENT("(GLenum target = %s)", GLenumToString(GLenumGroup::QueryTarget, target));
157
158 Context *context = GetValidGlobalContext();
159 if (context)
160 {
161 QueryType targetPacked = FromGL<QueryType>(target);
162 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
163 bool isCallValid = (context->skipValidation() || ValidateEndQuery(context, targetPacked));
164 if (isCallValid)
165 {
166 context->endQuery(targetPacked);
167 }
168 ANGLE_CAPTURE(EndQuery, isCallValid, context, targetPacked);
169 }
170 }
171
GenBuffers(GLsizei n,GLuint * buffers)172 void GL_APIENTRY GenBuffers(GLsizei n, GLuint *buffers)
173 {
174 EVENT("(GLsizei n = %d, GLuint *buffers = 0x%016" PRIxPTR ")", n, (uintptr_t)buffers);
175
176 Context *context = GetValidGlobalContext();
177 if (context)
178 {
179 BufferID *buffersPacked = FromGL<BufferID *>(buffers);
180 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
181 bool isCallValid =
182 (context->skipValidation() || ValidateGenBuffers(context, n, buffersPacked));
183 if (isCallValid)
184 {
185 context->genBuffers(n, buffersPacked);
186 }
187 ANGLE_CAPTURE(GenBuffers, isCallValid, context, n, buffersPacked);
188 }
189 }
190
GenQueries(GLsizei n,GLuint * ids)191 void GL_APIENTRY GenQueries(GLsizei n, GLuint *ids)
192 {
193 EVENT("(GLsizei n = %d, GLuint *ids = 0x%016" PRIxPTR ")", n, (uintptr_t)ids);
194
195 Context *context = GetValidGlobalContext();
196 if (context)
197 {
198 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
199 bool isCallValid = (context->skipValidation() || ValidateGenQueries(context, n, ids));
200 if (isCallValid)
201 {
202 context->genQueries(n, ids);
203 }
204 ANGLE_CAPTURE(GenQueries, isCallValid, context, n, ids);
205 }
206 }
207
GetBufferParameteriv(GLenum target,GLenum pname,GLint * params)208 void GL_APIENTRY GetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
209 {
210 EVENT("(GLenum target = %s, GLenum pname = %s, GLint *params = 0x%016" PRIxPTR ")",
211 GLenumToString(GLenumGroup::BufferTargetARB, target),
212 GLenumToString(GLenumGroup::DefaultGroup, pname), (uintptr_t)params);
213
214 Context *context = GetValidGlobalContext();
215 if (context)
216 {
217 BufferBinding targetPacked = FromGL<BufferBinding>(target);
218 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
219 bool isCallValid = (context->skipValidation() ||
220 ValidateGetBufferParameteriv(context, targetPacked, pname, params));
221 if (isCallValid)
222 {
223 context->getBufferParameteriv(targetPacked, pname, params);
224 }
225 ANGLE_CAPTURE(GetBufferParameteriv, isCallValid, context, targetPacked, pname, params);
226 }
227 }
228
GetBufferPointerv(GLenum target,GLenum pname,void ** params)229 void GL_APIENTRY GetBufferPointerv(GLenum target, GLenum pname, void **params)
230 {
231 EVENT("(GLenum target = %s, GLenum pname = %s, void **params = 0x%016" PRIxPTR ")",
232 GLenumToString(GLenumGroup::BufferTargetARB, target),
233 GLenumToString(GLenumGroup::DefaultGroup, pname), (uintptr_t)params);
234
235 Context *context = GetValidGlobalContext();
236 if (context)
237 {
238 BufferBinding targetPacked = FromGL<BufferBinding>(target);
239 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
240 bool isCallValid = (context->skipValidation() ||
241 ValidateGetBufferPointerv(context, targetPacked, pname, params));
242 if (isCallValid)
243 {
244 context->getBufferPointerv(targetPacked, pname, params);
245 }
246 ANGLE_CAPTURE(GetBufferPointerv, isCallValid, context, targetPacked, pname, params);
247 }
248 }
249
GetBufferSubData(GLenum target,GLintptr offset,GLsizeiptr size,void * data)250 void GL_APIENTRY GetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data)
251 {
252 EVENT(
253 "(GLenum target = %s, GLintptr offset = %llu, GLsizeiptr size = %llu, void *data = "
254 "0x%016" PRIxPTR ")",
255 GLenumToString(GLenumGroup::BufferTargetARB, target),
256 static_cast<unsigned long long>(offset), static_cast<unsigned long long>(size),
257 (uintptr_t)data);
258
259 Context *context = GetValidGlobalContext();
260 if (context)
261 {
262 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
263 bool isCallValid = (context->skipValidation() ||
264 ValidateGetBufferSubData(context, target, offset, size, data));
265 if (isCallValid)
266 {
267 context->getBufferSubData(target, offset, size, data);
268 }
269 ANGLE_CAPTURE(GetBufferSubData, isCallValid, context, target, offset, size, data);
270 }
271 }
272
GetQueryObjectiv(GLuint id,GLenum pname,GLint * params)273 void GL_APIENTRY GetQueryObjectiv(GLuint id, GLenum pname, GLint *params)
274 {
275 EVENT("(GLuint id = %u, GLenum pname = %s, GLint *params = 0x%016" PRIxPTR ")", id,
276 GLenumToString(GLenumGroup::QueryObjectParameterName, pname), (uintptr_t)params);
277
278 Context *context = GetGlobalContext();
279 if (context)
280 {
281 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
282 bool isCallValid =
283 (context->skipValidation() || ValidateGetQueryObjectiv(context, id, pname, params));
284 if (isCallValid)
285 {
286 context->getQueryObjectiv(id, pname, params);
287 }
288 ANGLE_CAPTURE(GetQueryObjectiv, isCallValid, context, id, pname, params);
289 }
290 }
291
GetQueryObjectuiv(GLuint id,GLenum pname,GLuint * params)292 void GL_APIENTRY GetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
293 {
294 EVENT("(GLuint id = %u, GLenum pname = %s, GLuint *params = 0x%016" PRIxPTR ")", id,
295 GLenumToString(GLenumGroup::QueryObjectParameterName, pname), (uintptr_t)params);
296
297 Context *context = GetValidGlobalContext();
298 if (context)
299 {
300 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
301 bool isCallValid =
302 (context->skipValidation() || ValidateGetQueryObjectuiv(context, id, pname, params));
303 if (isCallValid)
304 {
305 context->getQueryObjectuiv(id, pname, params);
306 }
307 ANGLE_CAPTURE(GetQueryObjectuiv, isCallValid, context, id, pname, params);
308 }
309 }
310
GetQueryiv(GLenum target,GLenum pname,GLint * params)311 void GL_APIENTRY GetQueryiv(GLenum target, GLenum pname, GLint *params)
312 {
313 EVENT("(GLenum target = %s, GLenum pname = %s, GLint *params = 0x%016" PRIxPTR ")",
314 GLenumToString(GLenumGroup::QueryTarget, target),
315 GLenumToString(GLenumGroup::QueryParameterName, pname), (uintptr_t)params);
316
317 Context *context = GetValidGlobalContext();
318 if (context)
319 {
320 QueryType targetPacked = FromGL<QueryType>(target);
321 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
322 bool isCallValid =
323 (context->skipValidation() || ValidateGetQueryiv(context, targetPacked, pname, params));
324 if (isCallValid)
325 {
326 context->getQueryiv(targetPacked, pname, params);
327 }
328 ANGLE_CAPTURE(GetQueryiv, isCallValid, context, targetPacked, pname, params);
329 }
330 }
331
IsBuffer(GLuint buffer)332 GLboolean GL_APIENTRY IsBuffer(GLuint buffer)
333 {
334 EVENT("(GLuint buffer = %u)", buffer);
335
336 Context *context = GetValidGlobalContext();
337 GLboolean returnValue;
338 if (context)
339 {
340 BufferID bufferPacked = FromGL<BufferID>(buffer);
341 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
342 bool isCallValid = (context->skipValidation() || ValidateIsBuffer(context, bufferPacked));
343 if (isCallValid)
344 {
345 returnValue = context->isBuffer(bufferPacked);
346 }
347 else
348 {
349 returnValue = GetDefaultReturnValue<EntryPoint::IsBuffer, GLboolean>();
350 }
351 ANGLE_CAPTURE(IsBuffer, isCallValid, context, bufferPacked, returnValue);
352 }
353 else
354 {
355 returnValue = GetDefaultReturnValue<EntryPoint::IsBuffer, GLboolean>();
356 }
357 return returnValue;
358 }
359
IsQuery(GLuint id)360 GLboolean GL_APIENTRY IsQuery(GLuint id)
361 {
362 EVENT("(GLuint id = %u)", id);
363
364 Context *context = GetValidGlobalContext();
365 GLboolean returnValue;
366 if (context)
367 {
368 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
369 bool isCallValid = (context->skipValidation() || ValidateIsQuery(context, id));
370 if (isCallValid)
371 {
372 returnValue = context->isQuery(id);
373 }
374 else
375 {
376 returnValue = GetDefaultReturnValue<EntryPoint::IsQuery, GLboolean>();
377 }
378 ANGLE_CAPTURE(IsQuery, isCallValid, context, id, returnValue);
379 }
380 else
381 {
382 returnValue = GetDefaultReturnValue<EntryPoint::IsQuery, GLboolean>();
383 }
384 return returnValue;
385 }
386
MapBuffer(GLenum target,GLenum access)387 void *GL_APIENTRY MapBuffer(GLenum target, GLenum access)
388 {
389 EVENT("(GLenum target = %s, GLenum access = %s)",
390 GLenumToString(GLenumGroup::BufferTargetARB, target),
391 GLenumToString(GLenumGroup::BufferAccessARB, access));
392
393 Context *context = GetValidGlobalContext();
394 void *returnValue;
395 if (context)
396 {
397 BufferBinding targetPacked = FromGL<BufferBinding>(target);
398 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
399 bool isCallValid =
400 (context->skipValidation() || ValidateMapBuffer(context, targetPacked, access));
401 if (isCallValid)
402 {
403 returnValue = context->mapBuffer(targetPacked, access);
404 }
405 else
406 {
407 returnValue = GetDefaultReturnValue<EntryPoint::MapBuffer, void *>();
408 }
409 ANGLE_CAPTURE(MapBuffer, isCallValid, context, targetPacked, access, returnValue);
410 }
411 else
412 {
413 returnValue = GetDefaultReturnValue<EntryPoint::MapBuffer, void *>();
414 }
415 return returnValue;
416 }
417
UnmapBuffer(GLenum target)418 GLboolean GL_APIENTRY UnmapBuffer(GLenum target)
419 {
420 EVENT("(GLenum target = %s)", GLenumToString(GLenumGroup::BufferTargetARB, target));
421
422 Context *context = GetValidGlobalContext();
423 GLboolean returnValue;
424 if (context)
425 {
426 BufferBinding targetPacked = FromGL<BufferBinding>(target);
427 std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
428 bool isCallValid =
429 (context->skipValidation() || ValidateUnmapBuffer(context, targetPacked));
430 if (isCallValid)
431 {
432 returnValue = context->unmapBuffer(targetPacked);
433 }
434 else
435 {
436 returnValue = GetDefaultReturnValue<EntryPoint::UnmapBuffer, GLboolean>();
437 }
438 ANGLE_CAPTURE(UnmapBuffer, isCallValid, context, targetPacked, returnValue);
439 }
440 else
441 {
442 returnValue = GetDefaultReturnValue<EntryPoint::UnmapBuffer, GLboolean>();
443 }
444 return returnValue;
445 }
446 } // namespace gl
447