OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // This file is auto-generated from | 5 // This file is auto-generated from |
6 // ui/gl/generate_bindings.py | 6 // ui/gl/generate_bindings.py |
7 // It's formatted by clang-format using chromium coding style: | 7 // It's formatted by clang-format using chromium coding style: |
8 // clang-format -i -style=chromium filename | 8 // clang-format -i -style=chromium filename |
9 // DO NOT EDIT! | 9 // DO NOT EDIT! |
10 | 10 |
11 #include <string> | 11 #include <string> |
12 | 12 |
13 #include "base/debug/trace_event.h" | 13 #include "base/debug/trace_event.h" |
14 #include "ui/gl/gl_bindings.h" | 14 #include "ui/gl/gl_bindings.h" |
15 #include "ui/gl/gl_context.h" | 15 #include "ui/gl/gl_context.h" |
16 #include "ui/gl/gl_enums.h" | 16 #include "ui/gl/gl_enums.h" |
17 #include "ui/gl/gl_gl_api_implementation.h" | 17 #include "ui/gl/gl_gl_api_implementation.h" |
18 #include "ui/gl/gl_implementation.h" | 18 #include "ui/gl/gl_implementation.h" |
19 #include "ui/gl/gl_version_info.h" | 19 #include "ui/gl/gl_version_info.h" |
20 | 20 |
21 namespace gfx { | 21 namespace gfx { |
22 | 22 |
23 static bool g_debugBindingsInitialized; | 23 static bool g_debugBindingsInitialized; |
24 DriverGL g_driver_gl; | 24 DriverGL g_driver_gl; |
25 | 25 |
26 void glBeginQueryNotBound(GLenum target, GLuint id) { | |
27 NOTREACHED(); | |
28 } | |
26 void glBeginQueryARBNotBound(GLenum target, GLuint id) { | 29 void glBeginQueryARBNotBound(GLenum target, GLuint id) { |
27 NOTREACHED(); | 30 NOTREACHED(); |
28 } | 31 } |
29 void glBindFramebufferEXTNotBound(GLenum target, GLuint framebuffer) { | 32 void glBeginTransformFeedbackNotBound(GLenum primitiveMode) { |
30 NOTREACHED(); | 33 NOTREACHED(); |
31 } | 34 } |
32 void glBindRenderbufferEXTNotBound(GLenum target, GLuint renderbuffer) { | 35 void glBindBufferBaseNotBound(GLenum target, GLuint index, GLuint buffer) { |
36 NOTREACHED(); | |
37 } | |
38 void glBindBufferRangeNotBound(GLenum target, | |
39 GLuint index, | |
40 GLuint buffer, | |
41 GLintptr offset, | |
42 GLsizeiptr size) { | |
43 NOTREACHED(); | |
44 } | |
45 void glBindFragDataLocationNotBound(GLuint program, | |
46 GLuint colorNumber, | |
47 const char* name) { | |
48 NOTREACHED(); | |
49 } | |
50 void glBindFragDataLocationIndexedNotBound(GLuint program, | |
51 GLuint colorNumber, | |
52 GLuint index, | |
53 const char* name) { | |
54 NOTREACHED(); | |
55 } | |
56 void glBindSamplerNotBound(GLuint unit, GLuint sampler) { | |
57 NOTREACHED(); | |
58 } | |
59 void glBindTransformFeedbackNotBound(GLenum target, GLuint id) { | |
33 NOTREACHED(); | 60 NOTREACHED(); |
34 } | 61 } |
35 void glBindVertexArrayOESNotBound(GLuint array) { | 62 void glBindVertexArrayOESNotBound(GLuint array) { |
36 NOTREACHED(); | 63 NOTREACHED(); |
37 } | 64 } |
38 void glBlendBarrierKHRNotBound(void) { | 65 void glBlendBarrierKHRNotBound(void) { |
39 NOTREACHED(); | 66 NOTREACHED(); |
40 } | 67 } |
68 void glBlitFramebufferNotBound(GLint srcX0, | |
69 GLint srcY0, | |
70 GLint srcX1, | |
71 GLint srcY1, | |
72 GLint dstX0, | |
73 GLint dstY0, | |
74 GLint dstX1, | |
75 GLint dstY1, | |
76 GLbitfield mask, | |
77 GLenum filter) { | |
78 NOTREACHED(); | |
79 } | |
41 void glBlitFramebufferANGLENotBound(GLint srcX0, | 80 void glBlitFramebufferANGLENotBound(GLint srcX0, |
42 GLint srcY0, | 81 GLint srcY0, |
43 GLint srcX1, | 82 GLint srcX1, |
44 GLint srcY1, | 83 GLint srcY1, |
45 GLint dstX0, | 84 GLint dstX0, |
46 GLint dstY0, | 85 GLint dstY0, |
47 GLint dstX1, | 86 GLint dstX1, |
48 GLint dstY1, | 87 GLint dstY1, |
49 GLbitfield mask, | 88 GLbitfield mask, |
50 GLenum filter) { | 89 GLenum filter) { |
51 NOTREACHED(); | 90 NOTREACHED(); |
52 } | 91 } |
53 void glBlitFramebufferEXTNotBound(GLint srcX0, | 92 void glBlitFramebufferEXTNotBound(GLint srcX0, |
54 GLint srcY0, | 93 GLint srcY0, |
55 GLint srcX1, | 94 GLint srcX1, |
56 GLint srcY1, | 95 GLint srcY1, |
57 GLint dstX0, | 96 GLint dstX0, |
58 GLint dstY0, | 97 GLint dstY0, |
59 GLint dstX1, | 98 GLint dstX1, |
60 GLint dstY1, | 99 GLint dstY1, |
61 GLbitfield mask, | 100 GLbitfield mask, |
62 GLenum filter) { | 101 GLenum filter) { |
63 NOTREACHED(); | 102 NOTREACHED(); |
64 } | 103 } |
65 GLenum glCheckFramebufferStatusEXTNotBound(GLenum target) { | 104 void glClearBufferfiNotBound(GLenum buffer, |
105 GLint drawbuffer, | |
106 const GLfloat depth, | |
107 GLint stencil) { | |
108 NOTREACHED(); | |
109 } | |
110 void glClearBufferfvNotBound(GLenum buffer, | |
111 GLint drawbuffer, | |
112 const GLfloat* value) { | |
113 NOTREACHED(); | |
114 } | |
115 void glClearBufferivNotBound(GLenum buffer, | |
116 GLint drawbuffer, | |
117 const GLint* value) { | |
118 NOTREACHED(); | |
119 } | |
120 void glClearBufferuivNotBound(GLenum buffer, | |
121 GLint drawbuffer, | |
122 const GLuint* value) { | |
123 NOTREACHED(); | |
124 } | |
125 void glClearDepthfNotBound(GLclampf depth) { | |
126 NOTREACHED(); | |
127 } | |
128 GLenum glClientWaitSyncNotBound(GLsync sync, | |
129 GLbitfield flags, | |
130 GLuint64 timeout) { | |
66 NOTREACHED(); | 131 NOTREACHED(); |
67 return 0; | 132 return 0; |
68 } | 133 } |
69 void glDeleteBuffersARBNotBound(GLsizei n, const GLuint* buffers) { | 134 void glCompressedTexImage3DNotBound(GLenum target, |
135 GLint level, | |
136 GLenum internalformat, | |
137 GLsizei width, | |
138 GLsizei height, | |
139 GLsizei depth, | |
140 GLint border, | |
141 GLsizei imageSize, | |
142 const void* data) { | |
70 NOTREACHED(); | 143 NOTREACHED(); |
71 } | 144 } |
72 void glDeleteFramebuffersEXTNotBound(GLsizei n, const GLuint* framebuffers) { | 145 void glCopyBufferSubDataNotBound(GLenum readTarget, |
146 GLenum writeTarget, | |
147 GLintptr readOffset, | |
148 GLintptr writeOffset, | |
149 GLsizeiptr size) { | |
150 NOTREACHED(); | |
151 } | |
152 void glCopyTexSubImage3DNotBound(GLenum target, | |
153 GLint level, | |
154 GLint xoffset, | |
155 GLint yoffset, | |
156 GLint zoffset, | |
157 GLint x, | |
158 GLint y, | |
159 GLsizei width, | |
160 GLsizei height) { | |
161 NOTREACHED(); | |
162 } | |
163 void glDeleteFencesAPPLENotBound(GLsizei n, const GLuint* fences) { | |
164 NOTREACHED(); | |
165 } | |
166 void glDeleteFencesNVNotBound(GLsizei n, const GLuint* fences) { | |
167 NOTREACHED(); | |
168 } | |
169 void glDeleteQueriesNotBound(GLsizei n, const GLuint* ids) { | |
73 NOTREACHED(); | 170 NOTREACHED(); |
74 } | 171 } |
75 void glDeleteQueriesARBNotBound(GLsizei n, const GLuint* ids) { | 172 void glDeleteQueriesARBNotBound(GLsizei n, const GLuint* ids) { |
76 NOTREACHED(); | 173 NOTREACHED(); |
77 } | 174 } |
78 void glDeleteRenderbuffersEXTNotBound(GLsizei n, const GLuint* renderbuffers) { | 175 void glDeleteSamplersNotBound(GLsizei n, const GLuint* samplers) { |
176 NOTREACHED(); | |
177 } | |
178 void glDeleteSyncNotBound(GLsync sync) { | |
179 NOTREACHED(); | |
180 } | |
181 void glDeleteTransformFeedbacksNotBound(GLsizei n, const GLuint* ids) { | |
79 NOTREACHED(); | 182 NOTREACHED(); |
80 } | 183 } |
81 void glDeleteVertexArraysOESNotBound(GLsizei n, const GLuint* arrays) { | 184 void glDeleteVertexArraysOESNotBound(GLsizei n, const GLuint* arrays) { |
82 NOTREACHED(); | 185 NOTREACHED(); |
83 } | 186 } |
187 void glDepthRangefNotBound(GLclampf zNear, GLclampf zFar) { | |
188 NOTREACHED(); | |
189 } | |
190 void glDiscardFramebufferEXTNotBound(GLenum target, | |
191 GLsizei numAttachments, | |
192 const GLenum* attachments) { | |
193 NOTREACHED(); | |
194 } | |
84 void glDrawArraysInstancedANGLENotBound(GLenum mode, | 195 void glDrawArraysInstancedANGLENotBound(GLenum mode, |
85 GLint first, | 196 GLint first, |
86 GLsizei count, | 197 GLsizei count, |
87 GLsizei primcount) { | 198 GLsizei primcount) { |
88 NOTREACHED(); | 199 NOTREACHED(); |
89 } | 200 } |
201 void glDrawBufferNotBound(GLenum mode) { | |
202 NOTREACHED(); | |
203 } | |
90 void glDrawBuffersARBNotBound(GLsizei n, const GLenum* bufs) { | 204 void glDrawBuffersARBNotBound(GLsizei n, const GLenum* bufs) { |
91 NOTREACHED(); | 205 NOTREACHED(); |
92 } | 206 } |
93 void glDrawElementsInstancedANGLENotBound(GLenum mode, | 207 void glDrawElementsInstancedANGLENotBound(GLenum mode, |
94 GLsizei count, | 208 GLsizei count, |
95 GLenum type, | 209 GLenum type, |
96 const void* indices, | 210 const void* indices, |
97 GLsizei primcount) { | 211 GLsizei primcount) { |
98 NOTREACHED(); | 212 NOTREACHED(); |
99 } | 213 } |
214 void glDrawRangeElementsNotBound(GLenum mode, | |
215 GLuint start, | |
216 GLuint end, | |
217 GLsizei count, | |
218 GLenum type, | |
219 const void* indices) { | |
220 NOTREACHED(); | |
221 } | |
222 void glEGLImageTargetRenderbufferStorageOESNotBound(GLenum target, | |
223 GLeglImageOES image) { | |
224 NOTREACHED(); | |
225 } | |
226 void glEGLImageTargetTexture2DOESNotBound(GLenum target, GLeglImageOES image) { | |
227 NOTREACHED(); | |
228 } | |
229 void glEndQueryNotBound(GLenum target) { | |
230 NOTREACHED(); | |
231 } | |
100 void glEndQueryARBNotBound(GLenum target) { | 232 void glEndQueryARBNotBound(GLenum target) { |
101 NOTREACHED(); | 233 NOTREACHED(); |
102 } | 234 } |
103 void glFramebufferRenderbufferEXTNotBound(GLenum target, | 235 void glEndTransformFeedbackNotBound(void) { |
104 GLenum attachment, | |
105 GLenum renderbuffertarget, | |
106 GLuint renderbuffer) { | |
107 NOTREACHED(); | 236 NOTREACHED(); |
108 } | 237 } |
109 void glFramebufferTexture2DEXTNotBound(GLenum target, | 238 GLsync glFenceSyncNotBound(GLenum condition, GLbitfield flags) { |
110 GLenum attachment, | 239 NOTREACHED(); |
111 GLenum textarget, | 240 return 0; |
112 GLuint texture, | 241 } |
113 GLint level) { | 242 void glFinishFenceAPPLENotBound(GLuint fence) { |
114 NOTREACHED(); | 243 NOTREACHED(); |
115 } | 244 } |
116 void glGenBuffersARBNotBound(GLsizei n, GLuint* buffers) { | 245 void glFinishFenceNVNotBound(GLuint fence) { |
117 NOTREACHED(); | 246 NOTREACHED(); |
118 } | 247 } |
119 void glGenerateMipmapEXTNotBound(GLenum target) { | 248 void glFlushMappedBufferRangeNotBound(GLenum target, |
249 GLintptr offset, | |
250 GLsizeiptr length) { | |
120 NOTREACHED(); | 251 NOTREACHED(); |
121 } | 252 } |
122 void glGenFramebuffersEXTNotBound(GLsizei n, GLuint* framebuffers) { | 253 void glFramebufferTexture2DMultisampleEXTNotBound(GLenum target, |
254 GLenum attachment, | |
255 GLenum textarget, | |
256 GLuint texture, | |
257 GLint level, | |
258 GLsizei samples) { | |
259 NOTREACHED(); | |
260 } | |
261 void glFramebufferTexture2DMultisampleIMGNotBound(GLenum target, | |
262 GLenum attachment, | |
263 GLenum textarget, | |
264 GLuint texture, | |
265 GLint level, | |
266 GLsizei samples) { | |
267 NOTREACHED(); | |
268 } | |
269 void glFramebufferTextureLayerNotBound(GLenum target, | |
270 GLenum attachment, | |
271 GLuint texture, | |
272 GLint level, | |
273 GLint layer) { | |
274 NOTREACHED(); | |
275 } | |
276 void glGenFencesAPPLENotBound(GLsizei n, GLuint* fences) { | |
277 NOTREACHED(); | |
278 } | |
279 void glGenFencesNVNotBound(GLsizei n, GLuint* fences) { | |
280 NOTREACHED(); | |
281 } | |
282 void glGenQueriesNotBound(GLsizei n, GLuint* ids) { | |
123 NOTREACHED(); | 283 NOTREACHED(); |
124 } | 284 } |
125 void glGenQueriesARBNotBound(GLsizei n, GLuint* ids) { | 285 void glGenQueriesARBNotBound(GLsizei n, GLuint* ids) { |
126 NOTREACHED(); | 286 NOTREACHED(); |
127 } | 287 } |
128 void glGenRenderbuffersEXTNotBound(GLsizei n, GLuint* renderbuffers) { | 288 void glGenSamplersNotBound(GLsizei n, GLuint* samplers) { |
289 NOTREACHED(); | |
290 } | |
291 void glGenTransformFeedbacksNotBound(GLsizei n, GLuint* ids) { | |
129 NOTREACHED(); | 292 NOTREACHED(); |
130 } | 293 } |
131 void glGenVertexArraysOESNotBound(GLsizei n, GLuint* arrays) { | 294 void glGenVertexArraysOESNotBound(GLsizei n, GLuint* arrays) { |
132 NOTREACHED(); | 295 NOTREACHED(); |
133 } | 296 } |
134 void glGetFramebufferAttachmentParameterivEXTNotBound(GLenum target, | 297 void glGetActiveUniformBlockivNotBound(GLuint program, |
135 GLenum attachment, | 298 GLuint uniformBlockIndex, |
136 GLenum pname, | 299 GLenum pname, |
137 GLint* params) { | 300 GLint* params) { |
138 NOTREACHED(); | 301 NOTREACHED(); |
139 } | 302 } |
303 void glGetActiveUniformBlockNameNotBound(GLuint program, | |
304 GLuint uniformBlockIndex, | |
305 GLsizei bufSize, | |
306 GLsizei* length, | |
307 char* uniformBlockName) { | |
308 NOTREACHED(); | |
309 } | |
310 void glGetActiveUniformsivNotBound(GLuint program, | |
311 GLsizei uniformCount, | |
312 const GLuint* uniformIndices, | |
313 GLenum pname, | |
314 GLint* params) { | |
315 NOTREACHED(); | |
316 } | |
317 void glGetFenceivNVNotBound(GLuint fence, GLenum pname, GLint* params) { | |
318 NOTREACHED(); | |
319 } | |
320 GLint glGetFragDataLocationNotBound(GLuint program, const char* name) { | |
321 NOTREACHED(); | |
322 return 0; | |
323 } | |
140 GLenum glGetGraphicsResetStatusARBNotBound(void) { | 324 GLenum glGetGraphicsResetStatusARBNotBound(void) { |
141 NOTREACHED(); | 325 NOTREACHED(); |
142 return 0; | 326 return 0; |
143 } | 327 } |
328 void glGetInteger64i_vNotBound(GLenum target, GLuint index, GLint64* data) { | |
329 NOTREACHED(); | |
330 } | |
331 void glGetInteger64vNotBound(GLenum pname, GLint64* params) { | |
332 NOTREACHED(); | |
333 } | |
334 void glGetIntegeri_vNotBound(GLenum target, GLuint index, GLint* data) { | |
335 NOTREACHED(); | |
336 } | |
337 void glGetInternalformativNotBound(GLenum target, | |
338 GLenum internalformat, | |
339 GLenum pname, | |
340 GLsizei bufSize, | |
341 GLint* params) { | |
342 NOTREACHED(); | |
343 } | |
144 void glGetProgramBinaryNotBound(GLuint program, | 344 void glGetProgramBinaryNotBound(GLuint program, |
145 GLsizei bufSize, | 345 GLsizei bufSize, |
146 GLsizei* length, | 346 GLsizei* length, |
147 GLenum* binaryFormat, | 347 GLenum* binaryFormat, |
148 GLvoid* binary) { | 348 GLvoid* binary) { |
149 NOTREACHED(); | 349 NOTREACHED(); |
150 } | 350 } |
351 void glGetQueryivNotBound(GLenum target, GLenum pname, GLint* params) { | |
352 NOTREACHED(); | |
353 } | |
151 void glGetQueryivARBNotBound(GLenum target, GLenum pname, GLint* params) { | 354 void glGetQueryivARBNotBound(GLenum target, GLenum pname, GLint* params) { |
152 NOTREACHED(); | 355 NOTREACHED(); |
153 } | 356 } |
357 void glGetQueryObjecti64vNotBound(GLuint id, GLenum pname, GLint64* params) { | |
358 NOTREACHED(); | |
359 } | |
360 void glGetQueryObjectivNotBound(GLuint id, GLenum pname, GLint* params) { | |
361 NOTREACHED(); | |
362 } | |
154 void glGetQueryObjectivARBNotBound(GLuint id, GLenum pname, GLint* params) { | 363 void glGetQueryObjectivARBNotBound(GLuint id, GLenum pname, GLint* params) { |
155 NOTREACHED(); | 364 NOTREACHED(); |
156 } | 365 } |
157 void glGetQueryObjectui64vNotBound(GLuint id, GLenum pname, GLuint64* params) { | 366 void glGetQueryObjectui64vNotBound(GLuint id, GLenum pname, GLuint64* params) { |
158 NOTREACHED(); | 367 NOTREACHED(); |
159 } | 368 } |
369 void glGetQueryObjectuivNotBound(GLuint id, GLenum pname, GLuint* params) { | |
370 NOTREACHED(); | |
371 } | |
160 void glGetQueryObjectuivARBNotBound(GLuint id, GLenum pname, GLuint* params) { | 372 void glGetQueryObjectuivARBNotBound(GLuint id, GLenum pname, GLuint* params) { |
161 NOTREACHED(); | 373 NOTREACHED(); |
162 } | 374 } |
163 void glGetRenderbufferParameterivEXTNotBound(GLenum target, | 375 void glGetSamplerParameterfvNotBound(GLuint sampler, |
164 GLenum pname, | 376 GLenum pname, |
165 GLint* params) { | 377 GLfloat* params) { |
166 NOTREACHED(); | 378 NOTREACHED(); |
167 } | 379 } |
168 GLboolean glIsFramebufferEXTNotBound(GLuint framebuffer) { | 380 void glGetSamplerParameterivNotBound(GLuint sampler, |
381 GLenum pname, | |
382 GLint* params) { | |
383 NOTREACHED(); | |
384 } | |
385 void glGetShaderPrecisionFormatNotBound(GLenum shadertype, | |
386 GLenum precisiontype, | |
387 GLint* range, | |
388 GLint* precision) { | |
389 NOTREACHED(); | |
390 } | |
391 void glGetSyncivNotBound(GLsync sync, | |
392 GLenum pname, | |
393 GLsizei bufSize, | |
394 GLsizei* length, | |
395 GLint* values) { | |
396 NOTREACHED(); | |
397 } | |
398 void glGetTexLevelParameterfvNotBound(GLenum target, | |
399 GLint level, | |
400 GLenum pname, | |
401 GLfloat* params) { | |
402 NOTREACHED(); | |
403 } | |
404 void glGetTexLevelParameterivNotBound(GLenum target, | |
405 GLint level, | |
406 GLenum pname, | |
407 GLint* params) { | |
408 NOTREACHED(); | |
409 } | |
410 void glGetTransformFeedbackVaryingNotBound(GLuint program, | |
411 GLuint index, | |
412 GLsizei bufSize, | |
413 GLsizei* length, | |
414 GLenum* type, | |
415 char* name) { | |
416 NOTREACHED(); | |
417 } | |
418 void glGetTranslatedShaderSourceANGLENotBound(GLuint shader, | |
419 GLsizei bufsize, | |
420 GLsizei* length, | |
421 char* source) { | |
422 NOTREACHED(); | |
423 } | |
424 GLuint glGetUniformBlockIndexNotBound(GLuint program, | |
425 const char* uniformBlockName) { | |
169 NOTREACHED(); | 426 NOTREACHED(); |
170 return 0; | 427 return 0; |
171 } | 428 } |
429 void glGetUniformIndicesNotBound(GLuint program, | |
430 GLsizei uniformCount, | |
431 const char* const* uniformNames, | |
432 GLuint* uniformIndices) { | |
433 NOTREACHED(); | |
434 } | |
435 void glInsertEventMarkerEXTNotBound(GLsizei length, const char* marker) { | |
436 NOTREACHED(); | |
437 } | |
438 void glInvalidateFramebufferNotBound(GLenum target, | |
439 GLsizei numAttachments, | |
440 const GLenum* attachments) { | |
441 NOTREACHED(); | |
442 } | |
443 void glInvalidateSubFramebufferNotBound(GLenum target, | |
444 GLsizei numAttachments, | |
445 const GLenum* attachments, | |
446 GLint x, | |
447 GLint y, | |
448 GLint width, | |
449 GLint height) { | |
450 NOTREACHED(); | |
451 } | |
452 GLboolean glIsFenceAPPLENotBound(GLuint fence) { | |
453 NOTREACHED(); | |
454 return 0; | |
455 } | |
456 GLboolean glIsFenceNVNotBound(GLuint fence) { | |
457 NOTREACHED(); | |
458 return 0; | |
459 } | |
460 GLboolean glIsQueryNotBound(GLuint query) { | |
461 NOTREACHED(); | |
462 return 0; | |
463 } | |
172 GLboolean glIsQueryARBNotBound(GLuint query) { | 464 GLboolean glIsQueryARBNotBound(GLuint query) { |
173 NOTREACHED(); | 465 NOTREACHED(); |
174 return 0; | 466 return 0; |
175 } | 467 } |
176 GLboolean glIsRenderbufferEXTNotBound(GLuint renderbuffer) { | 468 GLboolean glIsSamplerNotBound(GLuint sampler) { |
177 NOTREACHED(); | 469 NOTREACHED(); |
178 return 0; | 470 return 0; |
179 } | 471 } |
472 GLboolean glIsSyncNotBound(GLsync sync) { | |
473 NOTREACHED(); | |
474 return 0; | |
475 } | |
476 GLboolean glIsTransformFeedbackNotBound(GLuint id) { | |
477 NOTREACHED(); | |
478 return 0; | |
479 } | |
180 GLboolean glIsVertexArrayOESNotBound(GLuint array) { | 480 GLboolean glIsVertexArrayOESNotBound(GLuint array) { |
181 NOTREACHED(); | 481 NOTREACHED(); |
182 return 0; | 482 return 0; |
183 } | 483 } |
184 void* glMapBufferNotBound(GLenum target, GLenum access) { | 484 void* glMapBufferNotBound(GLenum target, GLenum access) { |
185 NOTREACHED(); | 485 NOTREACHED(); |
186 return 0; | 486 return 0; |
187 } | 487 } |
188 void* glMapBufferRangeNotBound(GLenum target, | 488 void* glMapBufferRangeNotBound(GLenum target, |
189 GLintptr offset, | 489 GLintptr offset, |
190 GLsizeiptr length, | 490 GLsizeiptr length, |
191 GLbitfield access) { | 491 GLbitfield access) { |
192 NOTREACHED(); | 492 NOTREACHED(); |
193 return 0; | 493 return 0; |
194 } | 494 } |
495 void glMatrixLoadfEXTNotBound(GLenum matrixMode, const GLfloat* m) { | |
496 NOTREACHED(); | |
497 } | |
498 void glMatrixLoadIdentityEXTNotBound(GLenum matrixMode) { | |
499 NOTREACHED(); | |
500 } | |
501 void glPauseTransformFeedbackNotBound(void) { | |
502 NOTREACHED(); | |
503 } | |
504 void glPointParameteriNotBound(GLenum pname, GLint param) { | |
505 NOTREACHED(); | |
506 } | |
507 void glPopGroupMarkerEXTNotBound(void) { | |
508 NOTREACHED(); | |
509 } | |
195 void glProgramBinaryNotBound(GLuint program, | 510 void glProgramBinaryNotBound(GLuint program, |
196 GLenum binaryFormat, | 511 GLenum binaryFormat, |
197 const GLvoid* binary, | 512 const GLvoid* binary, |
198 GLsizei length) { | 513 GLsizei length) { |
199 NOTREACHED(); | 514 NOTREACHED(); |
200 } | 515 } |
516 void glProgramParameteriNotBound(GLuint program, GLenum pname, GLint value) { | |
517 NOTREACHED(); | |
518 } | |
519 void glPushGroupMarkerEXTNotBound(GLsizei length, const char* marker) { | |
520 NOTREACHED(); | |
521 } | |
201 void glQueryCounterNotBound(GLuint id, GLenum target) { | 522 void glQueryCounterNotBound(GLuint id, GLenum target) { |
202 NOTREACHED(); | 523 NOTREACHED(); |
203 } | 524 } |
204 void glRenderbufferStorageEXTNotBound(GLenum target, | 525 void glReadBufferNotBound(GLenum src) { |
205 GLenum internalformat, | 526 NOTREACHED(); |
206 GLsizei width, | 527 } |
207 GLsizei height) { | 528 void glReleaseShaderCompilerNotBound(void) { |
529 NOTREACHED(); | |
530 } | |
531 void glRenderbufferStorageMultisampleNotBound(GLenum target, | |
532 GLsizei samples, | |
533 GLenum internalformat, | |
534 GLsizei width, | |
535 GLsizei height) { | |
208 NOTREACHED(); | 536 NOTREACHED(); |
209 } | 537 } |
210 void glRenderbufferStorageMultisampleANGLENotBound(GLenum target, | 538 void glRenderbufferStorageMultisampleANGLENotBound(GLenum target, |
211 GLsizei samples, | 539 GLsizei samples, |
212 GLenum internalformat, | 540 GLenum internalformat, |
213 GLsizei width, | 541 GLsizei width, |
214 GLsizei height) { | 542 GLsizei height) { |
215 NOTREACHED(); | 543 NOTREACHED(); |
216 } | 544 } |
217 void glRenderbufferStorageMultisampleEXTNotBound(GLenum target, | 545 void glRenderbufferStorageMultisampleEXTNotBound(GLenum target, |
218 GLsizei samples, | 546 GLsizei samples, |
219 GLenum internalformat, | 547 GLenum internalformat, |
220 GLsizei width, | 548 GLsizei width, |
221 GLsizei height) { | 549 GLsizei height) { |
222 NOTREACHED(); | 550 NOTREACHED(); |
223 } | 551 } |
552 void glRenderbufferStorageMultisampleIMGNotBound(GLenum target, | |
553 GLsizei samples, | |
554 GLenum internalformat, | |
555 GLsizei width, | |
556 GLsizei height) { | |
557 NOTREACHED(); | |
558 } | |
559 void glResumeTransformFeedbackNotBound(void) { | |
560 NOTREACHED(); | |
561 } | |
562 void glSamplerParameterfNotBound(GLuint sampler, GLenum pname, GLfloat param) { | |
563 NOTREACHED(); | |
564 } | |
565 void glSamplerParameterfvNotBound(GLuint sampler, | |
566 GLenum pname, | |
567 const GLfloat* params) { | |
568 NOTREACHED(); | |
569 } | |
570 void glSamplerParameteriNotBound(GLuint sampler, GLenum pname, GLint param) { | |
571 NOTREACHED(); | |
572 } | |
573 void glSamplerParameterivNotBound(GLuint sampler, | |
574 GLenum pname, | |
575 const GLint* params) { | |
576 NOTREACHED(); | |
577 } | |
578 void glSetFenceAPPLENotBound(GLuint fence) { | |
579 NOTREACHED(); | |
580 } | |
581 void glSetFenceNVNotBound(GLuint fence, GLenum condition) { | |
582 NOTREACHED(); | |
583 } | |
584 void glShaderBinaryNotBound(GLsizei n, | |
585 const GLuint* shaders, | |
586 GLenum binaryformat, | |
587 const void* binary, | |
588 GLsizei length) { | |
589 NOTREACHED(); | |
590 } | |
591 GLboolean glTestFenceAPPLENotBound(GLuint fence) { | |
592 NOTREACHED(); | |
593 return 0; | |
594 } | |
595 GLboolean glTestFenceNVNotBound(GLuint fence) { | |
596 NOTREACHED(); | |
597 return 0; | |
598 } | |
599 void glTexImage3DNotBound(GLenum target, | |
600 GLint level, | |
601 GLint internalformat, | |
602 GLsizei width, | |
603 GLsizei height, | |
604 GLsizei depth, | |
605 GLint border, | |
606 GLenum format, | |
607 GLenum type, | |
608 const void* pixels) { | |
609 NOTREACHED(); | |
610 } | |
224 void glTexStorage2DEXTNotBound(GLenum target, | 611 void glTexStorage2DEXTNotBound(GLenum target, |
225 GLsizei levels, | 612 GLsizei levels, |
226 GLenum internalformat, | 613 GLenum internalformat, |
227 GLsizei width, | 614 GLsizei width, |
228 GLsizei height) { | 615 GLsizei height) { |
229 NOTREACHED(); | 616 NOTREACHED(); |
230 } | 617 } |
618 void glTexStorage3DNotBound(GLenum target, | |
619 GLsizei levels, | |
620 GLenum internalformat, | |
621 GLsizei width, | |
622 GLsizei height, | |
623 GLsizei depth) { | |
624 NOTREACHED(); | |
625 } | |
626 void glTransformFeedbackVaryingsNotBound(GLuint program, | |
627 GLsizei count, | |
628 const char* const* varyings, | |
629 GLenum bufferMode) { | |
630 NOTREACHED(); | |
631 } | |
632 void glUniform1uiNotBound(GLint location, GLuint v0) { | |
633 NOTREACHED(); | |
634 } | |
635 void glUniform1uivNotBound(GLint location, GLsizei count, const GLuint* v) { | |
636 NOTREACHED(); | |
637 } | |
638 void glUniform2uiNotBound(GLint location, GLuint v0, GLuint v1) { | |
639 NOTREACHED(); | |
640 } | |
641 void glUniform2uivNotBound(GLint location, GLsizei count, const GLuint* v) { | |
642 NOTREACHED(); | |
643 } | |
644 void glUniform3uiNotBound(GLint location, GLuint v0, GLuint v1, GLuint v2) { | |
645 NOTREACHED(); | |
646 } | |
647 void glUniform3uivNotBound(GLint location, GLsizei count, const GLuint* v) { | |
648 NOTREACHED(); | |
649 } | |
650 void glUniform4uiNotBound(GLint location, | |
651 GLuint v0, | |
652 GLuint v1, | |
653 GLuint v2, | |
654 GLuint v3) { | |
655 NOTREACHED(); | |
656 } | |
657 void glUniform4uivNotBound(GLint location, GLsizei count, const GLuint* v) { | |
658 NOTREACHED(); | |
659 } | |
660 void glUniformBlockBindingNotBound(GLuint program, | |
661 GLuint uniformBlockIndex, | |
662 GLuint uniformBlockBinding) { | |
663 NOTREACHED(); | |
664 } | |
665 void glUniformMatrix2x3fvNotBound(GLint location, | |
666 GLsizei count, | |
667 GLboolean transpose, | |
668 const GLfloat* value) { | |
669 NOTREACHED(); | |
670 } | |
671 void glUniformMatrix2x4fvNotBound(GLint location, | |
672 GLsizei count, | |
673 GLboolean transpose, | |
674 const GLfloat* value) { | |
675 NOTREACHED(); | |
676 } | |
677 void glUniformMatrix3x2fvNotBound(GLint location, | |
678 GLsizei count, | |
679 GLboolean transpose, | |
680 const GLfloat* value) { | |
681 NOTREACHED(); | |
682 } | |
683 void glUniformMatrix3x4fvNotBound(GLint location, | |
684 GLsizei count, | |
685 GLboolean transpose, | |
686 const GLfloat* value) { | |
687 NOTREACHED(); | |
688 } | |
689 void glUniformMatrix4x2fvNotBound(GLint location, | |
690 GLsizei count, | |
691 GLboolean transpose, | |
692 const GLfloat* value) { | |
693 NOTREACHED(); | |
694 } | |
695 void glUniformMatrix4x3fvNotBound(GLint location, | |
696 GLsizei count, | |
697 GLboolean transpose, | |
698 const GLfloat* value) { | |
699 NOTREACHED(); | |
700 } | |
231 GLboolean glUnmapBufferNotBound(GLenum target) { | 701 GLboolean glUnmapBufferNotBound(GLenum target) { |
232 NOTREACHED(); | 702 NOTREACHED(); |
233 return 0; | 703 return 0; |
234 } | 704 } |
235 void glVertexAttribDivisorANGLENotBound(GLuint index, GLuint divisor) { | 705 void glVertexAttribDivisorANGLENotBound(GLuint index, GLuint divisor) { |
236 NOTREACHED(); | 706 NOTREACHED(); |
237 } | 707 } |
708 void glVertexAttribI4iNotBound(GLuint indx, | |
709 GLint x, | |
710 GLint y, | |
711 GLint z, | |
712 GLint w) { | |
713 NOTREACHED(); | |
714 } | |
715 void glVertexAttribI4ivNotBound(GLuint indx, const GLint* values) { | |
716 NOTREACHED(); | |
717 } | |
718 void glVertexAttribI4uiNotBound(GLuint indx, | |
719 GLuint x, | |
720 GLuint y, | |
721 GLuint z, | |
722 GLuint w) { | |
723 NOTREACHED(); | |
724 } | |
725 void glVertexAttribI4uivNotBound(GLuint indx, const GLuint* values) { | |
726 NOTREACHED(); | |
727 } | |
728 void glVertexAttribIPointerNotBound(GLuint indx, | |
729 GLint size, | |
730 GLenum type, | |
731 GLsizei stride, | |
732 const void* ptr) { | |
733 NOTREACHED(); | |
734 } | |
735 GLenum glWaitSyncNotBound(GLsync sync, GLbitfield flags, GLuint64 timeout) { | |
736 NOTREACHED(); | |
737 return 0; | |
738 } | |
238 | 739 |
239 void DriverGL::InitializeStaticBindings() { | 740 void DriverGL::InitializeStaticBindings() { |
240 fn.glActiveTextureFn = reinterpret_cast<glActiveTextureProc>( | 741 fn.glActiveTextureFn = reinterpret_cast<glActiveTextureProc>( |
241 GetGLProcAddress("glActiveTexture")); | 742 GetGLProcAddress("glActiveTexture")); |
242 fn.glAttachShaderFn = | 743 fn.glAttachShaderFn = |
243 reinterpret_cast<glAttachShaderProc>(GetGLProcAddress("glAttachShader")); | 744 reinterpret_cast<glAttachShaderProc>(GetGLProcAddress("glAttachShader")); |
244 fn.glBeginQueryFn = | 745 fn.glBeginQueryFn = reinterpret_cast<glBeginQueryProc>(glBeginQueryNotBound); |
245 reinterpret_cast<glBeginQueryProc>(GetGLProcAddress("glBeginQuery")); | |
246 fn.glBeginQueryARBFn = | 746 fn.glBeginQueryARBFn = |
247 reinterpret_cast<glBeginQueryARBProc>(glBeginQueryARBNotBound); | 747 reinterpret_cast<glBeginQueryARBProc>(glBeginQueryARBNotBound); |
248 fn.glBeginTransformFeedbackFn = | 748 fn.glBeginTransformFeedbackFn = |
249 reinterpret_cast<glBeginTransformFeedbackProc>( | 749 reinterpret_cast<glBeginTransformFeedbackProc>( |
250 GetGLProcAddress("glBeginTransformFeedback")); | 750 glBeginTransformFeedbackNotBound); |
Zhenyao Mo
2015/01/23 01:48:20
Can't these just be NULL? Then you don't have to
no sievers
2015/01/24 01:50:46
Except for in a release build we would handle it m
no sievers
2015/01/24 01:52:38
On second thought: it would be nice to get crash r
| |
251 fn.glBindAttribLocationFn = reinterpret_cast<glBindAttribLocationProc>( | 751 fn.glBindAttribLocationFn = reinterpret_cast<glBindAttribLocationProc>( |
252 GetGLProcAddress("glBindAttribLocation")); | 752 GetGLProcAddress("glBindAttribLocation")); |
253 fn.glBindBufferFn = | 753 fn.glBindBufferFn = |
254 reinterpret_cast<glBindBufferProc>(GetGLProcAddress("glBindBuffer")); | 754 reinterpret_cast<glBindBufferProc>(GetGLProcAddress("glBindBuffer")); |
255 fn.glBindBufferBaseFn = reinterpret_cast<glBindBufferBaseProc>( | 755 fn.glBindBufferBaseFn = |
256 GetGLProcAddress("glBindBufferBase")); | 756 reinterpret_cast<glBindBufferBaseProc>(glBindBufferBaseNotBound); |
257 fn.glBindBufferRangeFn = reinterpret_cast<glBindBufferRangeProc>( | 757 fn.glBindBufferRangeFn = |
258 GetGLProcAddress("glBindBufferRange")); | 758 reinterpret_cast<glBindBufferRangeProc>(glBindBufferRangeNotBound); |
259 fn.glBindFragDataLocationFn = reinterpret_cast<glBindFragDataLocationProc>( | 759 fn.glBindFragDataLocationFn = reinterpret_cast<glBindFragDataLocationProc>( |
260 GetGLProcAddress("glBindFragDataLocation")); | 760 glBindFragDataLocationNotBound); |
261 fn.glBindFragDataLocationIndexedFn = | 761 fn.glBindFragDataLocationIndexedFn = |
262 reinterpret_cast<glBindFragDataLocationIndexedProc>( | 762 reinterpret_cast<glBindFragDataLocationIndexedProc>( |
263 GetGLProcAddress("glBindFragDataLocationIndexed")); | 763 glBindFragDataLocationIndexedNotBound); |
264 fn.glBindFramebufferEXTFn = | 764 fn.glBindFramebufferEXTFn = reinterpret_cast<glBindFramebufferEXTProc>( |
265 reinterpret_cast<glBindFramebufferEXTProc>(glBindFramebufferEXTNotBound); | 765 GetGLProcAddress("glBindFramebufferEXT")); |
266 fn.glBindRenderbufferEXTFn = reinterpret_cast<glBindRenderbufferEXTProc>( | 766 fn.glBindRenderbufferEXTFn = reinterpret_cast<glBindRenderbufferEXTProc>( |
267 glBindRenderbufferEXTNotBound); | 767 GetGLProcAddress("glBindRenderbufferEXT")); |
268 fn.glBindSamplerFn = | 768 fn.glBindSamplerFn = |
269 reinterpret_cast<glBindSamplerProc>(GetGLProcAddress("glBindSampler")); | 769 reinterpret_cast<glBindSamplerProc>(glBindSamplerNotBound); |
270 fn.glBindTextureFn = | 770 fn.glBindTextureFn = |
271 reinterpret_cast<glBindTextureProc>(GetGLProcAddress("glBindTexture")); | 771 reinterpret_cast<glBindTextureProc>(GetGLProcAddress("glBindTexture")); |
272 fn.glBindTransformFeedbackFn = reinterpret_cast<glBindTransformFeedbackProc>( | 772 fn.glBindTransformFeedbackFn = reinterpret_cast<glBindTransformFeedbackProc>( |
273 GetGLProcAddress("glBindTransformFeedback")); | 773 glBindTransformFeedbackNotBound); |
274 fn.glBindVertexArrayOESFn = | 774 fn.glBindVertexArrayOESFn = |
275 reinterpret_cast<glBindVertexArrayOESProc>(glBindVertexArrayOESNotBound); | 775 reinterpret_cast<glBindVertexArrayOESProc>(glBindVertexArrayOESNotBound); |
276 fn.glBlendBarrierKHRFn = | 776 fn.glBlendBarrierKHRFn = |
277 reinterpret_cast<glBlendBarrierKHRProc>(glBlendBarrierKHRNotBound); | 777 reinterpret_cast<glBlendBarrierKHRProc>(glBlendBarrierKHRNotBound); |
278 fn.glBlendColorFn = | 778 fn.glBlendColorFn = |
279 reinterpret_cast<glBlendColorProc>(GetGLProcAddress("glBlendColor")); | 779 reinterpret_cast<glBlendColorProc>(GetGLProcAddress("glBlendColor")); |
280 fn.glBlendEquationFn = reinterpret_cast<glBlendEquationProc>( | 780 fn.glBlendEquationFn = reinterpret_cast<glBlendEquationProc>( |
281 GetGLProcAddress("glBlendEquation")); | 781 GetGLProcAddress("glBlendEquation")); |
282 fn.glBlendEquationSeparateFn = reinterpret_cast<glBlendEquationSeparateProc>( | 782 fn.glBlendEquationSeparateFn = reinterpret_cast<glBlendEquationSeparateProc>( |
283 GetGLProcAddress("glBlendEquationSeparate")); | 783 GetGLProcAddress("glBlendEquationSeparate")); |
284 fn.glBlendFuncFn = | 784 fn.glBlendFuncFn = |
285 reinterpret_cast<glBlendFuncProc>(GetGLProcAddress("glBlendFunc")); | 785 reinterpret_cast<glBlendFuncProc>(GetGLProcAddress("glBlendFunc")); |
286 fn.glBlendFuncSeparateFn = reinterpret_cast<glBlendFuncSeparateProc>( | 786 fn.glBlendFuncSeparateFn = reinterpret_cast<glBlendFuncSeparateProc>( |
287 GetGLProcAddress("glBlendFuncSeparate")); | 787 GetGLProcAddress("glBlendFuncSeparate")); |
288 fn.glBlitFramebufferFn = reinterpret_cast<glBlitFramebufferProc>( | 788 fn.glBlitFramebufferFn = |
289 GetGLProcAddress("glBlitFramebuffer")); | 789 reinterpret_cast<glBlitFramebufferProc>(glBlitFramebufferNotBound); |
290 fn.glBlitFramebufferANGLEFn = reinterpret_cast<glBlitFramebufferANGLEProc>( | 790 fn.glBlitFramebufferANGLEFn = reinterpret_cast<glBlitFramebufferANGLEProc>( |
291 glBlitFramebufferANGLENotBound); | 791 glBlitFramebufferANGLENotBound); |
292 fn.glBlitFramebufferEXTFn = | 792 fn.glBlitFramebufferEXTFn = |
293 reinterpret_cast<glBlitFramebufferEXTProc>(glBlitFramebufferEXTNotBound); | 793 reinterpret_cast<glBlitFramebufferEXTProc>(glBlitFramebufferEXTNotBound); |
294 fn.glBufferDataFn = | 794 fn.glBufferDataFn = |
295 reinterpret_cast<glBufferDataProc>(GetGLProcAddress("glBufferData")); | 795 reinterpret_cast<glBufferDataProc>(GetGLProcAddress("glBufferData")); |
296 fn.glBufferSubDataFn = reinterpret_cast<glBufferSubDataProc>( | 796 fn.glBufferSubDataFn = reinterpret_cast<glBufferSubDataProc>( |
297 GetGLProcAddress("glBufferSubData")); | 797 GetGLProcAddress("glBufferSubData")); |
298 fn.glCheckFramebufferStatusEXTFn = | 798 fn.glCheckFramebufferStatusEXTFn = |
299 reinterpret_cast<glCheckFramebufferStatusEXTProc>( | 799 reinterpret_cast<glCheckFramebufferStatusEXTProc>( |
300 glCheckFramebufferStatusEXTNotBound); | 800 GetGLProcAddress("glCheckFramebufferStatusEXT")); |
301 fn.glClearFn = reinterpret_cast<glClearProc>(GetGLProcAddress("glClear")); | 801 fn.glClearFn = reinterpret_cast<glClearProc>(GetGLProcAddress("glClear")); |
302 fn.glClearBufferfiFn = reinterpret_cast<glClearBufferfiProc>( | 802 fn.glClearBufferfiFn = |
303 GetGLProcAddress("glClearBufferfi")); | 803 reinterpret_cast<glClearBufferfiProc>(glClearBufferfiNotBound); |
304 fn.glClearBufferfvFn = reinterpret_cast<glClearBufferfvProc>( | 804 fn.glClearBufferfvFn = |
305 GetGLProcAddress("glClearBufferfv")); | 805 reinterpret_cast<glClearBufferfvProc>(glClearBufferfvNotBound); |
306 fn.glClearBufferivFn = reinterpret_cast<glClearBufferivProc>( | 806 fn.glClearBufferivFn = |
307 GetGLProcAddress("glClearBufferiv")); | 807 reinterpret_cast<glClearBufferivProc>(glClearBufferivNotBound); |
308 fn.glClearBufferuivFn = reinterpret_cast<glClearBufferuivProc>( | 808 fn.glClearBufferuivFn = |
309 GetGLProcAddress("glClearBufferuiv")); | 809 reinterpret_cast<glClearBufferuivProc>(glClearBufferuivNotBound); |
310 fn.glClearColorFn = | 810 fn.glClearColorFn = |
311 reinterpret_cast<glClearColorProc>(GetGLProcAddress("glClearColor")); | 811 reinterpret_cast<glClearColorProc>(GetGLProcAddress("glClearColor")); |
312 fn.glClearDepthFn = | 812 fn.glClearDepthFn = |
313 reinterpret_cast<glClearDepthProc>(GetGLProcAddress("glClearDepth")); | 813 reinterpret_cast<glClearDepthProc>(GetGLProcAddress("glClearDepth")); |
314 fn.glClearDepthfFn = | 814 fn.glClearDepthfFn = |
315 reinterpret_cast<glClearDepthfProc>(GetGLProcAddress("glClearDepthf")); | 815 reinterpret_cast<glClearDepthfProc>(glClearDepthfNotBound); |
316 fn.glClearStencilFn = | 816 fn.glClearStencilFn = |
317 reinterpret_cast<glClearStencilProc>(GetGLProcAddress("glClearStencil")); | 817 reinterpret_cast<glClearStencilProc>(GetGLProcAddress("glClearStencil")); |
318 fn.glClientWaitSyncFn = reinterpret_cast<glClientWaitSyncProc>( | 818 fn.glClientWaitSyncFn = |
319 GetGLProcAddress("glClientWaitSync")); | 819 reinterpret_cast<glClientWaitSyncProc>(glClientWaitSyncNotBound); |
320 fn.glColorMaskFn = | 820 fn.glColorMaskFn = |
321 reinterpret_cast<glColorMaskProc>(GetGLProcAddress("glColorMask")); | 821 reinterpret_cast<glColorMaskProc>(GetGLProcAddress("glColorMask")); |
322 fn.glCompileShaderFn = reinterpret_cast<glCompileShaderProc>( | 822 fn.glCompileShaderFn = reinterpret_cast<glCompileShaderProc>( |
323 GetGLProcAddress("glCompileShader")); | 823 GetGLProcAddress("glCompileShader")); |
324 fn.glCompressedTexImage2DFn = reinterpret_cast<glCompressedTexImage2DProc>( | 824 fn.glCompressedTexImage2DFn = reinterpret_cast<glCompressedTexImage2DProc>( |
325 GetGLProcAddress("glCompressedTexImage2D")); | 825 GetGLProcAddress("glCompressedTexImage2D")); |
326 fn.glCompressedTexImage3DFn = reinterpret_cast<glCompressedTexImage3DProc>( | 826 fn.glCompressedTexImage3DFn = reinterpret_cast<glCompressedTexImage3DProc>( |
327 GetGLProcAddress("glCompressedTexImage3D")); | 827 glCompressedTexImage3DNotBound); |
328 fn.glCompressedTexSubImage2DFn = | 828 fn.glCompressedTexSubImage2DFn = |
329 reinterpret_cast<glCompressedTexSubImage2DProc>( | 829 reinterpret_cast<glCompressedTexSubImage2DProc>( |
330 GetGLProcAddress("glCompressedTexSubImage2D")); | 830 GetGLProcAddress("glCompressedTexSubImage2D")); |
331 fn.glCopyBufferSubDataFn = reinterpret_cast<glCopyBufferSubDataProc>( | 831 fn.glCopyBufferSubDataFn = |
332 GetGLProcAddress("glCopyBufferSubData")); | 832 reinterpret_cast<glCopyBufferSubDataProc>(glCopyBufferSubDataNotBound); |
333 fn.glCopyTexImage2DFn = reinterpret_cast<glCopyTexImage2DProc>( | 833 fn.glCopyTexImage2DFn = reinterpret_cast<glCopyTexImage2DProc>( |
334 GetGLProcAddress("glCopyTexImage2D")); | 834 GetGLProcAddress("glCopyTexImage2D")); |
335 fn.glCopyTexSubImage2DFn = reinterpret_cast<glCopyTexSubImage2DProc>( | 835 fn.glCopyTexSubImage2DFn = reinterpret_cast<glCopyTexSubImage2DProc>( |
336 GetGLProcAddress("glCopyTexSubImage2D")); | 836 GetGLProcAddress("glCopyTexSubImage2D")); |
337 fn.glCopyTexSubImage3DFn = reinterpret_cast<glCopyTexSubImage3DProc>( | 837 fn.glCopyTexSubImage3DFn = |
338 GetGLProcAddress("glCopyTexSubImage3D")); | 838 reinterpret_cast<glCopyTexSubImage3DProc>(glCopyTexSubImage3DNotBound); |
339 fn.glCreateProgramFn = reinterpret_cast<glCreateProgramProc>( | 839 fn.glCreateProgramFn = reinterpret_cast<glCreateProgramProc>( |
340 GetGLProcAddress("glCreateProgram")); | 840 GetGLProcAddress("glCreateProgram")); |
341 fn.glCreateShaderFn = | 841 fn.glCreateShaderFn = |
342 reinterpret_cast<glCreateShaderProc>(GetGLProcAddress("glCreateShader")); | 842 reinterpret_cast<glCreateShaderProc>(GetGLProcAddress("glCreateShader")); |
343 fn.glCullFaceFn = | 843 fn.glCullFaceFn = |
344 reinterpret_cast<glCullFaceProc>(GetGLProcAddress("glCullFace")); | 844 reinterpret_cast<glCullFaceProc>(GetGLProcAddress("glCullFace")); |
345 fn.glDeleteBuffersARBFn = | 845 fn.glDeleteBuffersARBFn = reinterpret_cast<glDeleteBuffersARBProc>( |
346 reinterpret_cast<glDeleteBuffersARBProc>(glDeleteBuffersARBNotBound); | 846 GetGLProcAddress("glDeleteBuffers")); |
347 fn.glDeleteFencesAPPLEFn = reinterpret_cast<glDeleteFencesAPPLEProc>( | 847 fn.glDeleteFencesAPPLEFn = |
348 GetGLProcAddress("glDeleteFencesAPPLE")); | 848 reinterpret_cast<glDeleteFencesAPPLEProc>(glDeleteFencesAPPLENotBound); |
349 fn.glDeleteFencesNVFn = reinterpret_cast<glDeleteFencesNVProc>( | 849 fn.glDeleteFencesNVFn = |
350 GetGLProcAddress("glDeleteFencesNV")); | 850 reinterpret_cast<glDeleteFencesNVProc>(glDeleteFencesNVNotBound); |
351 fn.glDeleteFramebuffersEXTFn = reinterpret_cast<glDeleteFramebuffersEXTProc>( | 851 fn.glDeleteFramebuffersEXTFn = reinterpret_cast<glDeleteFramebuffersEXTProc>( |
352 glDeleteFramebuffersEXTNotBound); | 852 GetGLProcAddress("glDeleteFramebuffersEXT")); |
353 fn.glDeleteProgramFn = reinterpret_cast<glDeleteProgramProc>( | 853 fn.glDeleteProgramFn = reinterpret_cast<glDeleteProgramProc>( |
354 GetGLProcAddress("glDeleteProgram")); | 854 GetGLProcAddress("glDeleteProgram")); |
355 fn.glDeleteQueriesFn = reinterpret_cast<glDeleteQueriesProc>( | 855 fn.glDeleteQueriesFn = |
356 GetGLProcAddress("glDeleteQueries")); | 856 reinterpret_cast<glDeleteQueriesProc>(glDeleteQueriesNotBound); |
357 fn.glDeleteQueriesARBFn = | 857 fn.glDeleteQueriesARBFn = |
358 reinterpret_cast<glDeleteQueriesARBProc>(glDeleteQueriesARBNotBound); | 858 reinterpret_cast<glDeleteQueriesARBProc>(glDeleteQueriesARBNotBound); |
359 fn.glDeleteRenderbuffersEXTFn = | 859 fn.glDeleteRenderbuffersEXTFn = |
360 reinterpret_cast<glDeleteRenderbuffersEXTProc>( | 860 reinterpret_cast<glDeleteRenderbuffersEXTProc>( |
361 glDeleteRenderbuffersEXTNotBound); | 861 GetGLProcAddress("glDeleteRenderbuffersEXT")); |
362 fn.glDeleteSamplersFn = reinterpret_cast<glDeleteSamplersProc>( | 862 fn.glDeleteSamplersFn = |
363 GetGLProcAddress("glDeleteSamplers")); | 863 reinterpret_cast<glDeleteSamplersProc>(glDeleteSamplersNotBound); |
364 fn.glDeleteShaderFn = | 864 fn.glDeleteShaderFn = |
365 reinterpret_cast<glDeleteShaderProc>(GetGLProcAddress("glDeleteShader")); | 865 reinterpret_cast<glDeleteShaderProc>(GetGLProcAddress("glDeleteShader")); |
366 fn.glDeleteSyncFn = | 866 fn.glDeleteSyncFn = reinterpret_cast<glDeleteSyncProc>(glDeleteSyncNotBound); |
367 reinterpret_cast<glDeleteSyncProc>(GetGLProcAddress("glDeleteSync")); | |
368 fn.glDeleteTexturesFn = reinterpret_cast<glDeleteTexturesProc>( | 867 fn.glDeleteTexturesFn = reinterpret_cast<glDeleteTexturesProc>( |
369 GetGLProcAddress("glDeleteTextures")); | 868 GetGLProcAddress("glDeleteTextures")); |
370 fn.glDeleteTransformFeedbacksFn = | 869 fn.glDeleteTransformFeedbacksFn = |
371 reinterpret_cast<glDeleteTransformFeedbacksProc>( | 870 reinterpret_cast<glDeleteTransformFeedbacksProc>( |
372 GetGLProcAddress("glDeleteTransformFeedbacks")); | 871 glDeleteTransformFeedbacksNotBound); |
373 fn.glDeleteVertexArraysOESFn = reinterpret_cast<glDeleteVertexArraysOESProc>( | 872 fn.glDeleteVertexArraysOESFn = reinterpret_cast<glDeleteVertexArraysOESProc>( |
374 glDeleteVertexArraysOESNotBound); | 873 glDeleteVertexArraysOESNotBound); |
375 fn.glDepthFuncFn = | 874 fn.glDepthFuncFn = |
376 reinterpret_cast<glDepthFuncProc>(GetGLProcAddress("glDepthFunc")); | 875 reinterpret_cast<glDepthFuncProc>(GetGLProcAddress("glDepthFunc")); |
377 fn.glDepthMaskFn = | 876 fn.glDepthMaskFn = |
378 reinterpret_cast<glDepthMaskProc>(GetGLProcAddress("glDepthMask")); | 877 reinterpret_cast<glDepthMaskProc>(GetGLProcAddress("glDepthMask")); |
379 fn.glDepthRangeFn = | 878 fn.glDepthRangeFn = |
380 reinterpret_cast<glDepthRangeProc>(GetGLProcAddress("glDepthRange")); | 879 reinterpret_cast<glDepthRangeProc>(GetGLProcAddress("glDepthRange")); |
381 fn.glDepthRangefFn = | 880 fn.glDepthRangefFn = |
382 reinterpret_cast<glDepthRangefProc>(GetGLProcAddress("glDepthRangef")); | 881 reinterpret_cast<glDepthRangefProc>(glDepthRangefNotBound); |
383 fn.glDetachShaderFn = | 882 fn.glDetachShaderFn = |
384 reinterpret_cast<glDetachShaderProc>(GetGLProcAddress("glDetachShader")); | 883 reinterpret_cast<glDetachShaderProc>(GetGLProcAddress("glDetachShader")); |
385 fn.glDisableFn = | 884 fn.glDisableFn = |
386 reinterpret_cast<glDisableProc>(GetGLProcAddress("glDisable")); | 885 reinterpret_cast<glDisableProc>(GetGLProcAddress("glDisable")); |
387 fn.glDisableVertexAttribArrayFn = | 886 fn.glDisableVertexAttribArrayFn = |
388 reinterpret_cast<glDisableVertexAttribArrayProc>( | 887 reinterpret_cast<glDisableVertexAttribArrayProc>( |
389 GetGLProcAddress("glDisableVertexAttribArray")); | 888 GetGLProcAddress("glDisableVertexAttribArray")); |
390 fn.glDiscardFramebufferEXTFn = reinterpret_cast<glDiscardFramebufferEXTProc>( | 889 fn.glDiscardFramebufferEXTFn = reinterpret_cast<glDiscardFramebufferEXTProc>( |
391 GetGLProcAddress("glDiscardFramebufferEXT")); | 890 glDiscardFramebufferEXTNotBound); |
392 fn.glDrawArraysFn = | 891 fn.glDrawArraysFn = |
393 reinterpret_cast<glDrawArraysProc>(GetGLProcAddress("glDrawArrays")); | 892 reinterpret_cast<glDrawArraysProc>(GetGLProcAddress("glDrawArrays")); |
394 fn.glDrawArraysInstancedANGLEFn = | 893 fn.glDrawArraysInstancedANGLEFn = |
395 reinterpret_cast<glDrawArraysInstancedANGLEProc>( | 894 reinterpret_cast<glDrawArraysInstancedANGLEProc>( |
396 glDrawArraysInstancedANGLENotBound); | 895 glDrawArraysInstancedANGLENotBound); |
397 fn.glDrawBufferFn = | 896 fn.glDrawBufferFn = reinterpret_cast<glDrawBufferProc>(glDrawBufferNotBound); |
398 reinterpret_cast<glDrawBufferProc>(GetGLProcAddress("glDrawBuffer")); | |
399 fn.glDrawBuffersARBFn = | 897 fn.glDrawBuffersARBFn = |
400 reinterpret_cast<glDrawBuffersARBProc>(glDrawBuffersARBNotBound); | 898 reinterpret_cast<glDrawBuffersARBProc>(glDrawBuffersARBNotBound); |
401 fn.glDrawElementsFn = | 899 fn.glDrawElementsFn = |
402 reinterpret_cast<glDrawElementsProc>(GetGLProcAddress("glDrawElements")); | 900 reinterpret_cast<glDrawElementsProc>(GetGLProcAddress("glDrawElements")); |
403 fn.glDrawElementsInstancedANGLEFn = | 901 fn.glDrawElementsInstancedANGLEFn = |
404 reinterpret_cast<glDrawElementsInstancedANGLEProc>( | 902 reinterpret_cast<glDrawElementsInstancedANGLEProc>( |
405 glDrawElementsInstancedANGLENotBound); | 903 glDrawElementsInstancedANGLENotBound); |
406 fn.glDrawRangeElementsFn = reinterpret_cast<glDrawRangeElementsProc>( | 904 fn.glDrawRangeElementsFn = |
407 GetGLProcAddress("glDrawRangeElements")); | 905 reinterpret_cast<glDrawRangeElementsProc>(glDrawRangeElementsNotBound); |
408 fn.glEGLImageTargetRenderbufferStorageOESFn = | 906 fn.glEGLImageTargetRenderbufferStorageOESFn = |
409 reinterpret_cast<glEGLImageTargetRenderbufferStorageOESProc>( | 907 reinterpret_cast<glEGLImageTargetRenderbufferStorageOESProc>( |
410 GetGLProcAddress("glEGLImageTargetRenderbufferStorageOES")); | 908 glEGLImageTargetRenderbufferStorageOESNotBound); |
411 fn.glEGLImageTargetTexture2DOESFn = | 909 fn.glEGLImageTargetTexture2DOESFn = |
412 reinterpret_cast<glEGLImageTargetTexture2DOESProc>( | 910 reinterpret_cast<glEGLImageTargetTexture2DOESProc>( |
413 GetGLProcAddress("glEGLImageTargetTexture2DOES")); | 911 glEGLImageTargetTexture2DOESNotBound); |
414 fn.glEnableFn = reinterpret_cast<glEnableProc>(GetGLProcAddress("glEnable")); | 912 fn.glEnableFn = reinterpret_cast<glEnableProc>(GetGLProcAddress("glEnable")); |
415 fn.glEnableVertexAttribArrayFn = | 913 fn.glEnableVertexAttribArrayFn = |
416 reinterpret_cast<glEnableVertexAttribArrayProc>( | 914 reinterpret_cast<glEnableVertexAttribArrayProc>( |
417 GetGLProcAddress("glEnableVertexAttribArray")); | 915 GetGLProcAddress("glEnableVertexAttribArray")); |
418 fn.glEndQueryFn = | 916 fn.glEndQueryFn = reinterpret_cast<glEndQueryProc>(glEndQueryNotBound); |
419 reinterpret_cast<glEndQueryProc>(GetGLProcAddress("glEndQuery")); | |
420 fn.glEndQueryARBFn = | 917 fn.glEndQueryARBFn = |
421 reinterpret_cast<glEndQueryARBProc>(glEndQueryARBNotBound); | 918 reinterpret_cast<glEndQueryARBProc>(glEndQueryARBNotBound); |
422 fn.glEndTransformFeedbackFn = reinterpret_cast<glEndTransformFeedbackProc>( | 919 fn.glEndTransformFeedbackFn = reinterpret_cast<glEndTransformFeedbackProc>( |
423 GetGLProcAddress("glEndTransformFeedback")); | 920 glEndTransformFeedbackNotBound); |
424 fn.glFenceSyncFn = | 921 fn.glFenceSyncFn = reinterpret_cast<glFenceSyncProc>(glFenceSyncNotBound); |
425 reinterpret_cast<glFenceSyncProc>(GetGLProcAddress("glFenceSync")); | |
426 fn.glFinishFn = reinterpret_cast<glFinishProc>(GetGLProcAddress("glFinish")); | 922 fn.glFinishFn = reinterpret_cast<glFinishProc>(GetGLProcAddress("glFinish")); |
427 fn.glFinishFenceAPPLEFn = reinterpret_cast<glFinishFenceAPPLEProc>( | 923 fn.glFinishFenceAPPLEFn = |
428 GetGLProcAddress("glFinishFenceAPPLE")); | 924 reinterpret_cast<glFinishFenceAPPLEProc>(glFinishFenceAPPLENotBound); |
429 fn.glFinishFenceNVFn = reinterpret_cast<glFinishFenceNVProc>( | 925 fn.glFinishFenceNVFn = |
430 GetGLProcAddress("glFinishFenceNV")); | 926 reinterpret_cast<glFinishFenceNVProc>(glFinishFenceNVNotBound); |
431 fn.glFlushFn = reinterpret_cast<glFlushProc>(GetGLProcAddress("glFlush")); | 927 fn.glFlushFn = reinterpret_cast<glFlushProc>(GetGLProcAddress("glFlush")); |
432 fn.glFlushMappedBufferRangeFn = | 928 fn.glFlushMappedBufferRangeFn = |
433 reinterpret_cast<glFlushMappedBufferRangeProc>( | 929 reinterpret_cast<glFlushMappedBufferRangeProc>( |
434 GetGLProcAddress("glFlushMappedBufferRange")); | 930 glFlushMappedBufferRangeNotBound); |
435 fn.glFramebufferRenderbufferEXTFn = | 931 fn.glFramebufferRenderbufferEXTFn = |
436 reinterpret_cast<glFramebufferRenderbufferEXTProc>( | 932 reinterpret_cast<glFramebufferRenderbufferEXTProc>( |
437 glFramebufferRenderbufferEXTNotBound); | 933 GetGLProcAddress("glFramebufferRenderbufferEXT")); |
438 fn.glFramebufferTexture2DEXTFn = | 934 fn.glFramebufferTexture2DEXTFn = |
439 reinterpret_cast<glFramebufferTexture2DEXTProc>( | 935 reinterpret_cast<glFramebufferTexture2DEXTProc>( |
440 glFramebufferTexture2DEXTNotBound); | 936 GetGLProcAddress("glFramebufferTexture2DEXT")); |
441 fn.glFramebufferTexture2DMultisampleEXTFn = | 937 fn.glFramebufferTexture2DMultisampleEXTFn = |
442 reinterpret_cast<glFramebufferTexture2DMultisampleEXTProc>( | 938 reinterpret_cast<glFramebufferTexture2DMultisampleEXTProc>( |
443 GetGLProcAddress("glFramebufferTexture2DMultisampleEXT")); | 939 glFramebufferTexture2DMultisampleEXTNotBound); |
444 fn.glFramebufferTexture2DMultisampleIMGFn = | 940 fn.glFramebufferTexture2DMultisampleIMGFn = |
445 reinterpret_cast<glFramebufferTexture2DMultisampleIMGProc>( | 941 reinterpret_cast<glFramebufferTexture2DMultisampleIMGProc>( |
446 GetGLProcAddress("glFramebufferTexture2DMultisampleIMG")); | 942 glFramebufferTexture2DMultisampleIMGNotBound); |
447 fn.glFramebufferTextureLayerFn = | 943 fn.glFramebufferTextureLayerFn = |
448 reinterpret_cast<glFramebufferTextureLayerProc>( | 944 reinterpret_cast<glFramebufferTextureLayerProc>( |
449 GetGLProcAddress("glFramebufferTextureLayer")); | 945 glFramebufferTextureLayerNotBound); |
450 fn.glFrontFaceFn = | 946 fn.glFrontFaceFn = |
451 reinterpret_cast<glFrontFaceProc>(GetGLProcAddress("glFrontFace")); | 947 reinterpret_cast<glFrontFaceProc>(GetGLProcAddress("glFrontFace")); |
452 fn.glGenBuffersARBFn = | 948 fn.glGenBuffersARBFn = |
453 reinterpret_cast<glGenBuffersARBProc>(glGenBuffersARBNotBound); | 949 reinterpret_cast<glGenBuffersARBProc>(GetGLProcAddress("glGenBuffers")); |
454 fn.glGenerateMipmapEXTFn = | 950 fn.glGenerateMipmapEXTFn = reinterpret_cast<glGenerateMipmapEXTProc>( |
455 reinterpret_cast<glGenerateMipmapEXTProc>(glGenerateMipmapEXTNotBound); | 951 GetGLProcAddress("glGenerateMipmapEXT")); |
456 fn.glGenFencesAPPLEFn = reinterpret_cast<glGenFencesAPPLEProc>( | 952 fn.glGenFencesAPPLEFn = |
457 GetGLProcAddress("glGenFencesAPPLE")); | 953 reinterpret_cast<glGenFencesAPPLEProc>(glGenFencesAPPLENotBound); |
458 fn.glGenFencesNVFn = | 954 fn.glGenFencesNVFn = |
459 reinterpret_cast<glGenFencesNVProc>(GetGLProcAddress("glGenFencesNV")); | 955 reinterpret_cast<glGenFencesNVProc>(glGenFencesNVNotBound); |
460 fn.glGenFramebuffersEXTFn = | 956 fn.glGenFramebuffersEXTFn = reinterpret_cast<glGenFramebuffersEXTProc>( |
461 reinterpret_cast<glGenFramebuffersEXTProc>(glGenFramebuffersEXTNotBound); | 957 GetGLProcAddress("glGenFramebuffersEXT")); |
462 fn.glGenQueriesFn = | 958 fn.glGenQueriesFn = reinterpret_cast<glGenQueriesProc>(glGenQueriesNotBound); |
463 reinterpret_cast<glGenQueriesProc>(GetGLProcAddress("glGenQueries")); | |
464 fn.glGenQueriesARBFn = | 959 fn.glGenQueriesARBFn = |
465 reinterpret_cast<glGenQueriesARBProc>(glGenQueriesARBNotBound); | 960 reinterpret_cast<glGenQueriesARBProc>(glGenQueriesARBNotBound); |
466 fn.glGenRenderbuffersEXTFn = reinterpret_cast<glGenRenderbuffersEXTProc>( | 961 fn.glGenRenderbuffersEXTFn = reinterpret_cast<glGenRenderbuffersEXTProc>( |
467 glGenRenderbuffersEXTNotBound); | 962 GetGLProcAddress("glGenRenderbuffersEXT")); |
468 fn.glGenSamplersFn = | 963 fn.glGenSamplersFn = |
469 reinterpret_cast<glGenSamplersProc>(GetGLProcAddress("glGenSamplers")); | 964 reinterpret_cast<glGenSamplersProc>(glGenSamplersNotBound); |
470 fn.glGenTexturesFn = | 965 fn.glGenTexturesFn = |
471 reinterpret_cast<glGenTexturesProc>(GetGLProcAddress("glGenTextures")); | 966 reinterpret_cast<glGenTexturesProc>(GetGLProcAddress("glGenTextures")); |
472 fn.glGenTransformFeedbacksFn = reinterpret_cast<glGenTransformFeedbacksProc>( | 967 fn.glGenTransformFeedbacksFn = reinterpret_cast<glGenTransformFeedbacksProc>( |
473 GetGLProcAddress("glGenTransformFeedbacks")); | 968 glGenTransformFeedbacksNotBound); |
474 fn.glGenVertexArraysOESFn = | 969 fn.glGenVertexArraysOESFn = |
475 reinterpret_cast<glGenVertexArraysOESProc>(glGenVertexArraysOESNotBound); | 970 reinterpret_cast<glGenVertexArraysOESProc>(glGenVertexArraysOESNotBound); |
476 fn.glGetActiveAttribFn = reinterpret_cast<glGetActiveAttribProc>( | 971 fn.glGetActiveAttribFn = reinterpret_cast<glGetActiveAttribProc>( |
477 GetGLProcAddress("glGetActiveAttrib")); | 972 GetGLProcAddress("glGetActiveAttrib")); |
478 fn.glGetActiveUniformFn = reinterpret_cast<glGetActiveUniformProc>( | 973 fn.glGetActiveUniformFn = reinterpret_cast<glGetActiveUniformProc>( |
479 GetGLProcAddress("glGetActiveUniform")); | 974 GetGLProcAddress("glGetActiveUniform")); |
480 fn.glGetActiveUniformBlockivFn = | 975 fn.glGetActiveUniformBlockivFn = |
481 reinterpret_cast<glGetActiveUniformBlockivProc>( | 976 reinterpret_cast<glGetActiveUniformBlockivProc>( |
482 GetGLProcAddress("glGetActiveUniformBlockiv")); | 977 glGetActiveUniformBlockivNotBound); |
483 fn.glGetActiveUniformBlockNameFn = | 978 fn.glGetActiveUniformBlockNameFn = |
484 reinterpret_cast<glGetActiveUniformBlockNameProc>( | 979 reinterpret_cast<glGetActiveUniformBlockNameProc>( |
485 GetGLProcAddress("glGetActiveUniformBlockName")); | 980 glGetActiveUniformBlockNameNotBound); |
486 fn.glGetActiveUniformsivFn = reinterpret_cast<glGetActiveUniformsivProc>( | 981 fn.glGetActiveUniformsivFn = reinterpret_cast<glGetActiveUniformsivProc>( |
487 GetGLProcAddress("glGetActiveUniformsiv")); | 982 glGetActiveUniformsivNotBound); |
488 fn.glGetAttachedShadersFn = reinterpret_cast<glGetAttachedShadersProc>( | 983 fn.glGetAttachedShadersFn = reinterpret_cast<glGetAttachedShadersProc>( |
489 GetGLProcAddress("glGetAttachedShaders")); | 984 GetGLProcAddress("glGetAttachedShaders")); |
490 fn.glGetAttribLocationFn = reinterpret_cast<glGetAttribLocationProc>( | 985 fn.glGetAttribLocationFn = reinterpret_cast<glGetAttribLocationProc>( |
491 GetGLProcAddress("glGetAttribLocation")); | 986 GetGLProcAddress("glGetAttribLocation")); |
492 fn.glGetBooleanvFn = | 987 fn.glGetBooleanvFn = |
493 reinterpret_cast<glGetBooleanvProc>(GetGLProcAddress("glGetBooleanv")); | 988 reinterpret_cast<glGetBooleanvProc>(GetGLProcAddress("glGetBooleanv")); |
494 fn.glGetBufferParameterivFn = reinterpret_cast<glGetBufferParameterivProc>( | 989 fn.glGetBufferParameterivFn = reinterpret_cast<glGetBufferParameterivProc>( |
495 GetGLProcAddress("glGetBufferParameteriv")); | 990 GetGLProcAddress("glGetBufferParameteriv")); |
496 fn.glGetErrorFn = | 991 fn.glGetErrorFn = |
497 reinterpret_cast<glGetErrorProc>(GetGLProcAddress("glGetError")); | 992 reinterpret_cast<glGetErrorProc>(GetGLProcAddress("glGetError")); |
498 fn.glGetFenceivNVFn = | 993 fn.glGetFenceivNVFn = |
499 reinterpret_cast<glGetFenceivNVProc>(GetGLProcAddress("glGetFenceivNV")); | 994 reinterpret_cast<glGetFenceivNVProc>(glGetFenceivNVNotBound); |
500 fn.glGetFloatvFn = | 995 fn.glGetFloatvFn = |
501 reinterpret_cast<glGetFloatvProc>(GetGLProcAddress("glGetFloatv")); | 996 reinterpret_cast<glGetFloatvProc>(GetGLProcAddress("glGetFloatv")); |
502 fn.glGetFragDataLocationFn = reinterpret_cast<glGetFragDataLocationProc>( | 997 fn.glGetFragDataLocationFn = reinterpret_cast<glGetFragDataLocationProc>( |
503 GetGLProcAddress("glGetFragDataLocation")); | 998 glGetFragDataLocationNotBound); |
504 fn.glGetFramebufferAttachmentParameterivEXTFn = | 999 fn.glGetFramebufferAttachmentParameterivEXTFn = |
505 reinterpret_cast<glGetFramebufferAttachmentParameterivEXTProc>( | 1000 reinterpret_cast<glGetFramebufferAttachmentParameterivEXTProc>( |
506 glGetFramebufferAttachmentParameterivEXTNotBound); | 1001 GetGLProcAddress("glGetFramebufferAttachmentParameterivEXT")); |
507 fn.glGetGraphicsResetStatusARBFn = | 1002 fn.glGetGraphicsResetStatusARBFn = |
508 reinterpret_cast<glGetGraphicsResetStatusARBProc>( | 1003 reinterpret_cast<glGetGraphicsResetStatusARBProc>( |
509 glGetGraphicsResetStatusARBNotBound); | 1004 glGetGraphicsResetStatusARBNotBound); |
510 fn.glGetInteger64i_vFn = reinterpret_cast<glGetInteger64i_vProc>( | 1005 fn.glGetInteger64i_vFn = |
511 GetGLProcAddress("glGetInteger64i_v")); | 1006 reinterpret_cast<glGetInteger64i_vProc>(glGetInteger64i_vNotBound); |
512 fn.glGetInteger64vFn = reinterpret_cast<glGetInteger64vProc>( | 1007 fn.glGetInteger64vFn = |
513 GetGLProcAddress("glGetInteger64v")); | 1008 reinterpret_cast<glGetInteger64vProc>(glGetInteger64vNotBound); |
514 fn.glGetIntegeri_vFn = reinterpret_cast<glGetIntegeri_vProc>( | 1009 fn.glGetIntegeri_vFn = |
515 GetGLProcAddress("glGetIntegeri_v")); | 1010 reinterpret_cast<glGetIntegeri_vProc>(glGetIntegeri_vNotBound); |
516 fn.glGetIntegervFn = | 1011 fn.glGetIntegervFn = |
517 reinterpret_cast<glGetIntegervProc>(GetGLProcAddress("glGetIntegerv")); | 1012 reinterpret_cast<glGetIntegervProc>(GetGLProcAddress("glGetIntegerv")); |
518 fn.glGetInternalformativFn = reinterpret_cast<glGetInternalformativProc>( | 1013 fn.glGetInternalformativFn = reinterpret_cast<glGetInternalformativProc>( |
519 GetGLProcAddress("glGetInternalformativ")); | 1014 glGetInternalformativNotBound); |
520 fn.glGetProgramBinaryFn = | 1015 fn.glGetProgramBinaryFn = |
521 reinterpret_cast<glGetProgramBinaryProc>(glGetProgramBinaryNotBound); | 1016 reinterpret_cast<glGetProgramBinaryProc>(glGetProgramBinaryNotBound); |
522 fn.glGetProgramInfoLogFn = reinterpret_cast<glGetProgramInfoLogProc>( | 1017 fn.glGetProgramInfoLogFn = reinterpret_cast<glGetProgramInfoLogProc>( |
523 GetGLProcAddress("glGetProgramInfoLog")); | 1018 GetGLProcAddress("glGetProgramInfoLog")); |
524 fn.glGetProgramivFn = | 1019 fn.glGetProgramivFn = |
525 reinterpret_cast<glGetProgramivProc>(GetGLProcAddress("glGetProgramiv")); | 1020 reinterpret_cast<glGetProgramivProc>(GetGLProcAddress("glGetProgramiv")); |
526 fn.glGetQueryivFn = | 1021 fn.glGetQueryivFn = reinterpret_cast<glGetQueryivProc>(glGetQueryivNotBound); |
527 reinterpret_cast<glGetQueryivProc>(GetGLProcAddress("glGetQueryiv")); | |
528 fn.glGetQueryivARBFn = | 1022 fn.glGetQueryivARBFn = |
529 reinterpret_cast<glGetQueryivARBProc>(glGetQueryivARBNotBound); | 1023 reinterpret_cast<glGetQueryivARBProc>(glGetQueryivARBNotBound); |
530 fn.glGetQueryObjecti64vFn = reinterpret_cast<glGetQueryObjecti64vProc>( | 1024 fn.glGetQueryObjecti64vFn = |
531 GetGLProcAddress("glGetQueryObjecti64v")); | 1025 reinterpret_cast<glGetQueryObjecti64vProc>(glGetQueryObjecti64vNotBound); |
532 fn.glGetQueryObjectivFn = reinterpret_cast<glGetQueryObjectivProc>( | 1026 fn.glGetQueryObjectivFn = |
533 GetGLProcAddress("glGetQueryObjectiv")); | 1027 reinterpret_cast<glGetQueryObjectivProc>(glGetQueryObjectivNotBound); |
534 fn.glGetQueryObjectivARBFn = reinterpret_cast<glGetQueryObjectivARBProc>( | 1028 fn.glGetQueryObjectivARBFn = reinterpret_cast<glGetQueryObjectivARBProc>( |
535 glGetQueryObjectivARBNotBound); | 1029 glGetQueryObjectivARBNotBound); |
536 fn.glGetQueryObjectui64vFn = reinterpret_cast<glGetQueryObjectui64vProc>( | 1030 fn.glGetQueryObjectui64vFn = reinterpret_cast<glGetQueryObjectui64vProc>( |
537 glGetQueryObjectui64vNotBound); | 1031 glGetQueryObjectui64vNotBound); |
538 fn.glGetQueryObjectuivFn = reinterpret_cast<glGetQueryObjectuivProc>( | 1032 fn.glGetQueryObjectuivFn = |
539 GetGLProcAddress("glGetQueryObjectuiv")); | 1033 reinterpret_cast<glGetQueryObjectuivProc>(glGetQueryObjectuivNotBound); |
540 fn.glGetQueryObjectuivARBFn = reinterpret_cast<glGetQueryObjectuivARBProc>( | 1034 fn.glGetQueryObjectuivARBFn = reinterpret_cast<glGetQueryObjectuivARBProc>( |
541 glGetQueryObjectuivARBNotBound); | 1035 glGetQueryObjectuivARBNotBound); |
542 fn.glGetRenderbufferParameterivEXTFn = | 1036 fn.glGetRenderbufferParameterivEXTFn = |
543 reinterpret_cast<glGetRenderbufferParameterivEXTProc>( | 1037 reinterpret_cast<glGetRenderbufferParameterivEXTProc>( |
544 glGetRenderbufferParameterivEXTNotBound); | 1038 GetGLProcAddress("glGetRenderbufferParameterivEXT")); |
545 fn.glGetSamplerParameterfvFn = reinterpret_cast<glGetSamplerParameterfvProc>( | 1039 fn.glGetSamplerParameterfvFn = reinterpret_cast<glGetSamplerParameterfvProc>( |
546 GetGLProcAddress("glGetSamplerParameterfv")); | 1040 glGetSamplerParameterfvNotBound); |
547 fn.glGetSamplerParameterivFn = reinterpret_cast<glGetSamplerParameterivProc>( | 1041 fn.glGetSamplerParameterivFn = reinterpret_cast<glGetSamplerParameterivProc>( |
548 GetGLProcAddress("glGetSamplerParameteriv")); | 1042 glGetSamplerParameterivNotBound); |
549 fn.glGetShaderInfoLogFn = reinterpret_cast<glGetShaderInfoLogProc>( | 1043 fn.glGetShaderInfoLogFn = reinterpret_cast<glGetShaderInfoLogProc>( |
550 GetGLProcAddress("glGetShaderInfoLog")); | 1044 GetGLProcAddress("glGetShaderInfoLog")); |
551 fn.glGetShaderivFn = | 1045 fn.glGetShaderivFn = |
552 reinterpret_cast<glGetShaderivProc>(GetGLProcAddress("glGetShaderiv")); | 1046 reinterpret_cast<glGetShaderivProc>(GetGLProcAddress("glGetShaderiv")); |
553 fn.glGetShaderPrecisionFormatFn = | 1047 fn.glGetShaderPrecisionFormatFn = |
554 reinterpret_cast<glGetShaderPrecisionFormatProc>( | 1048 reinterpret_cast<glGetShaderPrecisionFormatProc>( |
555 GetGLProcAddress("glGetShaderPrecisionFormat")); | 1049 glGetShaderPrecisionFormatNotBound); |
556 fn.glGetShaderSourceFn = reinterpret_cast<glGetShaderSourceProc>( | 1050 fn.glGetShaderSourceFn = reinterpret_cast<glGetShaderSourceProc>( |
557 GetGLProcAddress("glGetShaderSource")); | 1051 GetGLProcAddress("glGetShaderSource")); |
558 fn.glGetStringFn = | 1052 fn.glGetStringFn = |
559 reinterpret_cast<glGetStringProc>(GetGLProcAddress("glGetString")); | 1053 reinterpret_cast<glGetStringProc>(GetGLProcAddress("glGetString")); |
560 fn.glGetSyncivFn = | 1054 fn.glGetSyncivFn = reinterpret_cast<glGetSyncivProc>(glGetSyncivNotBound); |
561 reinterpret_cast<glGetSyncivProc>(GetGLProcAddress("glGetSynciv")); | |
562 fn.glGetTexLevelParameterfvFn = | 1055 fn.glGetTexLevelParameterfvFn = |
563 reinterpret_cast<glGetTexLevelParameterfvProc>( | 1056 reinterpret_cast<glGetTexLevelParameterfvProc>( |
564 GetGLProcAddress("glGetTexLevelParameterfv")); | 1057 glGetTexLevelParameterfvNotBound); |
565 fn.glGetTexLevelParameterivFn = | 1058 fn.glGetTexLevelParameterivFn = |
566 reinterpret_cast<glGetTexLevelParameterivProc>( | 1059 reinterpret_cast<glGetTexLevelParameterivProc>( |
567 GetGLProcAddress("glGetTexLevelParameteriv")); | 1060 glGetTexLevelParameterivNotBound); |
568 fn.glGetTexParameterfvFn = reinterpret_cast<glGetTexParameterfvProc>( | 1061 fn.glGetTexParameterfvFn = reinterpret_cast<glGetTexParameterfvProc>( |
569 GetGLProcAddress("glGetTexParameterfv")); | 1062 GetGLProcAddress("glGetTexParameterfv")); |
570 fn.glGetTexParameterivFn = reinterpret_cast<glGetTexParameterivProc>( | 1063 fn.glGetTexParameterivFn = reinterpret_cast<glGetTexParameterivProc>( |
571 GetGLProcAddress("glGetTexParameteriv")); | 1064 GetGLProcAddress("glGetTexParameteriv")); |
572 fn.glGetTransformFeedbackVaryingFn = | 1065 fn.glGetTransformFeedbackVaryingFn = |
573 reinterpret_cast<glGetTransformFeedbackVaryingProc>( | 1066 reinterpret_cast<glGetTransformFeedbackVaryingProc>( |
574 GetGLProcAddress("glGetTransformFeedbackVarying")); | 1067 glGetTransformFeedbackVaryingNotBound); |
575 fn.glGetTranslatedShaderSourceANGLEFn = | 1068 fn.glGetTranslatedShaderSourceANGLEFn = |
576 reinterpret_cast<glGetTranslatedShaderSourceANGLEProc>( | 1069 reinterpret_cast<glGetTranslatedShaderSourceANGLEProc>( |
577 GetGLProcAddress("glGetTranslatedShaderSourceANGLE")); | 1070 glGetTranslatedShaderSourceANGLENotBound); |
578 fn.glGetUniformBlockIndexFn = reinterpret_cast<glGetUniformBlockIndexProc>( | 1071 fn.glGetUniformBlockIndexFn = reinterpret_cast<glGetUniformBlockIndexProc>( |
579 GetGLProcAddress("glGetUniformBlockIndex")); | 1072 glGetUniformBlockIndexNotBound); |
580 fn.glGetUniformfvFn = | 1073 fn.glGetUniformfvFn = |
581 reinterpret_cast<glGetUniformfvProc>(GetGLProcAddress("glGetUniformfv")); | 1074 reinterpret_cast<glGetUniformfvProc>(GetGLProcAddress("glGetUniformfv")); |
582 fn.glGetUniformIndicesFn = reinterpret_cast<glGetUniformIndicesProc>( | 1075 fn.glGetUniformIndicesFn = |
583 GetGLProcAddress("glGetUniformIndices")); | 1076 reinterpret_cast<glGetUniformIndicesProc>(glGetUniformIndicesNotBound); |
584 fn.glGetUniformivFn = | 1077 fn.glGetUniformivFn = |
585 reinterpret_cast<glGetUniformivProc>(GetGLProcAddress("glGetUniformiv")); | 1078 reinterpret_cast<glGetUniformivProc>(GetGLProcAddress("glGetUniformiv")); |
586 fn.glGetUniformLocationFn = reinterpret_cast<glGetUniformLocationProc>( | 1079 fn.glGetUniformLocationFn = reinterpret_cast<glGetUniformLocationProc>( |
587 GetGLProcAddress("glGetUniformLocation")); | 1080 GetGLProcAddress("glGetUniformLocation")); |
588 fn.glGetVertexAttribfvFn = reinterpret_cast<glGetVertexAttribfvProc>( | 1081 fn.glGetVertexAttribfvFn = reinterpret_cast<glGetVertexAttribfvProc>( |
589 GetGLProcAddress("glGetVertexAttribfv")); | 1082 GetGLProcAddress("glGetVertexAttribfv")); |
590 fn.glGetVertexAttribivFn = reinterpret_cast<glGetVertexAttribivProc>( | 1083 fn.glGetVertexAttribivFn = reinterpret_cast<glGetVertexAttribivProc>( |
591 GetGLProcAddress("glGetVertexAttribiv")); | 1084 GetGLProcAddress("glGetVertexAttribiv")); |
592 fn.glGetVertexAttribPointervFn = | 1085 fn.glGetVertexAttribPointervFn = |
593 reinterpret_cast<glGetVertexAttribPointervProc>( | 1086 reinterpret_cast<glGetVertexAttribPointervProc>( |
594 GetGLProcAddress("glGetVertexAttribPointerv")); | 1087 GetGLProcAddress("glGetVertexAttribPointerv")); |
595 fn.glHintFn = reinterpret_cast<glHintProc>(GetGLProcAddress("glHint")); | 1088 fn.glHintFn = reinterpret_cast<glHintProc>(GetGLProcAddress("glHint")); |
596 fn.glInsertEventMarkerEXTFn = reinterpret_cast<glInsertEventMarkerEXTProc>( | 1089 fn.glInsertEventMarkerEXTFn = reinterpret_cast<glInsertEventMarkerEXTProc>( |
597 GetGLProcAddress("glInsertEventMarkerEXT")); | 1090 glInsertEventMarkerEXTNotBound); |
598 fn.glInvalidateFramebufferFn = reinterpret_cast<glInvalidateFramebufferProc>( | 1091 fn.glInvalidateFramebufferFn = reinterpret_cast<glInvalidateFramebufferProc>( |
599 GetGLProcAddress("glInvalidateFramebuffer")); | 1092 glInvalidateFramebufferNotBound); |
600 fn.glInvalidateSubFramebufferFn = | 1093 fn.glInvalidateSubFramebufferFn = |
601 reinterpret_cast<glInvalidateSubFramebufferProc>( | 1094 reinterpret_cast<glInvalidateSubFramebufferProc>( |
602 GetGLProcAddress("glInvalidateSubFramebuffer")); | 1095 glInvalidateSubFramebufferNotBound); |
603 fn.glIsBufferFn = | 1096 fn.glIsBufferFn = |
604 reinterpret_cast<glIsBufferProc>(GetGLProcAddress("glIsBuffer")); | 1097 reinterpret_cast<glIsBufferProc>(GetGLProcAddress("glIsBuffer")); |
605 fn.glIsEnabledFn = | 1098 fn.glIsEnabledFn = |
606 reinterpret_cast<glIsEnabledProc>(GetGLProcAddress("glIsEnabled")); | 1099 reinterpret_cast<glIsEnabledProc>(GetGLProcAddress("glIsEnabled")); |
607 fn.glIsFenceAPPLEFn = | 1100 fn.glIsFenceAPPLEFn = |
608 reinterpret_cast<glIsFenceAPPLEProc>(GetGLProcAddress("glIsFenceAPPLE")); | 1101 reinterpret_cast<glIsFenceAPPLEProc>(glIsFenceAPPLENotBound); |
609 fn.glIsFenceNVFn = | 1102 fn.glIsFenceNVFn = reinterpret_cast<glIsFenceNVProc>(glIsFenceNVNotBound); |
610 reinterpret_cast<glIsFenceNVProc>(GetGLProcAddress("glIsFenceNV")); | 1103 fn.glIsFramebufferEXTFn = reinterpret_cast<glIsFramebufferEXTProc>( |
611 fn.glIsFramebufferEXTFn = | 1104 GetGLProcAddress("glIsFramebufferEXT")); |
612 reinterpret_cast<glIsFramebufferEXTProc>(glIsFramebufferEXTNotBound); | |
613 fn.glIsProgramFn = | 1105 fn.glIsProgramFn = |
614 reinterpret_cast<glIsProgramProc>(GetGLProcAddress("glIsProgram")); | 1106 reinterpret_cast<glIsProgramProc>(GetGLProcAddress("glIsProgram")); |
615 fn.glIsQueryFn = | 1107 fn.glIsQueryFn = reinterpret_cast<glIsQueryProc>(glIsQueryNotBound); |
616 reinterpret_cast<glIsQueryProc>(GetGLProcAddress("glIsQuery")); | |
617 fn.glIsQueryARBFn = reinterpret_cast<glIsQueryARBProc>(glIsQueryARBNotBound); | 1108 fn.glIsQueryARBFn = reinterpret_cast<glIsQueryARBProc>(glIsQueryARBNotBound); |
618 fn.glIsRenderbufferEXTFn = | 1109 fn.glIsRenderbufferEXTFn = reinterpret_cast<glIsRenderbufferEXTProc>( |
619 reinterpret_cast<glIsRenderbufferEXTProc>(glIsRenderbufferEXTNotBound); | 1110 GetGLProcAddress("glIsRenderbufferEXT")); |
620 fn.glIsSamplerFn = | 1111 fn.glIsSamplerFn = reinterpret_cast<glIsSamplerProc>(glIsSamplerNotBound); |
621 reinterpret_cast<glIsSamplerProc>(GetGLProcAddress("glIsSampler")); | |
622 fn.glIsShaderFn = | 1112 fn.glIsShaderFn = |
623 reinterpret_cast<glIsShaderProc>(GetGLProcAddress("glIsShader")); | 1113 reinterpret_cast<glIsShaderProc>(GetGLProcAddress("glIsShader")); |
624 fn.glIsSyncFn = reinterpret_cast<glIsSyncProc>(GetGLProcAddress("glIsSync")); | 1114 fn.glIsSyncFn = reinterpret_cast<glIsSyncProc>(glIsSyncNotBound); |
625 fn.glIsTextureFn = | 1115 fn.glIsTextureFn = |
626 reinterpret_cast<glIsTextureProc>(GetGLProcAddress("glIsTexture")); | 1116 reinterpret_cast<glIsTextureProc>(GetGLProcAddress("glIsTexture")); |
627 fn.glIsTransformFeedbackFn = reinterpret_cast<glIsTransformFeedbackProc>( | 1117 fn.glIsTransformFeedbackFn = reinterpret_cast<glIsTransformFeedbackProc>( |
628 GetGLProcAddress("glIsTransformFeedback")); | 1118 glIsTransformFeedbackNotBound); |
629 fn.glIsVertexArrayOESFn = | 1119 fn.glIsVertexArrayOESFn = |
630 reinterpret_cast<glIsVertexArrayOESProc>(glIsVertexArrayOESNotBound); | 1120 reinterpret_cast<glIsVertexArrayOESProc>(glIsVertexArrayOESNotBound); |
631 fn.glLineWidthFn = | 1121 fn.glLineWidthFn = |
632 reinterpret_cast<glLineWidthProc>(GetGLProcAddress("glLineWidth")); | 1122 reinterpret_cast<glLineWidthProc>(GetGLProcAddress("glLineWidth")); |
633 fn.glLinkProgramFn = | 1123 fn.glLinkProgramFn = |
634 reinterpret_cast<glLinkProgramProc>(GetGLProcAddress("glLinkProgram")); | 1124 reinterpret_cast<glLinkProgramProc>(GetGLProcAddress("glLinkProgram")); |
635 fn.glMapBufferFn = reinterpret_cast<glMapBufferProc>(glMapBufferNotBound); | 1125 fn.glMapBufferFn = reinterpret_cast<glMapBufferProc>(glMapBufferNotBound); |
636 fn.glMapBufferRangeFn = | 1126 fn.glMapBufferRangeFn = |
637 reinterpret_cast<glMapBufferRangeProc>(glMapBufferRangeNotBound); | 1127 reinterpret_cast<glMapBufferRangeProc>(glMapBufferRangeNotBound); |
638 fn.glMatrixLoadfEXTFn = reinterpret_cast<glMatrixLoadfEXTProc>( | 1128 fn.glMatrixLoadfEXTFn = |
639 GetGLProcAddress("glMatrixLoadfEXT")); | 1129 reinterpret_cast<glMatrixLoadfEXTProc>(glMatrixLoadfEXTNotBound); |
640 fn.glMatrixLoadIdentityEXTFn = reinterpret_cast<glMatrixLoadIdentityEXTProc>( | 1130 fn.glMatrixLoadIdentityEXTFn = reinterpret_cast<glMatrixLoadIdentityEXTProc>( |
641 GetGLProcAddress("glMatrixLoadIdentityEXT")); | 1131 glMatrixLoadIdentityEXTNotBound); |
642 fn.glPauseTransformFeedbackFn = | 1132 fn.glPauseTransformFeedbackFn = |
643 reinterpret_cast<glPauseTransformFeedbackProc>( | 1133 reinterpret_cast<glPauseTransformFeedbackProc>( |
644 GetGLProcAddress("glPauseTransformFeedback")); | 1134 glPauseTransformFeedbackNotBound); |
645 fn.glPixelStoreiFn = | 1135 fn.glPixelStoreiFn = |
646 reinterpret_cast<glPixelStoreiProc>(GetGLProcAddress("glPixelStorei")); | 1136 reinterpret_cast<glPixelStoreiProc>(GetGLProcAddress("glPixelStorei")); |
647 fn.glPointParameteriFn = reinterpret_cast<glPointParameteriProc>( | 1137 fn.glPointParameteriFn = |
648 GetGLProcAddress("glPointParameteri")); | 1138 reinterpret_cast<glPointParameteriProc>(glPointParameteriNotBound); |
649 fn.glPolygonOffsetFn = reinterpret_cast<glPolygonOffsetProc>( | 1139 fn.glPolygonOffsetFn = reinterpret_cast<glPolygonOffsetProc>( |
650 GetGLProcAddress("glPolygonOffset")); | 1140 GetGLProcAddress("glPolygonOffset")); |
651 fn.glPopGroupMarkerEXTFn = reinterpret_cast<glPopGroupMarkerEXTProc>( | 1141 fn.glPopGroupMarkerEXTFn = |
652 GetGLProcAddress("glPopGroupMarkerEXT")); | 1142 reinterpret_cast<glPopGroupMarkerEXTProc>(glPopGroupMarkerEXTNotBound); |
653 fn.glProgramBinaryFn = | 1143 fn.glProgramBinaryFn = |
654 reinterpret_cast<glProgramBinaryProc>(glProgramBinaryNotBound); | 1144 reinterpret_cast<glProgramBinaryProc>(glProgramBinaryNotBound); |
655 fn.glProgramParameteriFn = reinterpret_cast<glProgramParameteriProc>( | 1145 fn.glProgramParameteriFn = |
656 GetGLProcAddress("glProgramParameteri")); | 1146 reinterpret_cast<glProgramParameteriProc>(glProgramParameteriNotBound); |
657 fn.glPushGroupMarkerEXTFn = reinterpret_cast<glPushGroupMarkerEXTProc>( | 1147 fn.glPushGroupMarkerEXTFn = |
658 GetGLProcAddress("glPushGroupMarkerEXT")); | 1148 reinterpret_cast<glPushGroupMarkerEXTProc>(glPushGroupMarkerEXTNotBound); |
659 fn.glQueryCounterFn = | 1149 fn.glQueryCounterFn = |
660 reinterpret_cast<glQueryCounterProc>(glQueryCounterNotBound); | 1150 reinterpret_cast<glQueryCounterProc>(glQueryCounterNotBound); |
661 fn.glReadBufferFn = | 1151 fn.glReadBufferFn = reinterpret_cast<glReadBufferProc>(glReadBufferNotBound); |
662 reinterpret_cast<glReadBufferProc>(GetGLProcAddress("glReadBuffer")); | |
663 fn.glReadPixelsFn = | 1152 fn.glReadPixelsFn = |
664 reinterpret_cast<glReadPixelsProc>(GetGLProcAddress("glReadPixels")); | 1153 reinterpret_cast<glReadPixelsProc>(GetGLProcAddress("glReadPixels")); |
665 fn.glReleaseShaderCompilerFn = reinterpret_cast<glReleaseShaderCompilerProc>( | 1154 fn.glReleaseShaderCompilerFn = reinterpret_cast<glReleaseShaderCompilerProc>( |
666 GetGLProcAddress("glReleaseShaderCompiler")); | 1155 glReleaseShaderCompilerNotBound); |
667 fn.glRenderbufferStorageEXTFn = | 1156 fn.glRenderbufferStorageEXTFn = |
668 reinterpret_cast<glRenderbufferStorageEXTProc>( | 1157 reinterpret_cast<glRenderbufferStorageEXTProc>( |
669 glRenderbufferStorageEXTNotBound); | 1158 GetGLProcAddress("glRenderbufferStorageEXT")); |
670 fn.glRenderbufferStorageMultisampleFn = | 1159 fn.glRenderbufferStorageMultisampleFn = |
671 reinterpret_cast<glRenderbufferStorageMultisampleProc>( | 1160 reinterpret_cast<glRenderbufferStorageMultisampleProc>( |
672 GetGLProcAddress("glRenderbufferStorageMultisample")); | 1161 glRenderbufferStorageMultisampleNotBound); |
673 fn.glRenderbufferStorageMultisampleANGLEFn = | 1162 fn.glRenderbufferStorageMultisampleANGLEFn = |
674 reinterpret_cast<glRenderbufferStorageMultisampleANGLEProc>( | 1163 reinterpret_cast<glRenderbufferStorageMultisampleANGLEProc>( |
675 glRenderbufferStorageMultisampleANGLENotBound); | 1164 glRenderbufferStorageMultisampleANGLENotBound); |
676 fn.glRenderbufferStorageMultisampleEXTFn = | 1165 fn.glRenderbufferStorageMultisampleEXTFn = |
677 reinterpret_cast<glRenderbufferStorageMultisampleEXTProc>( | 1166 reinterpret_cast<glRenderbufferStorageMultisampleEXTProc>( |
678 glRenderbufferStorageMultisampleEXTNotBound); | 1167 glRenderbufferStorageMultisampleEXTNotBound); |
679 fn.glRenderbufferStorageMultisampleIMGFn = | 1168 fn.glRenderbufferStorageMultisampleIMGFn = |
680 reinterpret_cast<glRenderbufferStorageMultisampleIMGProc>( | 1169 reinterpret_cast<glRenderbufferStorageMultisampleIMGProc>( |
681 GetGLProcAddress("glRenderbufferStorageMultisampleIMG")); | 1170 glRenderbufferStorageMultisampleIMGNotBound); |
682 fn.glResumeTransformFeedbackFn = | 1171 fn.glResumeTransformFeedbackFn = |
683 reinterpret_cast<glResumeTransformFeedbackProc>( | 1172 reinterpret_cast<glResumeTransformFeedbackProc>( |
684 GetGLProcAddress("glResumeTransformFeedback")); | 1173 glResumeTransformFeedbackNotBound); |
685 fn.glSampleCoverageFn = reinterpret_cast<glSampleCoverageProc>( | 1174 fn.glSampleCoverageFn = reinterpret_cast<glSampleCoverageProc>( |
686 GetGLProcAddress("glSampleCoverage")); | 1175 GetGLProcAddress("glSampleCoverage")); |
687 fn.glSamplerParameterfFn = reinterpret_cast<glSamplerParameterfProc>( | 1176 fn.glSamplerParameterfFn = |
688 GetGLProcAddress("glSamplerParameterf")); | 1177 reinterpret_cast<glSamplerParameterfProc>(glSamplerParameterfNotBound); |
689 fn.glSamplerParameterfvFn = reinterpret_cast<glSamplerParameterfvProc>( | 1178 fn.glSamplerParameterfvFn = |
690 GetGLProcAddress("glSamplerParameterfv")); | 1179 reinterpret_cast<glSamplerParameterfvProc>(glSamplerParameterfvNotBound); |
691 fn.glSamplerParameteriFn = reinterpret_cast<glSamplerParameteriProc>( | 1180 fn.glSamplerParameteriFn = |
692 GetGLProcAddress("glSamplerParameteri")); | 1181 reinterpret_cast<glSamplerParameteriProc>(glSamplerParameteriNotBound); |
693 fn.glSamplerParameterivFn = reinterpret_cast<glSamplerParameterivProc>( | 1182 fn.glSamplerParameterivFn = |
694 GetGLProcAddress("glSamplerParameteriv")); | 1183 reinterpret_cast<glSamplerParameterivProc>(glSamplerParameterivNotBound); |
695 fn.glScissorFn = | 1184 fn.glScissorFn = |
696 reinterpret_cast<glScissorProc>(GetGLProcAddress("glScissor")); | 1185 reinterpret_cast<glScissorProc>(GetGLProcAddress("glScissor")); |
697 fn.glSetFenceAPPLEFn = reinterpret_cast<glSetFenceAPPLEProc>( | 1186 fn.glSetFenceAPPLEFn = |
698 GetGLProcAddress("glSetFenceAPPLE")); | 1187 reinterpret_cast<glSetFenceAPPLEProc>(glSetFenceAPPLENotBound); |
699 fn.glSetFenceNVFn = | 1188 fn.glSetFenceNVFn = reinterpret_cast<glSetFenceNVProc>(glSetFenceNVNotBound); |
700 reinterpret_cast<glSetFenceNVProc>(GetGLProcAddress("glSetFenceNV")); | |
701 fn.glShaderBinaryFn = | 1189 fn.glShaderBinaryFn = |
702 reinterpret_cast<glShaderBinaryProc>(GetGLProcAddress("glShaderBinary")); | 1190 reinterpret_cast<glShaderBinaryProc>(glShaderBinaryNotBound); |
703 fn.glShaderSourceFn = | 1191 fn.glShaderSourceFn = |
704 reinterpret_cast<glShaderSourceProc>(GetGLProcAddress("glShaderSource")); | 1192 reinterpret_cast<glShaderSourceProc>(GetGLProcAddress("glShaderSource")); |
705 fn.glStencilFuncFn = | 1193 fn.glStencilFuncFn = |
706 reinterpret_cast<glStencilFuncProc>(GetGLProcAddress("glStencilFunc")); | 1194 reinterpret_cast<glStencilFuncProc>(GetGLProcAddress("glStencilFunc")); |
707 fn.glStencilFuncSeparateFn = reinterpret_cast<glStencilFuncSeparateProc>( | 1195 fn.glStencilFuncSeparateFn = reinterpret_cast<glStencilFuncSeparateProc>( |
708 GetGLProcAddress("glStencilFuncSeparate")); | 1196 GetGLProcAddress("glStencilFuncSeparate")); |
709 fn.glStencilMaskFn = | 1197 fn.glStencilMaskFn = |
710 reinterpret_cast<glStencilMaskProc>(GetGLProcAddress("glStencilMask")); | 1198 reinterpret_cast<glStencilMaskProc>(GetGLProcAddress("glStencilMask")); |
711 fn.glStencilMaskSeparateFn = reinterpret_cast<glStencilMaskSeparateProc>( | 1199 fn.glStencilMaskSeparateFn = reinterpret_cast<glStencilMaskSeparateProc>( |
712 GetGLProcAddress("glStencilMaskSeparate")); | 1200 GetGLProcAddress("glStencilMaskSeparate")); |
713 fn.glStencilOpFn = | 1201 fn.glStencilOpFn = |
714 reinterpret_cast<glStencilOpProc>(GetGLProcAddress("glStencilOp")); | 1202 reinterpret_cast<glStencilOpProc>(GetGLProcAddress("glStencilOp")); |
715 fn.glStencilOpSeparateFn = reinterpret_cast<glStencilOpSeparateProc>( | 1203 fn.glStencilOpSeparateFn = reinterpret_cast<glStencilOpSeparateProc>( |
716 GetGLProcAddress("glStencilOpSeparate")); | 1204 GetGLProcAddress("glStencilOpSeparate")); |
717 fn.glTestFenceAPPLEFn = reinterpret_cast<glTestFenceAPPLEProc>( | 1205 fn.glTestFenceAPPLEFn = |
718 GetGLProcAddress("glTestFenceAPPLE")); | 1206 reinterpret_cast<glTestFenceAPPLEProc>(glTestFenceAPPLENotBound); |
719 fn.glTestFenceNVFn = | 1207 fn.glTestFenceNVFn = |
720 reinterpret_cast<glTestFenceNVProc>(GetGLProcAddress("glTestFenceNV")); | 1208 reinterpret_cast<glTestFenceNVProc>(glTestFenceNVNotBound); |
721 fn.glTexImage2DFn = | 1209 fn.glTexImage2DFn = |
722 reinterpret_cast<glTexImage2DProc>(GetGLProcAddress("glTexImage2D")); | 1210 reinterpret_cast<glTexImage2DProc>(GetGLProcAddress("glTexImage2D")); |
723 fn.glTexImage3DFn = | 1211 fn.glTexImage3DFn = reinterpret_cast<glTexImage3DProc>(glTexImage3DNotBound); |
724 reinterpret_cast<glTexImage3DProc>(GetGLProcAddress("glTexImage3D")); | |
725 fn.glTexParameterfFn = reinterpret_cast<glTexParameterfProc>( | 1212 fn.glTexParameterfFn = reinterpret_cast<glTexParameterfProc>( |
726 GetGLProcAddress("glTexParameterf")); | 1213 GetGLProcAddress("glTexParameterf")); |
727 fn.glTexParameterfvFn = reinterpret_cast<glTexParameterfvProc>( | 1214 fn.glTexParameterfvFn = reinterpret_cast<glTexParameterfvProc>( |
728 GetGLProcAddress("glTexParameterfv")); | 1215 GetGLProcAddress("glTexParameterfv")); |
729 fn.glTexParameteriFn = reinterpret_cast<glTexParameteriProc>( | 1216 fn.glTexParameteriFn = reinterpret_cast<glTexParameteriProc>( |
730 GetGLProcAddress("glTexParameteri")); | 1217 GetGLProcAddress("glTexParameteri")); |
731 fn.glTexParameterivFn = reinterpret_cast<glTexParameterivProc>( | 1218 fn.glTexParameterivFn = reinterpret_cast<glTexParameterivProc>( |
732 GetGLProcAddress("glTexParameteriv")); | 1219 GetGLProcAddress("glTexParameteriv")); |
733 fn.glTexStorage2DEXTFn = | 1220 fn.glTexStorage2DEXTFn = |
734 reinterpret_cast<glTexStorage2DEXTProc>(glTexStorage2DEXTNotBound); | 1221 reinterpret_cast<glTexStorage2DEXTProc>(glTexStorage2DEXTNotBound); |
735 fn.glTexStorage3DFn = | 1222 fn.glTexStorage3DFn = |
736 reinterpret_cast<glTexStorage3DProc>(GetGLProcAddress("glTexStorage3D")); | 1223 reinterpret_cast<glTexStorage3DProc>(glTexStorage3DNotBound); |
737 fn.glTexSubImage2DFn = reinterpret_cast<glTexSubImage2DProc>( | 1224 fn.glTexSubImage2DFn = reinterpret_cast<glTexSubImage2DProc>( |
738 GetGLProcAddress("glTexSubImage2D")); | 1225 GetGLProcAddress("glTexSubImage2D")); |
739 fn.glTransformFeedbackVaryingsFn = | 1226 fn.glTransformFeedbackVaryingsFn = |
740 reinterpret_cast<glTransformFeedbackVaryingsProc>( | 1227 reinterpret_cast<glTransformFeedbackVaryingsProc>( |
741 GetGLProcAddress("glTransformFeedbackVaryings")); | 1228 glTransformFeedbackVaryingsNotBound); |
742 fn.glUniform1fFn = | 1229 fn.glUniform1fFn = |
743 reinterpret_cast<glUniform1fProc>(GetGLProcAddress("glUniform1f")); | 1230 reinterpret_cast<glUniform1fProc>(GetGLProcAddress("glUniform1f")); |
744 fn.glUniform1fvFn = | 1231 fn.glUniform1fvFn = |
745 reinterpret_cast<glUniform1fvProc>(GetGLProcAddress("glUniform1fv")); | 1232 reinterpret_cast<glUniform1fvProc>(GetGLProcAddress("glUniform1fv")); |
746 fn.glUniform1iFn = | 1233 fn.glUniform1iFn = |
747 reinterpret_cast<glUniform1iProc>(GetGLProcAddress("glUniform1i")); | 1234 reinterpret_cast<glUniform1iProc>(GetGLProcAddress("glUniform1i")); |
748 fn.glUniform1ivFn = | 1235 fn.glUniform1ivFn = |
749 reinterpret_cast<glUniform1ivProc>(GetGLProcAddress("glUniform1iv")); | 1236 reinterpret_cast<glUniform1ivProc>(GetGLProcAddress("glUniform1iv")); |
750 fn.glUniform1uiFn = | 1237 fn.glUniform1uiFn = reinterpret_cast<glUniform1uiProc>(glUniform1uiNotBound); |
751 reinterpret_cast<glUniform1uiProc>(GetGLProcAddress("glUniform1ui")); | |
752 fn.glUniform1uivFn = | 1238 fn.glUniform1uivFn = |
753 reinterpret_cast<glUniform1uivProc>(GetGLProcAddress("glUniform1uiv")); | 1239 reinterpret_cast<glUniform1uivProc>(glUniform1uivNotBound); |
754 fn.glUniform2fFn = | 1240 fn.glUniform2fFn = |
755 reinterpret_cast<glUniform2fProc>(GetGLProcAddress("glUniform2f")); | 1241 reinterpret_cast<glUniform2fProc>(GetGLProcAddress("glUniform2f")); |
756 fn.glUniform2fvFn = | 1242 fn.glUniform2fvFn = |
757 reinterpret_cast<glUniform2fvProc>(GetGLProcAddress("glUniform2fv")); | 1243 reinterpret_cast<glUniform2fvProc>(GetGLProcAddress("glUniform2fv")); |
758 fn.glUniform2iFn = | 1244 fn.glUniform2iFn = |
759 reinterpret_cast<glUniform2iProc>(GetGLProcAddress("glUniform2i")); | 1245 reinterpret_cast<glUniform2iProc>(GetGLProcAddress("glUniform2i")); |
760 fn.glUniform2ivFn = | 1246 fn.glUniform2ivFn = |
761 reinterpret_cast<glUniform2ivProc>(GetGLProcAddress("glUniform2iv")); | 1247 reinterpret_cast<glUniform2ivProc>(GetGLProcAddress("glUniform2iv")); |
762 fn.glUniform2uiFn = | 1248 fn.glUniform2uiFn = reinterpret_cast<glUniform2uiProc>(glUniform2uiNotBound); |
763 reinterpret_cast<glUniform2uiProc>(GetGLProcAddress("glUniform2ui")); | |
764 fn.glUniform2uivFn = | 1249 fn.glUniform2uivFn = |
765 reinterpret_cast<glUniform2uivProc>(GetGLProcAddress("glUniform2uiv")); | 1250 reinterpret_cast<glUniform2uivProc>(glUniform2uivNotBound); |
766 fn.glUniform3fFn = | 1251 fn.glUniform3fFn = |
767 reinterpret_cast<glUniform3fProc>(GetGLProcAddress("glUniform3f")); | 1252 reinterpret_cast<glUniform3fProc>(GetGLProcAddress("glUniform3f")); |
768 fn.glUniform3fvFn = | 1253 fn.glUniform3fvFn = |
769 reinterpret_cast<glUniform3fvProc>(GetGLProcAddress("glUniform3fv")); | 1254 reinterpret_cast<glUniform3fvProc>(GetGLProcAddress("glUniform3fv")); |
770 fn.glUniform3iFn = | 1255 fn.glUniform3iFn = |
771 reinterpret_cast<glUniform3iProc>(GetGLProcAddress("glUniform3i")); | 1256 reinterpret_cast<glUniform3iProc>(GetGLProcAddress("glUniform3i")); |
772 fn.glUniform3ivFn = | 1257 fn.glUniform3ivFn = |
773 reinterpret_cast<glUniform3ivProc>(GetGLProcAddress("glUniform3iv")); | 1258 reinterpret_cast<glUniform3ivProc>(GetGLProcAddress("glUniform3iv")); |
774 fn.glUniform3uiFn = | 1259 fn.glUniform3uiFn = reinterpret_cast<glUniform3uiProc>(glUniform3uiNotBound); |
775 reinterpret_cast<glUniform3uiProc>(GetGLProcAddress("glUniform3ui")); | |
776 fn.glUniform3uivFn = | 1260 fn.glUniform3uivFn = |
777 reinterpret_cast<glUniform3uivProc>(GetGLProcAddress("glUniform3uiv")); | 1261 reinterpret_cast<glUniform3uivProc>(glUniform3uivNotBound); |
778 fn.glUniform4fFn = | 1262 fn.glUniform4fFn = |
779 reinterpret_cast<glUniform4fProc>(GetGLProcAddress("glUniform4f")); | 1263 reinterpret_cast<glUniform4fProc>(GetGLProcAddress("glUniform4f")); |
780 fn.glUniform4fvFn = | 1264 fn.glUniform4fvFn = |
781 reinterpret_cast<glUniform4fvProc>(GetGLProcAddress("glUniform4fv")); | 1265 reinterpret_cast<glUniform4fvProc>(GetGLProcAddress("glUniform4fv")); |
782 fn.glUniform4iFn = | 1266 fn.glUniform4iFn = |
783 reinterpret_cast<glUniform4iProc>(GetGLProcAddress("glUniform4i")); | 1267 reinterpret_cast<glUniform4iProc>(GetGLProcAddress("glUniform4i")); |
784 fn.glUniform4ivFn = | 1268 fn.glUniform4ivFn = |
785 reinterpret_cast<glUniform4ivProc>(GetGLProcAddress("glUniform4iv")); | 1269 reinterpret_cast<glUniform4ivProc>(GetGLProcAddress("glUniform4iv")); |
786 fn.glUniform4uiFn = | 1270 fn.glUniform4uiFn = reinterpret_cast<glUniform4uiProc>(glUniform4uiNotBound); |
787 reinterpret_cast<glUniform4uiProc>(GetGLProcAddress("glUniform4ui")); | |
788 fn.glUniform4uivFn = | 1271 fn.glUniform4uivFn = |
789 reinterpret_cast<glUniform4uivProc>(GetGLProcAddress("glUniform4uiv")); | 1272 reinterpret_cast<glUniform4uivProc>(glUniform4uivNotBound); |
790 fn.glUniformBlockBindingFn = reinterpret_cast<glUniformBlockBindingProc>( | 1273 fn.glUniformBlockBindingFn = reinterpret_cast<glUniformBlockBindingProc>( |
791 GetGLProcAddress("glUniformBlockBinding")); | 1274 glUniformBlockBindingNotBound); |
792 fn.glUniformMatrix2fvFn = reinterpret_cast<glUniformMatrix2fvProc>( | 1275 fn.glUniformMatrix2fvFn = reinterpret_cast<glUniformMatrix2fvProc>( |
793 GetGLProcAddress("glUniformMatrix2fv")); | 1276 GetGLProcAddress("glUniformMatrix2fv")); |
794 fn.glUniformMatrix2x3fvFn = reinterpret_cast<glUniformMatrix2x3fvProc>( | 1277 fn.glUniformMatrix2x3fvFn = |
795 GetGLProcAddress("glUniformMatrix2x3fv")); | 1278 reinterpret_cast<glUniformMatrix2x3fvProc>(glUniformMatrix2x3fvNotBound); |
796 fn.glUniformMatrix2x4fvFn = reinterpret_cast<glUniformMatrix2x4fvProc>( | 1279 fn.glUniformMatrix2x4fvFn = |
797 GetGLProcAddress("glUniformMatrix2x4fv")); | 1280 reinterpret_cast<glUniformMatrix2x4fvProc>(glUniformMatrix2x4fvNotBound); |
798 fn.glUniformMatrix3fvFn = reinterpret_cast<glUniformMatrix3fvProc>( | 1281 fn.glUniformMatrix3fvFn = reinterpret_cast<glUniformMatrix3fvProc>( |
799 GetGLProcAddress("glUniformMatrix3fv")); | 1282 GetGLProcAddress("glUniformMatrix3fv")); |
800 fn.glUniformMatrix3x2fvFn = reinterpret_cast<glUniformMatrix3x2fvProc>( | 1283 fn.glUniformMatrix3x2fvFn = |
801 GetGLProcAddress("glUniformMatrix3x2fv")); | 1284 reinterpret_cast<glUniformMatrix3x2fvProc>(glUniformMatrix3x2fvNotBound); |
802 fn.glUniformMatrix3x4fvFn = reinterpret_cast<glUniformMatrix3x4fvProc>( | 1285 fn.glUniformMatrix3x4fvFn = |
803 GetGLProcAddress("glUniformMatrix3x4fv")); | 1286 reinterpret_cast<glUniformMatrix3x4fvProc>(glUniformMatrix3x4fvNotBound); |
804 fn.glUniformMatrix4fvFn = reinterpret_cast<glUniformMatrix4fvProc>( | 1287 fn.glUniformMatrix4fvFn = reinterpret_cast<glUniformMatrix4fvProc>( |
805 GetGLProcAddress("glUniformMatrix4fv")); | 1288 GetGLProcAddress("glUniformMatrix4fv")); |
806 fn.glUniformMatrix4x2fvFn = reinterpret_cast<glUniformMatrix4x2fvProc>( | 1289 fn.glUniformMatrix4x2fvFn = |
807 GetGLProcAddress("glUniformMatrix4x2fv")); | 1290 reinterpret_cast<glUniformMatrix4x2fvProc>(glUniformMatrix4x2fvNotBound); |
808 fn.glUniformMatrix4x3fvFn = reinterpret_cast<glUniformMatrix4x3fvProc>( | 1291 fn.glUniformMatrix4x3fvFn = |
809 GetGLProcAddress("glUniformMatrix4x3fv")); | 1292 reinterpret_cast<glUniformMatrix4x3fvProc>(glUniformMatrix4x3fvNotBound); |
810 fn.glUnmapBufferFn = | 1293 fn.glUnmapBufferFn = |
811 reinterpret_cast<glUnmapBufferProc>(glUnmapBufferNotBound); | 1294 reinterpret_cast<glUnmapBufferProc>(glUnmapBufferNotBound); |
812 fn.glUseProgramFn = | 1295 fn.glUseProgramFn = |
813 reinterpret_cast<glUseProgramProc>(GetGLProcAddress("glUseProgram")); | 1296 reinterpret_cast<glUseProgramProc>(GetGLProcAddress("glUseProgram")); |
814 fn.glValidateProgramFn = reinterpret_cast<glValidateProgramProc>( | 1297 fn.glValidateProgramFn = reinterpret_cast<glValidateProgramProc>( |
815 GetGLProcAddress("glValidateProgram")); | 1298 GetGLProcAddress("glValidateProgram")); |
816 fn.glVertexAttrib1fFn = reinterpret_cast<glVertexAttrib1fProc>( | 1299 fn.glVertexAttrib1fFn = reinterpret_cast<glVertexAttrib1fProc>( |
817 GetGLProcAddress("glVertexAttrib1f")); | 1300 GetGLProcAddress("glVertexAttrib1f")); |
818 fn.glVertexAttrib1fvFn = reinterpret_cast<glVertexAttrib1fvProc>( | 1301 fn.glVertexAttrib1fvFn = reinterpret_cast<glVertexAttrib1fvProc>( |
819 GetGLProcAddress("glVertexAttrib1fv")); | 1302 GetGLProcAddress("glVertexAttrib1fv")); |
820 fn.glVertexAttrib2fFn = reinterpret_cast<glVertexAttrib2fProc>( | 1303 fn.glVertexAttrib2fFn = reinterpret_cast<glVertexAttrib2fProc>( |
821 GetGLProcAddress("glVertexAttrib2f")); | 1304 GetGLProcAddress("glVertexAttrib2f")); |
822 fn.glVertexAttrib2fvFn = reinterpret_cast<glVertexAttrib2fvProc>( | 1305 fn.glVertexAttrib2fvFn = reinterpret_cast<glVertexAttrib2fvProc>( |
823 GetGLProcAddress("glVertexAttrib2fv")); | 1306 GetGLProcAddress("glVertexAttrib2fv")); |
824 fn.glVertexAttrib3fFn = reinterpret_cast<glVertexAttrib3fProc>( | 1307 fn.glVertexAttrib3fFn = reinterpret_cast<glVertexAttrib3fProc>( |
825 GetGLProcAddress("glVertexAttrib3f")); | 1308 GetGLProcAddress("glVertexAttrib3f")); |
826 fn.glVertexAttrib3fvFn = reinterpret_cast<glVertexAttrib3fvProc>( | 1309 fn.glVertexAttrib3fvFn = reinterpret_cast<glVertexAttrib3fvProc>( |
827 GetGLProcAddress("glVertexAttrib3fv")); | 1310 GetGLProcAddress("glVertexAttrib3fv")); |
828 fn.glVertexAttrib4fFn = reinterpret_cast<glVertexAttrib4fProc>( | 1311 fn.glVertexAttrib4fFn = reinterpret_cast<glVertexAttrib4fProc>( |
829 GetGLProcAddress("glVertexAttrib4f")); | 1312 GetGLProcAddress("glVertexAttrib4f")); |
830 fn.glVertexAttrib4fvFn = reinterpret_cast<glVertexAttrib4fvProc>( | 1313 fn.glVertexAttrib4fvFn = reinterpret_cast<glVertexAttrib4fvProc>( |
831 GetGLProcAddress("glVertexAttrib4fv")); | 1314 GetGLProcAddress("glVertexAttrib4fv")); |
832 fn.glVertexAttribDivisorANGLEFn = | 1315 fn.glVertexAttribDivisorANGLEFn = |
833 reinterpret_cast<glVertexAttribDivisorANGLEProc>( | 1316 reinterpret_cast<glVertexAttribDivisorANGLEProc>( |
834 glVertexAttribDivisorANGLENotBound); | 1317 glVertexAttribDivisorANGLENotBound); |
835 fn.glVertexAttribI4iFn = reinterpret_cast<glVertexAttribI4iProc>( | 1318 fn.glVertexAttribI4iFn = |
836 GetGLProcAddress("glVertexAttribI4i")); | 1319 reinterpret_cast<glVertexAttribI4iProc>(glVertexAttribI4iNotBound); |
837 fn.glVertexAttribI4ivFn = reinterpret_cast<glVertexAttribI4ivProc>( | 1320 fn.glVertexAttribI4ivFn = |
838 GetGLProcAddress("glVertexAttribI4iv")); | 1321 reinterpret_cast<glVertexAttribI4ivProc>(glVertexAttribI4ivNotBound); |
839 fn.glVertexAttribI4uiFn = reinterpret_cast<glVertexAttribI4uiProc>( | 1322 fn.glVertexAttribI4uiFn = |
840 GetGLProcAddress("glVertexAttribI4ui")); | 1323 reinterpret_cast<glVertexAttribI4uiProc>(glVertexAttribI4uiNotBound); |
841 fn.glVertexAttribI4uivFn = reinterpret_cast<glVertexAttribI4uivProc>( | 1324 fn.glVertexAttribI4uivFn = |
842 GetGLProcAddress("glVertexAttribI4uiv")); | 1325 reinterpret_cast<glVertexAttribI4uivProc>(glVertexAttribI4uivNotBound); |
843 fn.glVertexAttribIPointerFn = reinterpret_cast<glVertexAttribIPointerProc>( | 1326 fn.glVertexAttribIPointerFn = reinterpret_cast<glVertexAttribIPointerProc>( |
844 GetGLProcAddress("glVertexAttribIPointer")); | 1327 glVertexAttribIPointerNotBound); |
845 fn.glVertexAttribPointerFn = reinterpret_cast<glVertexAttribPointerProc>( | 1328 fn.glVertexAttribPointerFn = reinterpret_cast<glVertexAttribPointerProc>( |
846 GetGLProcAddress("glVertexAttribPointer")); | 1329 GetGLProcAddress("glVertexAttribPointer")); |
847 fn.glViewportFn = | 1330 fn.glViewportFn = |
848 reinterpret_cast<glViewportProc>(GetGLProcAddress("glViewport")); | 1331 reinterpret_cast<glViewportProc>(GetGLProcAddress("glViewport")); |
849 fn.glWaitSyncFn = | 1332 fn.glWaitSyncFn = reinterpret_cast<glWaitSyncProc>(glWaitSyncNotBound); |
850 reinterpret_cast<glWaitSyncProc>(GetGLProcAddress("glWaitSync")); | |
851 } | 1333 } |
852 | 1334 |
853 void DriverGL::InitializeDynamicBindings(GLContext* context) { | 1335 void DriverGL::InitializeDynamicBindings(GLContext* context) { |
854 DCHECK(context && context->IsCurrent(NULL)); | 1336 DCHECK(context && context->IsCurrent(NULL)); |
855 const GLVersionInfo* ver = context->GetVersionInfo(); | 1337 const GLVersionInfo* ver = context->GetVersionInfo(); |
856 ALLOW_UNUSED_LOCAL(ver); | 1338 ALLOW_UNUSED_LOCAL(ver); |
857 std::string extensions = context->GetExtensions() + " "; | 1339 std::string extensions = context->GetExtensions() + " "; |
858 ALLOW_UNUSED_LOCAL(extensions); | 1340 ALLOW_UNUSED_LOCAL(extensions); |
859 | 1341 |
860 ext.b_GL_ANGLE_framebuffer_blit = | 1342 ext.b_GL_ANGLE_framebuffer_blit = |
861 extensions.find("GL_ANGLE_framebuffer_blit ") != std::string::npos; | 1343 extensions.find("GL_ANGLE_framebuffer_blit ") != std::string::npos; |
862 ext.b_GL_ANGLE_framebuffer_multisample = | 1344 ext.b_GL_ANGLE_framebuffer_multisample = |
863 extensions.find("GL_ANGLE_framebuffer_multisample ") != std::string::npos; | 1345 extensions.find("GL_ANGLE_framebuffer_multisample ") != std::string::npos; |
864 ext.b_GL_ANGLE_instanced_arrays = | 1346 ext.b_GL_ANGLE_instanced_arrays = |
865 extensions.find("GL_ANGLE_instanced_arrays ") != std::string::npos; | 1347 extensions.find("GL_ANGLE_instanced_arrays ") != std::string::npos; |
866 ext.b_GL_ANGLE_translated_shader_source = | 1348 ext.b_GL_ANGLE_translated_shader_source = |
867 extensions.find("GL_ANGLE_translated_shader_source ") != | 1349 extensions.find("GL_ANGLE_translated_shader_source ") != |
868 std::string::npos; | 1350 std::string::npos; |
869 ext.b_GL_APPLE_fence = | 1351 ext.b_GL_APPLE_fence = |
870 extensions.find("GL_APPLE_fence ") != std::string::npos; | 1352 extensions.find("GL_APPLE_fence ") != std::string::npos; |
871 ext.b_GL_APPLE_vertex_array_object = | 1353 ext.b_GL_APPLE_vertex_array_object = |
872 extensions.find("GL_APPLE_vertex_array_object ") != std::string::npos; | 1354 extensions.find("GL_APPLE_vertex_array_object ") != std::string::npos; |
873 ext.b_GL_ARB_ES2_compatibility = | |
874 extensions.find("GL_ARB_ES2_compatibility ") != std::string::npos; | |
875 ext.b_GL_ARB_blend_func_extended = | |
876 extensions.find("GL_ARB_blend_func_extended ") != std::string::npos; | |
877 ext.b_GL_ARB_copy_buffer = | |
878 extensions.find("GL_ARB_copy_buffer ") != std::string::npos; | |
879 ext.b_GL_ARB_draw_buffers = | 1355 ext.b_GL_ARB_draw_buffers = |
880 extensions.find("GL_ARB_draw_buffers ") != std::string::npos; | 1356 extensions.find("GL_ARB_draw_buffers ") != std::string::npos; |
881 ext.b_GL_ARB_draw_instanced = | 1357 ext.b_GL_ARB_draw_instanced = |
882 extensions.find("GL_ARB_draw_instanced ") != std::string::npos; | 1358 extensions.find("GL_ARB_draw_instanced ") != std::string::npos; |
883 ext.b_GL_ARB_framebuffer_object = | |
884 extensions.find("GL_ARB_framebuffer_object ") != std::string::npos; | |
885 ext.b_GL_ARB_get_program_binary = | 1359 ext.b_GL_ARB_get_program_binary = |
886 extensions.find("GL_ARB_get_program_binary ") != std::string::npos; | 1360 extensions.find("GL_ARB_get_program_binary ") != std::string::npos; |
887 ext.b_GL_ARB_instanced_arrays = | 1361 ext.b_GL_ARB_instanced_arrays = |
888 extensions.find("GL_ARB_instanced_arrays ") != std::string::npos; | 1362 extensions.find("GL_ARB_instanced_arrays ") != std::string::npos; |
889 ext.b_GL_ARB_internalformat_query = | |
890 extensions.find("GL_ARB_internalformat_query ") != std::string::npos; | |
891 ext.b_GL_ARB_invalidate_subdata = | |
892 extensions.find("GL_ARB_invalidate_subdata ") != std::string::npos; | |
893 ext.b_GL_ARB_map_buffer_range = | 1363 ext.b_GL_ARB_map_buffer_range = |
894 extensions.find("GL_ARB_map_buffer_range ") != std::string::npos; | 1364 extensions.find("GL_ARB_map_buffer_range ") != std::string::npos; |
895 ext.b_GL_ARB_occlusion_query = | 1365 ext.b_GL_ARB_occlusion_query = |
896 extensions.find("GL_ARB_occlusion_query ") != std::string::npos; | 1366 extensions.find("GL_ARB_occlusion_query ") != std::string::npos; |
897 ext.b_GL_ARB_robustness = | 1367 ext.b_GL_ARB_robustness = |
898 extensions.find("GL_ARB_robustness ") != std::string::npos; | 1368 extensions.find("GL_ARB_robustness ") != std::string::npos; |
899 ext.b_GL_ARB_sampler_objects = | |
900 extensions.find("GL_ARB_sampler_objects ") != std::string::npos; | |
901 ext.b_GL_ARB_sync = extensions.find("GL_ARB_sync ") != std::string::npos; | 1369 ext.b_GL_ARB_sync = extensions.find("GL_ARB_sync ") != std::string::npos; |
902 ext.b_GL_ARB_texture_storage = | 1370 ext.b_GL_ARB_texture_storage = |
903 extensions.find("GL_ARB_texture_storage ") != std::string::npos; | 1371 extensions.find("GL_ARB_texture_storage ") != std::string::npos; |
904 ext.b_GL_ARB_timer_query = | 1372 ext.b_GL_ARB_timer_query = |
905 extensions.find("GL_ARB_timer_query ") != std::string::npos; | 1373 extensions.find("GL_ARB_timer_query ") != std::string::npos; |
906 ext.b_GL_ARB_transform_feedback2 = | |
907 extensions.find("GL_ARB_transform_feedback2 ") != std::string::npos; | |
908 ext.b_GL_ARB_uniform_buffer_object = | |
909 extensions.find("GL_ARB_uniform_buffer_object ") != std::string::npos; | |
910 ext.b_GL_ARB_vertex_array_object = | 1374 ext.b_GL_ARB_vertex_array_object = |
911 extensions.find("GL_ARB_vertex_array_object ") != std::string::npos; | 1375 extensions.find("GL_ARB_vertex_array_object ") != std::string::npos; |
912 ext.b_GL_ARB_vertex_buffer_object = | 1376 ext.b_GL_ARB_vertex_buffer_object = |
913 extensions.find("GL_ARB_vertex_buffer_object ") != std::string::npos; | 1377 extensions.find("GL_ARB_vertex_buffer_object ") != std::string::npos; |
1378 ext.b_GL_CHROMIUM_gles_depth_binding_hack = | |
1379 extensions.find("GL_CHROMIUM_gles_depth_binding_hack ") != | |
1380 std::string::npos; | |
914 ext.b_GL_EXT_debug_marker = | 1381 ext.b_GL_EXT_debug_marker = |
915 extensions.find("GL_EXT_debug_marker ") != std::string::npos; | 1382 extensions.find("GL_EXT_debug_marker ") != std::string::npos; |
916 ext.b_GL_EXT_direct_state_access = | 1383 ext.b_GL_EXT_direct_state_access = |
917 extensions.find("GL_EXT_direct_state_access ") != std::string::npos; | 1384 extensions.find("GL_EXT_direct_state_access ") != std::string::npos; |
918 ext.b_GL_EXT_discard_framebuffer = | 1385 ext.b_GL_EXT_discard_framebuffer = |
919 extensions.find("GL_EXT_discard_framebuffer ") != std::string::npos; | 1386 extensions.find("GL_EXT_discard_framebuffer ") != std::string::npos; |
920 ext.b_GL_EXT_disjoint_timer_query = | 1387 ext.b_GL_EXT_disjoint_timer_query = |
921 extensions.find("GL_EXT_disjoint_timer_query ") != std::string::npos; | 1388 extensions.find("GL_EXT_disjoint_timer_query ") != std::string::npos; |
922 ext.b_GL_EXT_draw_buffers = | 1389 ext.b_GL_EXT_draw_buffers = |
923 extensions.find("GL_EXT_draw_buffers ") != std::string::npos; | 1390 extensions.find("GL_EXT_draw_buffers ") != std::string::npos; |
924 ext.b_GL_EXT_framebuffer_blit = | 1391 ext.b_GL_EXT_framebuffer_blit = |
925 extensions.find("GL_EXT_framebuffer_blit ") != std::string::npos; | 1392 extensions.find("GL_EXT_framebuffer_blit ") != std::string::npos; |
926 ext.b_GL_EXT_framebuffer_multisample = | 1393 ext.b_GL_EXT_framebuffer_multisample = |
927 extensions.find("GL_EXT_framebuffer_multisample ") != std::string::npos; | 1394 extensions.find("GL_EXT_framebuffer_multisample ") != std::string::npos; |
928 ext.b_GL_EXT_framebuffer_object = | 1395 ext.b_GL_EXT_framebuffer_object = |
929 extensions.find("GL_EXT_framebuffer_object ") != std::string::npos; | 1396 extensions.find("GL_EXT_framebuffer_object ") != std::string::npos; |
930 ext.b_GL_EXT_map_buffer_range = | 1397 ext.b_GL_EXT_map_buffer_range = |
931 extensions.find("GL_EXT_map_buffer_range ") != std::string::npos; | 1398 extensions.find("GL_EXT_map_buffer_range ") != std::string::npos; |
932 ext.b_GL_EXT_multisampled_render_to_texture = | 1399 ext.b_GL_EXT_multisampled_render_to_texture = |
933 extensions.find("GL_EXT_multisampled_render_to_texture ") != | 1400 extensions.find("GL_EXT_multisampled_render_to_texture ") != |
934 std::string::npos; | 1401 std::string::npos; |
1402 ext.b_GL_EXT_occlusion_query_boolean = | |
1403 extensions.find("GL_EXT_occlusion_query_boolean ") != std::string::npos; | |
935 ext.b_GL_EXT_robustness = | 1404 ext.b_GL_EXT_robustness = |
936 extensions.find("GL_EXT_robustness ") != std::string::npos; | 1405 extensions.find("GL_EXT_robustness ") != std::string::npos; |
937 ext.b_GL_EXT_texture_storage = | 1406 ext.b_GL_EXT_texture_storage = |
938 extensions.find("GL_EXT_texture_storage ") != std::string::npos; | 1407 extensions.find("GL_EXT_texture_storage ") != std::string::npos; |
939 ext.b_GL_EXT_timer_query = | 1408 ext.b_GL_EXT_timer_query = |
940 extensions.find("GL_EXT_timer_query ") != std::string::npos; | 1409 extensions.find("GL_EXT_timer_query ") != std::string::npos; |
941 ext.b_GL_IMG_multisampled_render_to_texture = | 1410 ext.b_GL_IMG_multisampled_render_to_texture = |
942 extensions.find("GL_IMG_multisampled_render_to_texture ") != | 1411 extensions.find("GL_IMG_multisampled_render_to_texture ") != |
943 std::string::npos; | 1412 std::string::npos; |
944 ext.b_GL_KHR_blend_equation_advanced = | 1413 ext.b_GL_KHR_blend_equation_advanced = |
945 extensions.find("GL_KHR_blend_equation_advanced ") != std::string::npos; | 1414 extensions.find("GL_KHR_blend_equation_advanced ") != std::string::npos; |
946 ext.b_GL_KHR_robustness = | 1415 ext.b_GL_KHR_robustness = |
947 extensions.find("GL_KHR_robustness ") != std::string::npos; | 1416 extensions.find("GL_KHR_robustness ") != std::string::npos; |
948 ext.b_GL_NV_blend_equation_advanced = | 1417 ext.b_GL_NV_blend_equation_advanced = |
949 extensions.find("GL_NV_blend_equation_advanced ") != std::string::npos; | 1418 extensions.find("GL_NV_blend_equation_advanced ") != std::string::npos; |
950 ext.b_GL_NV_fence = extensions.find("GL_NV_fence ") != std::string::npos; | 1419 ext.b_GL_NV_fence = extensions.find("GL_NV_fence ") != std::string::npos; |
951 ext.b_GL_NV_path_rendering = | 1420 ext.b_GL_NV_path_rendering = |
952 extensions.find("GL_NV_path_rendering ") != std::string::npos; | 1421 extensions.find("GL_NV_path_rendering ") != std::string::npos; |
953 ext.b_GL_OES_EGL_image = | 1422 ext.b_GL_OES_EGL_image = |
954 extensions.find("GL_OES_EGL_image ") != std::string::npos; | 1423 extensions.find("GL_OES_EGL_image ") != std::string::npos; |
955 ext.b_GL_OES_get_program_binary = | 1424 ext.b_GL_OES_get_program_binary = |
956 extensions.find("GL_OES_get_program_binary ") != std::string::npos; | 1425 extensions.find("GL_OES_get_program_binary ") != std::string::npos; |
957 ext.b_GL_OES_mapbuffer = | 1426 ext.b_GL_OES_mapbuffer = |
958 extensions.find("GL_OES_mapbuffer ") != std::string::npos; | 1427 extensions.find("GL_OES_mapbuffer ") != std::string::npos; |
959 ext.b_GL_OES_vertex_array_object = | 1428 ext.b_GL_OES_vertex_array_object = |
960 extensions.find("GL_OES_vertex_array_object ") != std::string::npos; | 1429 extensions.find("GL_OES_vertex_array_object ") != std::string::npos; |
961 | 1430 |
1431 fn.glBeginQueryFn = 0; | |
1432 debug_fn.glBeginQueryFn = 0; | |
1433 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
1434 fn.glBeginQueryFn = | |
1435 reinterpret_cast<glBeginQueryProc>(GetGLProcAddress("glBeginQuery")); | |
1436 } else { | |
1437 fn.glBeginQueryFn = | |
1438 reinterpret_cast<glBeginQueryProc>(glBeginQueryNotBound); | |
1439 } | |
1440 DCHECK(fn.glBeginQueryFn); | |
1441 | |
962 fn.glBeginQueryARBFn = 0; | 1442 fn.glBeginQueryARBFn = 0; |
963 debug_fn.glBeginQueryARBFn = 0; | 1443 debug_fn.glBeginQueryARBFn = 0; |
964 if (ext.b_GL_ARB_occlusion_query) { | 1444 if (ext.b_GL_ARB_occlusion_query) { |
965 fn.glBeginQueryARBFn = reinterpret_cast<glBeginQueryARBProc>( | 1445 fn.glBeginQueryARBFn = reinterpret_cast<glBeginQueryARBProc>( |
966 GetGLProcAddress("glBeginQueryARB")); | 1446 GetGLProcAddress("glBeginQueryARB")); |
967 } | 1447 } else if ((ext.b_GL_EXT_disjoint_timer_query || |
968 if (!fn.glBeginQueryARBFn) { | 1448 ext.b_GL_EXT_occlusion_query_boolean)) { |
969 fn.glBeginQueryARBFn = reinterpret_cast<glBeginQueryARBProc>( | 1449 fn.glBeginQueryARBFn = reinterpret_cast<glBeginQueryARBProc>( |
970 GetGLProcAddress("glBeginQueryEXT")); | 1450 GetGLProcAddress("glBeginQueryEXT")); |
971 } | 1451 } else { |
972 | 1452 fn.glBeginQueryARBFn = |
973 fn.glBindFramebufferEXTFn = 0; | 1453 reinterpret_cast<glBeginQueryARBProc>(glBeginQueryARBNotBound); |
974 debug_fn.glBindFramebufferEXTFn = 0; | 1454 } |
975 if (ext.b_GL_EXT_framebuffer_object) { | 1455 DCHECK(fn.glBeginQueryARBFn); |
976 fn.glBindFramebufferEXTFn = reinterpret_cast<glBindFramebufferEXTProc>( | 1456 |
977 GetGLProcAddress("glBindFramebufferEXT")); | 1457 fn.glBeginTransformFeedbackFn = 0; |
978 } | 1458 debug_fn.glBeginTransformFeedbackFn = 0; |
979 if (!fn.glBindFramebufferEXTFn) { | 1459 if (((!ver->is_es && (ver->major_version >= 3u)) || |
980 fn.glBindFramebufferEXTFn = reinterpret_cast<glBindFramebufferEXTProc>( | 1460 (ver->is_es && (ver->major_version >= 3u)))) { |
981 GetGLProcAddress("glBindFramebuffer")); | 1461 fn.glBeginTransformFeedbackFn = |
982 } | 1462 reinterpret_cast<glBeginTransformFeedbackProc>( |
983 | 1463 GetGLProcAddress("glBeginTransformFeedback")); |
984 fn.glBindRenderbufferEXTFn = 0; | 1464 } else { |
985 debug_fn.glBindRenderbufferEXTFn = 0; | 1465 fn.glBeginTransformFeedbackFn = |
986 if (ext.b_GL_EXT_framebuffer_object) { | 1466 reinterpret_cast<glBeginTransformFeedbackProc>( |
987 fn.glBindRenderbufferEXTFn = reinterpret_cast<glBindRenderbufferEXTProc>( | 1467 glBeginTransformFeedbackNotBound); |
988 GetGLProcAddress("glBindRenderbufferEXT")); | 1468 } |
989 } | 1469 DCHECK(fn.glBeginTransformFeedbackFn); |
990 if (!fn.glBindRenderbufferEXTFn) { | 1470 |
991 fn.glBindRenderbufferEXTFn = reinterpret_cast<glBindRenderbufferEXTProc>( | 1471 fn.glBindBufferBaseFn = 0; |
992 GetGLProcAddress("glBindRenderbuffer")); | 1472 debug_fn.glBindBufferBaseFn = 0; |
993 } | 1473 if (((!ver->is_es && (ver->major_version >= 3u)) || |
1474 (ver->is_es && (ver->major_version >= 3u)))) { | |
1475 fn.glBindBufferBaseFn = reinterpret_cast<glBindBufferBaseProc>( | |
1476 GetGLProcAddress("glBindBufferBase")); | |
1477 } else { | |
1478 fn.glBindBufferBaseFn = | |
1479 reinterpret_cast<glBindBufferBaseProc>(glBindBufferBaseNotBound); | |
1480 } | |
1481 DCHECK(fn.glBindBufferBaseFn); | |
1482 | |
1483 fn.glBindBufferRangeFn = 0; | |
1484 debug_fn.glBindBufferRangeFn = 0; | |
1485 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
1486 (ver->is_es && (ver->major_version >= 3u)))) { | |
1487 fn.glBindBufferRangeFn = reinterpret_cast<glBindBufferRangeProc>( | |
1488 GetGLProcAddress("glBindBufferRange")); | |
1489 } else { | |
1490 fn.glBindBufferRangeFn = | |
1491 reinterpret_cast<glBindBufferRangeProc>(glBindBufferRangeNotBound); | |
1492 } | |
1493 DCHECK(fn.glBindBufferRangeFn); | |
1494 | |
1495 fn.glBindFragDataLocationFn = 0; | |
1496 debug_fn.glBindFragDataLocationFn = 0; | |
1497 if ((!ver->is_es && (ver->major_version >= 3u))) { | |
1498 fn.glBindFragDataLocationFn = reinterpret_cast<glBindFragDataLocationProc>( | |
1499 GetGLProcAddress("glBindFragDataLocation")); | |
1500 } else { | |
1501 fn.glBindFragDataLocationFn = reinterpret_cast<glBindFragDataLocationProc>( | |
1502 glBindFragDataLocationNotBound); | |
1503 } | |
1504 DCHECK(fn.glBindFragDataLocationFn); | |
1505 | |
1506 fn.glBindFragDataLocationIndexedFn = 0; | |
1507 debug_fn.glBindFragDataLocationIndexedFn = 0; | |
1508 if (((!ver->is_es && | |
1509 (ver->major_version > 3u || | |
1510 (ver->major_version == 3u && ver->minor_version >= 3u))))) { | |
1511 fn.glBindFragDataLocationIndexedFn = | |
1512 reinterpret_cast<glBindFragDataLocationIndexedProc>( | |
1513 GetGLProcAddress("glBindFragDataLocationIndexed")); | |
1514 } else { | |
1515 fn.glBindFragDataLocationIndexedFn = | |
1516 reinterpret_cast<glBindFragDataLocationIndexedProc>( | |
1517 glBindFragDataLocationIndexedNotBound); | |
1518 } | |
1519 DCHECK(fn.glBindFragDataLocationIndexedFn); | |
1520 | |
1521 fn.glBindSamplerFn = 0; | |
1522 debug_fn.glBindSamplerFn = 0; | |
1523 if (((!ver->is_es && | |
1524 (ver->major_version > 3u || | |
1525 (ver->major_version == 3u && ver->minor_version >= 3u))) || | |
1526 (ver->is_es && (ver->major_version >= 3u)))) { | |
1527 fn.glBindSamplerFn = | |
1528 reinterpret_cast<glBindSamplerProc>(GetGLProcAddress("glBindSampler")); | |
1529 } else { | |
1530 fn.glBindSamplerFn = | |
1531 reinterpret_cast<glBindSamplerProc>(glBindSamplerNotBound); | |
1532 } | |
1533 DCHECK(fn.glBindSamplerFn); | |
1534 | |
1535 fn.glBindTransformFeedbackFn = 0; | |
1536 debug_fn.glBindTransformFeedbackFn = 0; | |
1537 if (((ver->is_es && (ver->major_version >= 3u)) || | |
1538 (!ver->is_es && (ver->major_version >= 4u)))) { | |
1539 fn.glBindTransformFeedbackFn = | |
1540 reinterpret_cast<glBindTransformFeedbackProc>( | |
1541 GetGLProcAddress("glBindTransformFeedback")); | |
1542 } else { | |
1543 fn.glBindTransformFeedbackFn = | |
1544 reinterpret_cast<glBindTransformFeedbackProc>( | |
1545 glBindTransformFeedbackNotBound); | |
1546 } | |
1547 DCHECK(fn.glBindTransformFeedbackFn); | |
994 | 1548 |
995 fn.glBindVertexArrayOESFn = 0; | 1549 fn.glBindVertexArrayOESFn = 0; |
996 debug_fn.glBindVertexArrayOESFn = 0; | 1550 debug_fn.glBindVertexArrayOESFn = 0; |
997 if ((ver->is_gl3 || ver->is_gl4 || ver->is_es3) || | 1551 if (((!ver->is_es && (ver->major_version >= 3u)) || |
1552 (ver->is_es && (ver->major_version >= 3u))) || | |
998 ext.b_GL_ARB_vertex_array_object) { | 1553 ext.b_GL_ARB_vertex_array_object) { |
999 fn.glBindVertexArrayOESFn = reinterpret_cast<glBindVertexArrayOESProc>( | 1554 fn.glBindVertexArrayOESFn = reinterpret_cast<glBindVertexArrayOESProc>( |
1000 GetGLProcAddress("glBindVertexArray")); | 1555 GetGLProcAddress("glBindVertexArray")); |
1001 } | 1556 } else if (ext.b_GL_OES_vertex_array_object) { |
1002 if (!fn.glBindVertexArrayOESFn && (ext.b_GL_OES_vertex_array_object)) { | |
1003 fn.glBindVertexArrayOESFn = reinterpret_cast<glBindVertexArrayOESProc>( | 1557 fn.glBindVertexArrayOESFn = reinterpret_cast<glBindVertexArrayOESProc>( |
1004 GetGLProcAddress("glBindVertexArrayOES")); | 1558 GetGLProcAddress("glBindVertexArrayOES")); |
1005 } | 1559 } else if (ext.b_GL_APPLE_vertex_array_object) { |
1006 if (!fn.glBindVertexArrayOESFn) { | |
1007 fn.glBindVertexArrayOESFn = reinterpret_cast<glBindVertexArrayOESProc>( | 1560 fn.glBindVertexArrayOESFn = reinterpret_cast<glBindVertexArrayOESProc>( |
1008 GetGLProcAddress("glBindVertexArrayAPPLE")); | 1561 GetGLProcAddress("glBindVertexArrayAPPLE")); |
1009 } | 1562 } else { |
1563 fn.glBindVertexArrayOESFn = reinterpret_cast<glBindVertexArrayOESProc>( | |
1564 glBindVertexArrayOESNotBound); | |
1565 } | |
1566 DCHECK(fn.glBindVertexArrayOESFn); | |
1010 | 1567 |
1011 fn.glBlendBarrierKHRFn = 0; | 1568 fn.glBlendBarrierKHRFn = 0; |
1012 debug_fn.glBlendBarrierKHRFn = 0; | 1569 debug_fn.glBlendBarrierKHRFn = 0; |
1013 if (ext.b_GL_NV_blend_equation_advanced) { | 1570 if (ext.b_GL_NV_blend_equation_advanced) { |
1014 fn.glBlendBarrierKHRFn = reinterpret_cast<glBlendBarrierKHRProc>( | 1571 fn.glBlendBarrierKHRFn = reinterpret_cast<glBlendBarrierKHRProc>( |
1015 GetGLProcAddress("glBlendBarrierNV")); | 1572 GetGLProcAddress("glBlendBarrierNV")); |
1016 } | 1573 } else if (ext.b_GL_KHR_blend_equation_advanced) { |
1017 if (!fn.glBlendBarrierKHRFn) { | |
1018 fn.glBlendBarrierKHRFn = reinterpret_cast<glBlendBarrierKHRProc>( | 1574 fn.glBlendBarrierKHRFn = reinterpret_cast<glBlendBarrierKHRProc>( |
1019 GetGLProcAddress("glBlendBarrierKHR")); | 1575 GetGLProcAddress("glBlendBarrierKHR")); |
1020 } | 1576 } else { |
1577 fn.glBlendBarrierKHRFn = | |
1578 reinterpret_cast<glBlendBarrierKHRProc>(glBlendBarrierKHRNotBound); | |
1579 } | |
1580 DCHECK(fn.glBlendBarrierKHRFn); | |
1581 | |
1582 fn.glBlitFramebufferFn = 0; | |
1583 debug_fn.glBlitFramebufferFn = 0; | |
1584 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
1585 (ver->is_es && (ver->major_version >= 3u)))) { | |
1586 fn.glBlitFramebufferFn = reinterpret_cast<glBlitFramebufferProc>( | |
1587 GetGLProcAddress("glBlitFramebuffer")); | |
1588 } else { | |
1589 fn.glBlitFramebufferFn = | |
1590 reinterpret_cast<glBlitFramebufferProc>(glBlitFramebufferNotBound); | |
1591 } | |
1592 DCHECK(fn.glBlitFramebufferFn); | |
1021 | 1593 |
1022 fn.glBlitFramebufferANGLEFn = 0; | 1594 fn.glBlitFramebufferANGLEFn = 0; |
1023 debug_fn.glBlitFramebufferANGLEFn = 0; | 1595 debug_fn.glBlitFramebufferANGLEFn = 0; |
1024 if (ext.b_GL_ANGLE_framebuffer_blit) { | 1596 if (((!ver->is_es && (ver->major_version >= 3u)) || |
1597 (ver->is_es && (ver->major_version >= 3u)))) { | |
1598 fn.glBlitFramebufferANGLEFn = reinterpret_cast<glBlitFramebufferANGLEProc>( | |
1599 GetGLProcAddress("glBlitFramebuffer")); | |
1600 } else if (ext.b_GL_ANGLE_framebuffer_blit) { | |
1025 fn.glBlitFramebufferANGLEFn = reinterpret_cast<glBlitFramebufferANGLEProc>( | 1601 fn.glBlitFramebufferANGLEFn = reinterpret_cast<glBlitFramebufferANGLEProc>( |
1026 GetGLProcAddress("glBlitFramebufferANGLE")); | 1602 GetGLProcAddress("glBlitFramebufferANGLE")); |
1027 } | 1603 } else { |
1028 if (!fn.glBlitFramebufferANGLEFn) { | |
1029 fn.glBlitFramebufferANGLEFn = reinterpret_cast<glBlitFramebufferANGLEProc>( | 1604 fn.glBlitFramebufferANGLEFn = reinterpret_cast<glBlitFramebufferANGLEProc>( |
1030 GetGLProcAddress("glBlitFramebuffer")); | 1605 glBlitFramebufferANGLENotBound); |
1031 } | 1606 } |
1607 DCHECK(fn.glBlitFramebufferANGLEFn); | |
1032 | 1608 |
1033 fn.glBlitFramebufferEXTFn = 0; | 1609 fn.glBlitFramebufferEXTFn = 0; |
1034 debug_fn.glBlitFramebufferEXTFn = 0; | 1610 debug_fn.glBlitFramebufferEXTFn = 0; |
1035 if (ext.b_GL_EXT_framebuffer_blit) { | 1611 if (((!ver->is_es && (ver->major_version >= 3u)) || |
1612 (ver->is_es && (ver->major_version >= 3u)))) { | |
1613 fn.glBlitFramebufferEXTFn = reinterpret_cast<glBlitFramebufferEXTProc>( | |
1614 GetGLProcAddress("glBlitFramebuffer")); | |
1615 } else if (ext.b_GL_EXT_framebuffer_blit) { | |
1036 fn.glBlitFramebufferEXTFn = reinterpret_cast<glBlitFramebufferEXTProc>( | 1616 fn.glBlitFramebufferEXTFn = reinterpret_cast<glBlitFramebufferEXTProc>( |
1037 GetGLProcAddress("glBlitFramebufferEXT")); | 1617 GetGLProcAddress("glBlitFramebufferEXT")); |
1038 } | 1618 } else { |
1039 if (!fn.glBlitFramebufferEXTFn) { | |
1040 fn.glBlitFramebufferEXTFn = reinterpret_cast<glBlitFramebufferEXTProc>( | 1619 fn.glBlitFramebufferEXTFn = reinterpret_cast<glBlitFramebufferEXTProc>( |
1041 GetGLProcAddress("glBlitFramebuffer")); | 1620 glBlitFramebufferEXTNotBound); |
1042 } | 1621 } |
1043 | 1622 DCHECK(fn.glBlitFramebufferEXTFn); |
1044 fn.glCheckFramebufferStatusEXTFn = 0; | 1623 |
1045 debug_fn.glCheckFramebufferStatusEXTFn = 0; | 1624 fn.glClearBufferfiFn = 0; |
1046 if (ext.b_GL_EXT_framebuffer_object) { | 1625 debug_fn.glClearBufferfiFn = 0; |
1047 fn.glCheckFramebufferStatusEXTFn = | 1626 if (((!ver->is_es && (ver->major_version >= 3u)) || |
1048 reinterpret_cast<glCheckFramebufferStatusEXTProc>( | 1627 (ver->is_es && (ver->major_version >= 3u)))) { |
1049 GetGLProcAddress("glCheckFramebufferStatusEXT")); | 1628 fn.glClearBufferfiFn = reinterpret_cast<glClearBufferfiProc>( |
1050 } | 1629 GetGLProcAddress("glClearBufferfi")); |
1051 if (!fn.glCheckFramebufferStatusEXTFn) { | 1630 } else { |
1052 fn.glCheckFramebufferStatusEXTFn = | 1631 fn.glClearBufferfiFn = |
1053 reinterpret_cast<glCheckFramebufferStatusEXTProc>( | 1632 reinterpret_cast<glClearBufferfiProc>(glClearBufferfiNotBound); |
1054 GetGLProcAddress("glCheckFramebufferStatus")); | 1633 } |
1055 } | 1634 DCHECK(fn.glClearBufferfiFn); |
1056 | 1635 |
1057 fn.glDeleteBuffersARBFn = 0; | 1636 fn.glClearBufferfvFn = 0; |
1058 debug_fn.glDeleteBuffersARBFn = 0; | 1637 debug_fn.glClearBufferfvFn = 0; |
1059 if (ext.b_GL_ARB_vertex_buffer_object) { | 1638 if (((!ver->is_es && (ver->major_version >= 3u)) || |
1060 fn.glDeleteBuffersARBFn = reinterpret_cast<glDeleteBuffersARBProc>( | 1639 (ver->is_es && (ver->major_version >= 3u)))) { |
1061 GetGLProcAddress("glDeleteBuffersARB")); | 1640 fn.glClearBufferfvFn = reinterpret_cast<glClearBufferfvProc>( |
1062 } | 1641 GetGLProcAddress("glClearBufferfv")); |
1063 if (!fn.glDeleteBuffersARBFn) { | 1642 } else { |
1064 fn.glDeleteBuffersARBFn = reinterpret_cast<glDeleteBuffersARBProc>( | 1643 fn.glClearBufferfvFn = |
1065 GetGLProcAddress("glDeleteBuffers")); | 1644 reinterpret_cast<glClearBufferfvProc>(glClearBufferfvNotBound); |
1066 } | 1645 } |
1067 | 1646 DCHECK(fn.glClearBufferfvFn); |
1068 fn.glDeleteFramebuffersEXTFn = 0; | 1647 |
1069 debug_fn.glDeleteFramebuffersEXTFn = 0; | 1648 fn.glClearBufferivFn = 0; |
1070 if (ext.b_GL_EXT_framebuffer_object) { | 1649 debug_fn.glClearBufferivFn = 0; |
1071 fn.glDeleteFramebuffersEXTFn = | 1650 if (((!ver->is_es && (ver->major_version >= 3u)) || |
1072 reinterpret_cast<glDeleteFramebuffersEXTProc>( | 1651 (ver->is_es && (ver->major_version >= 3u)))) { |
1073 GetGLProcAddress("glDeleteFramebuffersEXT")); | 1652 fn.glClearBufferivFn = reinterpret_cast<glClearBufferivProc>( |
1074 } | 1653 GetGLProcAddress("glClearBufferiv")); |
1075 if (!fn.glDeleteFramebuffersEXTFn) { | 1654 } else { |
1076 fn.glDeleteFramebuffersEXTFn = | 1655 fn.glClearBufferivFn = |
1077 reinterpret_cast<glDeleteFramebuffersEXTProc>( | 1656 reinterpret_cast<glClearBufferivProc>(glClearBufferivNotBound); |
1078 GetGLProcAddress("glDeleteFramebuffers")); | 1657 } |
1079 } | 1658 DCHECK(fn.glClearBufferivFn); |
1659 | |
1660 fn.glClearBufferuivFn = 0; | |
1661 debug_fn.glClearBufferuivFn = 0; | |
1662 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
1663 (ver->is_es && (ver->major_version >= 3u)))) { | |
1664 fn.glClearBufferuivFn = reinterpret_cast<glClearBufferuivProc>( | |
1665 GetGLProcAddress("glClearBufferuiv")); | |
1666 } else { | |
1667 fn.glClearBufferuivFn = | |
1668 reinterpret_cast<glClearBufferuivProc>(glClearBufferuivNotBound); | |
1669 } | |
1670 DCHECK(fn.glClearBufferuivFn); | |
1671 | |
1672 fn.glClearDepthfFn = 0; | |
1673 debug_fn.glClearDepthfFn = 0; | |
1674 if (((!ver->is_es && | |
1675 (ver->major_version > 4u || | |
1676 (ver->major_version == 4u && ver->minor_version >= 1u))) || | |
1677 ver->is_es)) { | |
1678 fn.glClearDepthfFn = | |
1679 reinterpret_cast<glClearDepthfProc>(GetGLProcAddress("glClearDepthf")); | |
1680 } else { | |
1681 fn.glClearDepthfFn = | |
1682 reinterpret_cast<glClearDepthfProc>(glClearDepthfNotBound); | |
1683 } | |
1684 DCHECK(fn.glClearDepthfFn); | |
1685 | |
1686 fn.glClientWaitSyncFn = 0; | |
1687 debug_fn.glClientWaitSyncFn = 0; | |
1688 if (((!ver->is_es && | |
1689 (ver->major_version > 3u || | |
1690 (ver->major_version == 3u && ver->minor_version >= 2u))) || | |
1691 (ver->is_es && (ver->major_version >= 3u))) || | |
1692 ext.b_GL_ARB_sync) { | |
1693 fn.glClientWaitSyncFn = reinterpret_cast<glClientWaitSyncProc>( | |
1694 GetGLProcAddress("glClientWaitSync")); | |
1695 } else { | |
1696 fn.glClientWaitSyncFn = | |
1697 reinterpret_cast<glClientWaitSyncProc>(glClientWaitSyncNotBound); | |
1698 } | |
1699 DCHECK(fn.glClientWaitSyncFn); | |
1700 | |
1701 fn.glCompressedTexImage3DFn = 0; | |
1702 debug_fn.glCompressedTexImage3DFn = 0; | |
1703 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
1704 fn.glCompressedTexImage3DFn = reinterpret_cast<glCompressedTexImage3DProc>( | |
1705 GetGLProcAddress("glCompressedTexImage3D")); | |
1706 } else { | |
1707 fn.glCompressedTexImage3DFn = reinterpret_cast<glCompressedTexImage3DProc>( | |
1708 glCompressedTexImage3DNotBound); | |
1709 } | |
1710 DCHECK(fn.glCompressedTexImage3DFn); | |
1711 | |
1712 fn.glCopyBufferSubDataFn = 0; | |
1713 debug_fn.glCopyBufferSubDataFn = 0; | |
1714 if (((ver->is_es && (ver->major_version >= 3u)) || | |
1715 (!ver->is_es && | |
1716 (ver->major_version > 3u || | |
1717 (ver->major_version == 3u && ver->minor_version >= 1u))))) { | |
1718 fn.glCopyBufferSubDataFn = reinterpret_cast<glCopyBufferSubDataProc>( | |
1719 GetGLProcAddress("glCopyBufferSubData")); | |
1720 } else { | |
1721 fn.glCopyBufferSubDataFn = | |
1722 reinterpret_cast<glCopyBufferSubDataProc>(glCopyBufferSubDataNotBound); | |
1723 } | |
1724 DCHECK(fn.glCopyBufferSubDataFn); | |
1725 | |
1726 fn.glCopyTexSubImage3DFn = 0; | |
1727 debug_fn.glCopyTexSubImage3DFn = 0; | |
1728 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
1729 fn.glCopyTexSubImage3DFn = reinterpret_cast<glCopyTexSubImage3DProc>( | |
1730 GetGLProcAddress("glCopyTexSubImage3D")); | |
1731 } else { | |
1732 fn.glCopyTexSubImage3DFn = | |
1733 reinterpret_cast<glCopyTexSubImage3DProc>(glCopyTexSubImage3DNotBound); | |
1734 } | |
1735 DCHECK(fn.glCopyTexSubImage3DFn); | |
1736 | |
1737 fn.glDeleteFencesAPPLEFn = 0; | |
1738 debug_fn.glDeleteFencesAPPLEFn = 0; | |
1739 if (ext.b_GL_APPLE_fence) { | |
1740 fn.glDeleteFencesAPPLEFn = reinterpret_cast<glDeleteFencesAPPLEProc>( | |
1741 GetGLProcAddress("glDeleteFencesAPPLE")); | |
1742 } else { | |
1743 fn.glDeleteFencesAPPLEFn = | |
1744 reinterpret_cast<glDeleteFencesAPPLEProc>(glDeleteFencesAPPLENotBound); | |
1745 } | |
1746 DCHECK(fn.glDeleteFencesAPPLEFn); | |
1747 | |
1748 fn.glDeleteFencesNVFn = 0; | |
1749 debug_fn.glDeleteFencesNVFn = 0; | |
1750 if (ext.b_GL_NV_fence) { | |
1751 fn.glDeleteFencesNVFn = reinterpret_cast<glDeleteFencesNVProc>( | |
1752 GetGLProcAddress("glDeleteFencesNV")); | |
1753 } else { | |
1754 fn.glDeleteFencesNVFn = | |
1755 reinterpret_cast<glDeleteFencesNVProc>(glDeleteFencesNVNotBound); | |
1756 } | |
1757 DCHECK(fn.glDeleteFencesNVFn); | |
1758 | |
1759 fn.glDeleteQueriesFn = 0; | |
1760 debug_fn.glDeleteQueriesFn = 0; | |
1761 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
1762 fn.glDeleteQueriesFn = reinterpret_cast<glDeleteQueriesProc>( | |
1763 GetGLProcAddress("glDeleteQueries")); | |
1764 } else { | |
1765 fn.glDeleteQueriesFn = | |
1766 reinterpret_cast<glDeleteQueriesProc>(glDeleteQueriesNotBound); | |
1767 } | |
1768 DCHECK(fn.glDeleteQueriesFn); | |
1080 | 1769 |
1081 fn.glDeleteQueriesARBFn = 0; | 1770 fn.glDeleteQueriesARBFn = 0; |
1082 debug_fn.glDeleteQueriesARBFn = 0; | 1771 debug_fn.glDeleteQueriesARBFn = 0; |
1083 if (ext.b_GL_ARB_occlusion_query) { | 1772 if (ext.b_GL_ARB_occlusion_query) { |
1084 fn.glDeleteQueriesARBFn = reinterpret_cast<glDeleteQueriesARBProc>( | 1773 fn.glDeleteQueriesARBFn = reinterpret_cast<glDeleteQueriesARBProc>( |
1085 GetGLProcAddress("glDeleteQueriesARB")); | 1774 GetGLProcAddress("glDeleteQueriesARB")); |
1086 } | 1775 } else if ((ext.b_GL_EXT_disjoint_timer_query || |
1087 if (!fn.glDeleteQueriesARBFn) { | 1776 ext.b_GL_EXT_occlusion_query_boolean)) { |
1088 fn.glDeleteQueriesARBFn = reinterpret_cast<glDeleteQueriesARBProc>( | 1777 fn.glDeleteQueriesARBFn = reinterpret_cast<glDeleteQueriesARBProc>( |
1089 GetGLProcAddress("glDeleteQueriesEXT")); | 1778 GetGLProcAddress("glDeleteQueriesEXT")); |
1090 } | 1779 } else { |
1091 | 1780 fn.glDeleteQueriesARBFn = |
1092 fn.glDeleteRenderbuffersEXTFn = 0; | 1781 reinterpret_cast<glDeleteQueriesARBProc>(glDeleteQueriesARBNotBound); |
1093 debug_fn.glDeleteRenderbuffersEXTFn = 0; | 1782 } |
1094 if (ext.b_GL_EXT_framebuffer_object) { | 1783 DCHECK(fn.glDeleteQueriesARBFn); |
1095 fn.glDeleteRenderbuffersEXTFn = | 1784 |
1096 reinterpret_cast<glDeleteRenderbuffersEXTProc>( | 1785 fn.glDeleteSamplersFn = 0; |
1097 GetGLProcAddress("glDeleteRenderbuffersEXT")); | 1786 debug_fn.glDeleteSamplersFn = 0; |
1098 } | 1787 if (((!ver->is_es && |
1099 if (!fn.glDeleteRenderbuffersEXTFn) { | 1788 (ver->major_version > 3u || |
1100 fn.glDeleteRenderbuffersEXTFn = | 1789 (ver->major_version == 3u && ver->minor_version >= 3u))) || |
1101 reinterpret_cast<glDeleteRenderbuffersEXTProc>( | 1790 (ver->is_es && (ver->major_version >= 3u)))) { |
1102 GetGLProcAddress("glDeleteRenderbuffers")); | 1791 fn.glDeleteSamplersFn = reinterpret_cast<glDeleteSamplersProc>( |
1103 } | 1792 GetGLProcAddress("glDeleteSamplers")); |
1793 } else { | |
1794 fn.glDeleteSamplersFn = | |
1795 reinterpret_cast<glDeleteSamplersProc>(glDeleteSamplersNotBound); | |
1796 } | |
1797 DCHECK(fn.glDeleteSamplersFn); | |
1798 | |
1799 fn.glDeleteSyncFn = 0; | |
1800 debug_fn.glDeleteSyncFn = 0; | |
1801 if (((!ver->is_es && | |
1802 (ver->major_version > 3u || | |
1803 (ver->major_version == 3u && ver->minor_version >= 2u))) || | |
1804 (ver->is_es && (ver->major_version >= 3u))) || | |
1805 ext.b_GL_ARB_sync) { | |
1806 fn.glDeleteSyncFn = | |
1807 reinterpret_cast<glDeleteSyncProc>(GetGLProcAddress("glDeleteSync")); | |
1808 } else { | |
1809 fn.glDeleteSyncFn = | |
1810 reinterpret_cast<glDeleteSyncProc>(glDeleteSyncNotBound); | |
1811 } | |
1812 DCHECK(fn.glDeleteSyncFn); | |
1813 | |
1814 fn.glDeleteTransformFeedbacksFn = 0; | |
1815 debug_fn.glDeleteTransformFeedbacksFn = 0; | |
1816 if (((ver->is_es && (ver->major_version >= 3u)) || | |
1817 (!ver->is_es && (ver->major_version >= 4u)))) { | |
1818 fn.glDeleteTransformFeedbacksFn = | |
1819 reinterpret_cast<glDeleteTransformFeedbacksProc>( | |
1820 GetGLProcAddress("glDeleteTransformFeedbacks")); | |
1821 } else { | |
1822 fn.glDeleteTransformFeedbacksFn = | |
1823 reinterpret_cast<glDeleteTransformFeedbacksProc>( | |
1824 glDeleteTransformFeedbacksNotBound); | |
1825 } | |
1826 DCHECK(fn.glDeleteTransformFeedbacksFn); | |
1104 | 1827 |
1105 fn.glDeleteVertexArraysOESFn = 0; | 1828 fn.glDeleteVertexArraysOESFn = 0; |
1106 debug_fn.glDeleteVertexArraysOESFn = 0; | 1829 debug_fn.glDeleteVertexArraysOESFn = 0; |
1107 if ((ver->is_gl3 || ver->is_gl4 || ver->is_es3) || | 1830 if (((!ver->is_es && (ver->major_version >= 3u)) || |
1831 (ver->is_es && (ver->major_version >= 3u))) || | |
1108 ext.b_GL_ARB_vertex_array_object) { | 1832 ext.b_GL_ARB_vertex_array_object) { |
1109 fn.glDeleteVertexArraysOESFn = | 1833 fn.glDeleteVertexArraysOESFn = |
1110 reinterpret_cast<glDeleteVertexArraysOESProc>( | 1834 reinterpret_cast<glDeleteVertexArraysOESProc>( |
1111 GetGLProcAddress("glDeleteVertexArrays")); | 1835 GetGLProcAddress("glDeleteVertexArrays")); |
1112 } | 1836 } else if (ext.b_GL_OES_vertex_array_object) { |
1113 if (!fn.glDeleteVertexArraysOESFn && (ext.b_GL_OES_vertex_array_object)) { | |
1114 fn.glDeleteVertexArraysOESFn = | 1837 fn.glDeleteVertexArraysOESFn = |
1115 reinterpret_cast<glDeleteVertexArraysOESProc>( | 1838 reinterpret_cast<glDeleteVertexArraysOESProc>( |
1116 GetGLProcAddress("glDeleteVertexArraysOES")); | 1839 GetGLProcAddress("glDeleteVertexArraysOES")); |
1117 } | 1840 } else if (ext.b_GL_APPLE_vertex_array_object) { |
1118 if (!fn.glDeleteVertexArraysOESFn) { | |
1119 fn.glDeleteVertexArraysOESFn = | 1841 fn.glDeleteVertexArraysOESFn = |
1120 reinterpret_cast<glDeleteVertexArraysOESProc>( | 1842 reinterpret_cast<glDeleteVertexArraysOESProc>( |
1121 GetGLProcAddress("glDeleteVertexArraysAPPLE")); | 1843 GetGLProcAddress("glDeleteVertexArraysAPPLE")); |
1122 } | 1844 } else { |
1845 fn.glDeleteVertexArraysOESFn = | |
1846 reinterpret_cast<glDeleteVertexArraysOESProc>( | |
1847 glDeleteVertexArraysOESNotBound); | |
1848 } | |
1849 DCHECK(fn.glDeleteVertexArraysOESFn); | |
1850 | |
1851 fn.glDepthRangefFn = 0; | |
1852 debug_fn.glDepthRangefFn = 0; | |
1853 if (((!ver->is_es && | |
1854 (ver->major_version > 4u || | |
1855 (ver->major_version == 4u && ver->minor_version >= 1u))) || | |
1856 ver->is_es)) { | |
1857 fn.glDepthRangefFn = | |
1858 reinterpret_cast<glDepthRangefProc>(GetGLProcAddress("glDepthRangef")); | |
1859 } else { | |
1860 fn.glDepthRangefFn = | |
1861 reinterpret_cast<glDepthRangefProc>(glDepthRangefNotBound); | |
1862 } | |
1863 DCHECK(fn.glDepthRangefFn); | |
1864 | |
1865 fn.glDiscardFramebufferEXTFn = 0; | |
1866 debug_fn.glDiscardFramebufferEXTFn = 0; | |
1867 if (ext.b_GL_EXT_discard_framebuffer) { | |
1868 fn.glDiscardFramebufferEXTFn = | |
1869 reinterpret_cast<glDiscardFramebufferEXTProc>( | |
1870 GetGLProcAddress("glDiscardFramebufferEXT")); | |
1871 } else { | |
1872 fn.glDiscardFramebufferEXTFn = | |
1873 reinterpret_cast<glDiscardFramebufferEXTProc>( | |
1874 glDiscardFramebufferEXTNotBound); | |
1875 } | |
1876 DCHECK(fn.glDiscardFramebufferEXTFn); | |
1123 | 1877 |
1124 fn.glDrawArraysInstancedANGLEFn = 0; | 1878 fn.glDrawArraysInstancedANGLEFn = 0; |
1125 debug_fn.glDrawArraysInstancedANGLEFn = 0; | 1879 debug_fn.glDrawArraysInstancedANGLEFn = 0; |
1126 if (ext.b_GL_ARB_draw_instanced) { | 1880 if (((ver->is_es && (ver->major_version >= 3u)) || |
1881 (!ver->is_es && | |
1882 (ver->major_version > 3u || | |
1883 (ver->major_version == 3u && ver->minor_version >= 1u))))) { | |
1884 fn.glDrawArraysInstancedANGLEFn = | |
1885 reinterpret_cast<glDrawArraysInstancedANGLEProc>( | |
1886 GetGLProcAddress("glDrawArraysInstanced")); | |
1887 } else if (ext.b_GL_ARB_draw_instanced) { | |
1127 fn.glDrawArraysInstancedANGLEFn = | 1888 fn.glDrawArraysInstancedANGLEFn = |
1128 reinterpret_cast<glDrawArraysInstancedANGLEProc>( | 1889 reinterpret_cast<glDrawArraysInstancedANGLEProc>( |
1129 GetGLProcAddress("glDrawArraysInstancedARB")); | 1890 GetGLProcAddress("glDrawArraysInstancedARB")); |
1130 } | 1891 } else if (ext.b_GL_ANGLE_instanced_arrays) { |
1131 if (!fn.glDrawArraysInstancedANGLEFn && (ext.b_GL_ANGLE_instanced_arrays)) { | |
1132 fn.glDrawArraysInstancedANGLEFn = | 1892 fn.glDrawArraysInstancedANGLEFn = |
1133 reinterpret_cast<glDrawArraysInstancedANGLEProc>( | 1893 reinterpret_cast<glDrawArraysInstancedANGLEProc>( |
1134 GetGLProcAddress("glDrawArraysInstancedANGLE")); | 1894 GetGLProcAddress("glDrawArraysInstancedANGLE")); |
1135 } | 1895 } else { |
1136 if (!fn.glDrawArraysInstancedANGLEFn) { | |
1137 fn.glDrawArraysInstancedANGLEFn = | 1896 fn.glDrawArraysInstancedANGLEFn = |
1138 reinterpret_cast<glDrawArraysInstancedANGLEProc>( | 1897 reinterpret_cast<glDrawArraysInstancedANGLEProc>( |
1139 GetGLProcAddress("glDrawArraysInstanced")); | 1898 glDrawArraysInstancedANGLENotBound); |
1140 } | 1899 } |
1900 DCHECK(fn.glDrawArraysInstancedANGLEFn); | |
1901 | |
1902 fn.glDrawBufferFn = 0; | |
1903 debug_fn.glDrawBufferFn = 0; | |
1904 if (!ver->is_es) { | |
1905 fn.glDrawBufferFn = | |
1906 reinterpret_cast<glDrawBufferProc>(GetGLProcAddress("glDrawBuffer")); | |
1907 } else { | |
1908 fn.glDrawBufferFn = | |
1909 reinterpret_cast<glDrawBufferProc>(glDrawBufferNotBound); | |
1910 } | |
1911 DCHECK(fn.glDrawBufferFn); | |
1141 | 1912 |
1142 fn.glDrawBuffersARBFn = 0; | 1913 fn.glDrawBuffersARBFn = 0; |
1143 debug_fn.glDrawBuffersARBFn = 0; | 1914 debug_fn.glDrawBuffersARBFn = 0; |
1144 if (ext.b_GL_ARB_draw_buffers) { | 1915 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { |
1916 fn.glDrawBuffersARBFn = reinterpret_cast<glDrawBuffersARBProc>( | |
1917 GetGLProcAddress("glDrawBuffers")); | |
1918 } else if (ext.b_GL_ARB_draw_buffers) { | |
1145 fn.glDrawBuffersARBFn = reinterpret_cast<glDrawBuffersARBProc>( | 1919 fn.glDrawBuffersARBFn = reinterpret_cast<glDrawBuffersARBProc>( |
1146 GetGLProcAddress("glDrawBuffersARB")); | 1920 GetGLProcAddress("glDrawBuffersARB")); |
1147 } | 1921 } else if (ext.b_GL_EXT_draw_buffers) { |
1148 if (!fn.glDrawBuffersARBFn && (ext.b_GL_EXT_draw_buffers)) { | |
1149 fn.glDrawBuffersARBFn = reinterpret_cast<glDrawBuffersARBProc>( | 1922 fn.glDrawBuffersARBFn = reinterpret_cast<glDrawBuffersARBProc>( |
1150 GetGLProcAddress("glDrawBuffersEXT")); | 1923 GetGLProcAddress("glDrawBuffersEXT")); |
1151 } | 1924 } else { |
1152 if (!fn.glDrawBuffersARBFn) { | 1925 fn.glDrawBuffersARBFn = |
1153 fn.glDrawBuffersARBFn = reinterpret_cast<glDrawBuffersARBProc>( | 1926 reinterpret_cast<glDrawBuffersARBProc>(glDrawBuffersARBNotBound); |
1154 GetGLProcAddress("glDrawBuffers")); | 1927 } |
1155 } | 1928 DCHECK(fn.glDrawBuffersARBFn); |
1156 | 1929 |
1157 fn.glDrawElementsInstancedANGLEFn = 0; | 1930 fn.glDrawElementsInstancedANGLEFn = 0; |
1158 debug_fn.glDrawElementsInstancedANGLEFn = 0; | 1931 debug_fn.glDrawElementsInstancedANGLEFn = 0; |
1159 if (ext.b_GL_ARB_draw_instanced) { | 1932 if (((ver->is_es && (ver->major_version >= 3u)) || |
1933 (!ver->is_es && | |
1934 (ver->major_version > 3u || | |
1935 (ver->major_version == 3u && ver->minor_version >= 1u))))) { | |
1936 fn.glDrawElementsInstancedANGLEFn = | |
1937 reinterpret_cast<glDrawElementsInstancedANGLEProc>( | |
1938 GetGLProcAddress("glDrawElementsInstanced")); | |
1939 } else if (ext.b_GL_ARB_draw_instanced) { | |
1160 fn.glDrawElementsInstancedANGLEFn = | 1940 fn.glDrawElementsInstancedANGLEFn = |
1161 reinterpret_cast<glDrawElementsInstancedANGLEProc>( | 1941 reinterpret_cast<glDrawElementsInstancedANGLEProc>( |
1162 GetGLProcAddress("glDrawElementsInstancedARB")); | 1942 GetGLProcAddress("glDrawElementsInstancedARB")); |
1163 } | 1943 } else if (ext.b_GL_ANGLE_instanced_arrays) { |
1164 if (!fn.glDrawElementsInstancedANGLEFn && (ext.b_GL_ANGLE_instanced_arrays)) { | |
1165 fn.glDrawElementsInstancedANGLEFn = | 1944 fn.glDrawElementsInstancedANGLEFn = |
1166 reinterpret_cast<glDrawElementsInstancedANGLEProc>( | 1945 reinterpret_cast<glDrawElementsInstancedANGLEProc>( |
1167 GetGLProcAddress("glDrawElementsInstancedANGLE")); | 1946 GetGLProcAddress("glDrawElementsInstancedANGLE")); |
1168 } | 1947 } else { |
1169 if (!fn.glDrawElementsInstancedANGLEFn) { | |
1170 fn.glDrawElementsInstancedANGLEFn = | 1948 fn.glDrawElementsInstancedANGLEFn = |
1171 reinterpret_cast<glDrawElementsInstancedANGLEProc>( | 1949 reinterpret_cast<glDrawElementsInstancedANGLEProc>( |
1172 GetGLProcAddress("glDrawElementsInstanced")); | 1950 glDrawElementsInstancedANGLENotBound); |
1173 } | 1951 } |
1952 DCHECK(fn.glDrawElementsInstancedANGLEFn); | |
1953 | |
1954 fn.glDrawRangeElementsFn = 0; | |
1955 debug_fn.glDrawRangeElementsFn = 0; | |
1956 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
1957 fn.glDrawRangeElementsFn = reinterpret_cast<glDrawRangeElementsProc>( | |
1958 GetGLProcAddress("glDrawRangeElements")); | |
1959 } else { | |
1960 fn.glDrawRangeElementsFn = | |
1961 reinterpret_cast<glDrawRangeElementsProc>(glDrawRangeElementsNotBound); | |
1962 } | |
1963 DCHECK(fn.glDrawRangeElementsFn); | |
1964 | |
1965 fn.glEGLImageTargetRenderbufferStorageOESFn = 0; | |
1966 debug_fn.glEGLImageTargetRenderbufferStorageOESFn = 0; | |
1967 if (ext.b_GL_OES_EGL_image) { | |
1968 fn.glEGLImageTargetRenderbufferStorageOESFn = | |
1969 reinterpret_cast<glEGLImageTargetRenderbufferStorageOESProc>( | |
1970 GetGLProcAddress("glEGLImageTargetRenderbufferStorageOES")); | |
1971 } else { | |
1972 fn.glEGLImageTargetRenderbufferStorageOESFn = | |
1973 reinterpret_cast<glEGLImageTargetRenderbufferStorageOESProc>( | |
1974 glEGLImageTargetRenderbufferStorageOESNotBound); | |
1975 } | |
1976 DCHECK(fn.glEGLImageTargetRenderbufferStorageOESFn); | |
1977 | |
1978 fn.glEGLImageTargetTexture2DOESFn = 0; | |
1979 debug_fn.glEGLImageTargetTexture2DOESFn = 0; | |
1980 if (ext.b_GL_OES_EGL_image) { | |
1981 fn.glEGLImageTargetTexture2DOESFn = | |
1982 reinterpret_cast<glEGLImageTargetTexture2DOESProc>( | |
1983 GetGLProcAddress("glEGLImageTargetTexture2DOES")); | |
1984 } else { | |
1985 fn.glEGLImageTargetTexture2DOESFn = | |
1986 reinterpret_cast<glEGLImageTargetTexture2DOESProc>( | |
1987 glEGLImageTargetTexture2DOESNotBound); | |
1988 } | |
1989 DCHECK(fn.glEGLImageTargetTexture2DOESFn); | |
1990 | |
1991 fn.glEndQueryFn = 0; | |
1992 debug_fn.glEndQueryFn = 0; | |
1993 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
1994 fn.glEndQueryFn = | |
1995 reinterpret_cast<glEndQueryProc>(GetGLProcAddress("glEndQuery")); | |
1996 } else { | |
1997 fn.glEndQueryFn = reinterpret_cast<glEndQueryProc>(glEndQueryNotBound); | |
1998 } | |
1999 DCHECK(fn.glEndQueryFn); | |
1174 | 2000 |
1175 fn.glEndQueryARBFn = 0; | 2001 fn.glEndQueryARBFn = 0; |
1176 debug_fn.glEndQueryARBFn = 0; | 2002 debug_fn.glEndQueryARBFn = 0; |
1177 if (ext.b_GL_ARB_occlusion_query) { | 2003 if (ext.b_GL_ARB_occlusion_query) { |
1178 fn.glEndQueryARBFn = | 2004 fn.glEndQueryARBFn = |
1179 reinterpret_cast<glEndQueryARBProc>(GetGLProcAddress("glEndQueryARB")); | 2005 reinterpret_cast<glEndQueryARBProc>(GetGLProcAddress("glEndQueryARB")); |
1180 } | 2006 } else if ((ext.b_GL_EXT_disjoint_timer_query || |
1181 if (!fn.glEndQueryARBFn) { | 2007 ext.b_GL_EXT_occlusion_query_boolean)) { |
1182 fn.glEndQueryARBFn = | 2008 fn.glEndQueryARBFn = |
1183 reinterpret_cast<glEndQueryARBProc>(GetGLProcAddress("glEndQueryEXT")); | 2009 reinterpret_cast<glEndQueryARBProc>(GetGLProcAddress("glEndQueryEXT")); |
1184 } | 2010 } else { |
1185 | 2011 fn.glEndQueryARBFn = |
1186 fn.glFramebufferRenderbufferEXTFn = 0; | 2012 reinterpret_cast<glEndQueryARBProc>(glEndQueryARBNotBound); |
1187 debug_fn.glFramebufferRenderbufferEXTFn = 0; | 2013 } |
1188 if (ext.b_GL_EXT_framebuffer_object) { | 2014 DCHECK(fn.glEndQueryARBFn); |
1189 fn.glFramebufferRenderbufferEXTFn = | 2015 |
1190 reinterpret_cast<glFramebufferRenderbufferEXTProc>( | 2016 fn.glEndTransformFeedbackFn = 0; |
1191 GetGLProcAddress("glFramebufferRenderbufferEXT")); | 2017 debug_fn.glEndTransformFeedbackFn = 0; |
1192 } | 2018 if (((!ver->is_es && (ver->major_version >= 3u)) || |
1193 if (!fn.glFramebufferRenderbufferEXTFn) { | 2019 (ver->is_es && (ver->major_version >= 3u)))) { |
1194 fn.glFramebufferRenderbufferEXTFn = | 2020 fn.glEndTransformFeedbackFn = reinterpret_cast<glEndTransformFeedbackProc>( |
1195 reinterpret_cast<glFramebufferRenderbufferEXTProc>( | 2021 GetGLProcAddress("glEndTransformFeedback")); |
1196 GetGLProcAddress("glFramebufferRenderbuffer")); | 2022 } else { |
1197 } | 2023 fn.glEndTransformFeedbackFn = reinterpret_cast<glEndTransformFeedbackProc>( |
1198 | 2024 glEndTransformFeedbackNotBound); |
1199 fn.glFramebufferTexture2DEXTFn = 0; | 2025 } |
1200 debug_fn.glFramebufferTexture2DEXTFn = 0; | 2026 DCHECK(fn.glEndTransformFeedbackFn); |
1201 if (ext.b_GL_EXT_framebuffer_object) { | 2027 |
1202 fn.glFramebufferTexture2DEXTFn = | 2028 fn.glFenceSyncFn = 0; |
1203 reinterpret_cast<glFramebufferTexture2DEXTProc>( | 2029 debug_fn.glFenceSyncFn = 0; |
1204 GetGLProcAddress("glFramebufferTexture2DEXT")); | 2030 if (((!ver->is_es && |
1205 } | 2031 (ver->major_version > 3u || |
1206 if (!fn.glFramebufferTexture2DEXTFn) { | 2032 (ver->major_version == 3u && ver->minor_version >= 2u))) || |
1207 fn.glFramebufferTexture2DEXTFn = | 2033 (ver->is_es && (ver->major_version >= 3u))) || |
1208 reinterpret_cast<glFramebufferTexture2DEXTProc>( | 2034 ext.b_GL_ARB_sync) { |
1209 GetGLProcAddress("glFramebufferTexture2D")); | 2035 fn.glFenceSyncFn = |
1210 } | 2036 reinterpret_cast<glFenceSyncProc>(GetGLProcAddress("glFenceSync")); |
1211 | 2037 } else { |
1212 fn.glGenBuffersARBFn = 0; | 2038 fn.glFenceSyncFn = reinterpret_cast<glFenceSyncProc>(glFenceSyncNotBound); |
1213 debug_fn.glGenBuffersARBFn = 0; | 2039 } |
1214 if (ext.b_GL_ARB_vertex_buffer_object) { | 2040 DCHECK(fn.glFenceSyncFn); |
1215 fn.glGenBuffersARBFn = reinterpret_cast<glGenBuffersARBProc>( | 2041 |
1216 GetGLProcAddress("glGenBuffersARB")); | 2042 fn.glFinishFenceAPPLEFn = 0; |
1217 } | 2043 debug_fn.glFinishFenceAPPLEFn = 0; |
1218 if (!fn.glGenBuffersARBFn) { | 2044 if (ext.b_GL_APPLE_fence) { |
1219 fn.glGenBuffersARBFn = | 2045 fn.glFinishFenceAPPLEFn = reinterpret_cast<glFinishFenceAPPLEProc>( |
1220 reinterpret_cast<glGenBuffersARBProc>(GetGLProcAddress("glGenBuffers")); | 2046 GetGLProcAddress("glFinishFenceAPPLE")); |
1221 } | 2047 } else { |
1222 | 2048 fn.glFinishFenceAPPLEFn = |
1223 fn.glGenerateMipmapEXTFn = 0; | 2049 reinterpret_cast<glFinishFenceAPPLEProc>(glFinishFenceAPPLENotBound); |
1224 debug_fn.glGenerateMipmapEXTFn = 0; | 2050 } |
1225 if (ext.b_GL_EXT_framebuffer_object) { | 2051 DCHECK(fn.glFinishFenceAPPLEFn); |
1226 fn.glGenerateMipmapEXTFn = reinterpret_cast<glGenerateMipmapEXTProc>( | 2052 |
1227 GetGLProcAddress("glGenerateMipmapEXT")); | 2053 fn.glFinishFenceNVFn = 0; |
1228 } | 2054 debug_fn.glFinishFenceNVFn = 0; |
1229 if (!fn.glGenerateMipmapEXTFn) { | 2055 if (ext.b_GL_NV_fence) { |
1230 fn.glGenerateMipmapEXTFn = reinterpret_cast<glGenerateMipmapEXTProc>( | 2056 fn.glFinishFenceNVFn = reinterpret_cast<glFinishFenceNVProc>( |
1231 GetGLProcAddress("glGenerateMipmap")); | 2057 GetGLProcAddress("glFinishFenceNV")); |
1232 } | 2058 } else { |
1233 | 2059 fn.glFinishFenceNVFn = |
1234 fn.glGenFramebuffersEXTFn = 0; | 2060 reinterpret_cast<glFinishFenceNVProc>(glFinishFenceNVNotBound); |
1235 debug_fn.glGenFramebuffersEXTFn = 0; | 2061 } |
1236 if (ext.b_GL_EXT_framebuffer_object) { | 2062 DCHECK(fn.glFinishFenceNVFn); |
1237 fn.glGenFramebuffersEXTFn = reinterpret_cast<glGenFramebuffersEXTProc>( | 2063 |
1238 GetGLProcAddress("glGenFramebuffersEXT")); | 2064 fn.glFlushMappedBufferRangeFn = 0; |
1239 } | 2065 debug_fn.glFlushMappedBufferRangeFn = 0; |
1240 if (!fn.glGenFramebuffersEXTFn) { | 2066 if (((!ver->is_es && (ver->major_version >= 3u)) || |
1241 fn.glGenFramebuffersEXTFn = reinterpret_cast<glGenFramebuffersEXTProc>( | 2067 (ver->is_es && (ver->major_version >= 3u)))) { |
1242 GetGLProcAddress("glGenFramebuffers")); | 2068 fn.glFlushMappedBufferRangeFn = |
1243 } | 2069 reinterpret_cast<glFlushMappedBufferRangeProc>( |
2070 GetGLProcAddress("glFlushMappedBufferRange")); | |
2071 } else { | |
2072 fn.glFlushMappedBufferRangeFn = | |
2073 reinterpret_cast<glFlushMappedBufferRangeProc>( | |
2074 glFlushMappedBufferRangeNotBound); | |
2075 } | |
2076 DCHECK(fn.glFlushMappedBufferRangeFn); | |
2077 | |
2078 fn.glFramebufferTexture2DMultisampleEXTFn = 0; | |
2079 debug_fn.glFramebufferTexture2DMultisampleEXTFn = 0; | |
2080 if (ext.b_GL_EXT_multisampled_render_to_texture) { | |
2081 fn.glFramebufferTexture2DMultisampleEXTFn = | |
2082 reinterpret_cast<glFramebufferTexture2DMultisampleEXTProc>( | |
2083 GetGLProcAddress("glFramebufferTexture2DMultisampleEXT")); | |
2084 } else { | |
2085 fn.glFramebufferTexture2DMultisampleEXTFn = | |
2086 reinterpret_cast<glFramebufferTexture2DMultisampleEXTProc>( | |
2087 glFramebufferTexture2DMultisampleEXTNotBound); | |
2088 } | |
2089 DCHECK(fn.glFramebufferTexture2DMultisampleEXTFn); | |
2090 | |
2091 fn.glFramebufferTexture2DMultisampleIMGFn = 0; | |
2092 debug_fn.glFramebufferTexture2DMultisampleIMGFn = 0; | |
2093 if (ext.b_GL_IMG_multisampled_render_to_texture) { | |
2094 fn.glFramebufferTexture2DMultisampleIMGFn = | |
2095 reinterpret_cast<glFramebufferTexture2DMultisampleIMGProc>( | |
2096 GetGLProcAddress("glFramebufferTexture2DMultisampleIMG")); | |
2097 } else { | |
2098 fn.glFramebufferTexture2DMultisampleIMGFn = | |
2099 reinterpret_cast<glFramebufferTexture2DMultisampleIMGProc>( | |
2100 glFramebufferTexture2DMultisampleIMGNotBound); | |
2101 } | |
2102 DCHECK(fn.glFramebufferTexture2DMultisampleIMGFn); | |
2103 | |
2104 fn.glFramebufferTextureLayerFn = 0; | |
2105 debug_fn.glFramebufferTextureLayerFn = 0; | |
2106 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
2107 (ver->is_es && (ver->major_version >= 3u)))) { | |
2108 fn.glFramebufferTextureLayerFn = | |
2109 reinterpret_cast<glFramebufferTextureLayerProc>( | |
2110 GetGLProcAddress("glFramebufferTextureLayer")); | |
2111 } else { | |
2112 fn.glFramebufferTextureLayerFn = | |
2113 reinterpret_cast<glFramebufferTextureLayerProc>( | |
2114 glFramebufferTextureLayerNotBound); | |
2115 } | |
2116 DCHECK(fn.glFramebufferTextureLayerFn); | |
2117 | |
2118 fn.glGenFencesAPPLEFn = 0; | |
2119 debug_fn.glGenFencesAPPLEFn = 0; | |
2120 if (ext.b_GL_APPLE_fence) { | |
2121 fn.glGenFencesAPPLEFn = reinterpret_cast<glGenFencesAPPLEProc>( | |
2122 GetGLProcAddress("glGenFencesAPPLE")); | |
2123 } else { | |
2124 fn.glGenFencesAPPLEFn = | |
2125 reinterpret_cast<glGenFencesAPPLEProc>(glGenFencesAPPLENotBound); | |
2126 } | |
2127 DCHECK(fn.glGenFencesAPPLEFn); | |
2128 | |
2129 fn.glGenFencesNVFn = 0; | |
2130 debug_fn.glGenFencesNVFn = 0; | |
2131 if (ext.b_GL_NV_fence) { | |
2132 fn.glGenFencesNVFn = | |
2133 reinterpret_cast<glGenFencesNVProc>(GetGLProcAddress("glGenFencesNV")); | |
2134 } else { | |
2135 fn.glGenFencesNVFn = | |
2136 reinterpret_cast<glGenFencesNVProc>(glGenFencesNVNotBound); | |
2137 } | |
2138 DCHECK(fn.glGenFencesNVFn); | |
2139 | |
2140 fn.glGenQueriesFn = 0; | |
2141 debug_fn.glGenQueriesFn = 0; | |
2142 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
2143 fn.glGenQueriesFn = | |
2144 reinterpret_cast<glGenQueriesProc>(GetGLProcAddress("glGenQueries")); | |
2145 } else { | |
2146 fn.glGenQueriesFn = | |
2147 reinterpret_cast<glGenQueriesProc>(glGenQueriesNotBound); | |
2148 } | |
2149 DCHECK(fn.glGenQueriesFn); | |
1244 | 2150 |
1245 fn.glGenQueriesARBFn = 0; | 2151 fn.glGenQueriesARBFn = 0; |
1246 debug_fn.glGenQueriesARBFn = 0; | 2152 debug_fn.glGenQueriesARBFn = 0; |
1247 if (ext.b_GL_ARB_occlusion_query) { | 2153 if (ext.b_GL_ARB_occlusion_query) { |
1248 fn.glGenQueriesARBFn = reinterpret_cast<glGenQueriesARBProc>( | 2154 fn.glGenQueriesARBFn = reinterpret_cast<glGenQueriesARBProc>( |
1249 GetGLProcAddress("glGenQueriesARB")); | 2155 GetGLProcAddress("glGenQueriesARB")); |
1250 } | 2156 } else if ((ext.b_GL_EXT_disjoint_timer_query || |
1251 if (!fn.glGenQueriesARBFn) { | 2157 ext.b_GL_EXT_occlusion_query_boolean)) { |
1252 fn.glGenQueriesARBFn = reinterpret_cast<glGenQueriesARBProc>( | 2158 fn.glGenQueriesARBFn = reinterpret_cast<glGenQueriesARBProc>( |
1253 GetGLProcAddress("glGenQueriesEXT")); | 2159 GetGLProcAddress("glGenQueriesEXT")); |
1254 } | 2160 } else { |
1255 | 2161 fn.glGenQueriesARBFn = |
1256 fn.glGenRenderbuffersEXTFn = 0; | 2162 reinterpret_cast<glGenQueriesARBProc>(glGenQueriesARBNotBound); |
1257 debug_fn.glGenRenderbuffersEXTFn = 0; | 2163 } |
1258 if (ext.b_GL_EXT_framebuffer_object) { | 2164 DCHECK(fn.glGenQueriesARBFn); |
1259 fn.glGenRenderbuffersEXTFn = reinterpret_cast<glGenRenderbuffersEXTProc>( | 2165 |
1260 GetGLProcAddress("glGenRenderbuffersEXT")); | 2166 fn.glGenSamplersFn = 0; |
1261 } | 2167 debug_fn.glGenSamplersFn = 0; |
1262 if (!fn.glGenRenderbuffersEXTFn) { | 2168 if (((!ver->is_es && |
1263 fn.glGenRenderbuffersEXTFn = reinterpret_cast<glGenRenderbuffersEXTProc>( | 2169 (ver->major_version > 3u || |
1264 GetGLProcAddress("glGenRenderbuffers")); | 2170 (ver->major_version == 3u && ver->minor_version >= 3u))) || |
1265 } | 2171 (ver->is_es && (ver->major_version >= 3u)))) { |
2172 fn.glGenSamplersFn = | |
2173 reinterpret_cast<glGenSamplersProc>(GetGLProcAddress("glGenSamplers")); | |
2174 } else { | |
2175 fn.glGenSamplersFn = | |
2176 reinterpret_cast<glGenSamplersProc>(glGenSamplersNotBound); | |
2177 } | |
2178 DCHECK(fn.glGenSamplersFn); | |
2179 | |
2180 fn.glGenTransformFeedbacksFn = 0; | |
2181 debug_fn.glGenTransformFeedbacksFn = 0; | |
2182 if (((ver->is_es && (ver->major_version >= 3u)) || | |
2183 (!ver->is_es && (ver->major_version >= 4u)))) { | |
2184 fn.glGenTransformFeedbacksFn = | |
2185 reinterpret_cast<glGenTransformFeedbacksProc>( | |
2186 GetGLProcAddress("glGenTransformFeedbacks")); | |
2187 } else { | |
2188 fn.glGenTransformFeedbacksFn = | |
2189 reinterpret_cast<glGenTransformFeedbacksProc>( | |
2190 glGenTransformFeedbacksNotBound); | |
2191 } | |
2192 DCHECK(fn.glGenTransformFeedbacksFn); | |
1266 | 2193 |
1267 fn.glGenVertexArraysOESFn = 0; | 2194 fn.glGenVertexArraysOESFn = 0; |
1268 debug_fn.glGenVertexArraysOESFn = 0; | 2195 debug_fn.glGenVertexArraysOESFn = 0; |
1269 if ((ver->is_gl3 || ver->is_gl4 || ver->is_es3) || | 2196 if (((!ver->is_es && (ver->major_version >= 3u)) || |
2197 (ver->is_es && (ver->major_version >= 3u))) || | |
1270 ext.b_GL_ARB_vertex_array_object) { | 2198 ext.b_GL_ARB_vertex_array_object) { |
1271 fn.glGenVertexArraysOESFn = reinterpret_cast<glGenVertexArraysOESProc>( | 2199 fn.glGenVertexArraysOESFn = reinterpret_cast<glGenVertexArraysOESProc>( |
1272 GetGLProcAddress("glGenVertexArrays")); | 2200 GetGLProcAddress("glGenVertexArrays")); |
1273 } | 2201 } else if (ext.b_GL_OES_vertex_array_object) { |
1274 if (!fn.glGenVertexArraysOESFn && (ext.b_GL_OES_vertex_array_object)) { | |
1275 fn.glGenVertexArraysOESFn = reinterpret_cast<glGenVertexArraysOESProc>( | 2202 fn.glGenVertexArraysOESFn = reinterpret_cast<glGenVertexArraysOESProc>( |
1276 GetGLProcAddress("glGenVertexArraysOES")); | 2203 GetGLProcAddress("glGenVertexArraysOES")); |
1277 } | 2204 } else if (ext.b_GL_APPLE_vertex_array_object) { |
1278 if (!fn.glGenVertexArraysOESFn) { | |
1279 fn.glGenVertexArraysOESFn = reinterpret_cast<glGenVertexArraysOESProc>( | 2205 fn.glGenVertexArraysOESFn = reinterpret_cast<glGenVertexArraysOESProc>( |
1280 GetGLProcAddress("glGenVertexArraysAPPLE")); | 2206 GetGLProcAddress("glGenVertexArraysAPPLE")); |
1281 } | 2207 } else { |
1282 | 2208 fn.glGenVertexArraysOESFn = reinterpret_cast<glGenVertexArraysOESProc>( |
1283 fn.glGetFramebufferAttachmentParameterivEXTFn = 0; | 2209 glGenVertexArraysOESNotBound); |
1284 debug_fn.glGetFramebufferAttachmentParameterivEXTFn = 0; | 2210 } |
1285 if (ext.b_GL_EXT_framebuffer_object) { | 2211 DCHECK(fn.glGenVertexArraysOESFn); |
1286 fn.glGetFramebufferAttachmentParameterivEXTFn = | 2212 |
1287 reinterpret_cast<glGetFramebufferAttachmentParameterivEXTProc>( | 2213 fn.glGetActiveUniformBlockivFn = 0; |
1288 GetGLProcAddress("glGetFramebufferAttachmentParameterivEXT")); | 2214 debug_fn.glGetActiveUniformBlockivFn = 0; |
1289 } | 2215 if (((ver->is_es && (ver->major_version >= 3u)) || |
1290 if (!fn.glGetFramebufferAttachmentParameterivEXTFn) { | 2216 (!ver->is_es && |
1291 fn.glGetFramebufferAttachmentParameterivEXTFn = | 2217 (ver->major_version > 3u || |
1292 reinterpret_cast<glGetFramebufferAttachmentParameterivEXTProc>( | 2218 (ver->major_version == 3u && ver->minor_version >= 1u))))) { |
1293 GetGLProcAddress("glGetFramebufferAttachmentParameteriv")); | 2219 fn.glGetActiveUniformBlockivFn = |
1294 } | 2220 reinterpret_cast<glGetActiveUniformBlockivProc>( |
2221 GetGLProcAddress("glGetActiveUniformBlockiv")); | |
2222 } else { | |
2223 fn.glGetActiveUniformBlockivFn = | |
2224 reinterpret_cast<glGetActiveUniformBlockivProc>( | |
2225 glGetActiveUniformBlockivNotBound); | |
2226 } | |
2227 DCHECK(fn.glGetActiveUniformBlockivFn); | |
2228 | |
2229 fn.glGetActiveUniformBlockNameFn = 0; | |
2230 debug_fn.glGetActiveUniformBlockNameFn = 0; | |
2231 if (((ver->is_es && (ver->major_version >= 3u)) || | |
2232 (!ver->is_es && | |
2233 (ver->major_version > 3u || | |
2234 (ver->major_version == 3u && ver->minor_version >= 1u))))) { | |
2235 fn.glGetActiveUniformBlockNameFn = | |
2236 reinterpret_cast<glGetActiveUniformBlockNameProc>( | |
2237 GetGLProcAddress("glGetActiveUniformBlockName")); | |
2238 } else { | |
2239 fn.glGetActiveUniformBlockNameFn = | |
2240 reinterpret_cast<glGetActiveUniformBlockNameProc>( | |
2241 glGetActiveUniformBlockNameNotBound); | |
2242 } | |
2243 DCHECK(fn.glGetActiveUniformBlockNameFn); | |
2244 | |
2245 fn.glGetActiveUniformsivFn = 0; | |
2246 debug_fn.glGetActiveUniformsivFn = 0; | |
2247 if (((ver->is_es && (ver->major_version >= 3u)) || | |
2248 (!ver->is_es && | |
2249 (ver->major_version > 3u || | |
2250 (ver->major_version == 3u && ver->minor_version >= 1u))))) { | |
2251 fn.glGetActiveUniformsivFn = reinterpret_cast<glGetActiveUniformsivProc>( | |
2252 GetGLProcAddress("glGetActiveUniformsiv")); | |
2253 } else { | |
2254 fn.glGetActiveUniformsivFn = reinterpret_cast<glGetActiveUniformsivProc>( | |
2255 glGetActiveUniformsivNotBound); | |
2256 } | |
2257 DCHECK(fn.glGetActiveUniformsivFn); | |
2258 | |
2259 fn.glGetFenceivNVFn = 0; | |
2260 debug_fn.glGetFenceivNVFn = 0; | |
2261 if (ext.b_GL_NV_fence) { | |
2262 fn.glGetFenceivNVFn = reinterpret_cast<glGetFenceivNVProc>( | |
2263 GetGLProcAddress("glGetFenceivNV")); | |
2264 } else { | |
2265 fn.glGetFenceivNVFn = | |
2266 reinterpret_cast<glGetFenceivNVProc>(glGetFenceivNVNotBound); | |
2267 } | |
2268 DCHECK(fn.glGetFenceivNVFn); | |
2269 | |
2270 fn.glGetFragDataLocationFn = 0; | |
2271 debug_fn.glGetFragDataLocationFn = 0; | |
2272 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
2273 (ver->is_es && (ver->major_version >= 3u)))) { | |
2274 fn.glGetFragDataLocationFn = reinterpret_cast<glGetFragDataLocationProc>( | |
2275 GetGLProcAddress("glGetFragDataLocation")); | |
2276 } else { | |
2277 fn.glGetFragDataLocationFn = reinterpret_cast<glGetFragDataLocationProc>( | |
2278 glGetFragDataLocationNotBound); | |
2279 } | |
2280 DCHECK(fn.glGetFragDataLocationFn); | |
1295 | 2281 |
1296 fn.glGetGraphicsResetStatusARBFn = 0; | 2282 fn.glGetGraphicsResetStatusARBFn = 0; |
1297 debug_fn.glGetGraphicsResetStatusARBFn = 0; | 2283 debug_fn.glGetGraphicsResetStatusARBFn = 0; |
1298 if (ext.b_GL_ARB_robustness) { | 2284 if (((!ver->is_es && |
2285 (ver->major_version > 4u || | |
2286 (ver->major_version == 4u && ver->minor_version >= 5u))))) { | |
2287 fn.glGetGraphicsResetStatusARBFn = | |
2288 reinterpret_cast<glGetGraphicsResetStatusARBProc>( | |
2289 GetGLProcAddress("glGetGraphicsResetStatus")); | |
2290 } else if (ext.b_GL_ARB_robustness) { | |
1299 fn.glGetGraphicsResetStatusARBFn = | 2291 fn.glGetGraphicsResetStatusARBFn = |
1300 reinterpret_cast<glGetGraphicsResetStatusARBProc>( | 2292 reinterpret_cast<glGetGraphicsResetStatusARBProc>( |
1301 GetGLProcAddress("glGetGraphicsResetStatusARB")); | 2293 GetGLProcAddress("glGetGraphicsResetStatusARB")); |
1302 } | 2294 } else if (ext.b_GL_KHR_robustness) { |
1303 if (!fn.glGetGraphicsResetStatusARBFn && (ext.b_GL_KHR_robustness)) { | |
1304 fn.glGetGraphicsResetStatusARBFn = | 2295 fn.glGetGraphicsResetStatusARBFn = |
1305 reinterpret_cast<glGetGraphicsResetStatusARBProc>( | 2296 reinterpret_cast<glGetGraphicsResetStatusARBProc>( |
1306 GetGLProcAddress("glGetGraphicsResetStatusKHR")); | 2297 GetGLProcAddress("glGetGraphicsResetStatusKHR")); |
1307 } | 2298 } else if (ext.b_GL_EXT_robustness) { |
1308 if (!fn.glGetGraphicsResetStatusARBFn && (ext.b_GL_EXT_robustness)) { | |
1309 fn.glGetGraphicsResetStatusARBFn = | 2299 fn.glGetGraphicsResetStatusARBFn = |
1310 reinterpret_cast<glGetGraphicsResetStatusARBProc>( | 2300 reinterpret_cast<glGetGraphicsResetStatusARBProc>( |
1311 GetGLProcAddress("glGetGraphicsResetStatusEXT")); | 2301 GetGLProcAddress("glGetGraphicsResetStatusEXT")); |
1312 } | 2302 } else { |
1313 if (!fn.glGetGraphicsResetStatusARBFn) { | |
1314 fn.glGetGraphicsResetStatusARBFn = | 2303 fn.glGetGraphicsResetStatusARBFn = |
1315 reinterpret_cast<glGetGraphicsResetStatusARBProc>( | 2304 reinterpret_cast<glGetGraphicsResetStatusARBProc>( |
1316 GetGLProcAddress("glGetGraphicsResetStatus")); | 2305 glGetGraphicsResetStatusARBNotBound); |
1317 } | 2306 } |
2307 DCHECK(fn.glGetGraphicsResetStatusARBFn); | |
2308 | |
2309 fn.glGetInteger64i_vFn = 0; | |
2310 debug_fn.glGetInteger64i_vFn = 0; | |
2311 if (((!ver->is_es && | |
2312 (ver->major_version > 3u || | |
2313 (ver->major_version == 3u && ver->minor_version >= 2u))) || | |
2314 (ver->is_es && (ver->major_version >= 3u)))) { | |
2315 fn.glGetInteger64i_vFn = reinterpret_cast<glGetInteger64i_vProc>( | |
2316 GetGLProcAddress("glGetInteger64i_v")); | |
2317 } else { | |
2318 fn.glGetInteger64i_vFn = | |
2319 reinterpret_cast<glGetInteger64i_vProc>(glGetInteger64i_vNotBound); | |
2320 } | |
2321 DCHECK(fn.glGetInteger64i_vFn); | |
2322 | |
2323 fn.glGetInteger64vFn = 0; | |
2324 debug_fn.glGetInteger64vFn = 0; | |
2325 if (((!ver->is_es && | |
2326 (ver->major_version > 3u || | |
2327 (ver->major_version == 3u && ver->minor_version >= 2u))) || | |
2328 (ver->is_es && (ver->major_version >= 3u)))) { | |
2329 fn.glGetInteger64vFn = reinterpret_cast<glGetInteger64vProc>( | |
2330 GetGLProcAddress("glGetInteger64v")); | |
2331 } else { | |
2332 fn.glGetInteger64vFn = | |
2333 reinterpret_cast<glGetInteger64vProc>(glGetInteger64vNotBound); | |
2334 } | |
2335 DCHECK(fn.glGetInteger64vFn); | |
2336 | |
2337 fn.glGetIntegeri_vFn = 0; | |
2338 debug_fn.glGetIntegeri_vFn = 0; | |
2339 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
2340 (ver->is_es && (ver->major_version >= 3u)))) { | |
2341 fn.glGetIntegeri_vFn = reinterpret_cast<glGetIntegeri_vProc>( | |
2342 GetGLProcAddress("glGetIntegeri_v")); | |
2343 } else { | |
2344 fn.glGetIntegeri_vFn = | |
2345 reinterpret_cast<glGetIntegeri_vProc>(glGetIntegeri_vNotBound); | |
2346 } | |
2347 DCHECK(fn.glGetIntegeri_vFn); | |
2348 | |
2349 fn.glGetInternalformativFn = 0; | |
2350 debug_fn.glGetInternalformativFn = 0; | |
2351 if (((!ver->is_es && | |
2352 (ver->major_version > 4u || | |
2353 (ver->major_version == 4u && ver->minor_version >= 2u))) || | |
2354 (ver->is_es && (ver->major_version >= 3u)))) { | |
2355 fn.glGetInternalformativFn = reinterpret_cast<glGetInternalformativProc>( | |
2356 GetGLProcAddress("glGetInternalformativ")); | |
2357 } else { | |
2358 fn.glGetInternalformativFn = reinterpret_cast<glGetInternalformativProc>( | |
2359 glGetInternalformativNotBound); | |
2360 } | |
2361 DCHECK(fn.glGetInternalformativFn); | |
1318 | 2362 |
1319 fn.glGetProgramBinaryFn = 0; | 2363 fn.glGetProgramBinaryFn = 0; |
1320 debug_fn.glGetProgramBinaryFn = 0; | 2364 debug_fn.glGetProgramBinaryFn = 0; |
1321 if (ext.b_GL_OES_get_program_binary) { | 2365 if (((!ver->is_es && |
2366 (ver->major_version > 4u || | |
2367 (ver->major_version == 4u && ver->minor_version >= 1u))) || | |
2368 (ver->is_es && (ver->major_version >= 3u))) || | |
2369 ext.b_GL_ARB_get_program_binary) { | |
2370 fn.glGetProgramBinaryFn = reinterpret_cast<glGetProgramBinaryProc>( | |
2371 GetGLProcAddress("glGetProgramBinary")); | |
2372 } else if (ext.b_GL_OES_get_program_binary) { | |
1322 fn.glGetProgramBinaryFn = reinterpret_cast<glGetProgramBinaryProc>( | 2373 fn.glGetProgramBinaryFn = reinterpret_cast<glGetProgramBinaryProc>( |
1323 GetGLProcAddress("glGetProgramBinaryOES")); | 2374 GetGLProcAddress("glGetProgramBinaryOES")); |
1324 } | 2375 } else { |
1325 if (!fn.glGetProgramBinaryFn) { | 2376 fn.glGetProgramBinaryFn = |
1326 fn.glGetProgramBinaryFn = reinterpret_cast<glGetProgramBinaryProc>( | 2377 reinterpret_cast<glGetProgramBinaryProc>(glGetProgramBinaryNotBound); |
1327 GetGLProcAddress("glGetProgramBinary")); | 2378 } |
1328 } | 2379 DCHECK(fn.glGetProgramBinaryFn); |
2380 | |
2381 fn.glGetQueryivFn = 0; | |
2382 debug_fn.glGetQueryivFn = 0; | |
2383 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
2384 fn.glGetQueryivFn = | |
2385 reinterpret_cast<glGetQueryivProc>(GetGLProcAddress("glGetQueryiv")); | |
2386 } else { | |
2387 fn.glGetQueryivFn = | |
2388 reinterpret_cast<glGetQueryivProc>(glGetQueryivNotBound); | |
2389 } | |
2390 DCHECK(fn.glGetQueryivFn); | |
1329 | 2391 |
1330 fn.glGetQueryivARBFn = 0; | 2392 fn.glGetQueryivARBFn = 0; |
1331 debug_fn.glGetQueryivARBFn = 0; | 2393 debug_fn.glGetQueryivARBFn = 0; |
1332 if (ext.b_GL_ARB_occlusion_query) { | 2394 if (ext.b_GL_ARB_occlusion_query) { |
1333 fn.glGetQueryivARBFn = reinterpret_cast<glGetQueryivARBProc>( | 2395 fn.glGetQueryivARBFn = reinterpret_cast<glGetQueryivARBProc>( |
1334 GetGLProcAddress("glGetQueryivARB")); | 2396 GetGLProcAddress("glGetQueryivARB")); |
1335 } | 2397 } else if ((ext.b_GL_EXT_disjoint_timer_query || |
1336 if (!fn.glGetQueryivARBFn) { | 2398 ext.b_GL_EXT_occlusion_query_boolean)) { |
1337 fn.glGetQueryivARBFn = reinterpret_cast<glGetQueryivARBProc>( | 2399 fn.glGetQueryivARBFn = reinterpret_cast<glGetQueryivARBProc>( |
1338 GetGLProcAddress("glGetQueryivEXT")); | 2400 GetGLProcAddress("glGetQueryivEXT")); |
1339 } | 2401 } else { |
2402 fn.glGetQueryivARBFn = | |
2403 reinterpret_cast<glGetQueryivARBProc>(glGetQueryivARBNotBound); | |
2404 } | |
2405 DCHECK(fn.glGetQueryivARBFn); | |
2406 | |
2407 fn.glGetQueryObjecti64vFn = 0; | |
2408 debug_fn.glGetQueryObjecti64vFn = 0; | |
2409 if (((!ver->is_es && | |
2410 (ver->major_version > 3u || | |
2411 (ver->major_version == 3u && ver->minor_version >= 3u)))) || | |
2412 ext.b_GL_ARB_timer_query) { | |
2413 fn.glGetQueryObjecti64vFn = reinterpret_cast<glGetQueryObjecti64vProc>( | |
2414 GetGLProcAddress("glGetQueryObjecti64v")); | |
2415 } else if ((ext.b_GL_EXT_timer_query || ext.b_GL_EXT_disjoint_timer_query)) { | |
2416 fn.glGetQueryObjecti64vFn = reinterpret_cast<glGetQueryObjecti64vProc>( | |
2417 GetGLProcAddress("glGetQueryObjecti64vEXT")); | |
2418 } else { | |
2419 fn.glGetQueryObjecti64vFn = reinterpret_cast<glGetQueryObjecti64vProc>( | |
2420 glGetQueryObjecti64vNotBound); | |
2421 } | |
2422 DCHECK(fn.glGetQueryObjecti64vFn); | |
2423 | |
2424 fn.glGetQueryObjectivFn = 0; | |
2425 debug_fn.glGetQueryObjectivFn = 0; | |
2426 if (!ver->is_es) { | |
2427 fn.glGetQueryObjectivFn = reinterpret_cast<glGetQueryObjectivProc>( | |
2428 GetGLProcAddress("glGetQueryObjectiv")); | |
2429 } else { | |
2430 fn.glGetQueryObjectivFn = | |
2431 reinterpret_cast<glGetQueryObjectivProc>(glGetQueryObjectivNotBound); | |
2432 } | |
2433 DCHECK(fn.glGetQueryObjectivFn); | |
1340 | 2434 |
1341 fn.glGetQueryObjectivARBFn = 0; | 2435 fn.glGetQueryObjectivARBFn = 0; |
1342 debug_fn.glGetQueryObjectivARBFn = 0; | 2436 debug_fn.glGetQueryObjectivARBFn = 0; |
1343 if (ext.b_GL_ARB_occlusion_query) { | 2437 if (ext.b_GL_ARB_occlusion_query) { |
1344 fn.glGetQueryObjectivARBFn = reinterpret_cast<glGetQueryObjectivARBProc>( | 2438 fn.glGetQueryObjectivARBFn = reinterpret_cast<glGetQueryObjectivARBProc>( |
1345 GetGLProcAddress("glGetQueryObjectivARB")); | 2439 GetGLProcAddress("glGetQueryObjectivARB")); |
1346 } | 2440 } else if (ext.b_GL_EXT_disjoint_timer_query) { |
1347 if (!fn.glGetQueryObjectivARBFn) { | |
1348 fn.glGetQueryObjectivARBFn = reinterpret_cast<glGetQueryObjectivARBProc>( | 2441 fn.glGetQueryObjectivARBFn = reinterpret_cast<glGetQueryObjectivARBProc>( |
1349 GetGLProcAddress("glGetQueryObjectivEXT")); | 2442 GetGLProcAddress("glGetQueryObjectivEXT")); |
1350 } | 2443 } else { |
2444 fn.glGetQueryObjectivARBFn = reinterpret_cast<glGetQueryObjectivARBProc>( | |
2445 glGetQueryObjectivARBNotBound); | |
2446 } | |
2447 DCHECK(fn.glGetQueryObjectivARBFn); | |
1351 | 2448 |
1352 fn.glGetQueryObjectui64vFn = 0; | 2449 fn.glGetQueryObjectui64vFn = 0; |
1353 debug_fn.glGetQueryObjectui64vFn = 0; | 2450 debug_fn.glGetQueryObjectui64vFn = 0; |
1354 if (ext.b_GL_ARB_timer_query) { | 2451 if (((!ver->is_es && |
2452 (ver->major_version > 3u || | |
2453 (ver->major_version == 3u && ver->minor_version >= 3u)))) || | |
2454 ext.b_GL_ARB_timer_query) { | |
1355 fn.glGetQueryObjectui64vFn = reinterpret_cast<glGetQueryObjectui64vProc>( | 2455 fn.glGetQueryObjectui64vFn = reinterpret_cast<glGetQueryObjectui64vProc>( |
1356 GetGLProcAddress("glGetQueryObjectui64v")); | 2456 GetGLProcAddress("glGetQueryObjectui64v")); |
1357 } | 2457 } else if ((ext.b_GL_EXT_timer_query || ext.b_GL_EXT_disjoint_timer_query)) { |
1358 if (!fn.glGetQueryObjectui64vFn) { | |
1359 fn.glGetQueryObjectui64vFn = reinterpret_cast<glGetQueryObjectui64vProc>( | 2458 fn.glGetQueryObjectui64vFn = reinterpret_cast<glGetQueryObjectui64vProc>( |
1360 GetGLProcAddress("glGetQueryObjectui64vEXT")); | 2459 GetGLProcAddress("glGetQueryObjectui64vEXT")); |
1361 } | 2460 } else { |
2461 fn.glGetQueryObjectui64vFn = reinterpret_cast<glGetQueryObjectui64vProc>( | |
2462 glGetQueryObjectui64vNotBound); | |
2463 } | |
2464 DCHECK(fn.glGetQueryObjectui64vFn); | |
2465 | |
2466 fn.glGetQueryObjectuivFn = 0; | |
2467 debug_fn.glGetQueryObjectuivFn = 0; | |
2468 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
2469 fn.glGetQueryObjectuivFn = reinterpret_cast<glGetQueryObjectuivProc>( | |
2470 GetGLProcAddress("glGetQueryObjectuiv")); | |
2471 } else { | |
2472 fn.glGetQueryObjectuivFn = | |
2473 reinterpret_cast<glGetQueryObjectuivProc>(glGetQueryObjectuivNotBound); | |
2474 } | |
2475 DCHECK(fn.glGetQueryObjectuivFn); | |
1362 | 2476 |
1363 fn.glGetQueryObjectuivARBFn = 0; | 2477 fn.glGetQueryObjectuivARBFn = 0; |
1364 debug_fn.glGetQueryObjectuivARBFn = 0; | 2478 debug_fn.glGetQueryObjectuivARBFn = 0; |
1365 if (ext.b_GL_ARB_occlusion_query) { | 2479 if (ext.b_GL_ARB_occlusion_query) { |
1366 fn.glGetQueryObjectuivARBFn = reinterpret_cast<glGetQueryObjectuivARBProc>( | 2480 fn.glGetQueryObjectuivARBFn = reinterpret_cast<glGetQueryObjectuivARBProc>( |
1367 GetGLProcAddress("glGetQueryObjectuivARB")); | 2481 GetGLProcAddress("glGetQueryObjectuivARB")); |
1368 } | 2482 } else if ((ext.b_GL_EXT_disjoint_timer_query || |
1369 if (!fn.glGetQueryObjectuivARBFn) { | 2483 ext.b_GL_EXT_occlusion_query_boolean)) { |
1370 fn.glGetQueryObjectuivARBFn = reinterpret_cast<glGetQueryObjectuivARBProc>( | 2484 fn.glGetQueryObjectuivARBFn = reinterpret_cast<glGetQueryObjectuivARBProc>( |
1371 GetGLProcAddress("glGetQueryObjectuivEXT")); | 2485 GetGLProcAddress("glGetQueryObjectuivEXT")); |
1372 } | 2486 } else { |
1373 | 2487 fn.glGetQueryObjectuivARBFn = reinterpret_cast<glGetQueryObjectuivARBProc>( |
1374 fn.glGetRenderbufferParameterivEXTFn = 0; | 2488 glGetQueryObjectuivARBNotBound); |
1375 debug_fn.glGetRenderbufferParameterivEXTFn = 0; | 2489 } |
1376 if (ext.b_GL_EXT_framebuffer_object) { | 2490 DCHECK(fn.glGetQueryObjectuivARBFn); |
1377 fn.glGetRenderbufferParameterivEXTFn = | 2491 |
1378 reinterpret_cast<glGetRenderbufferParameterivEXTProc>( | 2492 fn.glGetSamplerParameterfvFn = 0; |
1379 GetGLProcAddress("glGetRenderbufferParameterivEXT")); | 2493 debug_fn.glGetSamplerParameterfvFn = 0; |
1380 } | 2494 if (((!ver->is_es && |
1381 if (!fn.glGetRenderbufferParameterivEXTFn) { | 2495 (ver->major_version > 3u || |
1382 fn.glGetRenderbufferParameterivEXTFn = | 2496 (ver->major_version == 3u && ver->minor_version >= 3u))) || |
1383 reinterpret_cast<glGetRenderbufferParameterivEXTProc>( | 2497 (ver->is_es && (ver->major_version >= 3u)))) { |
1384 GetGLProcAddress("glGetRenderbufferParameteriv")); | 2498 fn.glGetSamplerParameterfvFn = |
1385 } | 2499 reinterpret_cast<glGetSamplerParameterfvProc>( |
1386 | 2500 GetGLProcAddress("glGetSamplerParameterfv")); |
1387 fn.glIsFramebufferEXTFn = 0; | 2501 } else { |
1388 debug_fn.glIsFramebufferEXTFn = 0; | 2502 fn.glGetSamplerParameterfvFn = |
1389 if (ext.b_GL_EXT_framebuffer_object) { | 2503 reinterpret_cast<glGetSamplerParameterfvProc>( |
1390 fn.glIsFramebufferEXTFn = reinterpret_cast<glIsFramebufferEXTProc>( | 2504 glGetSamplerParameterfvNotBound); |
1391 GetGLProcAddress("glIsFramebufferEXT")); | 2505 } |
1392 } | 2506 DCHECK(fn.glGetSamplerParameterfvFn); |
1393 if (!fn.glIsFramebufferEXTFn) { | 2507 |
1394 fn.glIsFramebufferEXTFn = reinterpret_cast<glIsFramebufferEXTProc>( | 2508 fn.glGetSamplerParameterivFn = 0; |
1395 GetGLProcAddress("glIsFramebuffer")); | 2509 debug_fn.glGetSamplerParameterivFn = 0; |
1396 } | 2510 if (((!ver->is_es && |
2511 (ver->major_version > 3u || | |
2512 (ver->major_version == 3u && ver->minor_version >= 3u))) || | |
2513 (ver->is_es && (ver->major_version >= 3u)))) { | |
2514 fn.glGetSamplerParameterivFn = | |
2515 reinterpret_cast<glGetSamplerParameterivProc>( | |
2516 GetGLProcAddress("glGetSamplerParameteriv")); | |
2517 } else { | |
2518 fn.glGetSamplerParameterivFn = | |
2519 reinterpret_cast<glGetSamplerParameterivProc>( | |
2520 glGetSamplerParameterivNotBound); | |
2521 } | |
2522 DCHECK(fn.glGetSamplerParameterivFn); | |
2523 | |
2524 fn.glGetShaderPrecisionFormatFn = 0; | |
2525 debug_fn.glGetShaderPrecisionFormatFn = 0; | |
2526 if (((!ver->is_es && | |
2527 (ver->major_version > 4u || | |
2528 (ver->major_version == 4u && ver->minor_version >= 1u))) || | |
2529 ver->is_es)) { | |
2530 fn.glGetShaderPrecisionFormatFn = | |
2531 reinterpret_cast<glGetShaderPrecisionFormatProc>( | |
2532 GetGLProcAddress("glGetShaderPrecisionFormat")); | |
2533 } else { | |
2534 fn.glGetShaderPrecisionFormatFn = | |
2535 reinterpret_cast<glGetShaderPrecisionFormatProc>( | |
2536 glGetShaderPrecisionFormatNotBound); | |
2537 } | |
2538 DCHECK(fn.glGetShaderPrecisionFormatFn); | |
2539 | |
2540 fn.glGetSyncivFn = 0; | |
2541 debug_fn.glGetSyncivFn = 0; | |
2542 if (((!ver->is_es && | |
2543 (ver->major_version > 3u || | |
2544 (ver->major_version == 3u && ver->minor_version >= 2u))) || | |
2545 (ver->is_es && (ver->major_version >= 3u))) || | |
2546 ext.b_GL_ARB_sync) { | |
2547 fn.glGetSyncivFn = | |
2548 reinterpret_cast<glGetSyncivProc>(GetGLProcAddress("glGetSynciv")); | |
2549 } else { | |
2550 fn.glGetSyncivFn = reinterpret_cast<glGetSyncivProc>(glGetSyncivNotBound); | |
2551 } | |
2552 DCHECK(fn.glGetSyncivFn); | |
2553 | |
2554 fn.glGetTexLevelParameterfvFn = 0; | |
2555 debug_fn.glGetTexLevelParameterfvFn = 0; | |
2556 if ((!ver->is_es || (ver->is_es && (ver->major_version > 3u || | |
2557 (ver->major_version == 3u && | |
2558 ver->minor_version >= 1u))))) { | |
2559 fn.glGetTexLevelParameterfvFn = | |
2560 reinterpret_cast<glGetTexLevelParameterfvProc>( | |
2561 GetGLProcAddress("glGetTexLevelParameterfv")); | |
2562 } else { | |
2563 fn.glGetTexLevelParameterfvFn = | |
2564 reinterpret_cast<glGetTexLevelParameterfvProc>( | |
2565 glGetTexLevelParameterfvNotBound); | |
2566 } | |
2567 DCHECK(fn.glGetTexLevelParameterfvFn); | |
2568 | |
2569 fn.glGetTexLevelParameterivFn = 0; | |
2570 debug_fn.glGetTexLevelParameterivFn = 0; | |
2571 if ((!ver->is_es || (ver->is_es && (ver->major_version > 3u || | |
2572 (ver->major_version == 3u && | |
2573 ver->minor_version >= 1u))))) { | |
2574 fn.glGetTexLevelParameterivFn = | |
2575 reinterpret_cast<glGetTexLevelParameterivProc>( | |
2576 GetGLProcAddress("glGetTexLevelParameteriv")); | |
2577 } else { | |
2578 fn.glGetTexLevelParameterivFn = | |
2579 reinterpret_cast<glGetTexLevelParameterivProc>( | |
2580 glGetTexLevelParameterivNotBound); | |
2581 } | |
2582 DCHECK(fn.glGetTexLevelParameterivFn); | |
2583 | |
2584 fn.glGetTransformFeedbackVaryingFn = 0; | |
2585 debug_fn.glGetTransformFeedbackVaryingFn = 0; | |
2586 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
2587 (ver->is_es && (ver->major_version >= 3u)))) { | |
2588 fn.glGetTransformFeedbackVaryingFn = | |
2589 reinterpret_cast<glGetTransformFeedbackVaryingProc>( | |
2590 GetGLProcAddress("glGetTransformFeedbackVarying")); | |
2591 } else { | |
2592 fn.glGetTransformFeedbackVaryingFn = | |
2593 reinterpret_cast<glGetTransformFeedbackVaryingProc>( | |
2594 glGetTransformFeedbackVaryingNotBound); | |
2595 } | |
2596 DCHECK(fn.glGetTransformFeedbackVaryingFn); | |
2597 | |
2598 fn.glGetTranslatedShaderSourceANGLEFn = 0; | |
2599 debug_fn.glGetTranslatedShaderSourceANGLEFn = 0; | |
2600 if (ext.b_GL_ANGLE_translated_shader_source) { | |
2601 fn.glGetTranslatedShaderSourceANGLEFn = | |
2602 reinterpret_cast<glGetTranslatedShaderSourceANGLEProc>( | |
2603 GetGLProcAddress("glGetTranslatedShaderSourceANGLE")); | |
2604 } else { | |
2605 fn.glGetTranslatedShaderSourceANGLEFn = | |
2606 reinterpret_cast<glGetTranslatedShaderSourceANGLEProc>( | |
2607 glGetTranslatedShaderSourceANGLENotBound); | |
2608 } | |
2609 DCHECK(fn.glGetTranslatedShaderSourceANGLEFn); | |
2610 | |
2611 fn.glGetUniformBlockIndexFn = 0; | |
2612 debug_fn.glGetUniformBlockIndexFn = 0; | |
2613 if (((ver->is_es && (ver->major_version >= 3u)) || | |
2614 (!ver->is_es && | |
2615 (ver->major_version > 3u || | |
2616 (ver->major_version == 3u && ver->minor_version >= 1u))))) { | |
2617 fn.glGetUniformBlockIndexFn = reinterpret_cast<glGetUniformBlockIndexProc>( | |
2618 GetGLProcAddress("glGetUniformBlockIndex")); | |
2619 } else { | |
2620 fn.glGetUniformBlockIndexFn = reinterpret_cast<glGetUniformBlockIndexProc>( | |
2621 glGetUniformBlockIndexNotBound); | |
2622 } | |
2623 DCHECK(fn.glGetUniformBlockIndexFn); | |
2624 | |
2625 fn.glGetUniformIndicesFn = 0; | |
2626 debug_fn.glGetUniformIndicesFn = 0; | |
2627 if (((ver->is_es && (ver->major_version >= 3u)) || | |
2628 (!ver->is_es && | |
2629 (ver->major_version > 3u || | |
2630 (ver->major_version == 3u && ver->minor_version >= 1u))))) { | |
2631 fn.glGetUniformIndicesFn = reinterpret_cast<glGetUniformIndicesProc>( | |
2632 GetGLProcAddress("glGetUniformIndices")); | |
2633 } else { | |
2634 fn.glGetUniformIndicesFn = | |
2635 reinterpret_cast<glGetUniformIndicesProc>(glGetUniformIndicesNotBound); | |
2636 } | |
2637 DCHECK(fn.glGetUniformIndicesFn); | |
2638 | |
2639 fn.glInsertEventMarkerEXTFn = 0; | |
2640 debug_fn.glInsertEventMarkerEXTFn = 0; | |
2641 if (ext.b_GL_EXT_debug_marker) { | |
2642 fn.glInsertEventMarkerEXTFn = reinterpret_cast<glInsertEventMarkerEXTProc>( | |
2643 GetGLProcAddress("glInsertEventMarkerEXT")); | |
2644 } else { | |
2645 fn.glInsertEventMarkerEXTFn = reinterpret_cast<glInsertEventMarkerEXTProc>( | |
2646 glInsertEventMarkerEXTNotBound); | |
2647 } | |
2648 DCHECK(fn.glInsertEventMarkerEXTFn); | |
2649 | |
2650 fn.glInvalidateFramebufferFn = 0; | |
2651 debug_fn.glInvalidateFramebufferFn = 0; | |
2652 if (((!ver->is_es && | |
2653 (ver->major_version > 4u || | |
2654 (ver->major_version == 4u && ver->minor_version >= 3u))) || | |
2655 (ver->is_es && (ver->major_version >= 3u)))) { | |
2656 fn.glInvalidateFramebufferFn = | |
2657 reinterpret_cast<glInvalidateFramebufferProc>( | |
2658 GetGLProcAddress("glInvalidateFramebuffer")); | |
2659 } else { | |
2660 fn.glInvalidateFramebufferFn = | |
2661 reinterpret_cast<glInvalidateFramebufferProc>( | |
2662 glInvalidateFramebufferNotBound); | |
2663 } | |
2664 DCHECK(fn.glInvalidateFramebufferFn); | |
2665 | |
2666 fn.glInvalidateSubFramebufferFn = 0; | |
2667 debug_fn.glInvalidateSubFramebufferFn = 0; | |
2668 if (((!ver->is_es && | |
2669 (ver->major_version > 4u || | |
2670 (ver->major_version == 4u && ver->minor_version >= 3u))) || | |
2671 (ver->is_es && (ver->major_version >= 3u)))) { | |
2672 fn.glInvalidateSubFramebufferFn = | |
2673 reinterpret_cast<glInvalidateSubFramebufferProc>( | |
2674 GetGLProcAddress("glInvalidateSubFramebuffer")); | |
2675 } else { | |
2676 fn.glInvalidateSubFramebufferFn = | |
2677 reinterpret_cast<glInvalidateSubFramebufferProc>( | |
2678 glInvalidateSubFramebufferNotBound); | |
2679 } | |
2680 DCHECK(fn.glInvalidateSubFramebufferFn); | |
2681 | |
2682 fn.glIsFenceAPPLEFn = 0; | |
2683 debug_fn.glIsFenceAPPLEFn = 0; | |
2684 if (ext.b_GL_APPLE_fence) { | |
2685 fn.glIsFenceAPPLEFn = reinterpret_cast<glIsFenceAPPLEProc>( | |
2686 GetGLProcAddress("glIsFenceAPPLE")); | |
2687 } else { | |
2688 fn.glIsFenceAPPLEFn = | |
2689 reinterpret_cast<glIsFenceAPPLEProc>(glIsFenceAPPLENotBound); | |
2690 } | |
2691 DCHECK(fn.glIsFenceAPPLEFn); | |
2692 | |
2693 fn.glIsFenceNVFn = 0; | |
2694 debug_fn.glIsFenceNVFn = 0; | |
2695 if (ext.b_GL_NV_fence) { | |
2696 fn.glIsFenceNVFn = | |
2697 reinterpret_cast<glIsFenceNVProc>(GetGLProcAddress("glIsFenceNV")); | |
2698 } else { | |
2699 fn.glIsFenceNVFn = reinterpret_cast<glIsFenceNVProc>(glIsFenceNVNotBound); | |
2700 } | |
2701 DCHECK(fn.glIsFenceNVFn); | |
2702 | |
2703 fn.glIsQueryFn = 0; | |
2704 debug_fn.glIsQueryFn = 0; | |
2705 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
2706 fn.glIsQueryFn = | |
2707 reinterpret_cast<glIsQueryProc>(GetGLProcAddress("glIsQuery")); | |
2708 } else { | |
2709 fn.glIsQueryFn = reinterpret_cast<glIsQueryProc>(glIsQueryNotBound); | |
2710 } | |
2711 DCHECK(fn.glIsQueryFn); | |
1397 | 2712 |
1398 fn.glIsQueryARBFn = 0; | 2713 fn.glIsQueryARBFn = 0; |
1399 debug_fn.glIsQueryARBFn = 0; | 2714 debug_fn.glIsQueryARBFn = 0; |
1400 if (ext.b_GL_ARB_occlusion_query) { | 2715 if (ext.b_GL_ARB_occlusion_query) { |
1401 fn.glIsQueryARBFn = | 2716 fn.glIsQueryARBFn = |
1402 reinterpret_cast<glIsQueryARBProc>(GetGLProcAddress("glIsQueryARB")); | 2717 reinterpret_cast<glIsQueryARBProc>(GetGLProcAddress("glIsQueryARB")); |
1403 } | 2718 } else if ((ext.b_GL_EXT_disjoint_timer_query || |
1404 if (!fn.glIsQueryARBFn) { | 2719 ext.b_GL_EXT_occlusion_query_boolean)) { |
1405 fn.glIsQueryARBFn = | 2720 fn.glIsQueryARBFn = |
1406 reinterpret_cast<glIsQueryARBProc>(GetGLProcAddress("glIsQueryEXT")); | 2721 reinterpret_cast<glIsQueryARBProc>(GetGLProcAddress("glIsQueryEXT")); |
1407 } | 2722 } else { |
1408 | 2723 fn.glIsQueryARBFn = |
1409 fn.glIsRenderbufferEXTFn = 0; | 2724 reinterpret_cast<glIsQueryARBProc>(glIsQueryARBNotBound); |
1410 debug_fn.glIsRenderbufferEXTFn = 0; | 2725 } |
1411 if (ext.b_GL_EXT_framebuffer_object) { | 2726 DCHECK(fn.glIsQueryARBFn); |
1412 fn.glIsRenderbufferEXTFn = reinterpret_cast<glIsRenderbufferEXTProc>( | 2727 |
1413 GetGLProcAddress("glIsRenderbufferEXT")); | 2728 fn.glIsSamplerFn = 0; |
1414 } | 2729 debug_fn.glIsSamplerFn = 0; |
1415 if (!fn.glIsRenderbufferEXTFn) { | 2730 if (((!ver->is_es && |
1416 fn.glIsRenderbufferEXTFn = reinterpret_cast<glIsRenderbufferEXTProc>( | 2731 (ver->major_version > 3u || |
1417 GetGLProcAddress("glIsRenderbuffer")); | 2732 (ver->major_version == 3u && ver->minor_version >= 3u))) || |
1418 } | 2733 (ver->is_es && (ver->major_version >= 3u)))) { |
2734 fn.glIsSamplerFn = | |
2735 reinterpret_cast<glIsSamplerProc>(GetGLProcAddress("glIsSampler")); | |
2736 } else { | |
2737 fn.glIsSamplerFn = reinterpret_cast<glIsSamplerProc>(glIsSamplerNotBound); | |
2738 } | |
2739 DCHECK(fn.glIsSamplerFn); | |
2740 | |
2741 fn.glIsSyncFn = 0; | |
2742 debug_fn.glIsSyncFn = 0; | |
2743 if (((!ver->is_es && | |
2744 (ver->major_version > 3u || | |
2745 (ver->major_version == 3u && ver->minor_version >= 2u))) || | |
2746 (ver->is_es && (ver->major_version >= 3u))) || | |
2747 ext.b_GL_ARB_sync) { | |
2748 fn.glIsSyncFn = | |
2749 reinterpret_cast<glIsSyncProc>(GetGLProcAddress("glIsSync")); | |
2750 } else { | |
2751 fn.glIsSyncFn = reinterpret_cast<glIsSyncProc>(glIsSyncNotBound); | |
2752 } | |
2753 DCHECK(fn.glIsSyncFn); | |
2754 | |
2755 fn.glIsTransformFeedbackFn = 0; | |
2756 debug_fn.glIsTransformFeedbackFn = 0; | |
2757 if (((ver->is_es && (ver->major_version >= 3u)) || | |
2758 (!ver->is_es && (ver->major_version >= 4u)))) { | |
2759 fn.glIsTransformFeedbackFn = reinterpret_cast<glIsTransformFeedbackProc>( | |
2760 GetGLProcAddress("glIsTransformFeedback")); | |
2761 } else { | |
2762 fn.glIsTransformFeedbackFn = reinterpret_cast<glIsTransformFeedbackProc>( | |
2763 glIsTransformFeedbackNotBound); | |
2764 } | |
2765 DCHECK(fn.glIsTransformFeedbackFn); | |
1419 | 2766 |
1420 fn.glIsVertexArrayOESFn = 0; | 2767 fn.glIsVertexArrayOESFn = 0; |
1421 debug_fn.glIsVertexArrayOESFn = 0; | 2768 debug_fn.glIsVertexArrayOESFn = 0; |
1422 if ((ver->is_gl3 || ver->is_gl4 || ver->is_es3) || | 2769 if (((!ver->is_es && (ver->major_version >= 3u)) || |
2770 (ver->is_es && (ver->major_version >= 3u))) || | |
1423 ext.b_GL_ARB_vertex_array_object) { | 2771 ext.b_GL_ARB_vertex_array_object) { |
1424 fn.glIsVertexArrayOESFn = reinterpret_cast<glIsVertexArrayOESProc>( | 2772 fn.glIsVertexArrayOESFn = reinterpret_cast<glIsVertexArrayOESProc>( |
1425 GetGLProcAddress("glIsVertexArray")); | 2773 GetGLProcAddress("glIsVertexArray")); |
1426 } | 2774 } else if (ext.b_GL_OES_vertex_array_object) { |
1427 if (!fn.glIsVertexArrayOESFn && (ext.b_GL_OES_vertex_array_object)) { | |
1428 fn.glIsVertexArrayOESFn = reinterpret_cast<glIsVertexArrayOESProc>( | 2775 fn.glIsVertexArrayOESFn = reinterpret_cast<glIsVertexArrayOESProc>( |
1429 GetGLProcAddress("glIsVertexArrayOES")); | 2776 GetGLProcAddress("glIsVertexArrayOES")); |
1430 } | 2777 } else if (ext.b_GL_APPLE_vertex_array_object) { |
1431 if (!fn.glIsVertexArrayOESFn) { | |
1432 fn.glIsVertexArrayOESFn = reinterpret_cast<glIsVertexArrayOESProc>( | 2778 fn.glIsVertexArrayOESFn = reinterpret_cast<glIsVertexArrayOESProc>( |
1433 GetGLProcAddress("glIsVertexArrayAPPLE")); | 2779 GetGLProcAddress("glIsVertexArrayAPPLE")); |
1434 } | 2780 } else { |
2781 fn.glIsVertexArrayOESFn = | |
2782 reinterpret_cast<glIsVertexArrayOESProc>(glIsVertexArrayOESNotBound); | |
2783 } | |
2784 DCHECK(fn.glIsVertexArrayOESFn); | |
1435 | 2785 |
1436 fn.glMapBufferFn = 0; | 2786 fn.glMapBufferFn = 0; |
1437 debug_fn.glMapBufferFn = 0; | 2787 debug_fn.glMapBufferFn = 0; |
1438 if (ext.b_GL_OES_mapbuffer) { | 2788 if (!ver->is_es) { |
2789 fn.glMapBufferFn = | |
2790 reinterpret_cast<glMapBufferProc>(GetGLProcAddress("glMapBuffer")); | |
2791 } else if (ext.b_GL_OES_mapbuffer) { | |
1439 fn.glMapBufferFn = | 2792 fn.glMapBufferFn = |
1440 reinterpret_cast<glMapBufferProc>(GetGLProcAddress("glMapBufferOES")); | 2793 reinterpret_cast<glMapBufferProc>(GetGLProcAddress("glMapBufferOES")); |
1441 } | 2794 } else { |
1442 if (!fn.glMapBufferFn) { | 2795 fn.glMapBufferFn = reinterpret_cast<glMapBufferProc>(glMapBufferNotBound); |
1443 fn.glMapBufferFn = | 2796 } |
1444 reinterpret_cast<glMapBufferProc>(GetGLProcAddress("glMapBuffer")); | 2797 DCHECK(fn.glMapBufferFn); |
1445 } | |
1446 | 2798 |
1447 fn.glMapBufferRangeFn = 0; | 2799 fn.glMapBufferRangeFn = 0; |
1448 debug_fn.glMapBufferRangeFn = 0; | 2800 debug_fn.glMapBufferRangeFn = 0; |
1449 if ((ver->is_gl3 || ver->is_gl4 || ver->is_es3) || | 2801 if (((!ver->is_es && (ver->major_version >= 3u)) || |
2802 (ver->is_es && (ver->major_version >= 3u))) || | |
1450 ext.b_GL_ARB_map_buffer_range) { | 2803 ext.b_GL_ARB_map_buffer_range) { |
1451 fn.glMapBufferRangeFn = reinterpret_cast<glMapBufferRangeProc>( | 2804 fn.glMapBufferRangeFn = reinterpret_cast<glMapBufferRangeProc>( |
1452 GetGLProcAddress("glMapBufferRange")); | 2805 GetGLProcAddress("glMapBufferRange")); |
1453 } | 2806 } else if (ext.b_GL_EXT_map_buffer_range) { |
1454 if (!fn.glMapBufferRangeFn) { | |
1455 fn.glMapBufferRangeFn = reinterpret_cast<glMapBufferRangeProc>( | 2807 fn.glMapBufferRangeFn = reinterpret_cast<glMapBufferRangeProc>( |
1456 GetGLProcAddress("glMapBufferRangeEXT")); | 2808 GetGLProcAddress("glMapBufferRangeEXT")); |
1457 } | 2809 } else { |
2810 fn.glMapBufferRangeFn = | |
2811 reinterpret_cast<glMapBufferRangeProc>(glMapBufferRangeNotBound); | |
2812 } | |
2813 DCHECK(fn.glMapBufferRangeFn); | |
2814 | |
2815 fn.glMatrixLoadfEXTFn = 0; | |
2816 debug_fn.glMatrixLoadfEXTFn = 0; | |
2817 if ((ext.b_GL_EXT_direct_state_access || ext.b_GL_NV_path_rendering)) { | |
2818 fn.glMatrixLoadfEXTFn = reinterpret_cast<glMatrixLoadfEXTProc>( | |
2819 GetGLProcAddress("glMatrixLoadfEXT")); | |
2820 } else { | |
2821 fn.glMatrixLoadfEXTFn = | |
2822 reinterpret_cast<glMatrixLoadfEXTProc>(glMatrixLoadfEXTNotBound); | |
2823 } | |
2824 DCHECK(fn.glMatrixLoadfEXTFn); | |
2825 | |
2826 fn.glMatrixLoadIdentityEXTFn = 0; | |
2827 debug_fn.glMatrixLoadIdentityEXTFn = 0; | |
2828 if ((ext.b_GL_EXT_direct_state_access || ext.b_GL_NV_path_rendering)) { | |
2829 fn.glMatrixLoadIdentityEXTFn = | |
2830 reinterpret_cast<glMatrixLoadIdentityEXTProc>( | |
2831 GetGLProcAddress("glMatrixLoadIdentityEXT")); | |
2832 } else { | |
2833 fn.glMatrixLoadIdentityEXTFn = | |
2834 reinterpret_cast<glMatrixLoadIdentityEXTProc>( | |
2835 glMatrixLoadIdentityEXTNotBound); | |
2836 } | |
2837 DCHECK(fn.glMatrixLoadIdentityEXTFn); | |
2838 | |
2839 fn.glPauseTransformFeedbackFn = 0; | |
2840 debug_fn.glPauseTransformFeedbackFn = 0; | |
2841 if (((ver->is_es && (ver->major_version >= 3u)) || | |
2842 (!ver->is_es && (ver->major_version >= 4u)))) { | |
2843 fn.glPauseTransformFeedbackFn = | |
2844 reinterpret_cast<glPauseTransformFeedbackProc>( | |
2845 GetGLProcAddress("glPauseTransformFeedback")); | |
2846 } else { | |
2847 fn.glPauseTransformFeedbackFn = | |
2848 reinterpret_cast<glPauseTransformFeedbackProc>( | |
2849 glPauseTransformFeedbackNotBound); | |
2850 } | |
2851 DCHECK(fn.glPauseTransformFeedbackFn); | |
2852 | |
2853 fn.glPointParameteriFn = 0; | |
2854 debug_fn.glPointParameteriFn = 0; | |
2855 if (!ver->is_es) { | |
2856 fn.glPointParameteriFn = reinterpret_cast<glPointParameteriProc>( | |
2857 GetGLProcAddress("glPointParameteri")); | |
2858 } else { | |
2859 fn.glPointParameteriFn = | |
2860 reinterpret_cast<glPointParameteriProc>(glPointParameteriNotBound); | |
2861 } | |
2862 DCHECK(fn.glPointParameteriFn); | |
2863 | |
2864 fn.glPopGroupMarkerEXTFn = 0; | |
2865 debug_fn.glPopGroupMarkerEXTFn = 0; | |
2866 if (ext.b_GL_EXT_debug_marker) { | |
2867 fn.glPopGroupMarkerEXTFn = reinterpret_cast<glPopGroupMarkerEXTProc>( | |
2868 GetGLProcAddress("glPopGroupMarkerEXT")); | |
2869 } else { | |
2870 fn.glPopGroupMarkerEXTFn = | |
2871 reinterpret_cast<glPopGroupMarkerEXTProc>(glPopGroupMarkerEXTNotBound); | |
2872 } | |
2873 DCHECK(fn.glPopGroupMarkerEXTFn); | |
1458 | 2874 |
1459 fn.glProgramBinaryFn = 0; | 2875 fn.glProgramBinaryFn = 0; |
1460 debug_fn.glProgramBinaryFn = 0; | 2876 debug_fn.glProgramBinaryFn = 0; |
1461 if (ext.b_GL_OES_get_program_binary) { | 2877 if (((!ver->is_es && |
2878 (ver->major_version > 4u || | |
2879 (ver->major_version == 4u && ver->minor_version >= 1u))) || | |
2880 (ver->is_es && (ver->major_version >= 3u))) || | |
2881 ext.b_GL_ARB_get_program_binary) { | |
2882 fn.glProgramBinaryFn = reinterpret_cast<glProgramBinaryProc>( | |
2883 GetGLProcAddress("glProgramBinary")); | |
2884 } else if (ext.b_GL_OES_get_program_binary) { | |
1462 fn.glProgramBinaryFn = reinterpret_cast<glProgramBinaryProc>( | 2885 fn.glProgramBinaryFn = reinterpret_cast<glProgramBinaryProc>( |
1463 GetGLProcAddress("glProgramBinaryOES")); | 2886 GetGLProcAddress("glProgramBinaryOES")); |
1464 } | 2887 } else { |
1465 if (!fn.glProgramBinaryFn) { | 2888 fn.glProgramBinaryFn = |
1466 fn.glProgramBinaryFn = reinterpret_cast<glProgramBinaryProc>( | 2889 reinterpret_cast<glProgramBinaryProc>(glProgramBinaryNotBound); |
1467 GetGLProcAddress("glProgramBinary")); | 2890 } |
1468 } | 2891 DCHECK(fn.glProgramBinaryFn); |
2892 | |
2893 fn.glProgramParameteriFn = 0; | |
2894 debug_fn.glProgramParameteriFn = 0; | |
2895 if (((!ver->is_es && | |
2896 (ver->major_version > 4u || | |
2897 (ver->major_version == 4u && ver->minor_version >= 1u))) || | |
2898 (ver->is_es && (ver->major_version >= 3u))) || | |
2899 ext.b_GL_ARB_get_program_binary) { | |
2900 fn.glProgramParameteriFn = reinterpret_cast<glProgramParameteriProc>( | |
2901 GetGLProcAddress("glProgramParameteri")); | |
2902 } else { | |
2903 fn.glProgramParameteriFn = | |
2904 reinterpret_cast<glProgramParameteriProc>(glProgramParameteriNotBound); | |
2905 } | |
2906 DCHECK(fn.glProgramParameteriFn); | |
2907 | |
2908 fn.glPushGroupMarkerEXTFn = 0; | |
2909 debug_fn.glPushGroupMarkerEXTFn = 0; | |
2910 if (ext.b_GL_EXT_debug_marker) { | |
2911 fn.glPushGroupMarkerEXTFn = reinterpret_cast<glPushGroupMarkerEXTProc>( | |
2912 GetGLProcAddress("glPushGroupMarkerEXT")); | |
2913 } else { | |
2914 fn.glPushGroupMarkerEXTFn = reinterpret_cast<glPushGroupMarkerEXTProc>( | |
2915 glPushGroupMarkerEXTNotBound); | |
2916 } | |
2917 DCHECK(fn.glPushGroupMarkerEXTFn); | |
1469 | 2918 |
1470 fn.glQueryCounterFn = 0; | 2919 fn.glQueryCounterFn = 0; |
1471 debug_fn.glQueryCounterFn = 0; | 2920 debug_fn.glQueryCounterFn = 0; |
1472 if (ext.b_GL_ARB_timer_query) { | 2921 if (((!ver->is_es && |
2922 (ver->major_version > 3u || | |
2923 (ver->major_version == 3u && ver->minor_version >= 3u)))) || | |
2924 ext.b_GL_ARB_timer_query) { | |
1473 fn.glQueryCounterFn = reinterpret_cast<glQueryCounterProc>( | 2925 fn.glQueryCounterFn = reinterpret_cast<glQueryCounterProc>( |
1474 GetGLProcAddress("glQueryCounter")); | 2926 GetGLProcAddress("glQueryCounter")); |
1475 } | 2927 } else if (ext.b_GL_EXT_disjoint_timer_query) { |
1476 if (!fn.glQueryCounterFn) { | |
1477 fn.glQueryCounterFn = reinterpret_cast<glQueryCounterProc>( | 2928 fn.glQueryCounterFn = reinterpret_cast<glQueryCounterProc>( |
1478 GetGLProcAddress("glQueryCounterEXT")); | 2929 GetGLProcAddress("glQueryCounterEXT")); |
1479 } | 2930 } else { |
1480 | 2931 fn.glQueryCounterFn = |
1481 fn.glRenderbufferStorageEXTFn = 0; | 2932 reinterpret_cast<glQueryCounterProc>(glQueryCounterNotBound); |
1482 debug_fn.glRenderbufferStorageEXTFn = 0; | 2933 } |
1483 if (ext.b_GL_EXT_framebuffer_object) { | 2934 DCHECK(fn.glQueryCounterFn); |
1484 fn.glRenderbufferStorageEXTFn = | 2935 |
1485 reinterpret_cast<glRenderbufferStorageEXTProc>( | 2936 fn.glReadBufferFn = 0; |
1486 GetGLProcAddress("glRenderbufferStorageEXT")); | 2937 debug_fn.glReadBufferFn = 0; |
1487 } | 2938 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { |
1488 if (!fn.glRenderbufferStorageEXTFn) { | 2939 fn.glReadBufferFn = |
1489 fn.glRenderbufferStorageEXTFn = | 2940 reinterpret_cast<glReadBufferProc>(GetGLProcAddress("glReadBuffer")); |
1490 reinterpret_cast<glRenderbufferStorageEXTProc>( | 2941 } else { |
1491 GetGLProcAddress("glRenderbufferStorage")); | 2942 fn.glReadBufferFn = |
1492 } | 2943 reinterpret_cast<glReadBufferProc>(glReadBufferNotBound); |
2944 } | |
2945 DCHECK(fn.glReadBufferFn); | |
2946 | |
2947 fn.glReleaseShaderCompilerFn = 0; | |
2948 debug_fn.glReleaseShaderCompilerFn = 0; | |
2949 if (((!ver->is_es && | |
2950 (ver->major_version > 4u || | |
2951 (ver->major_version == 4u && ver->minor_version >= 1u))) || | |
2952 ver->is_es)) { | |
2953 fn.glReleaseShaderCompilerFn = | |
2954 reinterpret_cast<glReleaseShaderCompilerProc>( | |
2955 GetGLProcAddress("glReleaseShaderCompiler")); | |
2956 } else { | |
2957 fn.glReleaseShaderCompilerFn = | |
2958 reinterpret_cast<glReleaseShaderCompilerProc>( | |
2959 glReleaseShaderCompilerNotBound); | |
2960 } | |
2961 DCHECK(fn.glReleaseShaderCompilerFn); | |
2962 | |
2963 fn.glRenderbufferStorageMultisampleFn = 0; | |
2964 debug_fn.glRenderbufferStorageMultisampleFn = 0; | |
2965 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
2966 (ver->is_es && (ver->major_version >= 3u)))) { | |
2967 fn.glRenderbufferStorageMultisampleFn = | |
2968 reinterpret_cast<glRenderbufferStorageMultisampleProc>( | |
2969 GetGLProcAddress("glRenderbufferStorageMultisample")); | |
2970 } else { | |
2971 fn.glRenderbufferStorageMultisampleFn = | |
2972 reinterpret_cast<glRenderbufferStorageMultisampleProc>( | |
2973 glRenderbufferStorageMultisampleNotBound); | |
2974 } | |
2975 DCHECK(fn.glRenderbufferStorageMultisampleFn); | |
1493 | 2976 |
1494 fn.glRenderbufferStorageMultisampleANGLEFn = 0; | 2977 fn.glRenderbufferStorageMultisampleANGLEFn = 0; |
1495 debug_fn.glRenderbufferStorageMultisampleANGLEFn = 0; | 2978 debug_fn.glRenderbufferStorageMultisampleANGLEFn = 0; |
1496 if (ext.b_GL_ANGLE_framebuffer_multisample) { | 2979 if (((!ver->is_es && (ver->major_version >= 3u)) || |
2980 (ver->is_es && (ver->major_version >= 3u)))) { | |
2981 fn.glRenderbufferStorageMultisampleANGLEFn = | |
2982 reinterpret_cast<glRenderbufferStorageMultisampleANGLEProc>( | |
2983 GetGLProcAddress("glRenderbufferStorageMultisample")); | |
2984 } else if (ext.b_GL_ANGLE_framebuffer_multisample) { | |
1497 fn.glRenderbufferStorageMultisampleANGLEFn = | 2985 fn.glRenderbufferStorageMultisampleANGLEFn = |
1498 reinterpret_cast<glRenderbufferStorageMultisampleANGLEProc>( | 2986 reinterpret_cast<glRenderbufferStorageMultisampleANGLEProc>( |
1499 GetGLProcAddress("glRenderbufferStorageMultisampleANGLE")); | 2987 GetGLProcAddress("glRenderbufferStorageMultisampleANGLE")); |
1500 } | 2988 } else { |
1501 if (!fn.glRenderbufferStorageMultisampleANGLEFn) { | |
1502 fn.glRenderbufferStorageMultisampleANGLEFn = | 2989 fn.glRenderbufferStorageMultisampleANGLEFn = |
1503 reinterpret_cast<glRenderbufferStorageMultisampleANGLEProc>( | 2990 reinterpret_cast<glRenderbufferStorageMultisampleANGLEProc>( |
1504 GetGLProcAddress("glRenderbufferStorageMultisample")); | 2991 glRenderbufferStorageMultisampleANGLENotBound); |
1505 } | 2992 } |
2993 DCHECK(fn.glRenderbufferStorageMultisampleANGLEFn); | |
1506 | 2994 |
1507 fn.glRenderbufferStorageMultisampleEXTFn = 0; | 2995 fn.glRenderbufferStorageMultisampleEXTFn = 0; |
1508 debug_fn.glRenderbufferStorageMultisampleEXTFn = 0; | 2996 debug_fn.glRenderbufferStorageMultisampleEXTFn = 0; |
1509 if ((ext.b_GL_EXT_framebuffer_multisample || | 2997 if (((!ver->is_es && (ver->major_version >= 3u)) || |
1510 ext.b_GL_EXT_multisampled_render_to_texture)) { | 2998 (ver->is_es && (ver->major_version >= 3u)))) { |
2999 fn.glRenderbufferStorageMultisampleEXTFn = | |
3000 reinterpret_cast<glRenderbufferStorageMultisampleEXTProc>( | |
3001 GetGLProcAddress("glRenderbufferStorageMultisample")); | |
3002 } else if ((ext.b_GL_EXT_multisampled_render_to_texture || | |
3003 ext.b_GL_EXT_framebuffer_multisample)) { | |
1511 fn.glRenderbufferStorageMultisampleEXTFn = | 3004 fn.glRenderbufferStorageMultisampleEXTFn = |
1512 reinterpret_cast<glRenderbufferStorageMultisampleEXTProc>( | 3005 reinterpret_cast<glRenderbufferStorageMultisampleEXTProc>( |
1513 GetGLProcAddress("glRenderbufferStorageMultisampleEXT")); | 3006 GetGLProcAddress("glRenderbufferStorageMultisampleEXT")); |
1514 } | 3007 } else { |
1515 if (!fn.glRenderbufferStorageMultisampleEXTFn) { | |
1516 fn.glRenderbufferStorageMultisampleEXTFn = | 3008 fn.glRenderbufferStorageMultisampleEXTFn = |
1517 reinterpret_cast<glRenderbufferStorageMultisampleEXTProc>( | 3009 reinterpret_cast<glRenderbufferStorageMultisampleEXTProc>( |
1518 GetGLProcAddress("glRenderbufferStorageMultisample")); | 3010 glRenderbufferStorageMultisampleEXTNotBound); |
1519 } | 3011 } |
3012 DCHECK(fn.glRenderbufferStorageMultisampleEXTFn); | |
3013 | |
3014 fn.glRenderbufferStorageMultisampleIMGFn = 0; | |
3015 debug_fn.glRenderbufferStorageMultisampleIMGFn = 0; | |
3016 if (ext.b_GL_IMG_multisampled_render_to_texture) { | |
3017 fn.glRenderbufferStorageMultisampleIMGFn = | |
3018 reinterpret_cast<glRenderbufferStorageMultisampleIMGProc>( | |
3019 GetGLProcAddress("glRenderbufferStorageMultisampleIMG")); | |
3020 } else { | |
3021 fn.glRenderbufferStorageMultisampleIMGFn = | |
3022 reinterpret_cast<glRenderbufferStorageMultisampleIMGProc>( | |
3023 glRenderbufferStorageMultisampleIMGNotBound); | |
3024 } | |
3025 DCHECK(fn.glRenderbufferStorageMultisampleIMGFn); | |
3026 | |
3027 fn.glResumeTransformFeedbackFn = 0; | |
3028 debug_fn.glResumeTransformFeedbackFn = 0; | |
3029 if (((ver->is_es && (ver->major_version >= 3u)) || | |
3030 (!ver->is_es && (ver->major_version >= 4u)))) { | |
3031 fn.glResumeTransformFeedbackFn = | |
3032 reinterpret_cast<glResumeTransformFeedbackProc>( | |
3033 GetGLProcAddress("glResumeTransformFeedback")); | |
3034 } else { | |
3035 fn.glResumeTransformFeedbackFn = | |
3036 reinterpret_cast<glResumeTransformFeedbackProc>( | |
3037 glResumeTransformFeedbackNotBound); | |
3038 } | |
3039 DCHECK(fn.glResumeTransformFeedbackFn); | |
3040 | |
3041 fn.glSamplerParameterfFn = 0; | |
3042 debug_fn.glSamplerParameterfFn = 0; | |
3043 if (((!ver->is_es && | |
3044 (ver->major_version > 3u || | |
3045 (ver->major_version == 3u && ver->minor_version >= 3u))) || | |
3046 (ver->is_es && (ver->major_version >= 3u)))) { | |
3047 fn.glSamplerParameterfFn = reinterpret_cast<glSamplerParameterfProc>( | |
3048 GetGLProcAddress("glSamplerParameterf")); | |
3049 } else { | |
3050 fn.glSamplerParameterfFn = | |
3051 reinterpret_cast<glSamplerParameterfProc>(glSamplerParameterfNotBound); | |
3052 } | |
3053 DCHECK(fn.glSamplerParameterfFn); | |
3054 | |
3055 fn.glSamplerParameterfvFn = 0; | |
3056 debug_fn.glSamplerParameterfvFn = 0; | |
3057 if (((!ver->is_es && | |
3058 (ver->major_version > 3u || | |
3059 (ver->major_version == 3u && ver->minor_version >= 3u))) || | |
3060 (ver->is_es && (ver->major_version >= 3u)))) { | |
3061 fn.glSamplerParameterfvFn = reinterpret_cast<glSamplerParameterfvProc>( | |
3062 GetGLProcAddress("glSamplerParameterfv")); | |
3063 } else { | |
3064 fn.glSamplerParameterfvFn = reinterpret_cast<glSamplerParameterfvProc>( | |
3065 glSamplerParameterfvNotBound); | |
3066 } | |
3067 DCHECK(fn.glSamplerParameterfvFn); | |
3068 | |
3069 fn.glSamplerParameteriFn = 0; | |
3070 debug_fn.glSamplerParameteriFn = 0; | |
3071 if (((!ver->is_es && | |
3072 (ver->major_version > 3u || | |
3073 (ver->major_version == 3u && ver->minor_version >= 3u))) || | |
3074 (ver->is_es && (ver->major_version >= 3u)))) { | |
3075 fn.glSamplerParameteriFn = reinterpret_cast<glSamplerParameteriProc>( | |
3076 GetGLProcAddress("glSamplerParameteri")); | |
3077 } else { | |
3078 fn.glSamplerParameteriFn = | |
3079 reinterpret_cast<glSamplerParameteriProc>(glSamplerParameteriNotBound); | |
3080 } | |
3081 DCHECK(fn.glSamplerParameteriFn); | |
3082 | |
3083 fn.glSamplerParameterivFn = 0; | |
3084 debug_fn.glSamplerParameterivFn = 0; | |
3085 if (((!ver->is_es && | |
3086 (ver->major_version > 3u || | |
3087 (ver->major_version == 3u && ver->minor_version >= 3u))) || | |
3088 (ver->is_es && (ver->major_version >= 3u)))) { | |
3089 fn.glSamplerParameterivFn = reinterpret_cast<glSamplerParameterivProc>( | |
3090 GetGLProcAddress("glSamplerParameteriv")); | |
3091 } else { | |
3092 fn.glSamplerParameterivFn = reinterpret_cast<glSamplerParameterivProc>( | |
3093 glSamplerParameterivNotBound); | |
3094 } | |
3095 DCHECK(fn.glSamplerParameterivFn); | |
3096 | |
3097 fn.glSetFenceAPPLEFn = 0; | |
3098 debug_fn.glSetFenceAPPLEFn = 0; | |
3099 if (ext.b_GL_APPLE_fence) { | |
3100 fn.glSetFenceAPPLEFn = reinterpret_cast<glSetFenceAPPLEProc>( | |
3101 GetGLProcAddress("glSetFenceAPPLE")); | |
3102 } else { | |
3103 fn.glSetFenceAPPLEFn = | |
3104 reinterpret_cast<glSetFenceAPPLEProc>(glSetFenceAPPLENotBound); | |
3105 } | |
3106 DCHECK(fn.glSetFenceAPPLEFn); | |
3107 | |
3108 fn.glSetFenceNVFn = 0; | |
3109 debug_fn.glSetFenceNVFn = 0; | |
3110 if (ext.b_GL_NV_fence) { | |
3111 fn.glSetFenceNVFn = | |
3112 reinterpret_cast<glSetFenceNVProc>(GetGLProcAddress("glSetFenceNV")); | |
3113 } else { | |
3114 fn.glSetFenceNVFn = | |
3115 reinterpret_cast<glSetFenceNVProc>(glSetFenceNVNotBound); | |
3116 } | |
3117 DCHECK(fn.glSetFenceNVFn); | |
3118 | |
3119 fn.glShaderBinaryFn = 0; | |
3120 debug_fn.glShaderBinaryFn = 0; | |
3121 if (((!ver->is_es && | |
3122 (ver->major_version > 4u || | |
3123 (ver->major_version == 4u && ver->minor_version >= 1u))) || | |
3124 ver->is_es)) { | |
3125 fn.glShaderBinaryFn = reinterpret_cast<glShaderBinaryProc>( | |
3126 GetGLProcAddress("glShaderBinary")); | |
3127 } else { | |
3128 fn.glShaderBinaryFn = | |
3129 reinterpret_cast<glShaderBinaryProc>(glShaderBinaryNotBound); | |
3130 } | |
3131 DCHECK(fn.glShaderBinaryFn); | |
3132 | |
3133 fn.glTestFenceAPPLEFn = 0; | |
3134 debug_fn.glTestFenceAPPLEFn = 0; | |
3135 if (ext.b_GL_APPLE_fence) { | |
3136 fn.glTestFenceAPPLEFn = reinterpret_cast<glTestFenceAPPLEProc>( | |
3137 GetGLProcAddress("glTestFenceAPPLE")); | |
3138 } else { | |
3139 fn.glTestFenceAPPLEFn = | |
3140 reinterpret_cast<glTestFenceAPPLEProc>(glTestFenceAPPLENotBound); | |
3141 } | |
3142 DCHECK(fn.glTestFenceAPPLEFn); | |
3143 | |
3144 fn.glTestFenceNVFn = 0; | |
3145 debug_fn.glTestFenceNVFn = 0; | |
3146 if (ext.b_GL_NV_fence) { | |
3147 fn.glTestFenceNVFn = | |
3148 reinterpret_cast<glTestFenceNVProc>(GetGLProcAddress("glTestFenceNV")); | |
3149 } else { | |
3150 fn.glTestFenceNVFn = | |
3151 reinterpret_cast<glTestFenceNVProc>(glTestFenceNVNotBound); | |
3152 } | |
3153 DCHECK(fn.glTestFenceNVFn); | |
3154 | |
3155 fn.glTexImage3DFn = 0; | |
3156 debug_fn.glTexImage3DFn = 0; | |
3157 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
3158 fn.glTexImage3DFn = | |
3159 reinterpret_cast<glTexImage3DProc>(GetGLProcAddress("glTexImage3D")); | |
3160 } else { | |
3161 fn.glTexImage3DFn = | |
3162 reinterpret_cast<glTexImage3DProc>(glTexImage3DNotBound); | |
3163 } | |
3164 DCHECK(fn.glTexImage3DFn); | |
1520 | 3165 |
1521 fn.glTexStorage2DEXTFn = 0; | 3166 fn.glTexStorage2DEXTFn = 0; |
1522 debug_fn.glTexStorage2DEXTFn = 0; | 3167 debug_fn.glTexStorage2DEXTFn = 0; |
1523 if (ver->is_es3 || ext.b_GL_ARB_texture_storage) { | 3168 if (((!ver->is_es && |
3169 (ver->major_version > 4u || | |
3170 (ver->major_version == 4u && ver->minor_version >= 2u))) || | |
3171 (ver->is_es && (ver->major_version >= 3u))) || | |
3172 ext.b_GL_ARB_texture_storage) { | |
1524 fn.glTexStorage2DEXTFn = reinterpret_cast<glTexStorage2DEXTProc>( | 3173 fn.glTexStorage2DEXTFn = reinterpret_cast<glTexStorage2DEXTProc>( |
1525 GetGLProcAddress("glTexStorage2D")); | 3174 GetGLProcAddress("glTexStorage2D")); |
1526 } | 3175 } else if (ext.b_GL_EXT_texture_storage) { |
1527 if (!fn.glTexStorage2DEXTFn) { | |
1528 fn.glTexStorage2DEXTFn = reinterpret_cast<glTexStorage2DEXTProc>( | 3176 fn.glTexStorage2DEXTFn = reinterpret_cast<glTexStorage2DEXTProc>( |
1529 GetGLProcAddress("glTexStorage2DEXT")); | 3177 GetGLProcAddress("glTexStorage2DEXT")); |
1530 } | 3178 } else { |
3179 fn.glTexStorage2DEXTFn = | |
3180 reinterpret_cast<glTexStorage2DEXTProc>(glTexStorage2DEXTNotBound); | |
3181 } | |
3182 DCHECK(fn.glTexStorage2DEXTFn); | |
3183 | |
3184 fn.glTexStorage3DFn = 0; | |
3185 debug_fn.glTexStorage3DFn = 0; | |
3186 if (((!ver->is_es && | |
3187 (ver->major_version > 4u || | |
3188 (ver->major_version == 4u && ver->minor_version >= 2u))) || | |
3189 (ver->is_es && (ver->major_version >= 3u)))) { | |
3190 fn.glTexStorage3DFn = reinterpret_cast<glTexStorage3DProc>( | |
3191 GetGLProcAddress("glTexStorage3D")); | |
3192 } else { | |
3193 fn.glTexStorage3DFn = | |
3194 reinterpret_cast<glTexStorage3DProc>(glTexStorage3DNotBound); | |
3195 } | |
3196 DCHECK(fn.glTexStorage3DFn); | |
3197 | |
3198 fn.glTransformFeedbackVaryingsFn = 0; | |
3199 debug_fn.glTransformFeedbackVaryingsFn = 0; | |
3200 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
3201 (ver->is_es && (ver->major_version >= 3u)))) { | |
3202 fn.glTransformFeedbackVaryingsFn = | |
3203 reinterpret_cast<glTransformFeedbackVaryingsProc>( | |
3204 GetGLProcAddress("glTransformFeedbackVaryings")); | |
3205 } else { | |
3206 fn.glTransformFeedbackVaryingsFn = | |
3207 reinterpret_cast<glTransformFeedbackVaryingsProc>( | |
3208 glTransformFeedbackVaryingsNotBound); | |
3209 } | |
3210 DCHECK(fn.glTransformFeedbackVaryingsFn); | |
3211 | |
3212 fn.glUniform1uiFn = 0; | |
3213 debug_fn.glUniform1uiFn = 0; | |
3214 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
3215 (ver->is_es && (ver->major_version >= 3u)))) { | |
3216 fn.glUniform1uiFn = | |
3217 reinterpret_cast<glUniform1uiProc>(GetGLProcAddress("glUniform1ui")); | |
3218 } else { | |
3219 fn.glUniform1uiFn = | |
3220 reinterpret_cast<glUniform1uiProc>(glUniform1uiNotBound); | |
3221 } | |
3222 DCHECK(fn.glUniform1uiFn); | |
3223 | |
3224 fn.glUniform1uivFn = 0; | |
3225 debug_fn.glUniform1uivFn = 0; | |
3226 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
3227 (ver->is_es && (ver->major_version >= 3u)))) { | |
3228 fn.glUniform1uivFn = | |
3229 reinterpret_cast<glUniform1uivProc>(GetGLProcAddress("glUniform1uiv")); | |
3230 } else { | |
3231 fn.glUniform1uivFn = | |
3232 reinterpret_cast<glUniform1uivProc>(glUniform1uivNotBound); | |
3233 } | |
3234 DCHECK(fn.glUniform1uivFn); | |
3235 | |
3236 fn.glUniform2uiFn = 0; | |
3237 debug_fn.glUniform2uiFn = 0; | |
3238 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
3239 (ver->is_es && (ver->major_version >= 3u)))) { | |
3240 fn.glUniform2uiFn = | |
3241 reinterpret_cast<glUniform2uiProc>(GetGLProcAddress("glUniform2ui")); | |
3242 } else { | |
3243 fn.glUniform2uiFn = | |
3244 reinterpret_cast<glUniform2uiProc>(glUniform2uiNotBound); | |
3245 } | |
3246 DCHECK(fn.glUniform2uiFn); | |
3247 | |
3248 fn.glUniform2uivFn = 0; | |
3249 debug_fn.glUniform2uivFn = 0; | |
3250 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
3251 (ver->is_es && (ver->major_version >= 3u)))) { | |
3252 fn.glUniform2uivFn = | |
3253 reinterpret_cast<glUniform2uivProc>(GetGLProcAddress("glUniform2uiv")); | |
3254 } else { | |
3255 fn.glUniform2uivFn = | |
3256 reinterpret_cast<glUniform2uivProc>(glUniform2uivNotBound); | |
3257 } | |
3258 DCHECK(fn.glUniform2uivFn); | |
3259 | |
3260 fn.glUniform3uiFn = 0; | |
3261 debug_fn.glUniform3uiFn = 0; | |
3262 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
3263 (ver->is_es && (ver->major_version >= 3u)))) { | |
3264 fn.glUniform3uiFn = | |
3265 reinterpret_cast<glUniform3uiProc>(GetGLProcAddress("glUniform3ui")); | |
3266 } else { | |
3267 fn.glUniform3uiFn = | |
3268 reinterpret_cast<glUniform3uiProc>(glUniform3uiNotBound); | |
3269 } | |
3270 DCHECK(fn.glUniform3uiFn); | |
3271 | |
3272 fn.glUniform3uivFn = 0; | |
3273 debug_fn.glUniform3uivFn = 0; | |
3274 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
3275 (ver->is_es && (ver->major_version >= 3u)))) { | |
3276 fn.glUniform3uivFn = | |
3277 reinterpret_cast<glUniform3uivProc>(GetGLProcAddress("glUniform3uiv")); | |
3278 } else { | |
3279 fn.glUniform3uivFn = | |
3280 reinterpret_cast<glUniform3uivProc>(glUniform3uivNotBound); | |
3281 } | |
3282 DCHECK(fn.glUniform3uivFn); | |
3283 | |
3284 fn.glUniform4uiFn = 0; | |
3285 debug_fn.glUniform4uiFn = 0; | |
3286 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
3287 (ver->is_es && (ver->major_version >= 3u)))) { | |
3288 fn.glUniform4uiFn = | |
3289 reinterpret_cast<glUniform4uiProc>(GetGLProcAddress("glUniform4ui")); | |
3290 } else { | |
3291 fn.glUniform4uiFn = | |
3292 reinterpret_cast<glUniform4uiProc>(glUniform4uiNotBound); | |
3293 } | |
3294 DCHECK(fn.glUniform4uiFn); | |
3295 | |
3296 fn.glUniform4uivFn = 0; | |
3297 debug_fn.glUniform4uivFn = 0; | |
3298 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
3299 (ver->is_es && (ver->major_version >= 3u)))) { | |
3300 fn.glUniform4uivFn = | |
3301 reinterpret_cast<glUniform4uivProc>(GetGLProcAddress("glUniform4uiv")); | |
3302 } else { | |
3303 fn.glUniform4uivFn = | |
3304 reinterpret_cast<glUniform4uivProc>(glUniform4uivNotBound); | |
3305 } | |
3306 DCHECK(fn.glUniform4uivFn); | |
3307 | |
3308 fn.glUniformBlockBindingFn = 0; | |
3309 debug_fn.glUniformBlockBindingFn = 0; | |
3310 if (((ver->is_es && (ver->major_version >= 3u)) || | |
3311 (!ver->is_es && | |
3312 (ver->major_version > 3u || | |
3313 (ver->major_version == 3u && ver->minor_version >= 1u))))) { | |
3314 fn.glUniformBlockBindingFn = reinterpret_cast<glUniformBlockBindingProc>( | |
3315 GetGLProcAddress("glUniformBlockBinding")); | |
3316 } else { | |
3317 fn.glUniformBlockBindingFn = reinterpret_cast<glUniformBlockBindingProc>( | |
3318 glUniformBlockBindingNotBound); | |
3319 } | |
3320 DCHECK(fn.glUniformBlockBindingFn); | |
3321 | |
3322 fn.glUniformMatrix2x3fvFn = 0; | |
3323 debug_fn.glUniformMatrix2x3fvFn = 0; | |
3324 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
3325 fn.glUniformMatrix2x3fvFn = reinterpret_cast<glUniformMatrix2x3fvProc>( | |
3326 GetGLProcAddress("glUniformMatrix2x3fv")); | |
3327 } else { | |
3328 fn.glUniformMatrix2x3fvFn = reinterpret_cast<glUniformMatrix2x3fvProc>( | |
3329 glUniformMatrix2x3fvNotBound); | |
3330 } | |
3331 DCHECK(fn.glUniformMatrix2x3fvFn); | |
3332 | |
3333 fn.glUniformMatrix2x4fvFn = 0; | |
3334 debug_fn.glUniformMatrix2x4fvFn = 0; | |
3335 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
3336 fn.glUniformMatrix2x4fvFn = reinterpret_cast<glUniformMatrix2x4fvProc>( | |
3337 GetGLProcAddress("glUniformMatrix2x4fv")); | |
3338 } else { | |
3339 fn.glUniformMatrix2x4fvFn = reinterpret_cast<glUniformMatrix2x4fvProc>( | |
3340 glUniformMatrix2x4fvNotBound); | |
3341 } | |
3342 DCHECK(fn.glUniformMatrix2x4fvFn); | |
3343 | |
3344 fn.glUniformMatrix3x2fvFn = 0; | |
3345 debug_fn.glUniformMatrix3x2fvFn = 0; | |
3346 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
3347 fn.glUniformMatrix3x2fvFn = reinterpret_cast<glUniformMatrix3x2fvProc>( | |
3348 GetGLProcAddress("glUniformMatrix3x2fv")); | |
3349 } else { | |
3350 fn.glUniformMatrix3x2fvFn = reinterpret_cast<glUniformMatrix3x2fvProc>( | |
3351 glUniformMatrix3x2fvNotBound); | |
3352 } | |
3353 DCHECK(fn.glUniformMatrix3x2fvFn); | |
3354 | |
3355 fn.glUniformMatrix3x4fvFn = 0; | |
3356 debug_fn.glUniformMatrix3x4fvFn = 0; | |
3357 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
3358 fn.glUniformMatrix3x4fvFn = reinterpret_cast<glUniformMatrix3x4fvProc>( | |
3359 GetGLProcAddress("glUniformMatrix3x4fv")); | |
3360 } else { | |
3361 fn.glUniformMatrix3x4fvFn = reinterpret_cast<glUniformMatrix3x4fvProc>( | |
3362 glUniformMatrix3x4fvNotBound); | |
3363 } | |
3364 DCHECK(fn.glUniformMatrix3x4fvFn); | |
3365 | |
3366 fn.glUniformMatrix4x2fvFn = 0; | |
3367 debug_fn.glUniformMatrix4x2fvFn = 0; | |
3368 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
3369 fn.glUniformMatrix4x2fvFn = reinterpret_cast<glUniformMatrix4x2fvProc>( | |
3370 GetGLProcAddress("glUniformMatrix4x2fv")); | |
3371 } else { | |
3372 fn.glUniformMatrix4x2fvFn = reinterpret_cast<glUniformMatrix4x2fvProc>( | |
3373 glUniformMatrix4x2fvNotBound); | |
3374 } | |
3375 DCHECK(fn.glUniformMatrix4x2fvFn); | |
3376 | |
3377 fn.glUniformMatrix4x3fvFn = 0; | |
3378 debug_fn.glUniformMatrix4x3fvFn = 0; | |
3379 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { | |
3380 fn.glUniformMatrix4x3fvFn = reinterpret_cast<glUniformMatrix4x3fvProc>( | |
3381 GetGLProcAddress("glUniformMatrix4x3fv")); | |
3382 } else { | |
3383 fn.glUniformMatrix4x3fvFn = reinterpret_cast<glUniformMatrix4x3fvProc>( | |
3384 glUniformMatrix4x3fvNotBound); | |
3385 } | |
3386 DCHECK(fn.glUniformMatrix4x3fvFn); | |
1531 | 3387 |
1532 fn.glUnmapBufferFn = 0; | 3388 fn.glUnmapBufferFn = 0; |
1533 debug_fn.glUnmapBufferFn = 0; | 3389 debug_fn.glUnmapBufferFn = 0; |
1534 if (ext.b_GL_OES_mapbuffer) { | 3390 if ((!ver->is_es || (ver->is_es && (ver->major_version >= 3u)))) { |
3391 fn.glUnmapBufferFn = | |
3392 reinterpret_cast<glUnmapBufferProc>(GetGLProcAddress("glUnmapBuffer")); | |
3393 } else if (ext.b_GL_OES_mapbuffer) { | |
1535 fn.glUnmapBufferFn = reinterpret_cast<glUnmapBufferProc>( | 3394 fn.glUnmapBufferFn = reinterpret_cast<glUnmapBufferProc>( |
1536 GetGLProcAddress("glUnmapBufferOES")); | 3395 GetGLProcAddress("glUnmapBufferOES")); |
1537 } | 3396 } else { |
1538 if (!fn.glUnmapBufferFn) { | |
1539 fn.glUnmapBufferFn = | 3397 fn.glUnmapBufferFn = |
1540 reinterpret_cast<glUnmapBufferProc>(GetGLProcAddress("glUnmapBuffer")); | 3398 reinterpret_cast<glUnmapBufferProc>(glUnmapBufferNotBound); |
1541 } | 3399 } |
3400 DCHECK(fn.glUnmapBufferFn); | |
1542 | 3401 |
1543 fn.glVertexAttribDivisorANGLEFn = 0; | 3402 fn.glVertexAttribDivisorANGLEFn = 0; |
1544 debug_fn.glVertexAttribDivisorANGLEFn = 0; | 3403 debug_fn.glVertexAttribDivisorANGLEFn = 0; |
1545 if (ext.b_GL_ARB_instanced_arrays) { | 3404 if (((!ver->is_es && |
3405 (ver->major_version > 3u || | |
3406 (ver->major_version == 3u && ver->minor_version >= 3u))) || | |
3407 (ver->is_es && (ver->major_version >= 3u)))) { | |
3408 fn.glVertexAttribDivisorANGLEFn = | |
3409 reinterpret_cast<glVertexAttribDivisorANGLEProc>( | |
3410 GetGLProcAddress("glVertexAttribDivisor")); | |
3411 } else if (ext.b_GL_ARB_instanced_arrays) { | |
1546 fn.glVertexAttribDivisorANGLEFn = | 3412 fn.glVertexAttribDivisorANGLEFn = |
1547 reinterpret_cast<glVertexAttribDivisorANGLEProc>( | 3413 reinterpret_cast<glVertexAttribDivisorANGLEProc>( |
1548 GetGLProcAddress("glVertexAttribDivisorARB")); | 3414 GetGLProcAddress("glVertexAttribDivisorARB")); |
1549 } | 3415 } else if (ext.b_GL_ANGLE_instanced_arrays) { |
1550 if (!fn.glVertexAttribDivisorANGLEFn && (ext.b_GL_ANGLE_instanced_arrays)) { | |
1551 fn.glVertexAttribDivisorANGLEFn = | 3416 fn.glVertexAttribDivisorANGLEFn = |
1552 reinterpret_cast<glVertexAttribDivisorANGLEProc>( | 3417 reinterpret_cast<glVertexAttribDivisorANGLEProc>( |
1553 GetGLProcAddress("glVertexAttribDivisorANGLE")); | 3418 GetGLProcAddress("glVertexAttribDivisorANGLE")); |
1554 } | 3419 } else { |
1555 if (!fn.glVertexAttribDivisorANGLEFn) { | |
1556 fn.glVertexAttribDivisorANGLEFn = | 3420 fn.glVertexAttribDivisorANGLEFn = |
1557 reinterpret_cast<glVertexAttribDivisorANGLEProc>( | 3421 reinterpret_cast<glVertexAttribDivisorANGLEProc>( |
1558 GetGLProcAddress("glVertexAttribDivisor")); | 3422 glVertexAttribDivisorANGLENotBound); |
1559 } | 3423 } |
3424 DCHECK(fn.glVertexAttribDivisorANGLEFn); | |
3425 | |
3426 fn.glVertexAttribI4iFn = 0; | |
3427 debug_fn.glVertexAttribI4iFn = 0; | |
3428 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
3429 (ver->is_es && (ver->major_version >= 3u)))) { | |
3430 fn.glVertexAttribI4iFn = reinterpret_cast<glVertexAttribI4iProc>( | |
3431 GetGLProcAddress("glVertexAttribI4i")); | |
3432 } else { | |
3433 fn.glVertexAttribI4iFn = | |
3434 reinterpret_cast<glVertexAttribI4iProc>(glVertexAttribI4iNotBound); | |
3435 } | |
3436 DCHECK(fn.glVertexAttribI4iFn); | |
3437 | |
3438 fn.glVertexAttribI4ivFn = 0; | |
3439 debug_fn.glVertexAttribI4ivFn = 0; | |
3440 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
3441 (ver->is_es && (ver->major_version >= 3u)))) { | |
3442 fn.glVertexAttribI4ivFn = reinterpret_cast<glVertexAttribI4ivProc>( | |
3443 GetGLProcAddress("glVertexAttribI4iv")); | |
3444 } else { | |
3445 fn.glVertexAttribI4ivFn = | |
3446 reinterpret_cast<glVertexAttribI4ivProc>(glVertexAttribI4ivNotBound); | |
3447 } | |
3448 DCHECK(fn.glVertexAttribI4ivFn); | |
3449 | |
3450 fn.glVertexAttribI4uiFn = 0; | |
3451 debug_fn.glVertexAttribI4uiFn = 0; | |
3452 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
3453 (ver->is_es && (ver->major_version >= 3u)))) { | |
3454 fn.glVertexAttribI4uiFn = reinterpret_cast<glVertexAttribI4uiProc>( | |
3455 GetGLProcAddress("glVertexAttribI4ui")); | |
3456 } else { | |
3457 fn.glVertexAttribI4uiFn = | |
3458 reinterpret_cast<glVertexAttribI4uiProc>(glVertexAttribI4uiNotBound); | |
3459 } | |
3460 DCHECK(fn.glVertexAttribI4uiFn); | |
3461 | |
3462 fn.glVertexAttribI4uivFn = 0; | |
3463 debug_fn.glVertexAttribI4uivFn = 0; | |
3464 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
3465 (ver->is_es && (ver->major_version >= 3u)))) { | |
3466 fn.glVertexAttribI4uivFn = reinterpret_cast<glVertexAttribI4uivProc>( | |
3467 GetGLProcAddress("glVertexAttribI4uiv")); | |
3468 } else { | |
3469 fn.glVertexAttribI4uivFn = | |
3470 reinterpret_cast<glVertexAttribI4uivProc>(glVertexAttribI4uivNotBound); | |
3471 } | |
3472 DCHECK(fn.glVertexAttribI4uivFn); | |
3473 | |
3474 fn.glVertexAttribIPointerFn = 0; | |
3475 debug_fn.glVertexAttribIPointerFn = 0; | |
3476 if (((!ver->is_es && (ver->major_version >= 3u)) || | |
3477 (ver->is_es && (ver->major_version >= 3u)))) { | |
3478 fn.glVertexAttribIPointerFn = reinterpret_cast<glVertexAttribIPointerProc>( | |
3479 GetGLProcAddress("glVertexAttribIPointer")); | |
3480 } else { | |
3481 fn.glVertexAttribIPointerFn = reinterpret_cast<glVertexAttribIPointerProc>( | |
3482 glVertexAttribIPointerNotBound); | |
3483 } | |
3484 DCHECK(fn.glVertexAttribIPointerFn); | |
3485 | |
3486 fn.glWaitSyncFn = 0; | |
3487 debug_fn.glWaitSyncFn = 0; | |
3488 if (((!ver->is_es && | |
3489 (ver->major_version > 3u || | |
3490 (ver->major_version == 3u && ver->minor_version >= 2u))) || | |
3491 (ver->is_es && (ver->major_version >= 3u))) || | |
3492 ext.b_GL_ARB_sync) { | |
3493 fn.glWaitSyncFn = | |
3494 reinterpret_cast<glWaitSyncProc>(GetGLProcAddress("glWaitSync")); | |
3495 } else { | |
3496 fn.glWaitSyncFn = reinterpret_cast<glWaitSyncProc>(glWaitSyncNotBound); | |
3497 } | |
3498 DCHECK(fn.glWaitSyncFn); | |
1560 | 3499 |
1561 if (g_debugBindingsInitialized) | 3500 if (g_debugBindingsInitialized) |
1562 InitializeDebugBindings(); | 3501 InitializeDebugBindings(); |
1563 } | 3502 } |
1564 | 3503 |
1565 extern "C" { | 3504 extern "C" { |
1566 | 3505 |
1567 static void GL_BINDING_CALL Debug_glActiveTexture(GLenum texture) { | 3506 static void GL_BINDING_CALL Debug_glActiveTexture(GLenum texture) { |
1568 GL_SERVICE_LOG("glActiveTexture" | 3507 GL_SERVICE_LOG("glActiveTexture" |
1569 << "(" << GLEnums::GetStringEnum(texture) << ")"); | 3508 << "(" << GLEnums::GetStringEnum(texture) << ")"); |
(...skipping 9759 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
11329 | 13268 |
11330 GLenum NoContextGLApi::glWaitSyncFn(GLsync sync, | 13269 GLenum NoContextGLApi::glWaitSyncFn(GLsync sync, |
11331 GLbitfield flags, | 13270 GLbitfield flags, |
11332 GLuint64 timeout) { | 13271 GLuint64 timeout) { |
11333 NOTREACHED() << "Trying to call glWaitSync() without current GL context"; | 13272 NOTREACHED() << "Trying to call glWaitSync() without current GL context"; |
11334 LOG(ERROR) << "Trying to call glWaitSync() without current GL context"; | 13273 LOG(ERROR) << "Trying to call glWaitSync() without current GL context"; |
11335 return static_cast<GLenum>(0); | 13274 return static_cast<GLenum>(0); |
11336 } | 13275 } |
11337 | 13276 |
11338 } // namespace gfx | 13277 } // namespace gfx |
OLD | NEW |