зеркало из https://github.com/AvaloniaUI/angle.git
Add generator for EGL proc table.
This should improve ANGLE startup time by avoiding creating a large std::map filled with the entry points. BUG=chromium:781460 Change-Id: I20cfdb10b99844d0f60759dda73b729991dc60fe Reviewed-on: https://chromium-review.googlesource.com/768209 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
This commit is contained in:
Родитель
e8afa90250
Коммит
5ad52994ba
|
@ -116,6 +116,15 @@ generators = {
|
|||
],
|
||||
'script': 'src/libANGLE/gen_packed_gl_enums.py',
|
||||
},
|
||||
'proc table': {
|
||||
'inputs': [
|
||||
'src/libGLESv2/proc_table_data.json',
|
||||
],
|
||||
'outputs': [
|
||||
'src/libGLESv2/proc_table_autogen.cpp',
|
||||
],
|
||||
'script': 'src/libGLESv2/gen_proc_table.py',
|
||||
},
|
||||
'Vulkan format': {
|
||||
'inputs': [
|
||||
'src/libANGLE/renderer/angle_format.py',
|
||||
|
@ -144,7 +153,7 @@ for name, info in sorted(generators.iteritems()):
|
|||
input_mtime = os.path.getmtime(finput)
|
||||
for foutput in info['outputs']:
|
||||
if not os.path.exists(foutput):
|
||||
print('Output' + foutput + ' not found for ' + name + ' table')
|
||||
print('Output ' + foutput + ' not found for ' + name + ' table')
|
||||
dirty = True
|
||||
else:
|
||||
output_mtime = os.path.getmtime(foutput)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// GENERATED FILE - DO NOT EDIT.
|
||||
// Generated by src/libANGLE/gen_packed_gl_enums.py using data from packed_gl_enums.json.
|
||||
// Generated by gen_packed_gl_enums.py using data from packed_gl_enums.json.
|
||||
//
|
||||
// Copyright 2017 The ANGLE Project Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// GENERATED FILE - DO NOT EDIT.
|
||||
// Generated by src/libANGLE/gen_packed_gl_enums.py using data from packed_gl_enums.json.
|
||||
// Generated by gen_packed_gl_enums.py using data from packed_gl_enums.json.
|
||||
//
|
||||
// Copyright 2017 The ANGLE Project Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
|
|
|
@ -831,6 +831,8 @@
|
|||
'libGLESv2/libGLESv2.cpp',
|
||||
'libGLESv2/libGLESv2.def',
|
||||
'libGLESv2/libGLESv2.rc',
|
||||
'libGLESv2/proc_table.h',
|
||||
'libGLESv2/proc_table_autogen.cpp',
|
||||
'libGLESv2/resource.h',
|
||||
],
|
||||
'libegl_sources':
|
||||
|
|
|
@ -7,13 +7,9 @@
|
|||
// entry_points_egl.cpp : Implements the EGL entry points.
|
||||
|
||||
#include "libGLESv2/entry_points_egl.h"
|
||||
#include "libGLESv2/entry_points_egl_ext.h"
|
||||
#include "libGLESv2/entry_points_gles_2_0_autogen.h"
|
||||
#include "libGLESv2/entry_points_gles_2_0_ext.h"
|
||||
#include "libGLESv2/entry_points_gles_3_0_autogen.h"
|
||||
#include "libGLESv2/entry_points_gles_3_1.h"
|
||||
#include "libGLESv2/global_state.h"
|
||||
|
||||
#include "common/debug.h"
|
||||
#include "common/version.h"
|
||||
#include "libANGLE/Context.h"
|
||||
#include "libANGLE/Display.h"
|
||||
#include "libANGLE/Surface.h"
|
||||
|
@ -21,11 +17,8 @@
|
|||
#include "libANGLE/Thread.h"
|
||||
#include "libANGLE/queryutils.h"
|
||||
#include "libANGLE/validationEGL.h"
|
||||
|
||||
#include "common/debug.h"
|
||||
#include "common/version.h"
|
||||
|
||||
#include "platform/Platform.h"
|
||||
#include "libGLESv2/global_state.h"
|
||||
#include "libGLESv2/proc_table.h"
|
||||
|
||||
#include <EGL/eglext.h>
|
||||
|
||||
|
@ -35,6 +28,11 @@ namespace egl
|
|||
namespace
|
||||
{
|
||||
|
||||
bool CompareProc(const ProcEntry &a, const char *b)
|
||||
{
|
||||
return strcmp(a.first, b) < 0;
|
||||
}
|
||||
|
||||
void ClipConfigs(const std::vector<const Config *> &filteredConfigs,
|
||||
EGLConfig *output_configs,
|
||||
EGLint config_size,
|
||||
|
@ -1173,642 +1171,16 @@ __eglMustCastToProperFunctionPointerType EGLAPIENTRY GetProcAddress(const char *
|
|||
EVENT("(const char *procname = \"%s\")", procname);
|
||||
Thread *thread = GetCurrentThread();
|
||||
|
||||
typedef std::map<std::string, __eglMustCastToProperFunctionPointerType> ProcAddressMap;
|
||||
auto generateProcAddressMap = []() {
|
||||
ProcAddressMap map;
|
||||
#define INSERT_PROC_ADDRESS(ns, proc) \
|
||||
map[#ns #proc] = reinterpret_cast<__eglMustCastToProperFunctionPointerType>(ns::proc)
|
||||
|
||||
#define INSERT_PROC_ADDRESS_NO_NS(name, proc) \
|
||||
map[name] = reinterpret_cast<__eglMustCastToProperFunctionPointerType>(proc)
|
||||
|
||||
// GLES2 core
|
||||
INSERT_PROC_ADDRESS(gl, ActiveTexture);
|
||||
INSERT_PROC_ADDRESS(gl, AttachShader);
|
||||
INSERT_PROC_ADDRESS(gl, BindAttribLocation);
|
||||
INSERT_PROC_ADDRESS(gl, BindBuffer);
|
||||
INSERT_PROC_ADDRESS(gl, BindFramebuffer);
|
||||
INSERT_PROC_ADDRESS(gl, BindRenderbuffer);
|
||||
INSERT_PROC_ADDRESS(gl, BindTexture);
|
||||
INSERT_PROC_ADDRESS(gl, BlendColor);
|
||||
INSERT_PROC_ADDRESS(gl, BlendEquation);
|
||||
INSERT_PROC_ADDRESS(gl, BlendEquationSeparate);
|
||||
INSERT_PROC_ADDRESS(gl, BlendFunc);
|
||||
INSERT_PROC_ADDRESS(gl, BlendFuncSeparate);
|
||||
INSERT_PROC_ADDRESS(gl, BufferData);
|
||||
INSERT_PROC_ADDRESS(gl, BufferSubData);
|
||||
INSERT_PROC_ADDRESS(gl, CheckFramebufferStatus);
|
||||
INSERT_PROC_ADDRESS(gl, Clear);
|
||||
INSERT_PROC_ADDRESS(gl, ClearColor);
|
||||
INSERT_PROC_ADDRESS(gl, ClearDepthf);
|
||||
INSERT_PROC_ADDRESS(gl, ClearStencil);
|
||||
INSERT_PROC_ADDRESS(gl, ColorMask);
|
||||
INSERT_PROC_ADDRESS(gl, CompileShader);
|
||||
INSERT_PROC_ADDRESS(gl, CompressedTexImage2D);
|
||||
INSERT_PROC_ADDRESS(gl, CompressedTexSubImage2D);
|
||||
INSERT_PROC_ADDRESS(gl, CopyTexImage2D);
|
||||
INSERT_PROC_ADDRESS(gl, CopyTexSubImage2D);
|
||||
INSERT_PROC_ADDRESS(gl, CreateProgram);
|
||||
INSERT_PROC_ADDRESS(gl, CreateShader);
|
||||
INSERT_PROC_ADDRESS(gl, CullFace);
|
||||
INSERT_PROC_ADDRESS(gl, DeleteBuffers);
|
||||
INSERT_PROC_ADDRESS(gl, DeleteFramebuffers);
|
||||
INSERT_PROC_ADDRESS(gl, DeleteProgram);
|
||||
INSERT_PROC_ADDRESS(gl, DeleteRenderbuffers);
|
||||
INSERT_PROC_ADDRESS(gl, DeleteShader);
|
||||
INSERT_PROC_ADDRESS(gl, DeleteTextures);
|
||||
INSERT_PROC_ADDRESS(gl, DepthFunc);
|
||||
INSERT_PROC_ADDRESS(gl, DepthMask);
|
||||
INSERT_PROC_ADDRESS(gl, DepthRangef);
|
||||
INSERT_PROC_ADDRESS(gl, DetachShader);
|
||||
INSERT_PROC_ADDRESS(gl, Disable);
|
||||
INSERT_PROC_ADDRESS(gl, DisableVertexAttribArray);
|
||||
INSERT_PROC_ADDRESS(gl, DrawArrays);
|
||||
INSERT_PROC_ADDRESS(gl, DrawElements);
|
||||
INSERT_PROC_ADDRESS(gl, Enable);
|
||||
INSERT_PROC_ADDRESS(gl, EnableVertexAttribArray);
|
||||
INSERT_PROC_ADDRESS(gl, Finish);
|
||||
INSERT_PROC_ADDRESS(gl, Flush);
|
||||
INSERT_PROC_ADDRESS(gl, FramebufferRenderbuffer);
|
||||
INSERT_PROC_ADDRESS(gl, FramebufferTexture2D);
|
||||
INSERT_PROC_ADDRESS(gl, FrontFace);
|
||||
INSERT_PROC_ADDRESS(gl, GenBuffers);
|
||||
INSERT_PROC_ADDRESS(gl, GenerateMipmap);
|
||||
INSERT_PROC_ADDRESS(gl, GenFramebuffers);
|
||||
INSERT_PROC_ADDRESS(gl, GenRenderbuffers);
|
||||
INSERT_PROC_ADDRESS(gl, GenTextures);
|
||||
INSERT_PROC_ADDRESS(gl, GetActiveAttrib);
|
||||
INSERT_PROC_ADDRESS(gl, GetActiveUniform);
|
||||
INSERT_PROC_ADDRESS(gl, GetAttachedShaders);
|
||||
INSERT_PROC_ADDRESS(gl, GetAttribLocation);
|
||||
INSERT_PROC_ADDRESS(gl, GetBooleanv);
|
||||
INSERT_PROC_ADDRESS(gl, GetBufferParameteriv);
|
||||
INSERT_PROC_ADDRESS(gl, GetError);
|
||||
INSERT_PROC_ADDRESS(gl, GetFloatv);
|
||||
INSERT_PROC_ADDRESS(gl, GetFramebufferAttachmentParameteriv);
|
||||
INSERT_PROC_ADDRESS(gl, GetIntegerv);
|
||||
INSERT_PROC_ADDRESS(gl, GetProgramiv);
|
||||
INSERT_PROC_ADDRESS(gl, GetProgramInfoLog);
|
||||
INSERT_PROC_ADDRESS(gl, GetRenderbufferParameteriv);
|
||||
INSERT_PROC_ADDRESS(gl, GetShaderiv);
|
||||
INSERT_PROC_ADDRESS(gl, GetShaderInfoLog);
|
||||
INSERT_PROC_ADDRESS(gl, GetShaderPrecisionFormat);
|
||||
INSERT_PROC_ADDRESS(gl, GetShaderSource);
|
||||
INSERT_PROC_ADDRESS(gl, GetString);
|
||||
INSERT_PROC_ADDRESS(gl, GetTexParameterfv);
|
||||
INSERT_PROC_ADDRESS(gl, GetTexParameteriv);
|
||||
INSERT_PROC_ADDRESS(gl, GetUniformfv);
|
||||
INSERT_PROC_ADDRESS(gl, GetUniformiv);
|
||||
INSERT_PROC_ADDRESS(gl, GetUniformLocation);
|
||||
INSERT_PROC_ADDRESS(gl, GetVertexAttribfv);
|
||||
INSERT_PROC_ADDRESS(gl, GetVertexAttribiv);
|
||||
INSERT_PROC_ADDRESS(gl, GetVertexAttribPointerv);
|
||||
INSERT_PROC_ADDRESS(gl, Hint);
|
||||
INSERT_PROC_ADDRESS(gl, IsBuffer);
|
||||
INSERT_PROC_ADDRESS(gl, IsEnabled);
|
||||
INSERT_PROC_ADDRESS(gl, IsFramebuffer);
|
||||
INSERT_PROC_ADDRESS(gl, IsProgram);
|
||||
INSERT_PROC_ADDRESS(gl, IsRenderbuffer);
|
||||
INSERT_PROC_ADDRESS(gl, IsShader);
|
||||
INSERT_PROC_ADDRESS(gl, IsTexture);
|
||||
INSERT_PROC_ADDRESS(gl, LineWidth);
|
||||
INSERT_PROC_ADDRESS(gl, LinkProgram);
|
||||
INSERT_PROC_ADDRESS(gl, PixelStorei);
|
||||
INSERT_PROC_ADDRESS(gl, PolygonOffset);
|
||||
INSERT_PROC_ADDRESS(gl, ReadPixels);
|
||||
INSERT_PROC_ADDRESS(gl, ReleaseShaderCompiler);
|
||||
INSERT_PROC_ADDRESS(gl, RenderbufferStorage);
|
||||
INSERT_PROC_ADDRESS(gl, SampleCoverage);
|
||||
INSERT_PROC_ADDRESS(gl, Scissor);
|
||||
INSERT_PROC_ADDRESS(gl, ShaderBinary);
|
||||
INSERT_PROC_ADDRESS(gl, ShaderSource);
|
||||
INSERT_PROC_ADDRESS(gl, StencilFunc);
|
||||
INSERT_PROC_ADDRESS(gl, StencilFuncSeparate);
|
||||
INSERT_PROC_ADDRESS(gl, StencilMask);
|
||||
INSERT_PROC_ADDRESS(gl, StencilMaskSeparate);
|
||||
INSERT_PROC_ADDRESS(gl, StencilOp);
|
||||
INSERT_PROC_ADDRESS(gl, StencilOpSeparate);
|
||||
INSERT_PROC_ADDRESS(gl, TexImage2D);
|
||||
INSERT_PROC_ADDRESS(gl, TexParameterf);
|
||||
INSERT_PROC_ADDRESS(gl, TexParameterfv);
|
||||
INSERT_PROC_ADDRESS(gl, TexParameteri);
|
||||
INSERT_PROC_ADDRESS(gl, TexParameteriv);
|
||||
INSERT_PROC_ADDRESS(gl, TexSubImage2D);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform1f);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform1fv);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform1i);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform1iv);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform2f);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform2fv);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform2i);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform2iv);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform3f);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform3fv);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform3i);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform3iv);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform4f);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform4fv);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform4i);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform4iv);
|
||||
INSERT_PROC_ADDRESS(gl, UniformMatrix2fv);
|
||||
INSERT_PROC_ADDRESS(gl, UniformMatrix3fv);
|
||||
INSERT_PROC_ADDRESS(gl, UniformMatrix4fv);
|
||||
INSERT_PROC_ADDRESS(gl, UseProgram);
|
||||
INSERT_PROC_ADDRESS(gl, ValidateProgram);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttrib1f);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttrib1fv);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttrib2f);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttrib2fv);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttrib3f);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttrib3fv);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttrib4f);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttrib4fv);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttribPointer);
|
||||
INSERT_PROC_ADDRESS(gl, Viewport);
|
||||
|
||||
// GL_ANGLE_framebuffer_blit
|
||||
INSERT_PROC_ADDRESS(gl, BlitFramebufferANGLE);
|
||||
|
||||
// GL_ANGLE_framebuffer_multisample
|
||||
INSERT_PROC_ADDRESS(gl, RenderbufferStorageMultisampleANGLE);
|
||||
|
||||
// GL_EXT_discard_framebuffer
|
||||
INSERT_PROC_ADDRESS(gl, DiscardFramebufferEXT);
|
||||
|
||||
// GL_NV_fence
|
||||
INSERT_PROC_ADDRESS(gl, DeleteFencesNV);
|
||||
INSERT_PROC_ADDRESS(gl, GenFencesNV);
|
||||
INSERT_PROC_ADDRESS(gl, IsFenceNV);
|
||||
INSERT_PROC_ADDRESS(gl, TestFenceNV);
|
||||
INSERT_PROC_ADDRESS(gl, GetFenceivNV);
|
||||
INSERT_PROC_ADDRESS(gl, FinishFenceNV);
|
||||
INSERT_PROC_ADDRESS(gl, SetFenceNV);
|
||||
|
||||
// GL_ANGLE_translated_shader_source
|
||||
INSERT_PROC_ADDRESS(gl, GetTranslatedShaderSourceANGLE);
|
||||
|
||||
// GL_EXT_texture_storage
|
||||
INSERT_PROC_ADDRESS(gl, TexStorage2DEXT);
|
||||
|
||||
// GL_EXT_robustness
|
||||
INSERT_PROC_ADDRESS(gl, GetGraphicsResetStatusEXT);
|
||||
INSERT_PROC_ADDRESS(gl, ReadnPixelsEXT);
|
||||
INSERT_PROC_ADDRESS(gl, GetnUniformfvEXT);
|
||||
INSERT_PROC_ADDRESS(gl, GetnUniformivEXT);
|
||||
|
||||
// GL_EXT_occlusion_query_boolean
|
||||
INSERT_PROC_ADDRESS(gl, GenQueriesEXT);
|
||||
INSERT_PROC_ADDRESS(gl, DeleteQueriesEXT);
|
||||
INSERT_PROC_ADDRESS(gl, IsQueryEXT);
|
||||
INSERT_PROC_ADDRESS(gl, BeginQueryEXT);
|
||||
INSERT_PROC_ADDRESS(gl, EndQueryEXT);
|
||||
INSERT_PROC_ADDRESS(gl, GetQueryivEXT);
|
||||
INSERT_PROC_ADDRESS(gl, GetQueryObjectuivEXT);
|
||||
|
||||
// GL_EXT_disjoint_timer_query
|
||||
// Commented out functions are needed for GL_EXT_disjoint_timer_query
|
||||
// but are pulled in by GL_EXT_occlusion_query_boolean.
|
||||
// INSERT_PROC_ADDRESS(gl, GenQueriesEXT);
|
||||
// INSERT_PROC_ADDRESS(gl, DeleteQueriesEXT);
|
||||
// INSERT_PROC_ADDRESS(gl, IsQueryEXT);
|
||||
// INSERT_PROC_ADDRESS(gl, BeginQueryEXT);
|
||||
// INSERT_PROC_ADDRESS(gl, EndQueryEXT);
|
||||
INSERT_PROC_ADDRESS(gl, QueryCounterEXT);
|
||||
// INSERT_PROC_ADDRESS(gl, GetQueryivEXT);
|
||||
INSERT_PROC_ADDRESS(gl, GetQueryObjectivEXT);
|
||||
// INSERT_PROC_ADDRESS(gl, GetQueryObjectuivEXT);
|
||||
INSERT_PROC_ADDRESS(gl, GetQueryObjecti64vEXT);
|
||||
INSERT_PROC_ADDRESS(gl, GetQueryObjectui64vEXT);
|
||||
|
||||
// GL_EXT_draw_buffers
|
||||
INSERT_PROC_ADDRESS(gl, DrawBuffersEXT);
|
||||
|
||||
// GL_ANGLE_instanced_arrays
|
||||
INSERT_PROC_ADDRESS(gl, DrawArraysInstancedANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, DrawElementsInstancedANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttribDivisorANGLE);
|
||||
|
||||
// GL_OES_get_program_binary
|
||||
INSERT_PROC_ADDRESS(gl, GetProgramBinaryOES);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramBinaryOES);
|
||||
|
||||
// GL_OES_mapbuffer
|
||||
INSERT_PROC_ADDRESS(gl, MapBufferOES);
|
||||
INSERT_PROC_ADDRESS(gl, UnmapBufferOES);
|
||||
INSERT_PROC_ADDRESS(gl, GetBufferPointervOES);
|
||||
|
||||
// GL_EXT_map_buffer_range
|
||||
INSERT_PROC_ADDRESS(gl, MapBufferRangeEXT);
|
||||
INSERT_PROC_ADDRESS(gl, FlushMappedBufferRangeEXT);
|
||||
|
||||
// GL_EXT_debug_marker
|
||||
INSERT_PROC_ADDRESS(gl, InsertEventMarkerEXT);
|
||||
INSERT_PROC_ADDRESS(gl, PushGroupMarkerEXT);
|
||||
INSERT_PROC_ADDRESS(gl, PopGroupMarkerEXT);
|
||||
|
||||
// GL_OES_EGL_image
|
||||
INSERT_PROC_ADDRESS(gl, EGLImageTargetTexture2DOES);
|
||||
INSERT_PROC_ADDRESS(gl, EGLImageTargetRenderbufferStorageOES);
|
||||
|
||||
// GL_OES_vertex_array_object
|
||||
INSERT_PROC_ADDRESS(gl, BindVertexArrayOES);
|
||||
INSERT_PROC_ADDRESS(gl, DeleteVertexArraysOES);
|
||||
INSERT_PROC_ADDRESS(gl, GenVertexArraysOES);
|
||||
INSERT_PROC_ADDRESS(gl, IsVertexArrayOES);
|
||||
|
||||
// GL_KHR_debug
|
||||
INSERT_PROC_ADDRESS(gl, DebugMessageControlKHR);
|
||||
INSERT_PROC_ADDRESS(gl, DebugMessageInsertKHR);
|
||||
INSERT_PROC_ADDRESS(gl, DebugMessageCallbackKHR);
|
||||
INSERT_PROC_ADDRESS(gl, GetDebugMessageLogKHR);
|
||||
INSERT_PROC_ADDRESS(gl, PushDebugGroupKHR);
|
||||
INSERT_PROC_ADDRESS(gl, PopDebugGroupKHR);
|
||||
INSERT_PROC_ADDRESS(gl, ObjectLabelKHR);
|
||||
INSERT_PROC_ADDRESS(gl, GetObjectLabelKHR);
|
||||
INSERT_PROC_ADDRESS(gl, ObjectPtrLabelKHR);
|
||||
INSERT_PROC_ADDRESS(gl, GetObjectPtrLabelKHR);
|
||||
INSERT_PROC_ADDRESS(gl, GetPointervKHR);
|
||||
|
||||
// GL_CHROMIUM_bind_uniform_location
|
||||
INSERT_PROC_ADDRESS(gl, BindUniformLocationCHROMIUM);
|
||||
|
||||
// GL_CHROMIUM_copy_texture
|
||||
INSERT_PROC_ADDRESS(gl, CopyTextureCHROMIUM);
|
||||
INSERT_PROC_ADDRESS(gl, CopySubTextureCHROMIUM);
|
||||
|
||||
// GL_CHROMIUM_copy_compressed_texture
|
||||
INSERT_PROC_ADDRESS(gl, CompressedCopyTextureCHROMIUM);
|
||||
|
||||
// GL_ANGLE_request_extension
|
||||
INSERT_PROC_ADDRESS(gl, RequestExtensionANGLE);
|
||||
|
||||
// GL_ANGLE_robust_client_memory
|
||||
INSERT_PROC_ADDRESS(gl, GetBooleanvRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetBufferParameterivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetFloatvRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetFramebufferAttachmentParameterivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetIntegervRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetProgramivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetRenderbufferParameterivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetShaderivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetTexParameterfvRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetTexParameterivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetUniformfvRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetUniformivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetVertexAttribfvRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetVertexAttribivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetVertexAttribPointervRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, ReadPixelsRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, TexImage2DRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, TexParameterfvRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, TexParameterivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, TexSubImage2DRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, TexImage3DRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, TexSubImage3DRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, CompressedTexImage2DRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, CompressedTexSubImage2DRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, CompressedTexImage3DRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, CompressedTexSubImage3DRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetQueryivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetQueryObjectuivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetBufferPointervRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetIntegeri_vRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetInternalformativRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetVertexAttribIivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetVertexAttribIuivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetUniformuivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetActiveUniformBlockivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetInteger64vRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetInteger64i_vRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetBufferParameteri64vRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, SamplerParameterivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, SamplerParameterfvRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetSamplerParameterivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetSamplerParameterfvRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetFramebufferParameterivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetProgramInterfaceivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetBooleani_vRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetMultisamplefvRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetTexLevelParameterivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetTexLevelParameterfvRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetPointervRobustANGLERobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, ReadnPixelsRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetnUniformfvRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetnUniformivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetnUniformuivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, TexParameterIivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, TexParameterIuivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetTexParameterIivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetTexParameterIuivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, SamplerParameterIivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, SamplerParameterIuivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetSamplerParameterIivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetSamplerParameterIuivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetQueryObjectivRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetQueryObjecti64vRobustANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, GetQueryObjectui64vRobustANGLE);
|
||||
|
||||
// GL_ANGLE_multiview
|
||||
INSERT_PROC_ADDRESS(gl, FramebufferTextureMultiviewLayeredANGLE);
|
||||
INSERT_PROC_ADDRESS(gl, FramebufferTextureMultiviewSideBySideANGLE);
|
||||
|
||||
// GLES3 core
|
||||
INSERT_PROC_ADDRESS(gl, ReadBuffer);
|
||||
INSERT_PROC_ADDRESS(gl, DrawRangeElements);
|
||||
INSERT_PROC_ADDRESS(gl, TexImage3D);
|
||||
INSERT_PROC_ADDRESS(gl, TexSubImage3D);
|
||||
INSERT_PROC_ADDRESS(gl, CopyTexSubImage3D);
|
||||
INSERT_PROC_ADDRESS(gl, CompressedTexImage3D);
|
||||
INSERT_PROC_ADDRESS(gl, CompressedTexSubImage3D);
|
||||
INSERT_PROC_ADDRESS(gl, GenQueries);
|
||||
INSERT_PROC_ADDRESS(gl, DeleteQueries);
|
||||
INSERT_PROC_ADDRESS(gl, IsQuery);
|
||||
INSERT_PROC_ADDRESS(gl, BeginQuery);
|
||||
INSERT_PROC_ADDRESS(gl, EndQuery);
|
||||
INSERT_PROC_ADDRESS(gl, GetQueryiv);
|
||||
INSERT_PROC_ADDRESS(gl, GetQueryObjectuiv);
|
||||
INSERT_PROC_ADDRESS(gl, UnmapBuffer);
|
||||
INSERT_PROC_ADDRESS(gl, GetBufferPointerv);
|
||||
INSERT_PROC_ADDRESS(gl, DrawBuffers);
|
||||
INSERT_PROC_ADDRESS(gl, UniformMatrix2x3fv);
|
||||
INSERT_PROC_ADDRESS(gl, UniformMatrix3x2fv);
|
||||
INSERT_PROC_ADDRESS(gl, UniformMatrix2x4fv);
|
||||
INSERT_PROC_ADDRESS(gl, UniformMatrix4x2fv);
|
||||
INSERT_PROC_ADDRESS(gl, UniformMatrix3x4fv);
|
||||
INSERT_PROC_ADDRESS(gl, UniformMatrix4x3fv);
|
||||
INSERT_PROC_ADDRESS(gl, BlitFramebuffer);
|
||||
INSERT_PROC_ADDRESS(gl, RenderbufferStorageMultisample);
|
||||
INSERT_PROC_ADDRESS(gl, FramebufferTextureLayer);
|
||||
INSERT_PROC_ADDRESS(gl, MapBufferRange);
|
||||
INSERT_PROC_ADDRESS(gl, FlushMappedBufferRange);
|
||||
INSERT_PROC_ADDRESS(gl, BindVertexArray);
|
||||
INSERT_PROC_ADDRESS(gl, DeleteVertexArrays);
|
||||
INSERT_PROC_ADDRESS(gl, GenVertexArrays);
|
||||
INSERT_PROC_ADDRESS(gl, IsVertexArray);
|
||||
INSERT_PROC_ADDRESS(gl, GetIntegeri_v);
|
||||
INSERT_PROC_ADDRESS(gl, BeginTransformFeedback);
|
||||
INSERT_PROC_ADDRESS(gl, EndTransformFeedback);
|
||||
INSERT_PROC_ADDRESS(gl, BindBufferRange);
|
||||
INSERT_PROC_ADDRESS(gl, BindBufferBase);
|
||||
INSERT_PROC_ADDRESS(gl, TransformFeedbackVaryings);
|
||||
INSERT_PROC_ADDRESS(gl, GetTransformFeedbackVarying);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttribIPointer);
|
||||
INSERT_PROC_ADDRESS(gl, GetVertexAttribIiv);
|
||||
INSERT_PROC_ADDRESS(gl, GetVertexAttribIuiv);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttribI4i);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttribI4ui);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttribI4iv);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttribI4uiv);
|
||||
INSERT_PROC_ADDRESS(gl, GetUniformuiv);
|
||||
INSERT_PROC_ADDRESS(gl, GetFragDataLocation);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform1ui);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform2ui);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform3ui);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform4ui);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform1uiv);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform2uiv);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform3uiv);
|
||||
INSERT_PROC_ADDRESS(gl, Uniform4uiv);
|
||||
INSERT_PROC_ADDRESS(gl, ClearBufferiv);
|
||||
INSERT_PROC_ADDRESS(gl, ClearBufferuiv);
|
||||
INSERT_PROC_ADDRESS(gl, ClearBufferfv);
|
||||
INSERT_PROC_ADDRESS(gl, ClearBufferfi);
|
||||
INSERT_PROC_ADDRESS(gl, GetStringi);
|
||||
INSERT_PROC_ADDRESS(gl, CopyBufferSubData);
|
||||
INSERT_PROC_ADDRESS(gl, GetUniformIndices);
|
||||
INSERT_PROC_ADDRESS(gl, GetActiveUniformsiv);
|
||||
INSERT_PROC_ADDRESS(gl, GetUniformBlockIndex);
|
||||
INSERT_PROC_ADDRESS(gl, GetActiveUniformBlockiv);
|
||||
INSERT_PROC_ADDRESS(gl, GetActiveUniformBlockName);
|
||||
INSERT_PROC_ADDRESS(gl, UniformBlockBinding);
|
||||
INSERT_PROC_ADDRESS(gl, DrawArraysInstanced);
|
||||
INSERT_PROC_ADDRESS(gl, DrawElementsInstanced);
|
||||
INSERT_PROC_ADDRESS(gl, FenceSync);
|
||||
INSERT_PROC_ADDRESS(gl, IsSync);
|
||||
INSERT_PROC_ADDRESS(gl, DeleteSync);
|
||||
INSERT_PROC_ADDRESS(gl, ClientWaitSync);
|
||||
INSERT_PROC_ADDRESS(gl, WaitSync);
|
||||
INSERT_PROC_ADDRESS(gl, GetInteger64v);
|
||||
INSERT_PROC_ADDRESS(gl, GetSynciv);
|
||||
INSERT_PROC_ADDRESS(gl, GetInteger64i_v);
|
||||
INSERT_PROC_ADDRESS(gl, GetBufferParameteri64v);
|
||||
INSERT_PROC_ADDRESS(gl, GenSamplers);
|
||||
INSERT_PROC_ADDRESS(gl, DeleteSamplers);
|
||||
INSERT_PROC_ADDRESS(gl, IsSampler);
|
||||
INSERT_PROC_ADDRESS(gl, BindSampler);
|
||||
INSERT_PROC_ADDRESS(gl, SamplerParameteri);
|
||||
INSERT_PROC_ADDRESS(gl, SamplerParameteriv);
|
||||
INSERT_PROC_ADDRESS(gl, SamplerParameterf);
|
||||
INSERT_PROC_ADDRESS(gl, SamplerParameterfv);
|
||||
INSERT_PROC_ADDRESS(gl, GetSamplerParameteriv);
|
||||
INSERT_PROC_ADDRESS(gl, GetSamplerParameterfv);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttribDivisor);
|
||||
INSERT_PROC_ADDRESS(gl, BindTransformFeedback);
|
||||
INSERT_PROC_ADDRESS(gl, DeleteTransformFeedbacks);
|
||||
INSERT_PROC_ADDRESS(gl, GenTransformFeedbacks);
|
||||
INSERT_PROC_ADDRESS(gl, IsTransformFeedback);
|
||||
INSERT_PROC_ADDRESS(gl, PauseTransformFeedback);
|
||||
INSERT_PROC_ADDRESS(gl, ResumeTransformFeedback);
|
||||
INSERT_PROC_ADDRESS(gl, GetProgramBinary);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramBinary);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramParameteri);
|
||||
INSERT_PROC_ADDRESS(gl, InvalidateFramebuffer);
|
||||
INSERT_PROC_ADDRESS(gl, InvalidateSubFramebuffer);
|
||||
INSERT_PROC_ADDRESS(gl, TexStorage2D);
|
||||
INSERT_PROC_ADDRESS(gl, TexStorage3D);
|
||||
INSERT_PROC_ADDRESS(gl, GetInternalformativ);
|
||||
|
||||
// GLES31 core
|
||||
INSERT_PROC_ADDRESS(gl, DispatchCompute);
|
||||
INSERT_PROC_ADDRESS(gl, DispatchComputeIndirect);
|
||||
INSERT_PROC_ADDRESS(gl, DrawArraysIndirect);
|
||||
INSERT_PROC_ADDRESS(gl, DrawElementsIndirect);
|
||||
INSERT_PROC_ADDRESS(gl, FramebufferParameteri);
|
||||
INSERT_PROC_ADDRESS(gl, GetFramebufferParameteriv);
|
||||
INSERT_PROC_ADDRESS(gl, GetProgramInterfaceiv);
|
||||
INSERT_PROC_ADDRESS(gl, GetProgramResourceIndex);
|
||||
INSERT_PROC_ADDRESS(gl, GetProgramResourceName);
|
||||
INSERT_PROC_ADDRESS(gl, GetProgramResourceiv);
|
||||
INSERT_PROC_ADDRESS(gl, GetProgramResourceLocation);
|
||||
INSERT_PROC_ADDRESS(gl, UseProgramStages);
|
||||
INSERT_PROC_ADDRESS(gl, ActiveShaderProgram);
|
||||
INSERT_PROC_ADDRESS(gl, CreateShaderProgramv);
|
||||
INSERT_PROC_ADDRESS(gl, BindProgramPipeline);
|
||||
INSERT_PROC_ADDRESS(gl, DeleteProgramPipelines);
|
||||
INSERT_PROC_ADDRESS(gl, GenProgramPipelines);
|
||||
INSERT_PROC_ADDRESS(gl, IsProgramPipeline);
|
||||
INSERT_PROC_ADDRESS(gl, GetProgramPipelineiv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform1i);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform2i);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform3i);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform4i);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform1ui);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform2ui);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform3ui);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform4ui);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform1f);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform2f);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform3f);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform4f);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform1iv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform2iv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform3iv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform4iv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform1uiv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform2uiv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform3uiv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform4uiv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform1fv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform2fv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform3fv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniform4fv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix2fv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix3fv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix4fv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix2x3fv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix3x2fv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix2x4fv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix4x2fv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix3x4fv);
|
||||
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix4x3fv);
|
||||
INSERT_PROC_ADDRESS(gl, ValidateProgramPipeline);
|
||||
INSERT_PROC_ADDRESS(gl, GetProgramPipelineInfoLog);
|
||||
INSERT_PROC_ADDRESS(gl, BindImageTexture);
|
||||
INSERT_PROC_ADDRESS(gl, GetBooleani_v);
|
||||
INSERT_PROC_ADDRESS(gl, MemoryBarrier);
|
||||
INSERT_PROC_ADDRESS(gl, MemoryBarrierByRegion);
|
||||
INSERT_PROC_ADDRESS(gl, TexStorage2DMultisample);
|
||||
INSERT_PROC_ADDRESS(gl, GetMultisamplefv);
|
||||
INSERT_PROC_ADDRESS(gl, SampleMaski);
|
||||
INSERT_PROC_ADDRESS(gl, GetTexLevelParameteriv);
|
||||
INSERT_PROC_ADDRESS(gl, GetTexLevelParameterfv);
|
||||
INSERT_PROC_ADDRESS(gl, BindVertexBuffer);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttribFormat);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttribIFormat);
|
||||
INSERT_PROC_ADDRESS(gl, VertexAttribBinding);
|
||||
INSERT_PROC_ADDRESS(gl, VertexBindingDivisor);
|
||||
|
||||
// EGL 1.0
|
||||
INSERT_PROC_ADDRESS(egl, ChooseConfig);
|
||||
INSERT_PROC_ADDRESS(egl, CopyBuffers);
|
||||
INSERT_PROC_ADDRESS(egl, CreateContext);
|
||||
INSERT_PROC_ADDRESS(egl, CreatePbufferSurface);
|
||||
INSERT_PROC_ADDRESS(egl, CreatePixmapSurface);
|
||||
INSERT_PROC_ADDRESS(egl, CreateWindowSurface);
|
||||
INSERT_PROC_ADDRESS(egl, DestroyContext);
|
||||
INSERT_PROC_ADDRESS(egl, DestroySurface);
|
||||
INSERT_PROC_ADDRESS(egl, GetConfigAttrib);
|
||||
INSERT_PROC_ADDRESS(egl, GetConfigs);
|
||||
INSERT_PROC_ADDRESS(egl, GetCurrentDisplay);
|
||||
INSERT_PROC_ADDRESS(egl, GetCurrentSurface);
|
||||
INSERT_PROC_ADDRESS(egl, GetDisplay);
|
||||
INSERT_PROC_ADDRESS(egl, GetError);
|
||||
INSERT_PROC_ADDRESS(egl, GetProcAddress);
|
||||
INSERT_PROC_ADDRESS(egl, Initialize);
|
||||
INSERT_PROC_ADDRESS(egl, MakeCurrent);
|
||||
INSERT_PROC_ADDRESS(egl, QueryContext);
|
||||
INSERT_PROC_ADDRESS(egl, QueryString);
|
||||
INSERT_PROC_ADDRESS(egl, QuerySurface);
|
||||
INSERT_PROC_ADDRESS(egl, SwapBuffers);
|
||||
INSERT_PROC_ADDRESS(egl, Terminate);
|
||||
INSERT_PROC_ADDRESS(egl, WaitGL);
|
||||
INSERT_PROC_ADDRESS(egl, WaitNative);
|
||||
|
||||
// EGL 1.1
|
||||
INSERT_PROC_ADDRESS(egl, BindTexImage);
|
||||
INSERT_PROC_ADDRESS(egl, ReleaseTexImage);
|
||||
INSERT_PROC_ADDRESS(egl, SurfaceAttrib);
|
||||
INSERT_PROC_ADDRESS(egl, SwapInterval);
|
||||
|
||||
// EGL 1.2
|
||||
INSERT_PROC_ADDRESS(egl, BindAPI);
|
||||
INSERT_PROC_ADDRESS(egl, QueryAPI);
|
||||
INSERT_PROC_ADDRESS(egl, CreatePbufferFromClientBuffer);
|
||||
INSERT_PROC_ADDRESS(egl, ReleaseThread);
|
||||
INSERT_PROC_ADDRESS(egl, WaitClient);
|
||||
|
||||
// EGL 1.4
|
||||
INSERT_PROC_ADDRESS(egl, GetCurrentContext);
|
||||
|
||||
// EGL 1.5
|
||||
INSERT_PROC_ADDRESS(egl, CreateSync);
|
||||
INSERT_PROC_ADDRESS(egl, DestroySync);
|
||||
INSERT_PROC_ADDRESS(egl, ClientWaitSync);
|
||||
INSERT_PROC_ADDRESS(egl, GetSyncAttrib);
|
||||
INSERT_PROC_ADDRESS(egl, CreateImage);
|
||||
INSERT_PROC_ADDRESS(egl, DestroyImage);
|
||||
INSERT_PROC_ADDRESS(egl, GetPlatformDisplay);
|
||||
INSERT_PROC_ADDRESS(egl, CreatePlatformWindowSurface);
|
||||
INSERT_PROC_ADDRESS(egl, CreatePlatformPixmapSurface);
|
||||
INSERT_PROC_ADDRESS(egl, WaitSync);
|
||||
|
||||
// EGL_ANGLE_query_surface_pointer
|
||||
INSERT_PROC_ADDRESS(egl, QuerySurfacePointerANGLE);
|
||||
|
||||
// EGL_NV_post_sub_buffer
|
||||
INSERT_PROC_ADDRESS(egl, PostSubBufferNV);
|
||||
|
||||
// EGL_EXT_platform_base
|
||||
INSERT_PROC_ADDRESS(egl, GetPlatformDisplayEXT);
|
||||
|
||||
// EGL_EXT_device_query
|
||||
INSERT_PROC_ADDRESS(egl, QueryDisplayAttribEXT);
|
||||
INSERT_PROC_ADDRESS(egl, QueryDeviceAttribEXT);
|
||||
INSERT_PROC_ADDRESS(egl, QueryDeviceStringEXT);
|
||||
|
||||
// EGL_KHR_image_base/EGL_KHR_image
|
||||
INSERT_PROC_ADDRESS(egl, CreateImageKHR);
|
||||
INSERT_PROC_ADDRESS(egl, DestroyImageKHR);
|
||||
|
||||
// EGL_EXT_device_creation
|
||||
INSERT_PROC_ADDRESS(egl, CreateDeviceANGLE);
|
||||
INSERT_PROC_ADDRESS(egl, ReleaseDeviceANGLE);
|
||||
|
||||
// EGL_KHR_stream
|
||||
INSERT_PROC_ADDRESS(egl, CreateStreamKHR);
|
||||
INSERT_PROC_ADDRESS(egl, DestroyStreamKHR);
|
||||
INSERT_PROC_ADDRESS(egl, StreamAttribKHR);
|
||||
INSERT_PROC_ADDRESS(egl, QueryStreamKHR);
|
||||
INSERT_PROC_ADDRESS(egl, QueryStreamu64KHR);
|
||||
|
||||
// EGL_KHR_stream_consumer_gltexture
|
||||
INSERT_PROC_ADDRESS(egl, StreamConsumerGLTextureExternalKHR);
|
||||
INSERT_PROC_ADDRESS(egl, StreamConsumerAcquireKHR);
|
||||
INSERT_PROC_ADDRESS(egl, StreamConsumerReleaseKHR);
|
||||
|
||||
// EGL_NV_stream_consumer_gltexture_yuv
|
||||
INSERT_PROC_ADDRESS(egl, StreamConsumerGLTextureExternalAttribsNV);
|
||||
|
||||
// EGL_ANGLE_stream_producer_d3d_texture_nv12
|
||||
INSERT_PROC_ADDRESS(egl, CreateStreamProducerD3DTextureNV12ANGLE);
|
||||
INSERT_PROC_ADDRESS(egl, StreamPostD3DTextureNV12ANGLE);
|
||||
|
||||
// EGL_CHROMIUM_get_sync_values
|
||||
INSERT_PROC_ADDRESS(egl, GetSyncValuesCHROMIUM);
|
||||
|
||||
// EGL_EXT_swap_buffers_with_damage
|
||||
INSERT_PROC_ADDRESS(egl, SwapBuffersWithDamageEXT);
|
||||
|
||||
// EGL_ANGLE_program_cache_control
|
||||
INSERT_PROC_ADDRESS(egl, ProgramCacheGetAttribANGLE);
|
||||
INSERT_PROC_ADDRESS(egl, ProgramCacheQueryANGLE);
|
||||
INSERT_PROC_ADDRESS(egl, ProgramCachePopulateANGLE);
|
||||
INSERT_PROC_ADDRESS(egl, ProgramCacheResizeANGLE);
|
||||
|
||||
// angle::Platform related entry points
|
||||
INSERT_PROC_ADDRESS_NO_NS("ANGLEGetDisplayPlatform", ANGLEGetDisplayPlatform);
|
||||
INSERT_PROC_ADDRESS_NO_NS("ANGLEResetDisplayPlatform", ANGLEResetDisplayPlatform);
|
||||
|
||||
#undef INSERT_PROC_ADDRESS
|
||||
#undef INSERT_PROC_ADDRESS_NO_NS
|
||||
|
||||
return map;
|
||||
};
|
||||
|
||||
static const ProcAddressMap procAddressMap = generateProcAddressMap();
|
||||
ProcEntry *entry =
|
||||
std::lower_bound(&g_procTable[0], &g_procTable[g_numProcs], procname, CompareProc);
|
||||
|
||||
thread->setError(NoError());
|
||||
auto iter = procAddressMap.find(procname);
|
||||
return iter != procAddressMap.end() ? iter->second : nullptr;
|
||||
|
||||
if (entry == &g_procTable[g_numProcs] || strcmp(entry->first, procname) != 0)
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return entry->second;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,77 @@
|
|||
#!/usr/bin/python
|
||||
# Copyright 2017 The ANGLE Project Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
#
|
||||
# gen_proc_table.py:
|
||||
# Code generation for entry point loading tables.
|
||||
|
||||
# TODO(jmadill): Should be part of entry point generation.
|
||||
|
||||
import sys
|
||||
from datetime import date
|
||||
|
||||
data_source_name = "proc_table_data.json"
|
||||
out_file_name = "proc_table_autogen.cpp"
|
||||
|
||||
template_cpp = """// GENERATED FILE - DO NOT EDIT.
|
||||
// Generated by {script_name} using data from {data_source_name}.
|
||||
//
|
||||
// Copyright {copyright_year} The ANGLE Project Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
// getProcAddress loader table:
|
||||
// Mapping from a string entry point name to function address.
|
||||
//
|
||||
|
||||
#include "libGLESv2/proc_table.h"
|
||||
|
||||
#include "libGLESv2/entry_points_egl.h"
|
||||
#include "libGLESv2/entry_points_egl_ext.h"
|
||||
#include "libGLESv2/entry_points_gles_2_0_autogen.h"
|
||||
#include "libGLESv2/entry_points_gles_2_0_ext.h"
|
||||
#include "libGLESv2/entry_points_gles_3_0_autogen.h"
|
||||
#include "libGLESv2/entry_points_gles_3_1.h"
|
||||
#include "platform/Platform.h"
|
||||
|
||||
#define P(FUNC) reinterpret_cast<__eglMustCastToProperFunctionPointerType>(FUNC)
|
||||
|
||||
namespace egl
|
||||
{{
|
||||
ProcEntry g_procTable[] = {{
|
||||
{proc_data}
|
||||
}};
|
||||
|
||||
size_t g_numProcs = {num_procs};
|
||||
}} // namespace egl
|
||||
"""
|
||||
|
||||
sys.path.append('../libANGLE/renderer')
|
||||
import angle_format
|
||||
|
||||
json_data = angle_format.load_json(data_source_name)
|
||||
|
||||
all_functions = {}
|
||||
|
||||
for description, functions in json_data.iteritems():
|
||||
for function in functions:
|
||||
if function.startswith("gl"):
|
||||
all_functions[function] = "gl::" + function[2:]
|
||||
elif function.startswith("egl"):
|
||||
all_functions[function] = "egl::" + function[3:]
|
||||
else:
|
||||
all_functions[function] = function
|
||||
|
||||
proc_data = [(' {"%s", P(%s)}' % (func, angle_func)) for func, angle_func in sorted(all_functions.iteritems())]
|
||||
|
||||
with open(out_file_name, 'wt') as out_file:
|
||||
output_cpp = template_cpp.format(
|
||||
script_name = sys.argv[0],
|
||||
data_source_name = data_source_name,
|
||||
copyright_year = date.today().year,
|
||||
proc_data = ",\n".join(proc_data),
|
||||
num_procs = len(proc_data))
|
||||
out_file.write(output_cpp)
|
||||
out_file.close()
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
//
|
||||
// Copyright 2017 The ANGLE Project Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
// getProcAddress loader table:
|
||||
// Mapping from a string entry point name to function address.
|
||||
//
|
||||
|
||||
#ifndef LIBGLESV2_PROC_TABLE_H_
|
||||
#define LIBGLESV2_PROC_TABLE_H_
|
||||
|
||||
#include <EGL/egl.h>
|
||||
#include <utility>
|
||||
|
||||
namespace egl
|
||||
{
|
||||
using ProcEntry = std::pair<const char *, __eglMustCastToProperFunctionPointerType>;
|
||||
|
||||
extern ProcEntry g_procTable[];
|
||||
extern size_t g_numProcs;
|
||||
} // namespace egl
|
||||
|
||||
#endif // LIBGLESV2_PROC_TABLE_H_
|
|
@ -0,0 +1,548 @@
|
|||
// GENERATED FILE - DO NOT EDIT.
|
||||
// Generated by gen_proc_table.py using data from proc_table_data.json.
|
||||
//
|
||||
// Copyright 2017 The ANGLE Project Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
// getProcAddress loader table:
|
||||
// Mapping from a string entry point name to function address.
|
||||
//
|
||||
|
||||
#include "libGLESv2/proc_table.h"
|
||||
|
||||
#include "libGLESv2/entry_points_egl.h"
|
||||
#include "libGLESv2/entry_points_egl_ext.h"
|
||||
#include "libGLESv2/entry_points_gles_2_0_autogen.h"
|
||||
#include "libGLESv2/entry_points_gles_2_0_ext.h"
|
||||
#include "libGLESv2/entry_points_gles_3_0_autogen.h"
|
||||
#include "libGLESv2/entry_points_gles_3_1.h"
|
||||
#include "platform/Platform.h"
|
||||
|
||||
#define P(FUNC) reinterpret_cast<__eglMustCastToProperFunctionPointerType>(FUNC)
|
||||
|
||||
namespace egl
|
||||
{
|
||||
ProcEntry g_procTable[] = {
|
||||
{"ANGLEGetDisplayPlatform", P(ANGLEGetDisplayPlatform)},
|
||||
{"ANGLEResetDisplayPlatform", P(ANGLEResetDisplayPlatform)},
|
||||
{"eglBindAPI", P(egl::BindAPI)},
|
||||
{"eglBindTexImage", P(egl::BindTexImage)},
|
||||
{"eglChooseConfig", P(egl::ChooseConfig)},
|
||||
{"eglClientWaitSync", P(egl::ClientWaitSync)},
|
||||
{"eglCopyBuffers", P(egl::CopyBuffers)},
|
||||
{"eglCreateContext", P(egl::CreateContext)},
|
||||
{"eglCreateDeviceANGLE", P(egl::CreateDeviceANGLE)},
|
||||
{"eglCreateImage", P(egl::CreateImage)},
|
||||
{"eglCreateImageKHR", P(egl::CreateImageKHR)},
|
||||
{"eglCreatePbufferFromClientBuffer", P(egl::CreatePbufferFromClientBuffer)},
|
||||
{"eglCreatePbufferSurface", P(egl::CreatePbufferSurface)},
|
||||
{"eglCreatePixmapSurface", P(egl::CreatePixmapSurface)},
|
||||
{"eglCreatePlatformPixmapSurface", P(egl::CreatePlatformPixmapSurface)},
|
||||
{"eglCreatePlatformWindowSurface", P(egl::CreatePlatformWindowSurface)},
|
||||
{"eglCreateStreamKHR", P(egl::CreateStreamKHR)},
|
||||
{"eglCreateStreamProducerD3DTextureNV12ANGLE", P(egl::CreateStreamProducerD3DTextureNV12ANGLE)},
|
||||
{"eglCreateSync", P(egl::CreateSync)},
|
||||
{"eglCreateWindowSurface", P(egl::CreateWindowSurface)},
|
||||
{"eglDestroyContext", P(egl::DestroyContext)},
|
||||
{"eglDestroyImage", P(egl::DestroyImage)},
|
||||
{"eglDestroyImageKHR", P(egl::DestroyImageKHR)},
|
||||
{"eglDestroyStreamKHR", P(egl::DestroyStreamKHR)},
|
||||
{"eglDestroySurface", P(egl::DestroySurface)},
|
||||
{"eglDestroySync", P(egl::DestroySync)},
|
||||
{"eglGetConfigAttrib", P(egl::GetConfigAttrib)},
|
||||
{"eglGetConfigs", P(egl::GetConfigs)},
|
||||
{"eglGetCurrentContext", P(egl::GetCurrentContext)},
|
||||
{"eglGetCurrentDisplay", P(egl::GetCurrentDisplay)},
|
||||
{"eglGetCurrentSurface", P(egl::GetCurrentSurface)},
|
||||
{"eglGetDisplay", P(egl::GetDisplay)},
|
||||
{"eglGetError", P(egl::GetError)},
|
||||
{"eglGetPlatformDisplay", P(egl::GetPlatformDisplay)},
|
||||
{"eglGetPlatformDisplayEXT", P(egl::GetPlatformDisplayEXT)},
|
||||
{"eglGetProcAddress", P(egl::GetProcAddress)},
|
||||
{"eglGetSyncAttrib", P(egl::GetSyncAttrib)},
|
||||
{"eglGetSyncValuesCHROMIUM", P(egl::GetSyncValuesCHROMIUM)},
|
||||
{"eglInitialize", P(egl::Initialize)},
|
||||
{"eglMakeCurrent", P(egl::MakeCurrent)},
|
||||
{"eglPostSubBufferNV", P(egl::PostSubBufferNV)},
|
||||
{"eglProgramCacheGetAttribANGLE", P(egl::ProgramCacheGetAttribANGLE)},
|
||||
{"eglProgramCachePopulateANGLE", P(egl::ProgramCachePopulateANGLE)},
|
||||
{"eglProgramCacheQueryANGLE", P(egl::ProgramCacheQueryANGLE)},
|
||||
{"eglProgramCacheResizeANGLE", P(egl::ProgramCacheResizeANGLE)},
|
||||
{"eglQueryAPI", P(egl::QueryAPI)},
|
||||
{"eglQueryContext", P(egl::QueryContext)},
|
||||
{"eglQueryDeviceAttribEXT", P(egl::QueryDeviceAttribEXT)},
|
||||
{"eglQueryDeviceStringEXT", P(egl::QueryDeviceStringEXT)},
|
||||
{"eglQueryDisplayAttribEXT", P(egl::QueryDisplayAttribEXT)},
|
||||
{"eglQueryStreamKHR", P(egl::QueryStreamKHR)},
|
||||
{"eglQueryStreamu64KHR", P(egl::QueryStreamu64KHR)},
|
||||
{"eglQueryString", P(egl::QueryString)},
|
||||
{"eglQuerySurface", P(egl::QuerySurface)},
|
||||
{"eglQuerySurfacePointerANGLE", P(egl::QuerySurfacePointerANGLE)},
|
||||
{"eglReleaseDeviceANGLE", P(egl::ReleaseDeviceANGLE)},
|
||||
{"eglReleaseTexImage", P(egl::ReleaseTexImage)},
|
||||
{"eglReleaseThread", P(egl::ReleaseThread)},
|
||||
{"eglStreamAttribKHR", P(egl::StreamAttribKHR)},
|
||||
{"eglStreamConsumerAcquireKHR", P(egl::StreamConsumerAcquireKHR)},
|
||||
{"eglStreamConsumerGLTextureExternalAttribsNV",
|
||||
P(egl::StreamConsumerGLTextureExternalAttribsNV)},
|
||||
{"eglStreamConsumerGLTextureExternalKHR", P(egl::StreamConsumerGLTextureExternalKHR)},
|
||||
{"eglStreamConsumerReleaseKHR", P(egl::StreamConsumerReleaseKHR)},
|
||||
{"eglStreamPostD3DTextureNV12ANGLE", P(egl::StreamPostD3DTextureNV12ANGLE)},
|
||||
{"eglSurfaceAttrib", P(egl::SurfaceAttrib)},
|
||||
{"eglSwapBuffers", P(egl::SwapBuffers)},
|
||||
{"eglSwapBuffersWithDamageEXT", P(egl::SwapBuffersWithDamageEXT)},
|
||||
{"eglSwapInterval", P(egl::SwapInterval)},
|
||||
{"eglTerminate", P(egl::Terminate)},
|
||||
{"eglWaitClient", P(egl::WaitClient)},
|
||||
{"eglWaitGL", P(egl::WaitGL)},
|
||||
{"eglWaitNative", P(egl::WaitNative)},
|
||||
{"eglWaitSync", P(egl::WaitSync)},
|
||||
{"glActiveShaderProgram", P(gl::ActiveShaderProgram)},
|
||||
{"glActiveTexture", P(gl::ActiveTexture)},
|
||||
{"glAttachShader", P(gl::AttachShader)},
|
||||
{"glBeginQuery", P(gl::BeginQuery)},
|
||||
{"glBeginQueryEXT", P(gl::BeginQueryEXT)},
|
||||
{"glBeginTransformFeedback", P(gl::BeginTransformFeedback)},
|
||||
{"glBindAttribLocation", P(gl::BindAttribLocation)},
|
||||
{"glBindBuffer", P(gl::BindBuffer)},
|
||||
{"glBindBufferBase", P(gl::BindBufferBase)},
|
||||
{"glBindBufferRange", P(gl::BindBufferRange)},
|
||||
{"glBindFramebuffer", P(gl::BindFramebuffer)},
|
||||
{"glBindImageTexture", P(gl::BindImageTexture)},
|
||||
{"glBindProgramPipeline", P(gl::BindProgramPipeline)},
|
||||
{"glBindRenderbuffer", P(gl::BindRenderbuffer)},
|
||||
{"glBindSampler", P(gl::BindSampler)},
|
||||
{"glBindTexture", P(gl::BindTexture)},
|
||||
{"glBindTransformFeedback", P(gl::BindTransformFeedback)},
|
||||
{"glBindUniformLocationCHROMIUM", P(gl::BindUniformLocationCHROMIUM)},
|
||||
{"glBindVertexArray", P(gl::BindVertexArray)},
|
||||
{"glBindVertexArrayOES", P(gl::BindVertexArrayOES)},
|
||||
{"glBindVertexBuffer", P(gl::BindVertexBuffer)},
|
||||
{"glBlendColor", P(gl::BlendColor)},
|
||||
{"glBlendEquation", P(gl::BlendEquation)},
|
||||
{"glBlendEquationSeparate", P(gl::BlendEquationSeparate)},
|
||||
{"glBlendFunc", P(gl::BlendFunc)},
|
||||
{"glBlendFuncSeparate", P(gl::BlendFuncSeparate)},
|
||||
{"glBlitFramebuffer", P(gl::BlitFramebuffer)},
|
||||
{"glBlitFramebufferANGLE", P(gl::BlitFramebufferANGLE)},
|
||||
{"glBufferData", P(gl::BufferData)},
|
||||
{"glBufferSubData", P(gl::BufferSubData)},
|
||||
{"glCheckFramebufferStatus", P(gl::CheckFramebufferStatus)},
|
||||
{"glClear", P(gl::Clear)},
|
||||
{"glClearBufferfi", P(gl::ClearBufferfi)},
|
||||
{"glClearBufferfv", P(gl::ClearBufferfv)},
|
||||
{"glClearBufferiv", P(gl::ClearBufferiv)},
|
||||
{"glClearBufferuiv", P(gl::ClearBufferuiv)},
|
||||
{"glClearColor", P(gl::ClearColor)},
|
||||
{"glClearDepthf", P(gl::ClearDepthf)},
|
||||
{"glClearStencil", P(gl::ClearStencil)},
|
||||
{"glClientWaitSync", P(gl::ClientWaitSync)},
|
||||
{"glColorMask", P(gl::ColorMask)},
|
||||
{"glCompileShader", P(gl::CompileShader)},
|
||||
{"glCompressedCopyTextureCHROMIUM", P(gl::CompressedCopyTextureCHROMIUM)},
|
||||
{"glCompressedTexImage2D", P(gl::CompressedTexImage2D)},
|
||||
{"glCompressedTexImage2DRobustANGLE", P(gl::CompressedTexImage2DRobustANGLE)},
|
||||
{"glCompressedTexImage3D", P(gl::CompressedTexImage3D)},
|
||||
{"glCompressedTexImage3DRobustANGLE", P(gl::CompressedTexImage3DRobustANGLE)},
|
||||
{"glCompressedTexSubImage2D", P(gl::CompressedTexSubImage2D)},
|
||||
{"glCompressedTexSubImage2DRobustANGLE", P(gl::CompressedTexSubImage2DRobustANGLE)},
|
||||
{"glCompressedTexSubImage3D", P(gl::CompressedTexSubImage3D)},
|
||||
{"glCompressedTexSubImage3DRobustANGLE", P(gl::CompressedTexSubImage3DRobustANGLE)},
|
||||
{"glCopyBufferSubData", P(gl::CopyBufferSubData)},
|
||||
{"glCopySubTextureCHROMIUM", P(gl::CopySubTextureCHROMIUM)},
|
||||
{"glCopyTexImage2D", P(gl::CopyTexImage2D)},
|
||||
{"glCopyTexSubImage2D", P(gl::CopyTexSubImage2D)},
|
||||
{"glCopyTexSubImage3D", P(gl::CopyTexSubImage3D)},
|
||||
{"glCopyTextureCHROMIUM", P(gl::CopyTextureCHROMIUM)},
|
||||
{"glCreateProgram", P(gl::CreateProgram)},
|
||||
{"glCreateShader", P(gl::CreateShader)},
|
||||
{"glCreateShaderProgramv", P(gl::CreateShaderProgramv)},
|
||||
{"glCullFace", P(gl::CullFace)},
|
||||
{"glDebugMessageCallbackKHR", P(gl::DebugMessageCallbackKHR)},
|
||||
{"glDebugMessageControlKHR", P(gl::DebugMessageControlKHR)},
|
||||
{"glDebugMessageInsertKHR", P(gl::DebugMessageInsertKHR)},
|
||||
{"glDeleteBuffers", P(gl::DeleteBuffers)},
|
||||
{"glDeleteFencesNV", P(gl::DeleteFencesNV)},
|
||||
{"glDeleteFramebuffers", P(gl::DeleteFramebuffers)},
|
||||
{"glDeleteProgram", P(gl::DeleteProgram)},
|
||||
{"glDeleteProgramPipelines", P(gl::DeleteProgramPipelines)},
|
||||
{"glDeleteQueries", P(gl::DeleteQueries)},
|
||||
{"glDeleteQueriesEXT", P(gl::DeleteQueriesEXT)},
|
||||
{"glDeleteRenderbuffers", P(gl::DeleteRenderbuffers)},
|
||||
{"glDeleteSamplers", P(gl::DeleteSamplers)},
|
||||
{"glDeleteShader", P(gl::DeleteShader)},
|
||||
{"glDeleteSync", P(gl::DeleteSync)},
|
||||
{"glDeleteTextures", P(gl::DeleteTextures)},
|
||||
{"glDeleteTransformFeedbacks", P(gl::DeleteTransformFeedbacks)},
|
||||
{"glDeleteVertexArrays", P(gl::DeleteVertexArrays)},
|
||||
{"glDeleteVertexArraysOES", P(gl::DeleteVertexArraysOES)},
|
||||
{"glDepthFunc", P(gl::DepthFunc)},
|
||||
{"glDepthMask", P(gl::DepthMask)},
|
||||
{"glDepthRangef", P(gl::DepthRangef)},
|
||||
{"glDetachShader", P(gl::DetachShader)},
|
||||
{"glDisable", P(gl::Disable)},
|
||||
{"glDisableVertexAttribArray", P(gl::DisableVertexAttribArray)},
|
||||
{"glDiscardFramebufferEXT", P(gl::DiscardFramebufferEXT)},
|
||||
{"glDispatchCompute", P(gl::DispatchCompute)},
|
||||
{"glDispatchComputeIndirect", P(gl::DispatchComputeIndirect)},
|
||||
{"glDrawArrays", P(gl::DrawArrays)},
|
||||
{"glDrawArraysIndirect", P(gl::DrawArraysIndirect)},
|
||||
{"glDrawArraysInstanced", P(gl::DrawArraysInstanced)},
|
||||
{"glDrawArraysInstancedANGLE", P(gl::DrawArraysInstancedANGLE)},
|
||||
{"glDrawBuffers", P(gl::DrawBuffers)},
|
||||
{"glDrawBuffersEXT", P(gl::DrawBuffersEXT)},
|
||||
{"glDrawElements", P(gl::DrawElements)},
|
||||
{"glDrawElementsIndirect", P(gl::DrawElementsIndirect)},
|
||||
{"glDrawElementsInstanced", P(gl::DrawElementsInstanced)},
|
||||
{"glDrawElementsInstancedANGLE", P(gl::DrawElementsInstancedANGLE)},
|
||||
{"glDrawRangeElements", P(gl::DrawRangeElements)},
|
||||
{"glEGLImageTargetRenderbufferStorageOES", P(gl::EGLImageTargetRenderbufferStorageOES)},
|
||||
{"glEGLImageTargetTexture2DOES", P(gl::EGLImageTargetTexture2DOES)},
|
||||
{"glEnable", P(gl::Enable)},
|
||||
{"glEnableVertexAttribArray", P(gl::EnableVertexAttribArray)},
|
||||
{"glEndQuery", P(gl::EndQuery)},
|
||||
{"glEndQueryEXT", P(gl::EndQueryEXT)},
|
||||
{"glEndTransformFeedback", P(gl::EndTransformFeedback)},
|
||||
{"glFenceSync", P(gl::FenceSync)},
|
||||
{"glFinish", P(gl::Finish)},
|
||||
{"glFinishFenceNV", P(gl::FinishFenceNV)},
|
||||
{"glFlush", P(gl::Flush)},
|
||||
{"glFlushMappedBufferRange", P(gl::FlushMappedBufferRange)},
|
||||
{"glFlushMappedBufferRangeEXT", P(gl::FlushMappedBufferRangeEXT)},
|
||||
{"glFramebufferParameteri", P(gl::FramebufferParameteri)},
|
||||
{"glFramebufferRenderbuffer", P(gl::FramebufferRenderbuffer)},
|
||||
{"glFramebufferTexture2D", P(gl::FramebufferTexture2D)},
|
||||
{"glFramebufferTextureLayer", P(gl::FramebufferTextureLayer)},
|
||||
{"glFramebufferTextureMultiviewLayeredANGLE", P(gl::FramebufferTextureMultiviewLayeredANGLE)},
|
||||
{"glFramebufferTextureMultiviewSideBySideANGLE",
|
||||
P(gl::FramebufferTextureMultiviewSideBySideANGLE)},
|
||||
{"glFrontFace", P(gl::FrontFace)},
|
||||
{"glGenBuffers", P(gl::GenBuffers)},
|
||||
{"glGenFencesNV", P(gl::GenFencesNV)},
|
||||
{"glGenFramebuffers", P(gl::GenFramebuffers)},
|
||||
{"glGenProgramPipelines", P(gl::GenProgramPipelines)},
|
||||
{"glGenQueries", P(gl::GenQueries)},
|
||||
{"glGenQueriesEXT", P(gl::GenQueriesEXT)},
|
||||
{"glGenRenderbuffers", P(gl::GenRenderbuffers)},
|
||||
{"glGenSamplers", P(gl::GenSamplers)},
|
||||
{"glGenTextures", P(gl::GenTextures)},
|
||||
{"glGenTransformFeedbacks", P(gl::GenTransformFeedbacks)},
|
||||
{"glGenVertexArrays", P(gl::GenVertexArrays)},
|
||||
{"glGenVertexArraysOES", P(gl::GenVertexArraysOES)},
|
||||
{"glGenerateMipmap", P(gl::GenerateMipmap)},
|
||||
{"glGetActiveAttrib", P(gl::GetActiveAttrib)},
|
||||
{"glGetActiveUniform", P(gl::GetActiveUniform)},
|
||||
{"glGetActiveUniformBlockName", P(gl::GetActiveUniformBlockName)},
|
||||
{"glGetActiveUniformBlockiv", P(gl::GetActiveUniformBlockiv)},
|
||||
{"glGetActiveUniformBlockivRobustANGLE", P(gl::GetActiveUniformBlockivRobustANGLE)},
|
||||
{"glGetActiveUniformsiv", P(gl::GetActiveUniformsiv)},
|
||||
{"glGetAttachedShaders", P(gl::GetAttachedShaders)},
|
||||
{"glGetAttribLocation", P(gl::GetAttribLocation)},
|
||||
{"glGetBooleani_v", P(gl::GetBooleani_v)},
|
||||
{"glGetBooleani_vRobustANGLE", P(gl::GetBooleani_vRobustANGLE)},
|
||||
{"glGetBooleanv", P(gl::GetBooleanv)},
|
||||
{"glGetBooleanvRobustANGLE", P(gl::GetBooleanvRobustANGLE)},
|
||||
{"glGetBufferParameteri64v", P(gl::GetBufferParameteri64v)},
|
||||
{"glGetBufferParameteri64vRobustANGLE", P(gl::GetBufferParameteri64vRobustANGLE)},
|
||||
{"glGetBufferParameteriv", P(gl::GetBufferParameteriv)},
|
||||
{"glGetBufferParameterivRobustANGLE", P(gl::GetBufferParameterivRobustANGLE)},
|
||||
{"glGetBufferPointerv", P(gl::GetBufferPointerv)},
|
||||
{"glGetBufferPointervOES", P(gl::GetBufferPointervOES)},
|
||||
{"glGetBufferPointervRobustANGLE", P(gl::GetBufferPointervRobustANGLE)},
|
||||
{"glGetDebugMessageLogKHR", P(gl::GetDebugMessageLogKHR)},
|
||||
{"glGetError", P(gl::GetError)},
|
||||
{"glGetFenceivNV", P(gl::GetFenceivNV)},
|
||||
{"glGetFloatv", P(gl::GetFloatv)},
|
||||
{"glGetFloatvRobustANGLE", P(gl::GetFloatvRobustANGLE)},
|
||||
{"glGetFragDataLocation", P(gl::GetFragDataLocation)},
|
||||
{"glGetFramebufferAttachmentParameteriv", P(gl::GetFramebufferAttachmentParameteriv)},
|
||||
{"glGetFramebufferAttachmentParameterivRobustANGLE",
|
||||
P(gl::GetFramebufferAttachmentParameterivRobustANGLE)},
|
||||
{"glGetFramebufferParameteriv", P(gl::GetFramebufferParameteriv)},
|
||||
{"glGetFramebufferParameterivRobustANGLE", P(gl::GetFramebufferParameterivRobustANGLE)},
|
||||
{"glGetGraphicsResetStatusEXT", P(gl::GetGraphicsResetStatusEXT)},
|
||||
{"glGetInteger64i_v", P(gl::GetInteger64i_v)},
|
||||
{"glGetInteger64i_vRobustANGLE", P(gl::GetInteger64i_vRobustANGLE)},
|
||||
{"glGetInteger64v", P(gl::GetInteger64v)},
|
||||
{"glGetInteger64vRobustANGLE", P(gl::GetInteger64vRobustANGLE)},
|
||||
{"glGetIntegeri_v", P(gl::GetIntegeri_v)},
|
||||
{"glGetIntegeri_vRobustANGLE", P(gl::GetIntegeri_vRobustANGLE)},
|
||||
{"glGetIntegerv", P(gl::GetIntegerv)},
|
||||
{"glGetIntegervRobustANGLE", P(gl::GetIntegervRobustANGLE)},
|
||||
{"glGetInternalformativ", P(gl::GetInternalformativ)},
|
||||
{"glGetInternalformativRobustANGLE", P(gl::GetInternalformativRobustANGLE)},
|
||||
{"glGetMultisamplefv", P(gl::GetMultisamplefv)},
|
||||
{"glGetMultisamplefvRobustANGLE", P(gl::GetMultisamplefvRobustANGLE)},
|
||||
{"glGetObjectLabelKHR", P(gl::GetObjectLabelKHR)},
|
||||
{"glGetObjectPtrLabelKHR", P(gl::GetObjectPtrLabelKHR)},
|
||||
{"glGetPointervKHR", P(gl::GetPointervKHR)},
|
||||
{"glGetPointervRobustANGLERobustANGLE", P(gl::GetPointervRobustANGLERobustANGLE)},
|
||||
{"glGetProgramBinary", P(gl::GetProgramBinary)},
|
||||
{"glGetProgramBinaryOES", P(gl::GetProgramBinaryOES)},
|
||||
{"glGetProgramInfoLog", P(gl::GetProgramInfoLog)},
|
||||
{"glGetProgramInterfaceiv", P(gl::GetProgramInterfaceiv)},
|
||||
{"glGetProgramInterfaceivRobustANGLE", P(gl::GetProgramInterfaceivRobustANGLE)},
|
||||
{"glGetProgramPipelineInfoLog", P(gl::GetProgramPipelineInfoLog)},
|
||||
{"glGetProgramPipelineiv", P(gl::GetProgramPipelineiv)},
|
||||
{"glGetProgramResourceIndex", P(gl::GetProgramResourceIndex)},
|
||||
{"glGetProgramResourceLocation", P(gl::GetProgramResourceLocation)},
|
||||
{"glGetProgramResourceName", P(gl::GetProgramResourceName)},
|
||||
{"glGetProgramResourceiv", P(gl::GetProgramResourceiv)},
|
||||
{"glGetProgramiv", P(gl::GetProgramiv)},
|
||||
{"glGetProgramivRobustANGLE", P(gl::GetProgramivRobustANGLE)},
|
||||
{"glGetQueryObjecti64vEXT", P(gl::GetQueryObjecti64vEXT)},
|
||||
{"glGetQueryObjecti64vRobustANGLE", P(gl::GetQueryObjecti64vRobustANGLE)},
|
||||
{"glGetQueryObjectivEXT", P(gl::GetQueryObjectivEXT)},
|
||||
{"glGetQueryObjectivRobustANGLE", P(gl::GetQueryObjectivRobustANGLE)},
|
||||
{"glGetQueryObjectui64vEXT", P(gl::GetQueryObjectui64vEXT)},
|
||||
{"glGetQueryObjectui64vRobustANGLE", P(gl::GetQueryObjectui64vRobustANGLE)},
|
||||
{"glGetQueryObjectuiv", P(gl::GetQueryObjectuiv)},
|
||||
{"glGetQueryObjectuivEXT", P(gl::GetQueryObjectuivEXT)},
|
||||
{"glGetQueryObjectuivRobustANGLE", P(gl::GetQueryObjectuivRobustANGLE)},
|
||||
{"glGetQueryiv", P(gl::GetQueryiv)},
|
||||
{"glGetQueryivEXT", P(gl::GetQueryivEXT)},
|
||||
{"glGetQueryivRobustANGLE", P(gl::GetQueryivRobustANGLE)},
|
||||
{"glGetRenderbufferParameteriv", P(gl::GetRenderbufferParameteriv)},
|
||||
{"glGetRenderbufferParameterivRobustANGLE", P(gl::GetRenderbufferParameterivRobustANGLE)},
|
||||
{"glGetSamplerParameterIivRobustANGLE", P(gl::GetSamplerParameterIivRobustANGLE)},
|
||||
{"glGetSamplerParameterIuivRobustANGLE", P(gl::GetSamplerParameterIuivRobustANGLE)},
|
||||
{"glGetSamplerParameterfv", P(gl::GetSamplerParameterfv)},
|
||||
{"glGetSamplerParameterfvRobustANGLE", P(gl::GetSamplerParameterfvRobustANGLE)},
|
||||
{"glGetSamplerParameteriv", P(gl::GetSamplerParameteriv)},
|
||||
{"glGetSamplerParameterivRobustANGLE", P(gl::GetSamplerParameterivRobustANGLE)},
|
||||
{"glGetShaderInfoLog", P(gl::GetShaderInfoLog)},
|
||||
{"glGetShaderPrecisionFormat", P(gl::GetShaderPrecisionFormat)},
|
||||
{"glGetShaderSource", P(gl::GetShaderSource)},
|
||||
{"glGetShaderiv", P(gl::GetShaderiv)},
|
||||
{"glGetShaderivRobustANGLE", P(gl::GetShaderivRobustANGLE)},
|
||||
{"glGetString", P(gl::GetString)},
|
||||
{"glGetStringi", P(gl::GetStringi)},
|
||||
{"glGetSynciv", P(gl::GetSynciv)},
|
||||
{"glGetTexLevelParameterfv", P(gl::GetTexLevelParameterfv)},
|
||||
{"glGetTexLevelParameterfvRobustANGLE", P(gl::GetTexLevelParameterfvRobustANGLE)},
|
||||
{"glGetTexLevelParameteriv", P(gl::GetTexLevelParameteriv)},
|
||||
{"glGetTexLevelParameterivRobustANGLE", P(gl::GetTexLevelParameterivRobustANGLE)},
|
||||
{"glGetTexParameterIivRobustANGLE", P(gl::GetTexParameterIivRobustANGLE)},
|
||||
{"glGetTexParameterIuivRobustANGLE", P(gl::GetTexParameterIuivRobustANGLE)},
|
||||
{"glGetTexParameterfv", P(gl::GetTexParameterfv)},
|
||||
{"glGetTexParameterfvRobustANGLE", P(gl::GetTexParameterfvRobustANGLE)},
|
||||
{"glGetTexParameteriv", P(gl::GetTexParameteriv)},
|
||||
{"glGetTexParameterivRobustANGLE", P(gl::GetTexParameterivRobustANGLE)},
|
||||
{"glGetTransformFeedbackVarying", P(gl::GetTransformFeedbackVarying)},
|
||||
{"glGetTranslatedShaderSourceANGLE", P(gl::GetTranslatedShaderSourceANGLE)},
|
||||
{"glGetUniformBlockIndex", P(gl::GetUniformBlockIndex)},
|
||||
{"glGetUniformIndices", P(gl::GetUniformIndices)},
|
||||
{"glGetUniformLocation", P(gl::GetUniformLocation)},
|
||||
{"glGetUniformfv", P(gl::GetUniformfv)},
|
||||
{"glGetUniformfvRobustANGLE", P(gl::GetUniformfvRobustANGLE)},
|
||||
{"glGetUniformiv", P(gl::GetUniformiv)},
|
||||
{"glGetUniformivRobustANGLE", P(gl::GetUniformivRobustANGLE)},
|
||||
{"glGetUniformuiv", P(gl::GetUniformuiv)},
|
||||
{"glGetUniformuivRobustANGLE", P(gl::GetUniformuivRobustANGLE)},
|
||||
{"glGetVertexAttribIiv", P(gl::GetVertexAttribIiv)},
|
||||
{"glGetVertexAttribIivRobustANGLE", P(gl::GetVertexAttribIivRobustANGLE)},
|
||||
{"glGetVertexAttribIuiv", P(gl::GetVertexAttribIuiv)},
|
||||
{"glGetVertexAttribIuivRobustANGLE", P(gl::GetVertexAttribIuivRobustANGLE)},
|
||||
{"glGetVertexAttribPointerv", P(gl::GetVertexAttribPointerv)},
|
||||
{"glGetVertexAttribPointervRobustANGLE", P(gl::GetVertexAttribPointervRobustANGLE)},
|
||||
{"glGetVertexAttribfv", P(gl::GetVertexAttribfv)},
|
||||
{"glGetVertexAttribfvRobustANGLE", P(gl::GetVertexAttribfvRobustANGLE)},
|
||||
{"glGetVertexAttribiv", P(gl::GetVertexAttribiv)},
|
||||
{"glGetVertexAttribivRobustANGLE", P(gl::GetVertexAttribivRobustANGLE)},
|
||||
{"glGetnUniformfvEXT", P(gl::GetnUniformfvEXT)},
|
||||
{"glGetnUniformfvRobustANGLE", P(gl::GetnUniformfvRobustANGLE)},
|
||||
{"glGetnUniformivEXT", P(gl::GetnUniformivEXT)},
|
||||
{"glGetnUniformivRobustANGLE", P(gl::GetnUniformivRobustANGLE)},
|
||||
{"glGetnUniformuivRobustANGLE", P(gl::GetnUniformuivRobustANGLE)},
|
||||
{"glHint", P(gl::Hint)},
|
||||
{"glInsertEventMarkerEXT", P(gl::InsertEventMarkerEXT)},
|
||||
{"glInvalidateFramebuffer", P(gl::InvalidateFramebuffer)},
|
||||
{"glInvalidateSubFramebuffer", P(gl::InvalidateSubFramebuffer)},
|
||||
{"glIsBuffer", P(gl::IsBuffer)},
|
||||
{"glIsEnabled", P(gl::IsEnabled)},
|
||||
{"glIsFenceNV", P(gl::IsFenceNV)},
|
||||
{"glIsFramebuffer", P(gl::IsFramebuffer)},
|
||||
{"glIsProgram", P(gl::IsProgram)},
|
||||
{"glIsProgramPipeline", P(gl::IsProgramPipeline)},
|
||||
{"glIsQuery", P(gl::IsQuery)},
|
||||
{"glIsQueryEXT", P(gl::IsQueryEXT)},
|
||||
{"glIsRenderbuffer", P(gl::IsRenderbuffer)},
|
||||
{"glIsSampler", P(gl::IsSampler)},
|
||||
{"glIsShader", P(gl::IsShader)},
|
||||
{"glIsSync", P(gl::IsSync)},
|
||||
{"glIsTexture", P(gl::IsTexture)},
|
||||
{"glIsTransformFeedback", P(gl::IsTransformFeedback)},
|
||||
{"glIsVertexArray", P(gl::IsVertexArray)},
|
||||
{"glIsVertexArrayOES", P(gl::IsVertexArrayOES)},
|
||||
{"glLineWidth", P(gl::LineWidth)},
|
||||
{"glLinkProgram", P(gl::LinkProgram)},
|
||||
{"glMapBufferOES", P(gl::MapBufferOES)},
|
||||
{"glMapBufferRange", P(gl::MapBufferRange)},
|
||||
{"glMapBufferRangeEXT", P(gl::MapBufferRangeEXT)},
|
||||
{"glMemoryBarrier", P(gl::MemoryBarrier)},
|
||||
{"glMemoryBarrierByRegion", P(gl::MemoryBarrierByRegion)},
|
||||
{"glObjectLabelKHR", P(gl::ObjectLabelKHR)},
|
||||
{"glObjectPtrLabelKHR", P(gl::ObjectPtrLabelKHR)},
|
||||
{"glPauseTransformFeedback", P(gl::PauseTransformFeedback)},
|
||||
{"glPixelStorei", P(gl::PixelStorei)},
|
||||
{"glPolygonOffset", P(gl::PolygonOffset)},
|
||||
{"glPopDebugGroupKHR", P(gl::PopDebugGroupKHR)},
|
||||
{"glPopGroupMarkerEXT", P(gl::PopGroupMarkerEXT)},
|
||||
{"glProgramBinary", P(gl::ProgramBinary)},
|
||||
{"glProgramBinaryOES", P(gl::ProgramBinaryOES)},
|
||||
{"glProgramParameteri", P(gl::ProgramParameteri)},
|
||||
{"glProgramUniform1f", P(gl::ProgramUniform1f)},
|
||||
{"glProgramUniform1fv", P(gl::ProgramUniform1fv)},
|
||||
{"glProgramUniform1i", P(gl::ProgramUniform1i)},
|
||||
{"glProgramUniform1iv", P(gl::ProgramUniform1iv)},
|
||||
{"glProgramUniform1ui", P(gl::ProgramUniform1ui)},
|
||||
{"glProgramUniform1uiv", P(gl::ProgramUniform1uiv)},
|
||||
{"glProgramUniform2f", P(gl::ProgramUniform2f)},
|
||||
{"glProgramUniform2fv", P(gl::ProgramUniform2fv)},
|
||||
{"glProgramUniform2i", P(gl::ProgramUniform2i)},
|
||||
{"glProgramUniform2iv", P(gl::ProgramUniform2iv)},
|
||||
{"glProgramUniform2ui", P(gl::ProgramUniform2ui)},
|
||||
{"glProgramUniform2uiv", P(gl::ProgramUniform2uiv)},
|
||||
{"glProgramUniform3f", P(gl::ProgramUniform3f)},
|
||||
{"glProgramUniform3fv", P(gl::ProgramUniform3fv)},
|
||||
{"glProgramUniform3i", P(gl::ProgramUniform3i)},
|
||||
{"glProgramUniform3iv", P(gl::ProgramUniform3iv)},
|
||||
{"glProgramUniform3ui", P(gl::ProgramUniform3ui)},
|
||||
{"glProgramUniform3uiv", P(gl::ProgramUniform3uiv)},
|
||||
{"glProgramUniform4f", P(gl::ProgramUniform4f)},
|
||||
{"glProgramUniform4fv", P(gl::ProgramUniform4fv)},
|
||||
{"glProgramUniform4i", P(gl::ProgramUniform4i)},
|
||||
{"glProgramUniform4iv", P(gl::ProgramUniform4iv)},
|
||||
{"glProgramUniform4ui", P(gl::ProgramUniform4ui)},
|
||||
{"glProgramUniform4uiv", P(gl::ProgramUniform4uiv)},
|
||||
{"glProgramUniformMatrix2fv", P(gl::ProgramUniformMatrix2fv)},
|
||||
{"glProgramUniformMatrix2x3fv", P(gl::ProgramUniformMatrix2x3fv)},
|
||||
{"glProgramUniformMatrix2x4fv", P(gl::ProgramUniformMatrix2x4fv)},
|
||||
{"glProgramUniformMatrix3fv", P(gl::ProgramUniformMatrix3fv)},
|
||||
{"glProgramUniformMatrix3x2fv", P(gl::ProgramUniformMatrix3x2fv)},
|
||||
{"glProgramUniformMatrix3x4fv", P(gl::ProgramUniformMatrix3x4fv)},
|
||||
{"glProgramUniformMatrix4fv", P(gl::ProgramUniformMatrix4fv)},
|
||||
{"glProgramUniformMatrix4x2fv", P(gl::ProgramUniformMatrix4x2fv)},
|
||||
{"glProgramUniformMatrix4x3fv", P(gl::ProgramUniformMatrix4x3fv)},
|
||||
{"glPushDebugGroupKHR", P(gl::PushDebugGroupKHR)},
|
||||
{"glPushGroupMarkerEXT", P(gl::PushGroupMarkerEXT)},
|
||||
{"glQueryCounterEXT", P(gl::QueryCounterEXT)},
|
||||
{"glReadBuffer", P(gl::ReadBuffer)},
|
||||
{"glReadPixels", P(gl::ReadPixels)},
|
||||
{"glReadPixelsRobustANGLE", P(gl::ReadPixelsRobustANGLE)},
|
||||
{"glReadnPixelsEXT", P(gl::ReadnPixelsEXT)},
|
||||
{"glReadnPixelsRobustANGLE", P(gl::ReadnPixelsRobustANGLE)},
|
||||
{"glReleaseShaderCompiler", P(gl::ReleaseShaderCompiler)},
|
||||
{"glRenderbufferStorage", P(gl::RenderbufferStorage)},
|
||||
{"glRenderbufferStorageMultisample", P(gl::RenderbufferStorageMultisample)},
|
||||
{"glRenderbufferStorageMultisampleANGLE", P(gl::RenderbufferStorageMultisampleANGLE)},
|
||||
{"glRequestExtensionANGLE", P(gl::RequestExtensionANGLE)},
|
||||
{"glResumeTransformFeedback", P(gl::ResumeTransformFeedback)},
|
||||
{"glSampleCoverage", P(gl::SampleCoverage)},
|
||||
{"glSampleMaski", P(gl::SampleMaski)},
|
||||
{"glSamplerParameterIivRobustANGLE", P(gl::SamplerParameterIivRobustANGLE)},
|
||||
{"glSamplerParameterIuivRobustANGLE", P(gl::SamplerParameterIuivRobustANGLE)},
|
||||
{"glSamplerParameterf", P(gl::SamplerParameterf)},
|
||||
{"glSamplerParameterfv", P(gl::SamplerParameterfv)},
|
||||
{"glSamplerParameterfvRobustANGLE", P(gl::SamplerParameterfvRobustANGLE)},
|
||||
{"glSamplerParameteri", P(gl::SamplerParameteri)},
|
||||
{"glSamplerParameteriv", P(gl::SamplerParameteriv)},
|
||||
{"glSamplerParameterivRobustANGLE", P(gl::SamplerParameterivRobustANGLE)},
|
||||
{"glScissor", P(gl::Scissor)},
|
||||
{"glSetFenceNV", P(gl::SetFenceNV)},
|
||||
{"glShaderBinary", P(gl::ShaderBinary)},
|
||||
{"glShaderSource", P(gl::ShaderSource)},
|
||||
{"glStencilFunc", P(gl::StencilFunc)},
|
||||
{"glStencilFuncSeparate", P(gl::StencilFuncSeparate)},
|
||||
{"glStencilMask", P(gl::StencilMask)},
|
||||
{"glStencilMaskSeparate", P(gl::StencilMaskSeparate)},
|
||||
{"glStencilOp", P(gl::StencilOp)},
|
||||
{"glStencilOpSeparate", P(gl::StencilOpSeparate)},
|
||||
{"glTestFenceNV", P(gl::TestFenceNV)},
|
||||
{"glTexImage2D", P(gl::TexImage2D)},
|
||||
{"glTexImage2DRobustANGLE", P(gl::TexImage2DRobustANGLE)},
|
||||
{"glTexImage3D", P(gl::TexImage3D)},
|
||||
{"glTexImage3DRobustANGLE", P(gl::TexImage3DRobustANGLE)},
|
||||
{"glTexParameterIivRobustANGLE", P(gl::TexParameterIivRobustANGLE)},
|
||||
{"glTexParameterIuivRobustANGLE", P(gl::TexParameterIuivRobustANGLE)},
|
||||
{"glTexParameterf", P(gl::TexParameterf)},
|
||||
{"glTexParameterfv", P(gl::TexParameterfv)},
|
||||
{"glTexParameterfvRobustANGLE", P(gl::TexParameterfvRobustANGLE)},
|
||||
{"glTexParameteri", P(gl::TexParameteri)},
|
||||
{"glTexParameteriv", P(gl::TexParameteriv)},
|
||||
{"glTexParameterivRobustANGLE", P(gl::TexParameterivRobustANGLE)},
|
||||
{"glTexStorage2D", P(gl::TexStorage2D)},
|
||||
{"glTexStorage2DEXT", P(gl::TexStorage2DEXT)},
|
||||
{"glTexStorage2DMultisample", P(gl::TexStorage2DMultisample)},
|
||||
{"glTexStorage3D", P(gl::TexStorage3D)},
|
||||
{"glTexSubImage2D", P(gl::TexSubImage2D)},
|
||||
{"glTexSubImage2DRobustANGLE", P(gl::TexSubImage2DRobustANGLE)},
|
||||
{"glTexSubImage3D", P(gl::TexSubImage3D)},
|
||||
{"glTexSubImage3DRobustANGLE", P(gl::TexSubImage3DRobustANGLE)},
|
||||
{"glTransformFeedbackVaryings", P(gl::TransformFeedbackVaryings)},
|
||||
{"glUniform1f", P(gl::Uniform1f)},
|
||||
{"glUniform1fv", P(gl::Uniform1fv)},
|
||||
{"glUniform1i", P(gl::Uniform1i)},
|
||||
{"glUniform1iv", P(gl::Uniform1iv)},
|
||||
{"glUniform1ui", P(gl::Uniform1ui)},
|
||||
{"glUniform1uiv", P(gl::Uniform1uiv)},
|
||||
{"glUniform2f", P(gl::Uniform2f)},
|
||||
{"glUniform2fv", P(gl::Uniform2fv)},
|
||||
{"glUniform2i", P(gl::Uniform2i)},
|
||||
{"glUniform2iv", P(gl::Uniform2iv)},
|
||||
{"glUniform2ui", P(gl::Uniform2ui)},
|
||||
{"glUniform2uiv", P(gl::Uniform2uiv)},
|
||||
{"glUniform3f", P(gl::Uniform3f)},
|
||||
{"glUniform3fv", P(gl::Uniform3fv)},
|
||||
{"glUniform3i", P(gl::Uniform3i)},
|
||||
{"glUniform3iv", P(gl::Uniform3iv)},
|
||||
{"glUniform3ui", P(gl::Uniform3ui)},
|
||||
{"glUniform3uiv", P(gl::Uniform3uiv)},
|
||||
{"glUniform4f", P(gl::Uniform4f)},
|
||||
{"glUniform4fv", P(gl::Uniform4fv)},
|
||||
{"glUniform4i", P(gl::Uniform4i)},
|
||||
{"glUniform4iv", P(gl::Uniform4iv)},
|
||||
{"glUniform4ui", P(gl::Uniform4ui)},
|
||||
{"glUniform4uiv", P(gl::Uniform4uiv)},
|
||||
{"glUniformBlockBinding", P(gl::UniformBlockBinding)},
|
||||
{"glUniformMatrix2fv", P(gl::UniformMatrix2fv)},
|
||||
{"glUniformMatrix2x3fv", P(gl::UniformMatrix2x3fv)},
|
||||
{"glUniformMatrix2x4fv", P(gl::UniformMatrix2x4fv)},
|
||||
{"glUniformMatrix3fv", P(gl::UniformMatrix3fv)},
|
||||
{"glUniformMatrix3x2fv", P(gl::UniformMatrix3x2fv)},
|
||||
{"glUniformMatrix3x4fv", P(gl::UniformMatrix3x4fv)},
|
||||
{"glUniformMatrix4fv", P(gl::UniformMatrix4fv)},
|
||||
{"glUniformMatrix4x2fv", P(gl::UniformMatrix4x2fv)},
|
||||
{"glUniformMatrix4x3fv", P(gl::UniformMatrix4x3fv)},
|
||||
{"glUnmapBuffer", P(gl::UnmapBuffer)},
|
||||
{"glUnmapBufferOES", P(gl::UnmapBufferOES)},
|
||||
{"glUseProgram", P(gl::UseProgram)},
|
||||
{"glUseProgramStages", P(gl::UseProgramStages)},
|
||||
{"glValidateProgram", P(gl::ValidateProgram)},
|
||||
{"glValidateProgramPipeline", P(gl::ValidateProgramPipeline)},
|
||||
{"glVertexAttrib1f", P(gl::VertexAttrib1f)},
|
||||
{"glVertexAttrib1fv", P(gl::VertexAttrib1fv)},
|
||||
{"glVertexAttrib2f", P(gl::VertexAttrib2f)},
|
||||
{"glVertexAttrib2fv", P(gl::VertexAttrib2fv)},
|
||||
{"glVertexAttrib3f", P(gl::VertexAttrib3f)},
|
||||
{"glVertexAttrib3fv", P(gl::VertexAttrib3fv)},
|
||||
{"glVertexAttrib4f", P(gl::VertexAttrib4f)},
|
||||
{"glVertexAttrib4fv", P(gl::VertexAttrib4fv)},
|
||||
{"glVertexAttribBinding", P(gl::VertexAttribBinding)},
|
||||
{"glVertexAttribDivisor", P(gl::VertexAttribDivisor)},
|
||||
{"glVertexAttribDivisorANGLE", P(gl::VertexAttribDivisorANGLE)},
|
||||
{"glVertexAttribFormat", P(gl::VertexAttribFormat)},
|
||||
{"glVertexAttribI4i", P(gl::VertexAttribI4i)},
|
||||
{"glVertexAttribI4iv", P(gl::VertexAttribI4iv)},
|
||||
{"glVertexAttribI4ui", P(gl::VertexAttribI4ui)},
|
||||
{"glVertexAttribI4uiv", P(gl::VertexAttribI4uiv)},
|
||||
{"glVertexAttribIFormat", P(gl::VertexAttribIFormat)},
|
||||
{"glVertexAttribIPointer", P(gl::VertexAttribIPointer)},
|
||||
{"glVertexAttribPointer", P(gl::VertexAttribPointer)},
|
||||
{"glVertexBindingDivisor", P(gl::VertexBindingDivisor)},
|
||||
{"glViewport", P(gl::Viewport)},
|
||||
{"glWaitSync", P(gl::WaitSync)}};
|
||||
|
||||
size_t g_numProcs = 516;
|
||||
} // namespace egl
|
|
@ -0,0 +1,662 @@
|
|||
{
|
||||
"GLES2 core": [
|
||||
"glActiveTexture",
|
||||
"glAttachShader",
|
||||
"glBindAttribLocation",
|
||||
"glBindBuffer",
|
||||
"glBindFramebuffer",
|
||||
"glBindRenderbuffer",
|
||||
"glBindTexture",
|
||||
"glBlendColor",
|
||||
"glBlendEquation",
|
||||
"glBlendEquationSeparate",
|
||||
"glBlendFunc",
|
||||
"glBlendFuncSeparate",
|
||||
"glBufferData",
|
||||
"glBufferSubData",
|
||||
"glCheckFramebufferStatus",
|
||||
"glClear",
|
||||
"glClearColor",
|
||||
"glClearDepthf",
|
||||
"glClearStencil",
|
||||
"glCompileShader",
|
||||
"glColorMask",
|
||||
"glCompressedTexImage2D",
|
||||
"glCompressedTexSubImage2D",
|
||||
"glCopyTexImage2D",
|
||||
"glCopyTexSubImage2D",
|
||||
"glCreateProgram",
|
||||
"glCreateShader",
|
||||
"glCullFace",
|
||||
"glDeleteBuffers",
|
||||
"glDeleteFramebuffers",
|
||||
"glDeleteProgram",
|
||||
"glDeleteRenderbuffers",
|
||||
"glDeleteShader",
|
||||
"glDeleteTextures",
|
||||
"glDepthFunc",
|
||||
"glDepthMask",
|
||||
"glDepthRangef",
|
||||
"glDetachShader",
|
||||
"glDisable",
|
||||
"glDisableVertexAttribArray",
|
||||
"glDrawArrays",
|
||||
"glDrawElements",
|
||||
"glEnable",
|
||||
"glEnableVertexAttribArray",
|
||||
"glFinish",
|
||||
"glFlush",
|
||||
"glFramebufferRenderbuffer",
|
||||
"glFramebufferTexture2D",
|
||||
"glFrontFace",
|
||||
"glGenBuffers",
|
||||
"glGenerateMipmap",
|
||||
"glGenFramebuffers",
|
||||
"glGenRenderbuffers",
|
||||
"glGenTextures",
|
||||
"glGetActiveAttrib",
|
||||
"glGetActiveUniform",
|
||||
"glGetAttachedShaders",
|
||||
"glGetAttribLocation",
|
||||
"glGetBooleanv",
|
||||
"glGetBufferParameteriv",
|
||||
"glGetError",
|
||||
"glGetFloatv",
|
||||
"glGetFramebufferAttachmentParameteriv",
|
||||
"glGetIntegerv",
|
||||
"glGetProgramiv",
|
||||
"glGetProgramInfoLog",
|
||||
"glGetRenderbufferParameteriv",
|
||||
"glGetShaderiv",
|
||||
"glGetShaderInfoLog",
|
||||
"glGetShaderPrecisionFormat",
|
||||
"glGetShaderSource",
|
||||
"glGetString",
|
||||
"glGetTexParameterfv",
|
||||
"glGetTexParameteriv",
|
||||
"glGetUniformfv",
|
||||
"glGetUniformiv",
|
||||
"glGetUniformLocation",
|
||||
"glGetVertexAttribfv",
|
||||
"glGetVertexAttribiv",
|
||||
"glGetVertexAttribPointerv",
|
||||
"glHint",
|
||||
"glIsBuffer",
|
||||
"glIsEnabled",
|
||||
"glIsFramebuffer",
|
||||
"glIsProgram",
|
||||
"glIsRenderbuffer",
|
||||
"glIsShader",
|
||||
"glIsTexture",
|
||||
"glLineWidth",
|
||||
"glLinkProgram",
|
||||
"glPixelStorei",
|
||||
"glPolygonOffset",
|
||||
"glReadPixels",
|
||||
"glReleaseShaderCompiler",
|
||||
"glRenderbufferStorage",
|
||||
"glSampleCoverage",
|
||||
"glScissor",
|
||||
"glShaderBinary",
|
||||
"glShaderSource",
|
||||
"glStencilFunc",
|
||||
"glStencilFuncSeparate",
|
||||
"glStencilMask",
|
||||
"glStencilMaskSeparate",
|
||||
"glStencilOp",
|
||||
"glStencilOpSeparate",
|
||||
"glTexImage2D",
|
||||
"glTexParameterf",
|
||||
"glTexParameterfv",
|
||||
"glTexParameteri",
|
||||
"glTexParameteriv",
|
||||
"glTexSubImage2D",
|
||||
"glUniform1f",
|
||||
"glUniform1fv",
|
||||
"glUniform1i",
|
||||
"glUniform1iv",
|
||||
"glUniform2f",
|
||||
"glUniform2fv",
|
||||
"glUniform2i",
|
||||
"glUniform2iv",
|
||||
"glUniform3f",
|
||||
"glUniform3fv",
|
||||
"glUniform3i",
|
||||
"glUniform3iv",
|
||||
"glUniform4f",
|
||||
"glUniform4fv",
|
||||
"glUniform4i",
|
||||
"glUniform4iv",
|
||||
"glUniformMatrix2fv",
|
||||
"glUniformMatrix3fv",
|
||||
"glUniformMatrix4fv",
|
||||
"glUseProgram",
|
||||
"glValidateProgram",
|
||||
"glVertexAttrib1f",
|
||||
"glVertexAttrib1fv",
|
||||
"glVertexAttrib2f",
|
||||
"glVertexAttrib2fv",
|
||||
"glVertexAttrib3f",
|
||||
"glVertexAttrib3fv",
|
||||
"glVertexAttrib4f",
|
||||
"glVertexAttrib4fv",
|
||||
"glVertexAttribPointer",
|
||||
"glViewport"
|
||||
],
|
||||
|
||||
"GL_ANGLE_framebuffer_blit": [
|
||||
"glBlitFramebufferANGLE"
|
||||
],
|
||||
|
||||
"GL_ANGLE_framebuffer_multisample": [
|
||||
"glRenderbufferStorageMultisampleANGLE"
|
||||
],
|
||||
|
||||
"GL_EXT_discard_framebuffer": [
|
||||
"glDiscardFramebufferEXT"
|
||||
],
|
||||
|
||||
"GL_NV_fence": [
|
||||
"glDeleteFencesNV",
|
||||
"glGenFencesNV",
|
||||
"glIsFenceNV",
|
||||
"glTestFenceNV",
|
||||
"glGetFenceivNV",
|
||||
"glFinishFenceNV",
|
||||
"glSetFenceNV"
|
||||
],
|
||||
|
||||
"GL_ANGLE_translated_shader_source": [
|
||||
"glGetTranslatedShaderSourceANGLE"
|
||||
],
|
||||
|
||||
"GL_EXT_texture_storage": [
|
||||
"glTexStorage2DEXT"
|
||||
],
|
||||
|
||||
"GL_EXT_robustness": [
|
||||
"glGetGraphicsResetStatusEXT",
|
||||
"glReadnPixelsEXT",
|
||||
"glGetnUniformfvEXT",
|
||||
"glGetnUniformivEXT"
|
||||
],
|
||||
|
||||
"GL_EXT_occlusion_query_boolean": [
|
||||
"glGenQueriesEXT",
|
||||
"glDeleteQueriesEXT",
|
||||
"glIsQueryEXT",
|
||||
"glBeginQueryEXT",
|
||||
"glEndQueryEXT",
|
||||
"glGetQueryivEXT",
|
||||
"glGetQueryObjectuivEXT"
|
||||
],
|
||||
|
||||
"GL_EXT_disjoint_timer_query": [
|
||||
"glGenQueriesEXT",
|
||||
"glDeleteQueriesEXT",
|
||||
"glIsQueryEXT",
|
||||
"glBeginQueryEXT",
|
||||
"glEndQueryEXT",
|
||||
"glQueryCounterEXT",
|
||||
"glGetQueryivEXT",
|
||||
"glGetQueryObjectivEXT",
|
||||
"glGetQueryObjectuivEXT",
|
||||
"glGetQueryObjecti64vEXT",
|
||||
"glGetQueryObjectui64vEXT"
|
||||
],
|
||||
|
||||
"GL_EXT_draw_buffers": [
|
||||
"glDrawBuffersEXT"
|
||||
],
|
||||
|
||||
"GL_ANGLE_instanced_arrays": [
|
||||
"glDrawArraysInstancedANGLE",
|
||||
"glDrawElementsInstancedANGLE",
|
||||
"glVertexAttribDivisorANGLE"
|
||||
],
|
||||
|
||||
"GL_OES_get_program_binary": [
|
||||
"glGetProgramBinaryOES",
|
||||
"glProgramBinaryOES"
|
||||
],
|
||||
|
||||
"GL_OES_mapbuffer": [
|
||||
"glMapBufferOES",
|
||||
"glUnmapBufferOES",
|
||||
"glGetBufferPointervOES"
|
||||
],
|
||||
|
||||
"GL_EXT_map_buffer_range": [
|
||||
"glMapBufferRangeEXT",
|
||||
"glFlushMappedBufferRangeEXT"
|
||||
],
|
||||
|
||||
"GL_EXT_debug_marker": [
|
||||
"glInsertEventMarkerEXT",
|
||||
"glPushGroupMarkerEXT",
|
||||
"glPopGroupMarkerEXT"
|
||||
],
|
||||
|
||||
"GL_OES_EGL_image": [
|
||||
"glEGLImageTargetTexture2DOES",
|
||||
"glEGLImageTargetRenderbufferStorageOES"
|
||||
],
|
||||
|
||||
"GL_OES_vertex_array_object": [
|
||||
"glBindVertexArrayOES",
|
||||
"glDeleteVertexArraysOES",
|
||||
"glGenVertexArraysOES",
|
||||
"glIsVertexArrayOES"
|
||||
],
|
||||
|
||||
"GL_KHR_debug": [
|
||||
"glDebugMessageControlKHR",
|
||||
"glDebugMessageInsertKHR",
|
||||
"glDebugMessageCallbackKHR",
|
||||
"glGetDebugMessageLogKHR",
|
||||
"glPushDebugGroupKHR",
|
||||
"glPopDebugGroupKHR",
|
||||
"glObjectLabelKHR",
|
||||
"glGetObjectLabelKHR",
|
||||
"glObjectPtrLabelKHR",
|
||||
"glGetObjectPtrLabelKHR",
|
||||
"glGetPointervKHR"
|
||||
],
|
||||
|
||||
"GL_CHROMIUM_bind_uniform_location": [
|
||||
"glBindUniformLocationCHROMIUM"
|
||||
],
|
||||
|
||||
"GL_CHROMIUM_copy_texture": [
|
||||
"glCopyTextureCHROMIUM",
|
||||
"glCopySubTextureCHROMIUM"
|
||||
],
|
||||
|
||||
"GL_CHROMIUM_copy_compressed_texture": [
|
||||
"glCompressedCopyTextureCHROMIUM"
|
||||
],
|
||||
|
||||
"GL_ANGLE_request_extension": [
|
||||
"glRequestExtensionANGLE"
|
||||
],
|
||||
|
||||
"GL_ANGLE_robust_client_memory": [
|
||||
"glGetBooleanvRobustANGLE",
|
||||
"glGetBufferParameterivRobustANGLE",
|
||||
"glGetFloatvRobustANGLE",
|
||||
"glGetFramebufferAttachmentParameterivRobustANGLE",
|
||||
"glGetIntegervRobustANGLE",
|
||||
"glGetProgramivRobustANGLE",
|
||||
"glGetRenderbufferParameterivRobustANGLE",
|
||||
"glGetShaderivRobustANGLE",
|
||||
"glGetTexParameterfvRobustANGLE",
|
||||
"glGetTexParameterivRobustANGLE",
|
||||
"glGetUniformfvRobustANGLE",
|
||||
"glGetUniformivRobustANGLE",
|
||||
"glGetVertexAttribfvRobustANGLE",
|
||||
"glGetVertexAttribivRobustANGLE",
|
||||
"glGetVertexAttribPointervRobustANGLE",
|
||||
"glReadPixelsRobustANGLE",
|
||||
"glTexImage2DRobustANGLE",
|
||||
"glTexParameterfvRobustANGLE",
|
||||
"glTexParameterivRobustANGLE",
|
||||
"glTexSubImage2DRobustANGLE",
|
||||
"glTexImage3DRobustANGLE",
|
||||
"glTexSubImage3DRobustANGLE",
|
||||
"glCompressedTexImage2DRobustANGLE",
|
||||
"glCompressedTexSubImage2DRobustANGLE",
|
||||
"glCompressedTexImage3DRobustANGLE",
|
||||
"glCompressedTexSubImage3DRobustANGLE",
|
||||
"glGetQueryivRobustANGLE",
|
||||
"glGetQueryObjectuivRobustANGLE",
|
||||
"glGetBufferPointervRobustANGLE",
|
||||
"glGetIntegeri_vRobustANGLE",
|
||||
"glGetInternalformativRobustANGLE",
|
||||
"glGetVertexAttribIivRobustANGLE",
|
||||
"glGetVertexAttribIuivRobustANGLE",
|
||||
"glGetUniformuivRobustANGLE",
|
||||
"glGetActiveUniformBlockivRobustANGLE",
|
||||
"glGetInteger64vRobustANGLE",
|
||||
"glGetInteger64i_vRobustANGLE",
|
||||
"glGetBufferParameteri64vRobustANGLE",
|
||||
"glSamplerParameterivRobustANGLE",
|
||||
"glSamplerParameterfvRobustANGLE",
|
||||
"glGetSamplerParameterivRobustANGLE",
|
||||
"glGetSamplerParameterfvRobustANGLE",
|
||||
"glGetFramebufferParameterivRobustANGLE",
|
||||
"glGetProgramInterfaceivRobustANGLE",
|
||||
"glGetBooleani_vRobustANGLE",
|
||||
"glGetMultisamplefvRobustANGLE",
|
||||
"glGetTexLevelParameterivRobustANGLE",
|
||||
"glGetTexLevelParameterfvRobustANGLE",
|
||||
"glGetPointervRobustANGLERobustANGLE",
|
||||
"glReadnPixelsRobustANGLE",
|
||||
"glGetnUniformfvRobustANGLE",
|
||||
"glGetnUniformivRobustANGLE",
|
||||
"glGetnUniformuivRobustANGLE",
|
||||
"glTexParameterIivRobustANGLE",
|
||||
"glTexParameterIuivRobustANGLE",
|
||||
"glGetTexParameterIivRobustANGLE",
|
||||
"glGetTexParameterIuivRobustANGLE",
|
||||
"glSamplerParameterIivRobustANGLE",
|
||||
"glSamplerParameterIuivRobustANGLE",
|
||||
"glGetSamplerParameterIivRobustANGLE",
|
||||
"glGetSamplerParameterIuivRobustANGLE",
|
||||
"glGetQueryObjectivRobustANGLE",
|
||||
"glGetQueryObjecti64vRobustANGLE",
|
||||
"glGetQueryObjectui64vRobustANGLE"
|
||||
],
|
||||
|
||||
"GL_ANGLE_multiview": [
|
||||
"glFramebufferTextureMultiviewLayeredANGLE",
|
||||
"glFramebufferTextureMultiviewSideBySideANGLE"
|
||||
],
|
||||
|
||||
"GLES3 core": [
|
||||
"glReadBuffer",
|
||||
"glDrawRangeElements",
|
||||
"glTexImage3D",
|
||||
"glTexSubImage3D",
|
||||
"glCopyTexSubImage3D",
|
||||
"glCompressedTexImage3D",
|
||||
"glCompressedTexSubImage3D",
|
||||
"glGenQueries",
|
||||
"glDeleteQueries",
|
||||
"glIsQuery",
|
||||
"glBeginQuery",
|
||||
"glEndQuery",
|
||||
"glGetQueryiv",
|
||||
"glGetQueryObjectuiv",
|
||||
"glUnmapBuffer",
|
||||
"glGetBufferPointerv",
|
||||
"glDrawBuffers",
|
||||
"glUniformMatrix2x3fv",
|
||||
"glUniformMatrix3x2fv",
|
||||
"glUniformMatrix2x4fv",
|
||||
"glUniformMatrix4x2fv",
|
||||
"glUniformMatrix3x4fv",
|
||||
"glUniformMatrix4x3fv",
|
||||
"glBlitFramebuffer",
|
||||
"glRenderbufferStorageMultisample",
|
||||
"glFramebufferTextureLayer",
|
||||
"glMapBufferRange",
|
||||
"glFlushMappedBufferRange",
|
||||
"glBindVertexArray",
|
||||
"glDeleteVertexArrays",
|
||||
"glGenVertexArrays",
|
||||
"glIsVertexArray",
|
||||
"glGetIntegeri_v",
|
||||
"glBeginTransformFeedback",
|
||||
"glEndTransformFeedback",
|
||||
"glBindBufferRange",
|
||||
"glBindBufferBase",
|
||||
"glTransformFeedbackVaryings",
|
||||
"glGetTransformFeedbackVarying",
|
||||
"glVertexAttribIPointer",
|
||||
"glGetVertexAttribIiv",
|
||||
"glGetVertexAttribIuiv",
|
||||
"glVertexAttribI4i",
|
||||
"glVertexAttribI4ui",
|
||||
"glVertexAttribI4iv",
|
||||
"glVertexAttribI4uiv",
|
||||
"glGetUniformuiv",
|
||||
"glGetFragDataLocation",
|
||||
"glUniform1ui",
|
||||
"glUniform2ui",
|
||||
"glUniform3ui",
|
||||
"glUniform4ui",
|
||||
"glUniform1uiv",
|
||||
"glUniform2uiv",
|
||||
"glUniform3uiv",
|
||||
"glUniform4uiv",
|
||||
"glClearBufferiv",
|
||||
"glClearBufferuiv",
|
||||
"glClearBufferfv",
|
||||
"glClearBufferfi",
|
||||
"glGetStringi",
|
||||
"glCopyBufferSubData",
|
||||
"glGetUniformIndices",
|
||||
"glGetActiveUniformsiv",
|
||||
"glGetUniformBlockIndex",
|
||||
"glGetActiveUniformBlockiv",
|
||||
"glGetActiveUniformBlockName",
|
||||
"glUniformBlockBinding",
|
||||
"glDrawArraysInstanced",
|
||||
"glDrawElementsInstanced",
|
||||
"glFenceSync",
|
||||
"glIsSync",
|
||||
"glDeleteSync",
|
||||
"glClientWaitSync",
|
||||
"glWaitSync",
|
||||
"glGetInteger64v",
|
||||
"glGetSynciv",
|
||||
"glGetInteger64i_v",
|
||||
"glGetBufferParameteri64v",
|
||||
"glGenSamplers",
|
||||
"glDeleteSamplers",
|
||||
"glIsSampler",
|
||||
"glBindSampler",
|
||||
"glSamplerParameteri",
|
||||
"glSamplerParameteriv",
|
||||
"glSamplerParameterf",
|
||||
"glSamplerParameterfv",
|
||||
"glGetSamplerParameteriv",
|
||||
"glGetSamplerParameterfv",
|
||||
"glVertexAttribDivisor",
|
||||
"glBindTransformFeedback",
|
||||
"glDeleteTransformFeedbacks",
|
||||
"glGenTransformFeedbacks",
|
||||
"glIsTransformFeedback",
|
||||
"glPauseTransformFeedback",
|
||||
"glResumeTransformFeedback",
|
||||
"glGetProgramBinary",
|
||||
"glProgramBinary",
|
||||
"glProgramParameteri",
|
||||
"glInvalidateFramebuffer",
|
||||
"glInvalidateSubFramebuffer",
|
||||
"glTexStorage2D",
|
||||
"glTexStorage3D",
|
||||
"glGetInternalformativ"
|
||||
],
|
||||
|
||||
"GLES31 core": [
|
||||
"glDispatchCompute",
|
||||
"glDispatchComputeIndirect",
|
||||
"glDrawArraysIndirect",
|
||||
"glDrawElementsIndirect",
|
||||
"glFramebufferParameteri",
|
||||
"glGetFramebufferParameteriv",
|
||||
"glGetProgramInterfaceiv",
|
||||
"glGetProgramResourceIndex",
|
||||
"glGetProgramResourceName",
|
||||
"glGetProgramResourceiv",
|
||||
"glGetProgramResourceLocation",
|
||||
"glUseProgramStages",
|
||||
"glActiveShaderProgram",
|
||||
"glCreateShaderProgramv",
|
||||
"glBindProgramPipeline",
|
||||
"glDeleteProgramPipelines",
|
||||
"glGenProgramPipelines",
|
||||
"glIsProgramPipeline",
|
||||
"glGetProgramPipelineiv",
|
||||
"glProgramUniform1i",
|
||||
"glProgramUniform2i",
|
||||
"glProgramUniform3i",
|
||||
"glProgramUniform4i",
|
||||
"glProgramUniform1ui",
|
||||
"glProgramUniform2ui",
|
||||
"glProgramUniform3ui",
|
||||
"glProgramUniform4ui",
|
||||
"glProgramUniform1f",
|
||||
"glProgramUniform2f",
|
||||
"glProgramUniform3f",
|
||||
"glProgramUniform4f",
|
||||
"glProgramUniform1iv",
|
||||
"glProgramUniform2iv",
|
||||
"glProgramUniform3iv",
|
||||
"glProgramUniform4iv",
|
||||
"glProgramUniform1uiv",
|
||||
"glProgramUniform2uiv",
|
||||
"glProgramUniform3uiv",
|
||||
"glProgramUniform4uiv",
|
||||
"glProgramUniform1fv",
|
||||
"glProgramUniform2fv",
|
||||
"glProgramUniform3fv",
|
||||
"glProgramUniform4fv",
|
||||
"glProgramUniformMatrix2fv",
|
||||
"glProgramUniformMatrix3fv",
|
||||
"glProgramUniformMatrix4fv",
|
||||
"glProgramUniformMatrix2x3fv",
|
||||
"glProgramUniformMatrix3x2fv",
|
||||
"glProgramUniformMatrix2x4fv",
|
||||
"glProgramUniformMatrix4x2fv",
|
||||
"glProgramUniformMatrix3x4fv",
|
||||
"glProgramUniformMatrix4x3fv",
|
||||
"glValidateProgramPipeline",
|
||||
"glGetProgramPipelineInfoLog",
|
||||
"glBindImageTexture",
|
||||
"glGetBooleani_v",
|
||||
"glMemoryBarrier",
|
||||
"glMemoryBarrierByRegion",
|
||||
"glTexStorage2DMultisample",
|
||||
"glGetMultisamplefv",
|
||||
"glSampleMaski",
|
||||
"glGetTexLevelParameteriv",
|
||||
"glGetTexLevelParameterfv",
|
||||
"glBindVertexBuffer",
|
||||
"glVertexAttribFormat",
|
||||
"glVertexAttribIFormat",
|
||||
"glVertexAttribBinding",
|
||||
"glVertexBindingDivisor"
|
||||
],
|
||||
|
||||
"EGL 1.0": [
|
||||
"eglChooseConfig",
|
||||
"eglCopyBuffers",
|
||||
"eglCreateContext",
|
||||
"eglCreatePbufferSurface",
|
||||
"eglCreatePixmapSurface",
|
||||
"eglCreateWindowSurface",
|
||||
"eglDestroyContext",
|
||||
"eglDestroySurface",
|
||||
"eglGetConfigAttrib",
|
||||
"eglGetConfigs",
|
||||
"eglGetCurrentDisplay",
|
||||
"eglGetCurrentSurface",
|
||||
"eglGetDisplay",
|
||||
"eglGetError",
|
||||
"eglGetProcAddress",
|
||||
"eglInitialize",
|
||||
"eglMakeCurrent",
|
||||
"eglQueryContext",
|
||||
"eglQueryString",
|
||||
"eglQuerySurface",
|
||||
"eglSwapBuffers",
|
||||
"eglTerminate",
|
||||
"eglWaitGL",
|
||||
"eglWaitNative"
|
||||
],
|
||||
|
||||
"EGL 1.1": [
|
||||
"eglBindTexImage",
|
||||
"eglReleaseTexImage",
|
||||
"eglSurfaceAttrib",
|
||||
"eglSwapInterval"
|
||||
],
|
||||
|
||||
"EGL 1.2": [
|
||||
"eglBindAPI",
|
||||
"eglQueryAPI",
|
||||
"eglCreatePbufferFromClientBuffer",
|
||||
"eglReleaseThread",
|
||||
"eglWaitClient"
|
||||
],
|
||||
|
||||
"EGL 1.4": [
|
||||
"eglGetCurrentContext"
|
||||
],
|
||||
|
||||
"EGL 1.5": [
|
||||
"eglCreateSync",
|
||||
"eglDestroySync",
|
||||
"eglClientWaitSync",
|
||||
"eglGetSyncAttrib",
|
||||
"eglCreateImage",
|
||||
"eglDestroyImage",
|
||||
"eglGetPlatformDisplay",
|
||||
"eglCreatePlatformWindowSurface",
|
||||
"eglCreatePlatformPixmapSurface",
|
||||
"eglWaitSync"
|
||||
],
|
||||
|
||||
"EGL_ANGLE_query_surface_pointer": [
|
||||
"eglQuerySurfacePointerANGLE"
|
||||
],
|
||||
|
||||
"EGL_NV_post_sub_buffer": [
|
||||
"eglPostSubBufferNV"
|
||||
],
|
||||
|
||||
"EGL_EXT_platform_base": [
|
||||
"eglGetPlatformDisplayEXT"
|
||||
],
|
||||
|
||||
"EGL_EXT_device_query": [
|
||||
"eglQueryDisplayAttribEXT",
|
||||
"eglQueryDeviceAttribEXT",
|
||||
"eglQueryDeviceStringEXT"
|
||||
],
|
||||
|
||||
"EGL_KHR_image_base/EGL_KHR_image": [
|
||||
"eglCreateImageKHR",
|
||||
"eglDestroyImageKHR"
|
||||
],
|
||||
|
||||
"EGL_EXT_device_creation": [
|
||||
"eglCreateDeviceANGLE",
|
||||
"eglReleaseDeviceANGLE"
|
||||
],
|
||||
|
||||
"EGL_KHR_stream": [
|
||||
"eglCreateStreamKHR",
|
||||
"eglDestroyStreamKHR",
|
||||
"eglStreamAttribKHR",
|
||||
"eglQueryStreamKHR",
|
||||
"eglQueryStreamu64KHR"
|
||||
],
|
||||
|
||||
"EGL_KHR_stream_consumer_gltexture": [
|
||||
"eglStreamConsumerGLTextureExternalKHR",
|
||||
"eglStreamConsumerAcquireKHR",
|
||||
"eglStreamConsumerReleaseKHR"
|
||||
],
|
||||
|
||||
"EGL_NV_stream_consumer_gltexture_yuv": [
|
||||
"eglStreamConsumerGLTextureExternalAttribsNV"
|
||||
],
|
||||
|
||||
"EGL_ANGLE_stream_producer_d3d_texture_nv12": [
|
||||
"eglCreateStreamProducerD3DTextureNV12ANGLE",
|
||||
"eglStreamPostD3DTextureNV12ANGLE"
|
||||
],
|
||||
|
||||
"EGL_CHROMIUM_get_sync_values": [
|
||||
"eglGetSyncValuesCHROMIUM"
|
||||
],
|
||||
|
||||
"EGL_EXT_swap_buffers_with_damage": [
|
||||
"eglSwapBuffersWithDamageEXT"
|
||||
],
|
||||
|
||||
"EGL_ANGLE_program_cache_control": [
|
||||
"eglProgramCacheGetAttribANGLE",
|
||||
"eglProgramCacheQueryANGLE",
|
||||
"eglProgramCachePopulateANGLE",
|
||||
"eglProgramCacheResizeANGLE"
|
||||
],
|
||||
|
||||
"angle::Platform related entry points": [
|
||||
"ANGLEGetDisplayPlatform",
|
||||
"ANGLEResetDisplayPlatform"
|
||||
]
|
||||
}
|
|
@ -28,3 +28,10 @@ TEST(EGLSanityCheckTest, HasGetPlatformDisplayEXT)
|
|||
|
||||
ASSERT_NE(eglGetPlatformDisplayEXT, nullptr);
|
||||
}
|
||||
|
||||
// Checks that calling GetProcAddress for a non-existant function fails.
|
||||
TEST(EGLSanityCheckTest, GetProcAddressNegativeTest)
|
||||
{
|
||||
auto check = eglGetProcAddress("WigglyWombats");
|
||||
EXPECT_EQ(nullptr, check);
|
||||
}
|
Загрузка…
Ссылка в новой задаче