1459 lines
104 KiB
Zig
1459 lines
104 KiB
Zig
const std = @import("std");
|
|
const c = @import("c.zig");
|
|
|
|
var libgl: std.DynLib = undefined;
|
|
|
|
fn removeOptional(comptime T: type) type {
|
|
return switch (@typeInfo(T)) {
|
|
.Optional => |opt| opt.child,
|
|
else => T,
|
|
};
|
|
}
|
|
|
|
fn getProcAddress(name_ptr: [*:0]const u8) c.PROC {
|
|
const name = std.mem.span(name_ptr);
|
|
return libgl.lookup(removeOptional(c.PROC), name);
|
|
}
|
|
|
|
pub fn init() !void {
|
|
libgl = try std.DynLib.open("opengl32.dll");
|
|
}
|
|
|
|
pub fn deinit() void {
|
|
libgl.close();
|
|
}
|
|
|
|
pub const InstanceWGL = struct {
|
|
getExtensionsStringARB: removeOptional(c.PFNWGLGETEXTENSIONSSTRINGARBPROC),
|
|
createContextAttribsARB: removeOptional(c.PFNWGLCREATECONTEXTATTRIBSARBPROC),
|
|
choosePixelFormatARB: removeOptional(c.PFNWGLCHOOSEPIXELFORMATARBPROC),
|
|
|
|
pub fn load(wgl: *InstanceWGL) void {
|
|
wgl.getExtensionsStringARB = @ptrCast(c.wglGetProcAddress("wglGetExtensionsStringARB"));
|
|
wgl.createContextAttribsARB = @ptrCast(c.wglGetProcAddress("wglCreateContextAttribsARB"));
|
|
wgl.choosePixelFormatARB = @ptrCast(c.wglGetProcAddress("wglChoosePixelFormatARB"));
|
|
}
|
|
};
|
|
|
|
pub const AdapterGL = struct {
|
|
getString: removeOptional(c.PFNGLGETSTRINGPROC),
|
|
|
|
pub fn load(gl: *AdapterGL) void {
|
|
gl.getString = @ptrCast(getProcAddress("glGetString"));
|
|
}
|
|
};
|
|
|
|
pub const DeviceGL = struct {
|
|
// 1.0
|
|
cullFace: removeOptional(c.PFNGLCULLFACEPROC),
|
|
frontFace: removeOptional(c.PFNGLFRONTFACEPROC),
|
|
hint: removeOptional(c.PFNGLHINTPROC),
|
|
lineWidth: removeOptional(c.PFNGLLINEWIDTHPROC),
|
|
pointSize: removeOptional(c.PFNGLPOINTSIZEPROC),
|
|
polygonMode: removeOptional(c.PFNGLPOLYGONMODEPROC),
|
|
scissor: removeOptional(c.PFNGLSCISSORPROC),
|
|
texParameterf: removeOptional(c.PFNGLTEXPARAMETERFPROC),
|
|
texParameterfv: removeOptional(c.PFNGLTEXPARAMETERFVPROC),
|
|
texParameteri: removeOptional(c.PFNGLTEXPARAMETERIPROC),
|
|
texParameteriv: removeOptional(c.PFNGLTEXPARAMETERIVPROC),
|
|
texImage1D: removeOptional(c.PFNGLTEXIMAGE1DPROC),
|
|
texImage2D: removeOptional(c.PFNGLTEXIMAGE2DPROC),
|
|
drawBuffer: removeOptional(c.PFNGLDRAWBUFFERPROC),
|
|
clear: removeOptional(c.PFNGLCLEARPROC),
|
|
clearColor: removeOptional(c.PFNGLCLEARCOLORPROC),
|
|
clearStencil: removeOptional(c.PFNGLCLEARSTENCILPROC),
|
|
clearDepth: removeOptional(c.PFNGLCLEARDEPTHPROC),
|
|
stencilMask: removeOptional(c.PFNGLSTENCILMASKPROC),
|
|
colorMask: removeOptional(c.PFNGLCOLORMASKPROC),
|
|
depthMask: removeOptional(c.PFNGLDEPTHMASKPROC),
|
|
disable: removeOptional(c.PFNGLDISABLEPROC),
|
|
enable: removeOptional(c.PFNGLENABLEPROC),
|
|
finish: removeOptional(c.PFNGLFINISHPROC),
|
|
flush: removeOptional(c.PFNGLFLUSHPROC),
|
|
blendFunc: removeOptional(c.PFNGLBLENDFUNCPROC),
|
|
logicOp: removeOptional(c.PFNGLLOGICOPPROC),
|
|
stencilFunc: removeOptional(c.PFNGLSTENCILFUNCPROC),
|
|
stencilOp: removeOptional(c.PFNGLSTENCILOPPROC),
|
|
depthFunc: removeOptional(c.PFNGLDEPTHFUNCPROC),
|
|
pixelStoref: removeOptional(c.PFNGLPIXELSTOREFPROC),
|
|
pixelStorei: removeOptional(c.PFNGLPIXELSTOREIPROC),
|
|
readBuffer: removeOptional(c.PFNGLREADBUFFERPROC),
|
|
readPixels: removeOptional(c.PFNGLREADPIXELSPROC),
|
|
getBooleanv: removeOptional(c.PFNGLGETBOOLEANVPROC),
|
|
getDoublev: removeOptional(c.PFNGLGETDOUBLEVPROC),
|
|
getError: removeOptional(c.PFNGLGETERRORPROC),
|
|
getFloatv: removeOptional(c.PFNGLGETFLOATVPROC),
|
|
getIntegerv: removeOptional(c.PFNGLGETINTEGERVPROC),
|
|
getString: removeOptional(c.PFNGLGETSTRINGPROC),
|
|
getTexImage: removeOptional(c.PFNGLGETTEXIMAGEPROC),
|
|
getTexParameterfv: removeOptional(c.PFNGLGETTEXPARAMETERFVPROC),
|
|
getTexParameteriv: removeOptional(c.PFNGLGETTEXPARAMETERIVPROC),
|
|
getTexLevelParameterfv: removeOptional(c.PFNGLGETTEXLEVELPARAMETERFVPROC),
|
|
getTexLevelParameteriv: removeOptional(c.PFNGLGETTEXLEVELPARAMETERIVPROC),
|
|
isEnabled: removeOptional(c.PFNGLISENABLEDPROC),
|
|
depthRange: removeOptional(c.PFNGLDEPTHRANGEPROC),
|
|
viewport: removeOptional(c.PFNGLVIEWPORTPROC),
|
|
|
|
// 1.1
|
|
drawArrays: removeOptional(c.PFNGLDRAWARRAYSPROC),
|
|
drawElements: removeOptional(c.PFNGLDRAWELEMENTSPROC),
|
|
getPointerv: removeOptional(c.PFNGLGETPOINTERVPROC),
|
|
polygonOffset: removeOptional(c.PFNGLPOLYGONOFFSETPROC),
|
|
copyTexImage1D: removeOptional(c.PFNGLCOPYTEXIMAGE1DPROC),
|
|
copyTexImage2D: removeOptional(c.PFNGLCOPYTEXIMAGE2DPROC),
|
|
copyTexSubImage1D: removeOptional(c.PFNGLCOPYTEXSUBIMAGE1DPROC),
|
|
copyTexSubImage2D: removeOptional(c.PFNGLCOPYTEXSUBIMAGE2DPROC),
|
|
texSubImage1D: removeOptional(c.PFNGLTEXSUBIMAGE1DPROC),
|
|
texSubImage2D: removeOptional(c.PFNGLTEXSUBIMAGE2DPROC),
|
|
bindTexture: removeOptional(c.PFNGLBINDTEXTUREPROC),
|
|
deleteTextures: removeOptional(c.PFNGLDELETETEXTURESPROC),
|
|
genTextures: removeOptional(c.PFNGLGENTEXTURESPROC),
|
|
isTexture: removeOptional(c.PFNGLISTEXTUREPROC),
|
|
|
|
// 1.2
|
|
drawRangeElements: removeOptional(c.PFNGLDRAWRANGEELEMENTSPROC),
|
|
texImage3D: removeOptional(c.PFNGLTEXIMAGE3DPROC),
|
|
texSubImage3D: removeOptional(c.PFNGLTEXSUBIMAGE3DPROC),
|
|
copyTexSubImage3D: removeOptional(c.PFNGLCOPYTEXSUBIMAGE3DPROC),
|
|
|
|
// 1.3
|
|
activeTexture: removeOptional(c.PFNGLACTIVETEXTUREPROC),
|
|
sampleCoverage: removeOptional(c.PFNGLSAMPLECOVERAGEPROC),
|
|
compressedTexImage3D: removeOptional(c.PFNGLCOMPRESSEDTEXIMAGE3DPROC),
|
|
compressedTexImage2D: removeOptional(c.PFNGLCOMPRESSEDTEXIMAGE2DPROC),
|
|
compressedTexImage1D: removeOptional(c.PFNGLCOMPRESSEDTEXIMAGE1DPROC),
|
|
compressedTexSubImage3D: removeOptional(c.PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC),
|
|
compressedTexSubImage2D: removeOptional(c.PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC),
|
|
compressedTexSubImage1D: removeOptional(c.PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC),
|
|
getCompressedTexImage: removeOptional(c.PFNGLGETCOMPRESSEDTEXIMAGEPROC),
|
|
|
|
// 1.4
|
|
blendFuncSeparate: removeOptional(c.PFNGLBLENDFUNCSEPARATEPROC),
|
|
multiDrawArrays: removeOptional(c.PFNGLMULTIDRAWARRAYSPROC),
|
|
multiDrawElements: removeOptional(c.PFNGLMULTIDRAWELEMENTSPROC),
|
|
pointParameterf: removeOptional(c.PFNGLPOINTPARAMETERFPROC),
|
|
pointParameterfv: removeOptional(c.PFNGLPOINTPARAMETERFVPROC),
|
|
pointParameteri: removeOptional(c.PFNGLPOINTPARAMETERIPROC),
|
|
pointParameteriv: removeOptional(c.PFNGLPOINTPARAMETERIVPROC),
|
|
blendColor: removeOptional(c.PFNGLBLENDCOLORPROC),
|
|
blendEquation: removeOptional(c.PFNGLBLENDEQUATIONPROC),
|
|
|
|
// 1.5
|
|
genQueries: removeOptional(c.PFNGLGENQUERIESPROC),
|
|
deleteQueries: removeOptional(c.PFNGLDELETEQUERIESPROC),
|
|
isQuery: removeOptional(c.PFNGLISQUERYPROC),
|
|
beginQuery: removeOptional(c.PFNGLBEGINQUERYPROC),
|
|
endQuery: removeOptional(c.PFNGLENDQUERYPROC),
|
|
getQueryiv: removeOptional(c.PFNGLGETQUERYIVPROC),
|
|
getQueryObjectiv: removeOptional(c.PFNGLGETQUERYOBJECTIVPROC),
|
|
getQueryObjectuiv: removeOptional(c.PFNGLGETQUERYOBJECTUIVPROC),
|
|
bindBuffer: removeOptional(c.PFNGLBINDBUFFERPROC),
|
|
deleteBuffers: removeOptional(c.PFNGLDELETEBUFFERSPROC),
|
|
genBuffers: removeOptional(c.PFNGLGENBUFFERSPROC),
|
|
isBuffer: removeOptional(c.PFNGLISBUFFERPROC),
|
|
bufferData: removeOptional(c.PFNGLBUFFERDATAPROC),
|
|
bufferSubData: removeOptional(c.PFNGLBUFFERSUBDATAPROC),
|
|
getBufferSubData: removeOptional(c.PFNGLGETBUFFERSUBDATAPROC),
|
|
mapBuffer: removeOptional(c.PFNGLMAPBUFFERPROC),
|
|
unmapBuffer: removeOptional(c.PFNGLUNMAPBUFFERPROC),
|
|
getBufferParameteriv: removeOptional(c.PFNGLGETBUFFERPARAMETERIVPROC),
|
|
getBufferPointerv: removeOptional(c.PFNGLGETBUFFERPOINTERVPROC),
|
|
|
|
// 2.0
|
|
blendEquationSeparate: removeOptional(c.PFNGLBLENDEQUATIONSEPARATEPROC),
|
|
drawBuffers: removeOptional(c.PFNGLDRAWBUFFERSPROC),
|
|
stencilOpSeparate: removeOptional(c.PFNGLSTENCILOPSEPARATEPROC),
|
|
stencilFuncSeparate: removeOptional(c.PFNGLSTENCILFUNCSEPARATEPROC),
|
|
stencilMaskSeparate: removeOptional(c.PFNGLSTENCILMASKSEPARATEPROC),
|
|
attachShader: removeOptional(c.PFNGLATTACHSHADERPROC),
|
|
bindAttribLocation: removeOptional(c.PFNGLBINDATTRIBLOCATIONPROC),
|
|
compileShader: removeOptional(c.PFNGLCOMPILESHADERPROC),
|
|
createProgram: removeOptional(c.PFNGLCREATEPROGRAMPROC),
|
|
createShader: removeOptional(c.PFNGLCREATESHADERPROC),
|
|
deleteProgram: removeOptional(c.PFNGLDELETEPROGRAMPROC),
|
|
deleteShader: removeOptional(c.PFNGLDELETESHADERPROC),
|
|
detachShader: removeOptional(c.PFNGLDETACHSHADERPROC),
|
|
disableVertexAttribArray: removeOptional(c.PFNGLDISABLEVERTEXATTRIBARRAYPROC),
|
|
enableVertexAttribArray: removeOptional(c.PFNGLENABLEVERTEXATTRIBARRAYPROC),
|
|
getActiveAttrib: removeOptional(c.PFNGLGETACTIVEATTRIBPROC),
|
|
getActiveUniform: removeOptional(c.PFNGLGETACTIVEUNIFORMPROC),
|
|
getAttachedShaders: removeOptional(c.PFNGLGETATTACHEDSHADERSPROC),
|
|
getAttribLocation: removeOptional(c.PFNGLGETATTRIBLOCATIONPROC),
|
|
getProgramiv: removeOptional(c.PFNGLGETPROGRAMIVPROC),
|
|
getProgramInfoLog: removeOptional(c.PFNGLGETPROGRAMINFOLOGPROC),
|
|
getShaderiv: removeOptional(c.PFNGLGETSHADERIVPROC),
|
|
getShaderInfoLog: removeOptional(c.PFNGLGETSHADERINFOLOGPROC),
|
|
getShaderSource: removeOptional(c.PFNGLGETSHADERSOURCEPROC),
|
|
getUniformLocation: removeOptional(c.PFNGLGETUNIFORMLOCATIONPROC),
|
|
getUniformfv: removeOptional(c.PFNGLGETUNIFORMFVPROC),
|
|
getUniformiv: removeOptional(c.PFNGLGETUNIFORMIVPROC),
|
|
getVertexAttribdv: removeOptional(c.PFNGLGETVERTEXATTRIBDVPROC),
|
|
getVertexAttribfv: removeOptional(c.PFNGLGETVERTEXATTRIBFVPROC),
|
|
getVertexAttribiv: removeOptional(c.PFNGLGETVERTEXATTRIBIVPROC),
|
|
getVertexAttribPointerv: removeOptional(c.PFNGLGETVERTEXATTRIBPOINTERVPROC),
|
|
isProgram: removeOptional(c.PFNGLISPROGRAMPROC),
|
|
isShader: removeOptional(c.PFNGLISSHADERPROC),
|
|
linkProgram: removeOptional(c.PFNGLLINKPROGRAMPROC),
|
|
shaderSource: removeOptional(c.PFNGLSHADERSOURCEPROC),
|
|
useProgram: removeOptional(c.PFNGLUSEPROGRAMPROC),
|
|
uniform1f: removeOptional(c.PFNGLUNIFORM1FPROC),
|
|
uniform2f: removeOptional(c.PFNGLUNIFORM2FPROC),
|
|
uniform3f: removeOptional(c.PFNGLUNIFORM3FPROC),
|
|
uniform4f: removeOptional(c.PFNGLUNIFORM4FPROC),
|
|
uniform1i: removeOptional(c.PFNGLUNIFORM1IPROC),
|
|
uniform2i: removeOptional(c.PFNGLUNIFORM2IPROC),
|
|
uniform3i: removeOptional(c.PFNGLUNIFORM3IPROC),
|
|
uniform4i: removeOptional(c.PFNGLUNIFORM4IPROC),
|
|
uniform1fv: removeOptional(c.PFNGLUNIFORM1FVPROC),
|
|
uniform2fv: removeOptional(c.PFNGLUNIFORM2FVPROC),
|
|
uniform3fv: removeOptional(c.PFNGLUNIFORM3FVPROC),
|
|
uniform4fv: removeOptional(c.PFNGLUNIFORM4FVPROC),
|
|
uniform1iv: removeOptional(c.PFNGLUNIFORM1IVPROC),
|
|
uniform2iv: removeOptional(c.PFNGLUNIFORM2IVPROC),
|
|
uniform3iv: removeOptional(c.PFNGLUNIFORM3IVPROC),
|
|
uniform4iv: removeOptional(c.PFNGLUNIFORM4IVPROC),
|
|
uniformMatrix2fv: removeOptional(c.PFNGLUNIFORMMATRIX2FVPROC),
|
|
uniformMatrix3fv: removeOptional(c.PFNGLUNIFORMMATRIX3FVPROC),
|
|
uniformMatrix4fv: removeOptional(c.PFNGLUNIFORMMATRIX4FVPROC),
|
|
validateProgram: removeOptional(c.PFNGLVALIDATEPROGRAMPROC),
|
|
vertexAttrib1d: removeOptional(c.PFNGLVERTEXATTRIB1DPROC),
|
|
vertexAttrib1dv: removeOptional(c.PFNGLVERTEXATTRIB1DVPROC),
|
|
vertexAttrib1f: removeOptional(c.PFNGLVERTEXATTRIB1FPROC),
|
|
vertexAttrib1fv: removeOptional(c.PFNGLVERTEXATTRIB1FVPROC),
|
|
vertexAttrib1s: removeOptional(c.PFNGLVERTEXATTRIB1SPROC),
|
|
vertexAttrib1sv: removeOptional(c.PFNGLVERTEXATTRIB1SVPROC),
|
|
vertexAttrib2d: removeOptional(c.PFNGLVERTEXATTRIB2DPROC),
|
|
vertexAttrib2dv: removeOptional(c.PFNGLVERTEXATTRIB2DVPROC),
|
|
vertexAttrib2f: removeOptional(c.PFNGLVERTEXATTRIB2FPROC),
|
|
vertexAttrib2fv: removeOptional(c.PFNGLVERTEXATTRIB2FVPROC),
|
|
vertexAttrib2s: removeOptional(c.PFNGLVERTEXATTRIB2SPROC),
|
|
vertexAttrib2sv: removeOptional(c.PFNGLVERTEXATTRIB2SVPROC),
|
|
vertexAttrib3d: removeOptional(c.PFNGLVERTEXATTRIB3DPROC),
|
|
vertexAttrib3dv: removeOptional(c.PFNGLVERTEXATTRIB3DVPROC),
|
|
vertexAttrib3f: removeOptional(c.PFNGLVERTEXATTRIB3FPROC),
|
|
vertexAttrib3fv: removeOptional(c.PFNGLVERTEXATTRIB3FVPROC),
|
|
vertexAttrib3s: removeOptional(c.PFNGLVERTEXATTRIB3SPROC),
|
|
vertexAttrib3sv: removeOptional(c.PFNGLVERTEXATTRIB3SVPROC),
|
|
vertexAttrib4Nbv: removeOptional(c.PFNGLVERTEXATTRIB4NBVPROC),
|
|
vertexAttrib4Niv: removeOptional(c.PFNGLVERTEXATTRIB4NIVPROC),
|
|
vertexAttrib4Nsv: removeOptional(c.PFNGLVERTEXATTRIB4NSVPROC),
|
|
vertexAttrib4Nub: removeOptional(c.PFNGLVERTEXATTRIB4NUBPROC),
|
|
vertexAttrib4Nubv: removeOptional(c.PFNGLVERTEXATTRIB4NUBVPROC),
|
|
vertexAttrib4Nuiv: removeOptional(c.PFNGLVERTEXATTRIB4NUIVPROC),
|
|
vertexAttrib4Nusv: removeOptional(c.PFNGLVERTEXATTRIB4NUSVPROC),
|
|
vertexAttrib4bv: removeOptional(c.PFNGLVERTEXATTRIB4BVPROC),
|
|
vertexAttrib4d: removeOptional(c.PFNGLVERTEXATTRIB4DPROC),
|
|
vertexAttrib4dv: removeOptional(c.PFNGLVERTEXATTRIB4DVPROC),
|
|
vertexAttrib4f: removeOptional(c.PFNGLVERTEXATTRIB4FPROC),
|
|
vertexAttrib4fv: removeOptional(c.PFNGLVERTEXATTRIB4FVPROC),
|
|
vertexAttrib4iv: removeOptional(c.PFNGLVERTEXATTRIB4IVPROC),
|
|
vertexAttrib4s: removeOptional(c.PFNGLVERTEXATTRIB4SPROC),
|
|
vertexAttrib4sv: removeOptional(c.PFNGLVERTEXATTRIB4SVPROC),
|
|
vertexAttrib4ubv: removeOptional(c.PFNGLVERTEXATTRIB4UBVPROC),
|
|
vertexAttrib4uiv: removeOptional(c.PFNGLVERTEXATTRIB4UIVPROC),
|
|
vertexAttrib4usv: removeOptional(c.PFNGLVERTEXATTRIB4USVPROC),
|
|
vertexAttribPointer: removeOptional(c.PFNGLVERTEXATTRIBPOINTERPROC),
|
|
|
|
// 2.1
|
|
uniformMatrix2x3fv: removeOptional(c.PFNGLUNIFORMMATRIX2X3FVPROC),
|
|
uniformMatrix3x2fv: removeOptional(c.PFNGLUNIFORMMATRIX3X2FVPROC),
|
|
uniformMatrix2x4fv: removeOptional(c.PFNGLUNIFORMMATRIX2X4FVPROC),
|
|
uniformMatrix4x2fv: removeOptional(c.PFNGLUNIFORMMATRIX4X2FVPROC),
|
|
uniformMatrix3x4fv: removeOptional(c.PFNGLUNIFORMMATRIX3X4FVPROC),
|
|
uniformMatrix4x3fv: removeOptional(c.PFNGLUNIFORMMATRIX4X3FVPROC),
|
|
|
|
// 3.0
|
|
colorMaski: removeOptional(c.PFNGLCOLORMASKIPROC),
|
|
getBooleani_v: removeOptional(c.PFNGLGETBOOLEANI_VPROC),
|
|
getIntegeri_v: removeOptional(c.PFNGLGETINTEGERI_VPROC),
|
|
enablei: removeOptional(c.PFNGLENABLEIPROC),
|
|
disablei: removeOptional(c.PFNGLDISABLEIPROC),
|
|
isEnabledi: removeOptional(c.PFNGLISENABLEDIPROC),
|
|
beginTransformFeedback: removeOptional(c.PFNGLBEGINTRANSFORMFEEDBACKPROC),
|
|
endTransformFeedback: removeOptional(c.PFNGLENDTRANSFORMFEEDBACKPROC),
|
|
bindBufferRange: removeOptional(c.PFNGLBINDBUFFERRANGEPROC),
|
|
bindBufferBase: removeOptional(c.PFNGLBINDBUFFERBASEPROC),
|
|
transformFeedbackVaryings: removeOptional(c.PFNGLTRANSFORMFEEDBACKVARYINGSPROC),
|
|
getTransformFeedbackVarying: removeOptional(c.PFNGLGETTRANSFORMFEEDBACKVARYINGPROC),
|
|
clampColor: removeOptional(c.PFNGLCLAMPCOLORPROC),
|
|
beginConditionalRender: removeOptional(c.PFNGLBEGINCONDITIONALRENDERPROC),
|
|
endConditionalRender: removeOptional(c.PFNGLENDCONDITIONALRENDERPROC),
|
|
vertexAttribIPointer: removeOptional(c.PFNGLVERTEXATTRIBIPOINTERPROC),
|
|
getVertexAttribIiv: removeOptional(c.PFNGLGETVERTEXATTRIBIIVPROC),
|
|
getVertexAttribIuiv: removeOptional(c.PFNGLGETVERTEXATTRIBIUIVPROC),
|
|
vertexAttribI1i: removeOptional(c.PFNGLVERTEXATTRIBI1IPROC),
|
|
vertexAttribI2i: removeOptional(c.PFNGLVERTEXATTRIBI2IPROC),
|
|
vertexAttribI3i: removeOptional(c.PFNGLVERTEXATTRIBI3IPROC),
|
|
vertexAttribI4i: removeOptional(c.PFNGLVERTEXATTRIBI4IPROC),
|
|
vertexAttribI1ui: removeOptional(c.PFNGLVERTEXATTRIBI1UIPROC),
|
|
vertexAttribI2ui: removeOptional(c.PFNGLVERTEXATTRIBI2UIPROC),
|
|
vertexAttribI3ui: removeOptional(c.PFNGLVERTEXATTRIBI3UIPROC),
|
|
vertexAttribI4ui: removeOptional(c.PFNGLVERTEXATTRIBI4UIPROC),
|
|
vertexAttribI1iv: removeOptional(c.PFNGLVERTEXATTRIBI1IVPROC),
|
|
vertexAttribI2iv: removeOptional(c.PFNGLVERTEXATTRIBI2IVPROC),
|
|
vertexAttribI3iv: removeOptional(c.PFNGLVERTEXATTRIBI3IVPROC),
|
|
vertexAttribI4iv: removeOptional(c.PFNGLVERTEXATTRIBI4IVPROC),
|
|
vertexAttribI1uiv: removeOptional(c.PFNGLVERTEXATTRIBI1UIVPROC),
|
|
vertexAttribI2uiv: removeOptional(c.PFNGLVERTEXATTRIBI2UIVPROC),
|
|
vertexAttribI3uiv: removeOptional(c.PFNGLVERTEXATTRIBI3UIVPROC),
|
|
vertexAttribI4uiv: removeOptional(c.PFNGLVERTEXATTRIBI4UIVPROC),
|
|
vertexAttribI4bv: removeOptional(c.PFNGLVERTEXATTRIBI4BVPROC),
|
|
vertexAttribI4sv: removeOptional(c.PFNGLVERTEXATTRIBI4SVPROC),
|
|
vertexAttribI4ubv: removeOptional(c.PFNGLVERTEXATTRIBI4UBVPROC),
|
|
vertexAttribI4usv: removeOptional(c.PFNGLVERTEXATTRIBI4USVPROC),
|
|
getUniformuiv: removeOptional(c.PFNGLGETUNIFORMUIVPROC),
|
|
bindFragDataLocation: removeOptional(c.PFNGLBINDFRAGDATALOCATIONPROC),
|
|
getFragDataLocation: removeOptional(c.PFNGLGETFRAGDATALOCATIONPROC),
|
|
uniform1ui: removeOptional(c.PFNGLUNIFORM1UIPROC),
|
|
uniform2ui: removeOptional(c.PFNGLUNIFORM2UIPROC),
|
|
uniform3ui: removeOptional(c.PFNGLUNIFORM3UIPROC),
|
|
uniform4ui: removeOptional(c.PFNGLUNIFORM4UIPROC),
|
|
uniform1uiv: removeOptional(c.PFNGLUNIFORM1UIVPROC),
|
|
uniform2uiv: removeOptional(c.PFNGLUNIFORM2UIVPROC),
|
|
uniform3uiv: removeOptional(c.PFNGLUNIFORM3UIVPROC),
|
|
uniform4uiv: removeOptional(c.PFNGLUNIFORM4UIVPROC),
|
|
texParameterIiv: removeOptional(c.PFNGLTEXPARAMETERIIVPROC),
|
|
texParameterIuiv: removeOptional(c.PFNGLTEXPARAMETERIUIVPROC),
|
|
getTexParameterIiv: removeOptional(c.PFNGLGETTEXPARAMETERIIVPROC),
|
|
getTexParameterIuiv: removeOptional(c.PFNGLGETTEXPARAMETERIUIVPROC),
|
|
clearBufferiv: removeOptional(c.PFNGLCLEARBUFFERIVPROC),
|
|
clearBufferuiv: removeOptional(c.PFNGLCLEARBUFFERUIVPROC),
|
|
clearBufferfv: removeOptional(c.PFNGLCLEARBUFFERFVPROC),
|
|
clearBufferfi: removeOptional(c.PFNGLCLEARBUFFERFIPROC),
|
|
getStringi: removeOptional(c.PFNGLGETSTRINGIPROC),
|
|
isRenderbuffer: removeOptional(c.PFNGLISRENDERBUFFERPROC),
|
|
bindRenderbuffer: removeOptional(c.PFNGLBINDRENDERBUFFERPROC),
|
|
deleteRenderbuffers: removeOptional(c.PFNGLDELETERENDERBUFFERSPROC),
|
|
genRenderbuffers: removeOptional(c.PFNGLGENRENDERBUFFERSPROC),
|
|
renderbufferStorage: removeOptional(c.PFNGLRENDERBUFFERSTORAGEPROC),
|
|
getRenderbufferParameteriv: removeOptional(c.PFNGLGETRENDERBUFFERPARAMETERIVPROC),
|
|
isFramebuffer: removeOptional(c.PFNGLISFRAMEBUFFERPROC),
|
|
bindFramebuffer: removeOptional(c.PFNGLBINDFRAMEBUFFERPROC),
|
|
deleteFramebuffers: removeOptional(c.PFNGLDELETEFRAMEBUFFERSPROC),
|
|
genFramebuffers: removeOptional(c.PFNGLGENFRAMEBUFFERSPROC),
|
|
checkFramebufferStatus: removeOptional(c.PFNGLCHECKFRAMEBUFFERSTATUSPROC),
|
|
framebufferTexture1D: removeOptional(c.PFNGLFRAMEBUFFERTEXTURE1DPROC),
|
|
framebufferTexture2D: removeOptional(c.PFNGLFRAMEBUFFERTEXTURE2DPROC),
|
|
framebufferTexture3D: removeOptional(c.PFNGLFRAMEBUFFERTEXTURE3DPROC),
|
|
framebufferRenderbuffer: removeOptional(c.PFNGLFRAMEBUFFERRENDERBUFFERPROC),
|
|
getFramebufferAttachmentParameteriv: removeOptional(c.PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC),
|
|
generateMipmap: removeOptional(c.PFNGLGENERATEMIPMAPPROC),
|
|
blitFramebuffer: removeOptional(c.PFNGLBLITFRAMEBUFFERPROC),
|
|
renderbufferStorageMultisample: removeOptional(c.PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC),
|
|
framebufferTextureLayer: removeOptional(c.PFNGLFRAMEBUFFERTEXTURELAYERPROC),
|
|
mapBufferRange: removeOptional(c.PFNGLMAPBUFFERRANGEPROC),
|
|
flushMappedBufferRange: removeOptional(c.PFNGLFLUSHMAPPEDBUFFERRANGEPROC),
|
|
bindVertexArray: removeOptional(c.PFNGLBINDVERTEXARRAYPROC),
|
|
deleteVertexArrays: removeOptional(c.PFNGLDELETEVERTEXARRAYSPROC),
|
|
genVertexArrays: removeOptional(c.PFNGLGENVERTEXARRAYSPROC),
|
|
isVertexArray: removeOptional(c.PFNGLISVERTEXARRAYPROC),
|
|
|
|
// 3.1
|
|
drawArraysInstanced: removeOptional(c.PFNGLDRAWARRAYSINSTANCEDPROC),
|
|
drawElementsInstanced: removeOptional(c.PFNGLDRAWELEMENTSINSTANCEDPROC),
|
|
texBuffer: removeOptional(c.PFNGLTEXBUFFERPROC),
|
|
primitiveRestartIndex: removeOptional(c.PFNGLPRIMITIVERESTARTINDEXPROC),
|
|
copyBufferSubData: removeOptional(c.PFNGLCOPYBUFFERSUBDATAPROC),
|
|
getUniformIndices: removeOptional(c.PFNGLGETUNIFORMINDICESPROC),
|
|
getActiveUniformsiv: removeOptional(c.PFNGLGETACTIVEUNIFORMSIVPROC),
|
|
getActiveUniformName: removeOptional(c.PFNGLGETACTIVEUNIFORMNAMEPROC),
|
|
getUniformBlockIndex: removeOptional(c.PFNGLGETUNIFORMBLOCKINDEXPROC),
|
|
getActiveUniformBlockiv: removeOptional(c.PFNGLGETACTIVEUNIFORMBLOCKIVPROC),
|
|
getActiveUniformBlockName: removeOptional(c.PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC),
|
|
uniformBlockBinding: removeOptional(c.PFNGLUNIFORMBLOCKBINDINGPROC),
|
|
|
|
// 3.2
|
|
drawElementsBaseVertex: removeOptional(c.PFNGLDRAWELEMENTSBASEVERTEXPROC),
|
|
drawRangeElementsBaseVertex: removeOptional(c.PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC),
|
|
drawElementsInstancedBaseVertex: removeOptional(c.PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC),
|
|
multiDrawElementsBaseVertex: removeOptional(c.PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC),
|
|
provokingVertex: removeOptional(c.PFNGLPROVOKINGVERTEXPROC),
|
|
fenceSync: removeOptional(c.PFNGLFENCESYNCPROC),
|
|
isSync: removeOptional(c.PFNGLISSYNCPROC),
|
|
deleteSync: removeOptional(c.PFNGLDELETESYNCPROC),
|
|
clientWaitSync: removeOptional(c.PFNGLCLIENTWAITSYNCPROC),
|
|
waitSync: removeOptional(c.PFNGLWAITSYNCPROC),
|
|
getInteger64v: removeOptional(c.PFNGLGETINTEGER64VPROC),
|
|
getSynciv: removeOptional(c.PFNGLGETSYNCIVPROC),
|
|
getInteger64i_v: removeOptional(c.PFNGLGETINTEGER64I_VPROC),
|
|
getBufferParameteri64v: removeOptional(c.PFNGLGETBUFFERPARAMETERI64VPROC),
|
|
framebufferTexture: removeOptional(c.PFNGLFRAMEBUFFERTEXTUREPROC),
|
|
texImage2DMultisample: removeOptional(c.PFNGLTEXIMAGE2DMULTISAMPLEPROC),
|
|
texImage3DMultisample: removeOptional(c.PFNGLTEXIMAGE3DMULTISAMPLEPROC),
|
|
getMultisamplefv: removeOptional(c.PFNGLGETMULTISAMPLEFVPROC),
|
|
sampleMaski: removeOptional(c.PFNGLSAMPLEMASKIPROC),
|
|
|
|
// 3.3
|
|
bindFragDataLocationIndexed: removeOptional(c.PFNGLBINDFRAGDATALOCATIONINDEXEDPROC),
|
|
getFragDataIndex: removeOptional(c.PFNGLGETFRAGDATAINDEXPROC),
|
|
genSamplers: removeOptional(c.PFNGLGENSAMPLERSPROC),
|
|
deleteSamplers: removeOptional(c.PFNGLDELETESAMPLERSPROC),
|
|
isSampler: removeOptional(c.PFNGLISSAMPLERPROC),
|
|
bindSampler: removeOptional(c.PFNGLBINDSAMPLERPROC),
|
|
samplerParameteri: removeOptional(c.PFNGLSAMPLERPARAMETERIPROC),
|
|
samplerParameteriv: removeOptional(c.PFNGLSAMPLERPARAMETERIVPROC),
|
|
samplerParameterf: removeOptional(c.PFNGLSAMPLERPARAMETERFPROC),
|
|
samplerParameterfv: removeOptional(c.PFNGLSAMPLERPARAMETERFVPROC),
|
|
samplerParameterIiv: removeOptional(c.PFNGLSAMPLERPARAMETERIIVPROC),
|
|
samplerParameterIuiv: removeOptional(c.PFNGLSAMPLERPARAMETERIUIVPROC),
|
|
getSamplerParameteriv: removeOptional(c.PFNGLGETSAMPLERPARAMETERIVPROC),
|
|
getSamplerParameterIiv: removeOptional(c.PFNGLGETSAMPLERPARAMETERIIVPROC),
|
|
getSamplerParameterfv: removeOptional(c.PFNGLGETSAMPLERPARAMETERFVPROC),
|
|
getSamplerParameterIuiv: removeOptional(c.PFNGLGETSAMPLERPARAMETERIUIVPROC),
|
|
queryCounter: removeOptional(c.PFNGLQUERYCOUNTERPROC),
|
|
getQueryObjecti64v: removeOptional(c.PFNGLGETQUERYOBJECTI64VPROC),
|
|
getQueryObjectui64v: removeOptional(c.PFNGLGETQUERYOBJECTUI64VPROC),
|
|
vertexAttribDivisor: removeOptional(c.PFNGLVERTEXATTRIBDIVISORPROC),
|
|
vertexAttribP1ui: removeOptional(c.PFNGLVERTEXATTRIBP1UIPROC),
|
|
vertexAttribP1uiv: removeOptional(c.PFNGLVERTEXATTRIBP1UIVPROC),
|
|
vertexAttribP2ui: removeOptional(c.PFNGLVERTEXATTRIBP2UIPROC),
|
|
vertexAttribP2uiv: removeOptional(c.PFNGLVERTEXATTRIBP2UIVPROC),
|
|
vertexAttribP3ui: removeOptional(c.PFNGLVERTEXATTRIBP3UIPROC),
|
|
vertexAttribP3uiv: removeOptional(c.PFNGLVERTEXATTRIBP3UIVPROC),
|
|
vertexAttribP4ui: removeOptional(c.PFNGLVERTEXATTRIBP4UIPROC),
|
|
vertexAttribP4uiv: removeOptional(c.PFNGLVERTEXATTRIBP4UIVPROC),
|
|
|
|
// 4.0
|
|
minSampleShading: removeOptional(c.PFNGLMINSAMPLESHADINGPROC),
|
|
blendEquationi: removeOptional(c.PFNGLBLENDEQUATIONIPROC),
|
|
blendEquationSeparatei: removeOptional(c.PFNGLBLENDEQUATIONSEPARATEIPROC),
|
|
blendFunci: removeOptional(c.PFNGLBLENDFUNCIPROC),
|
|
blendFuncSeparatei: removeOptional(c.PFNGLBLENDFUNCSEPARATEIPROC),
|
|
drawArraysIndirect: removeOptional(c.PFNGLDRAWARRAYSINDIRECTPROC),
|
|
drawElementsIndirect: removeOptional(c.PFNGLDRAWELEMENTSINDIRECTPROC),
|
|
uniform1d: removeOptional(c.PFNGLUNIFORM1DPROC),
|
|
uniform2d: removeOptional(c.PFNGLUNIFORM2DPROC),
|
|
uniform3d: removeOptional(c.PFNGLUNIFORM3DPROC),
|
|
uniform4d: removeOptional(c.PFNGLUNIFORM4DPROC),
|
|
uniform1dv: removeOptional(c.PFNGLUNIFORM1DVPROC),
|
|
uniform2dv: removeOptional(c.PFNGLUNIFORM2DVPROC),
|
|
uniform3dv: removeOptional(c.PFNGLUNIFORM3DVPROC),
|
|
uniform4dv: removeOptional(c.PFNGLUNIFORM4DVPROC),
|
|
uniformMatrix2dv: removeOptional(c.PFNGLUNIFORMMATRIX2DVPROC),
|
|
uniformMatrix3dv: removeOptional(c.PFNGLUNIFORMMATRIX3DVPROC),
|
|
uniformMatrix4dv: removeOptional(c.PFNGLUNIFORMMATRIX4DVPROC),
|
|
uniformMatrix2x3dv: removeOptional(c.PFNGLUNIFORMMATRIX2X3DVPROC),
|
|
uniformMatrix2x4dv: removeOptional(c.PFNGLUNIFORMMATRIX2X4DVPROC),
|
|
uniformMatrix3x2dv: removeOptional(c.PFNGLUNIFORMMATRIX3X2DVPROC),
|
|
uniformMatrix3x4dv: removeOptional(c.PFNGLUNIFORMMATRIX3X4DVPROC),
|
|
uniformMatrix4x2dv: removeOptional(c.PFNGLUNIFORMMATRIX4X2DVPROC),
|
|
uniformMatrix4x3dv: removeOptional(c.PFNGLUNIFORMMATRIX4X3DVPROC),
|
|
getUniformdv: removeOptional(c.PFNGLGETUNIFORMDVPROC),
|
|
getSubroutineUniformLocation: removeOptional(c.PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC),
|
|
getSubroutineIndex: removeOptional(c.PFNGLGETSUBROUTINEINDEXPROC),
|
|
getActiveSubroutineUniformiv: removeOptional(c.PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC),
|
|
getActiveSubroutineUniformName: removeOptional(c.PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC),
|
|
getActiveSubroutineName: removeOptional(c.PFNGLGETACTIVESUBROUTINENAMEPROC),
|
|
uniformSubroutinesuiv: removeOptional(c.PFNGLUNIFORMSUBROUTINESUIVPROC),
|
|
getUniformSubroutineuiv: removeOptional(c.PFNGLGETUNIFORMSUBROUTINEUIVPROC),
|
|
getProgramStageiv: removeOptional(c.PFNGLGETPROGRAMSTAGEIVPROC),
|
|
patchParameteri: removeOptional(c.PFNGLPATCHPARAMETERIPROC),
|
|
patchParameterfv: removeOptional(c.PFNGLPATCHPARAMETERFVPROC),
|
|
bindTransformFeedback: removeOptional(c.PFNGLBINDTRANSFORMFEEDBACKPROC),
|
|
deleteTransformFeedbacks: removeOptional(c.PFNGLDELETETRANSFORMFEEDBACKSPROC),
|
|
genTransformFeedbacks: removeOptional(c.PFNGLGENTRANSFORMFEEDBACKSPROC),
|
|
isTransformFeedback: removeOptional(c.PFNGLISTRANSFORMFEEDBACKPROC),
|
|
pauseTransformFeedback: removeOptional(c.PFNGLPAUSETRANSFORMFEEDBACKPROC),
|
|
resumeTransformFeedback: removeOptional(c.PFNGLRESUMETRANSFORMFEEDBACKPROC),
|
|
drawTransformFeedback: removeOptional(c.PFNGLDRAWTRANSFORMFEEDBACKPROC),
|
|
drawTransformFeedbackStream: removeOptional(c.PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC),
|
|
beginQueryIndexed: removeOptional(c.PFNGLBEGINQUERYINDEXEDPROC),
|
|
endQueryIndexed: removeOptional(c.PFNGLENDQUERYINDEXEDPROC),
|
|
getQueryIndexediv: removeOptional(c.PFNGLGETQUERYINDEXEDIVPROC),
|
|
|
|
// 4.1
|
|
releaseShaderCompiler: removeOptional(c.PFNGLRELEASESHADERCOMPILERPROC),
|
|
shaderBinary: removeOptional(c.PFNGLSHADERBINARYPROC),
|
|
getShaderPrecisionFormat: removeOptional(c.PFNGLGETSHADERPRECISIONFORMATPROC),
|
|
depthRangef: removeOptional(c.PFNGLDEPTHRANGEFPROC),
|
|
clearDepthf: removeOptional(c.PFNGLCLEARDEPTHFPROC),
|
|
getProgramBinary: removeOptional(c.PFNGLGETPROGRAMBINARYPROC),
|
|
programBinary: removeOptional(c.PFNGLPROGRAMBINARYPROC),
|
|
programParameteri: removeOptional(c.PFNGLPROGRAMPARAMETERIPROC),
|
|
useProgramStages: removeOptional(c.PFNGLUSEPROGRAMSTAGESPROC),
|
|
activeShaderProgram: removeOptional(c.PFNGLACTIVESHADERPROGRAMPROC),
|
|
createShaderProgramv: removeOptional(c.PFNGLCREATESHADERPROGRAMVPROC),
|
|
bindProgramPipeline: removeOptional(c.PFNGLBINDPROGRAMPIPELINEPROC),
|
|
deleteProgramPipelines: removeOptional(c.PFNGLDELETEPROGRAMPIPELINESPROC),
|
|
genProgramPipelines: removeOptional(c.PFNGLGENPROGRAMPIPELINESPROC),
|
|
isProgramPipeline: removeOptional(c.PFNGLISPROGRAMPIPELINEPROC),
|
|
getProgramPipelineiv: removeOptional(c.PFNGLGETPROGRAMPIPELINEIVPROC),
|
|
programUniform1i: removeOptional(c.PFNGLPROGRAMUNIFORM1IPROC),
|
|
programUniform1iv: removeOptional(c.PFNGLPROGRAMUNIFORM1IVPROC),
|
|
programUniform1f: removeOptional(c.PFNGLPROGRAMUNIFORM1FPROC),
|
|
programUniform1fv: removeOptional(c.PFNGLPROGRAMUNIFORM1FVPROC),
|
|
programUniform1d: removeOptional(c.PFNGLPROGRAMUNIFORM1DPROC),
|
|
programUniform1dv: removeOptional(c.PFNGLPROGRAMUNIFORM1DVPROC),
|
|
programUniform1ui: removeOptional(c.PFNGLPROGRAMUNIFORM1UIPROC),
|
|
programUniform1uiv: removeOptional(c.PFNGLPROGRAMUNIFORM1UIVPROC),
|
|
programUniform2i: removeOptional(c.PFNGLPROGRAMUNIFORM2IPROC),
|
|
programUniform2iv: removeOptional(c.PFNGLPROGRAMUNIFORM2IVPROC),
|
|
programUniform2f: removeOptional(c.PFNGLPROGRAMUNIFORM2FPROC),
|
|
programUniform2fv: removeOptional(c.PFNGLPROGRAMUNIFORM2FVPROC),
|
|
programUniform2d: removeOptional(c.PFNGLPROGRAMUNIFORM2DPROC),
|
|
programUniform2dv: removeOptional(c.PFNGLPROGRAMUNIFORM2DVPROC),
|
|
programUniform2ui: removeOptional(c.PFNGLPROGRAMUNIFORM2UIPROC),
|
|
programUniform2uiv: removeOptional(c.PFNGLPROGRAMUNIFORM2UIVPROC),
|
|
programUniform3i: removeOptional(c.PFNGLPROGRAMUNIFORM3IPROC),
|
|
programUniform3iv: removeOptional(c.PFNGLPROGRAMUNIFORM3IVPROC),
|
|
programUniform3f: removeOptional(c.PFNGLPROGRAMUNIFORM3FPROC),
|
|
programUniform3fv: removeOptional(c.PFNGLPROGRAMUNIFORM3FVPROC),
|
|
programUniform3d: removeOptional(c.PFNGLPROGRAMUNIFORM3DPROC),
|
|
programUniform3dv: removeOptional(c.PFNGLPROGRAMUNIFORM3DVPROC),
|
|
programUniform3ui: removeOptional(c.PFNGLPROGRAMUNIFORM3UIPROC),
|
|
programUniform3uiv: removeOptional(c.PFNGLPROGRAMUNIFORM3UIVPROC),
|
|
programUniform4i: removeOptional(c.PFNGLPROGRAMUNIFORM4IPROC),
|
|
programUniform4iv: removeOptional(c.PFNGLPROGRAMUNIFORM4IVPROC),
|
|
programUniform4f: removeOptional(c.PFNGLPROGRAMUNIFORM4FPROC),
|
|
programUniform4fv: removeOptional(c.PFNGLPROGRAMUNIFORM4FVPROC),
|
|
programUniform4d: removeOptional(c.PFNGLPROGRAMUNIFORM4DPROC),
|
|
programUniform4dv: removeOptional(c.PFNGLPROGRAMUNIFORM4DVPROC),
|
|
programUniform4ui: removeOptional(c.PFNGLPROGRAMUNIFORM4UIPROC),
|
|
programUniform4uiv: removeOptional(c.PFNGLPROGRAMUNIFORM4UIVPROC),
|
|
programUniformMatrix2fv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX2FVPROC),
|
|
programUniformMatrix3fv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX3FVPROC),
|
|
programUniformMatrix4fv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX4FVPROC),
|
|
programUniformMatrix2dv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX2DVPROC),
|
|
programUniformMatrix3dv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX3DVPROC),
|
|
programUniformMatrix4dv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX4DVPROC),
|
|
programUniformMatrix2x3fv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC),
|
|
programUniformMatrix3x2fv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC),
|
|
programUniformMatrix2x4fv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC),
|
|
programUniformMatrix4x2fv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC),
|
|
programUniformMatrix3x4fv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC),
|
|
programUniformMatrix4x3fv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC),
|
|
programUniformMatrix2x3dv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC),
|
|
programUniformMatrix3x2dv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC),
|
|
programUniformMatrix2x4dv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC),
|
|
programUniformMatrix4x2dv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC),
|
|
programUniformMatrix3x4dv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC),
|
|
programUniformMatrix4x3dv: removeOptional(c.PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC),
|
|
validateProgramPipeline: removeOptional(c.PFNGLVALIDATEPROGRAMPIPELINEPROC),
|
|
getProgramPipelineInfoLog: removeOptional(c.PFNGLGETPROGRAMPIPELINEINFOLOGPROC),
|
|
vertexAttribL1d: removeOptional(c.PFNGLVERTEXATTRIBL1DPROC),
|
|
vertexAttribL2d: removeOptional(c.PFNGLVERTEXATTRIBL2DPROC),
|
|
vertexAttribL3d: removeOptional(c.PFNGLVERTEXATTRIBL3DPROC),
|
|
vertexAttribL4d: removeOptional(c.PFNGLVERTEXATTRIBL4DPROC),
|
|
vertexAttribL1dv: removeOptional(c.PFNGLVERTEXATTRIBL1DVPROC),
|
|
vertexAttribL2dv: removeOptional(c.PFNGLVERTEXATTRIBL2DVPROC),
|
|
vertexAttribL3dv: removeOptional(c.PFNGLVERTEXATTRIBL3DVPROC),
|
|
vertexAttribL4dv: removeOptional(c.PFNGLVERTEXATTRIBL4DVPROC),
|
|
vertexAttribLPointer: removeOptional(c.PFNGLVERTEXATTRIBLPOINTERPROC),
|
|
getVertexAttribLdv: removeOptional(c.PFNGLGETVERTEXATTRIBLDVPROC),
|
|
viewportArrayv: removeOptional(c.PFNGLVIEWPORTARRAYVPROC),
|
|
viewportIndexedf: removeOptional(c.PFNGLVIEWPORTINDEXEDFPROC),
|
|
viewportIndexedfv: removeOptional(c.PFNGLVIEWPORTINDEXEDFVPROC),
|
|
scissorArrayv: removeOptional(c.PFNGLSCISSORARRAYVPROC),
|
|
scissorIndexed: removeOptional(c.PFNGLSCISSORINDEXEDPROC),
|
|
scissorIndexedv: removeOptional(c.PFNGLSCISSORINDEXEDVPROC),
|
|
depthRangeArrayv: removeOptional(c.PFNGLDEPTHRANGEARRAYVPROC),
|
|
depthRangeIndexed: removeOptional(c.PFNGLDEPTHRANGEINDEXEDPROC),
|
|
getFloati_v: removeOptional(c.PFNGLGETFLOATI_VPROC),
|
|
getDoublei_v: removeOptional(c.PFNGLGETDOUBLEI_VPROC),
|
|
|
|
// 4.2
|
|
drawArraysInstancedBaseInstance: removeOptional(c.PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC),
|
|
drawElementsInstancedBaseInstance: removeOptional(c.PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC),
|
|
drawElementsInstancedBaseVertexBaseInstance: removeOptional(c.PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC),
|
|
getInternalformativ: removeOptional(c.PFNGLGETINTERNALFORMATIVPROC),
|
|
getActiveAtomicCounterBufferiv: removeOptional(c.PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC),
|
|
bindImageTexture: removeOptional(c.PFNGLBINDIMAGETEXTUREPROC),
|
|
memoryBarrier: removeOptional(c.PFNGLMEMORYBARRIERPROC),
|
|
texStorage1D: removeOptional(c.PFNGLTEXSTORAGE1DPROC),
|
|
texStorage2D: removeOptional(c.PFNGLTEXSTORAGE2DPROC),
|
|
texStorage3D: removeOptional(c.PFNGLTEXSTORAGE3DPROC),
|
|
drawTransformFeedbackInstanced: removeOptional(c.PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC),
|
|
drawTransformFeedbackStreamInstanced: removeOptional(c.PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC),
|
|
|
|
// 4.3
|
|
clearBufferData: removeOptional(c.PFNGLCLEARBUFFERDATAPROC),
|
|
clearBufferSubData: removeOptional(c.PFNGLCLEARBUFFERSUBDATAPROC),
|
|
dispatchCompute: removeOptional(c.PFNGLDISPATCHCOMPUTEPROC),
|
|
dispatchComputeIndirect: removeOptional(c.PFNGLDISPATCHCOMPUTEINDIRECTPROC),
|
|
copyImageSubData: removeOptional(c.PFNGLCOPYIMAGESUBDATAPROC),
|
|
framebufferParameteri: removeOptional(c.PFNGLFRAMEBUFFERPARAMETERIPROC),
|
|
getFramebufferParameteriv: removeOptional(c.PFNGLGETFRAMEBUFFERPARAMETERIVPROC),
|
|
getInternalformati64v: removeOptional(c.PFNGLGETINTERNALFORMATI64VPROC),
|
|
invalidateTexSubImage: removeOptional(c.PFNGLINVALIDATETEXSUBIMAGEPROC),
|
|
invalidateTexImage: removeOptional(c.PFNGLINVALIDATETEXIMAGEPROC),
|
|
invalidateBufferSubData: removeOptional(c.PFNGLINVALIDATEBUFFERSUBDATAPROC),
|
|
invalidateBufferData: removeOptional(c.PFNGLINVALIDATEBUFFERDATAPROC),
|
|
invalidateFramebuffer: removeOptional(c.PFNGLINVALIDATEFRAMEBUFFERPROC),
|
|
invalidateSubFramebuffer: removeOptional(c.PFNGLINVALIDATESUBFRAMEBUFFERPROC),
|
|
multiDrawArraysIndirect: removeOptional(c.PFNGLMULTIDRAWARRAYSINDIRECTPROC),
|
|
multiDrawElementsIndirect: removeOptional(c.PFNGLMULTIDRAWELEMENTSINDIRECTPROC),
|
|
getProgramInterfaceiv: removeOptional(c.PFNGLGETPROGRAMINTERFACEIVPROC),
|
|
getProgramResourceIndex: removeOptional(c.PFNGLGETPROGRAMRESOURCEINDEXPROC),
|
|
getProgramResourceName: removeOptional(c.PFNGLGETPROGRAMRESOURCENAMEPROC),
|
|
getProgramResourceiv: removeOptional(c.PFNGLGETPROGRAMRESOURCEIVPROC),
|
|
getProgramResourceLocation: removeOptional(c.PFNGLGETPROGRAMRESOURCELOCATIONPROC),
|
|
getProgramResourceLocationIndex: removeOptional(c.PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC),
|
|
shaderStorageBlockBinding: removeOptional(c.PFNGLSHADERSTORAGEBLOCKBINDINGPROC),
|
|
texBufferRange: removeOptional(c.PFNGLTEXBUFFERRANGEPROC),
|
|
texStorage2DMultisample: removeOptional(c.PFNGLTEXSTORAGE2DMULTISAMPLEPROC),
|
|
texStorage3DMultisample: removeOptional(c.PFNGLTEXSTORAGE3DMULTISAMPLEPROC),
|
|
textureView: removeOptional(c.PFNGLTEXTUREVIEWPROC),
|
|
bindVertexBuffer: removeOptional(c.PFNGLBINDVERTEXBUFFERPROC),
|
|
vertexAttribFormat: removeOptional(c.PFNGLVERTEXATTRIBFORMATPROC),
|
|
vertexAttribIFormat: removeOptional(c.PFNGLVERTEXATTRIBIFORMATPROC),
|
|
vertexAttribLFormat: removeOptional(c.PFNGLVERTEXATTRIBLFORMATPROC),
|
|
vertexAttribBinding: removeOptional(c.PFNGLVERTEXATTRIBBINDINGPROC),
|
|
vertexBindingDivisor: removeOptional(c.PFNGLVERTEXBINDINGDIVISORPROC),
|
|
debugMessageControl: removeOptional(c.PFNGLDEBUGMESSAGECONTROLPROC),
|
|
debugMessageInsert: removeOptional(c.PFNGLDEBUGMESSAGEINSERTPROC),
|
|
debugMessageCallback: removeOptional(c.PFNGLDEBUGMESSAGECALLBACKPROC),
|
|
getDebugMessageLog: removeOptional(c.PFNGLGETDEBUGMESSAGELOGPROC),
|
|
pushDebugGroup: removeOptional(c.PFNGLPUSHDEBUGGROUPPROC),
|
|
popDebugGroup: removeOptional(c.PFNGLPOPDEBUGGROUPPROC),
|
|
objectLabel: removeOptional(c.PFNGLOBJECTLABELPROC),
|
|
getObjectLabel: removeOptional(c.PFNGLGETOBJECTLABELPROC),
|
|
objectPtrLabel: removeOptional(c.PFNGLOBJECTPTRLABELPROC),
|
|
getObjectPtrLabel: removeOptional(c.PFNGLGETOBJECTPTRLABELPROC),
|
|
|
|
// 4.4
|
|
bufferStorage: removeOptional(c.PFNGLBUFFERSTORAGEPROC),
|
|
clearTexImage: removeOptional(c.PFNGLCLEARTEXIMAGEPROC),
|
|
clearTexSubImage: removeOptional(c.PFNGLCLEARTEXSUBIMAGEPROC),
|
|
bindBuffersBase: removeOptional(c.PFNGLBINDBUFFERSBASEPROC),
|
|
bindBuffersRange: removeOptional(c.PFNGLBINDBUFFERSRANGEPROC),
|
|
bindTextures: removeOptional(c.PFNGLBINDTEXTURESPROC),
|
|
bindSamplers: removeOptional(c.PFNGLBINDSAMPLERSPROC),
|
|
bindImageTextures: removeOptional(c.PFNGLBINDIMAGETEXTURESPROC),
|
|
bindVertexBuffers: removeOptional(c.PFNGLBINDVERTEXBUFFERSPROC),
|
|
|
|
// 4.5
|
|
clipControl: removeOptional(c.PFNGLCLIPCONTROLPROC),
|
|
createTransformFeedbacks: removeOptional(c.PFNGLCREATETRANSFORMFEEDBACKSPROC),
|
|
transformFeedbackBufferBase: removeOptional(c.PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC),
|
|
transformFeedbackBufferRange: removeOptional(c.PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC),
|
|
getTransformFeedbackiv: removeOptional(c.PFNGLGETTRANSFORMFEEDBACKIVPROC),
|
|
getTransformFeedbacki_v: removeOptional(c.PFNGLGETTRANSFORMFEEDBACKI_VPROC),
|
|
getTransformFeedbacki64_v: removeOptional(c.PFNGLGETTRANSFORMFEEDBACKI64_VPROC),
|
|
createBuffers: removeOptional(c.PFNGLCREATEBUFFERSPROC),
|
|
namedBufferStorage: removeOptional(c.PFNGLNAMEDBUFFERSTORAGEPROC),
|
|
namedBufferData: removeOptional(c.PFNGLNAMEDBUFFERDATAPROC),
|
|
namedBufferSubData: removeOptional(c.PFNGLNAMEDBUFFERSUBDATAPROC),
|
|
copyNamedBufferSubData: removeOptional(c.PFNGLCOPYNAMEDBUFFERSUBDATAPROC),
|
|
clearNamedBufferData: removeOptional(c.PFNGLCLEARNAMEDBUFFERDATAPROC),
|
|
clearNamedBufferSubData: removeOptional(c.PFNGLCLEARNAMEDBUFFERSUBDATAPROC),
|
|
mapNamedBuffer: removeOptional(c.PFNGLMAPNAMEDBUFFERPROC),
|
|
mapNamedBufferRange: removeOptional(c.PFNGLMAPNAMEDBUFFERRANGEPROC),
|
|
unmapNamedBuffer: removeOptional(c.PFNGLUNMAPNAMEDBUFFERPROC),
|
|
flushMappedNamedBufferRange: removeOptional(c.PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC),
|
|
getNamedBufferParameteriv: removeOptional(c.PFNGLGETNAMEDBUFFERPARAMETERIVPROC),
|
|
getNamedBufferParameteri64v: removeOptional(c.PFNGLGETNAMEDBUFFERPARAMETERI64VPROC),
|
|
getNamedBufferPointerv: removeOptional(c.PFNGLGETNAMEDBUFFERPOINTERVPROC),
|
|
getNamedBufferSubData: removeOptional(c.PFNGLGETNAMEDBUFFERSUBDATAPROC),
|
|
createFramebuffers: removeOptional(c.PFNGLCREATEFRAMEBUFFERSPROC),
|
|
namedFramebufferRenderbuffer: removeOptional(c.PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC),
|
|
namedFramebufferParameteri: removeOptional(c.PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC),
|
|
namedFramebufferTexture: removeOptional(c.PFNGLNAMEDFRAMEBUFFERTEXTUREPROC),
|
|
namedFramebufferTextureLayer: removeOptional(c.PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC),
|
|
namedFramebufferDrawBuffer: removeOptional(c.PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC),
|
|
namedFramebufferDrawBuffers: removeOptional(c.PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC),
|
|
namedFramebufferReadBuffer: removeOptional(c.PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC),
|
|
invalidateNamedFramebufferData: removeOptional(c.PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC),
|
|
invalidateNamedFramebufferSubData: removeOptional(c.PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC),
|
|
clearNamedFramebufferiv: removeOptional(c.PFNGLCLEARNAMEDFRAMEBUFFERIVPROC),
|
|
clearNamedFramebufferuiv: removeOptional(c.PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC),
|
|
clearNamedFramebufferfv: removeOptional(c.PFNGLCLEARNAMEDFRAMEBUFFERFVPROC),
|
|
clearNamedFramebufferfi: removeOptional(c.PFNGLCLEARNAMEDFRAMEBUFFERFIPROC),
|
|
blitNamedFramebuffer: removeOptional(c.PFNGLBLITNAMEDFRAMEBUFFERPROC),
|
|
checkNamedFramebufferStatus: removeOptional(c.PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC),
|
|
getNamedFramebufferParameteriv: removeOptional(c.PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC),
|
|
getNamedFramebufferAttachmentParameteriv: removeOptional(c.PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC),
|
|
createRenderbuffers: removeOptional(c.PFNGLCREATERENDERBUFFERSPROC),
|
|
namedRenderbufferStorage: removeOptional(c.PFNGLNAMEDRENDERBUFFERSTORAGEPROC),
|
|
namedRenderbufferStorageMultisample: removeOptional(c.PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC),
|
|
getNamedRenderbufferParameteriv: removeOptional(c.PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC),
|
|
createTextures: removeOptional(c.PFNGLCREATETEXTURESPROC),
|
|
textureBuffer: removeOptional(c.PFNGLTEXTUREBUFFERPROC),
|
|
textureBufferRange: removeOptional(c.PFNGLTEXTUREBUFFERRANGEPROC),
|
|
textureStorage1D: removeOptional(c.PFNGLTEXTURESTORAGE1DPROC),
|
|
textureStorage2D: removeOptional(c.PFNGLTEXTURESTORAGE2DPROC),
|
|
textureStorage3D: removeOptional(c.PFNGLTEXTURESTORAGE3DPROC),
|
|
textureStorage2DMultisample: removeOptional(c.PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC),
|
|
textureStorage3DMultisample: removeOptional(c.PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC),
|
|
textureSubImage1D: removeOptional(c.PFNGLTEXTURESUBIMAGE1DPROC),
|
|
textureSubImage2D: removeOptional(c.PFNGLTEXTURESUBIMAGE2DPROC),
|
|
textureSubImage3D: removeOptional(c.PFNGLTEXTURESUBIMAGE3DPROC),
|
|
compressedTextureSubImage1D: removeOptional(c.PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC),
|
|
compressedTextureSubImage2D: removeOptional(c.PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC),
|
|
compressedTextureSubImage3D: removeOptional(c.PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC),
|
|
copyTextureSubImage1D: removeOptional(c.PFNGLCOPYTEXTURESUBIMAGE1DPROC),
|
|
copyTextureSubImage2D: removeOptional(c.PFNGLCOPYTEXTURESUBIMAGE2DPROC),
|
|
copyTextureSubImage3D: removeOptional(c.PFNGLCOPYTEXTURESUBIMAGE3DPROC),
|
|
textureParameterf: removeOptional(c.PFNGLTEXTUREPARAMETERFPROC),
|
|
textureParameterfv: removeOptional(c.PFNGLTEXTUREPARAMETERFVPROC),
|
|
textureParameteri: removeOptional(c.PFNGLTEXTUREPARAMETERIPROC),
|
|
textureParameterIiv: removeOptional(c.PFNGLTEXTUREPARAMETERIIVPROC),
|
|
textureParameterIuiv: removeOptional(c.PFNGLTEXTUREPARAMETERIUIVPROC),
|
|
textureParameteriv: removeOptional(c.PFNGLTEXTUREPARAMETERIVPROC),
|
|
generateTextureMipmap: removeOptional(c.PFNGLGENERATETEXTUREMIPMAPPROC),
|
|
bindTextureUnit: removeOptional(c.PFNGLBINDTEXTUREUNITPROC),
|
|
getTextureImage: removeOptional(c.PFNGLGETTEXTUREIMAGEPROC),
|
|
getCompressedTextureImage: removeOptional(c.PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC),
|
|
getTextureLevelParameterfv: removeOptional(c.PFNGLGETTEXTURELEVELPARAMETERFVPROC),
|
|
getTextureLevelParameteriv: removeOptional(c.PFNGLGETTEXTURELEVELPARAMETERIVPROC),
|
|
getTextureParameterfv: removeOptional(c.PFNGLGETTEXTUREPARAMETERFVPROC),
|
|
getTextureParameterIiv: removeOptional(c.PFNGLGETTEXTUREPARAMETERIIVPROC),
|
|
getTextureParameterIuiv: removeOptional(c.PFNGLGETTEXTUREPARAMETERIUIVPROC),
|
|
getTextureParameteriv: removeOptional(c.PFNGLGETTEXTUREPARAMETERIVPROC),
|
|
createVertexArrays: removeOptional(c.PFNGLCREATEVERTEXARRAYSPROC),
|
|
disableVertexArrayAttrib: removeOptional(c.PFNGLDISABLEVERTEXARRAYATTRIBPROC),
|
|
enableVertexArrayAttrib: removeOptional(c.PFNGLENABLEVERTEXARRAYATTRIBPROC),
|
|
vertexArrayElementBuffer: removeOptional(c.PFNGLVERTEXARRAYELEMENTBUFFERPROC),
|
|
vertexArrayVertexBuffer: removeOptional(c.PFNGLVERTEXARRAYVERTEXBUFFERPROC),
|
|
vertexArrayVertexBuffers: removeOptional(c.PFNGLVERTEXARRAYVERTEXBUFFERSPROC),
|
|
vertexArrayAttribBinding: removeOptional(c.PFNGLVERTEXARRAYATTRIBBINDINGPROC),
|
|
vertexArrayAttribFormat: removeOptional(c.PFNGLVERTEXARRAYATTRIBFORMATPROC),
|
|
vertexArrayAttribIFormat: removeOptional(c.PFNGLVERTEXARRAYATTRIBIFORMATPROC),
|
|
vertexArrayAttribLFormat: removeOptional(c.PFNGLVERTEXARRAYATTRIBLFORMATPROC),
|
|
vertexArrayBindingDivisor: removeOptional(c.PFNGLVERTEXARRAYBINDINGDIVISORPROC),
|
|
getVertexArrayiv: removeOptional(c.PFNGLGETVERTEXARRAYIVPROC),
|
|
getVertexArrayIndexediv: removeOptional(c.PFNGLGETVERTEXARRAYINDEXEDIVPROC),
|
|
getVertexArrayIndexed64iv: removeOptional(c.PFNGLGETVERTEXARRAYINDEXED64IVPROC),
|
|
createSamplers: removeOptional(c.PFNGLCREATESAMPLERSPROC),
|
|
createProgramPipelines: removeOptional(c.PFNGLCREATEPROGRAMPIPELINESPROC),
|
|
createQueries: removeOptional(c.PFNGLCREATEQUERIESPROC),
|
|
getQueryBufferObjecti64v: removeOptional(c.PFNGLGETQUERYBUFFEROBJECTI64VPROC),
|
|
getQueryBufferObjectiv: removeOptional(c.PFNGLGETQUERYBUFFEROBJECTIVPROC),
|
|
getQueryBufferObjectui64v: removeOptional(c.PFNGLGETQUERYBUFFEROBJECTUI64VPROC),
|
|
getQueryBufferObjectuiv: removeOptional(c.PFNGLGETQUERYBUFFEROBJECTUIVPROC),
|
|
memoryBarrierByRegion: removeOptional(c.PFNGLMEMORYBARRIERBYREGIONPROC),
|
|
getTextureSubImage: removeOptional(c.PFNGLGETTEXTURESUBIMAGEPROC),
|
|
getCompressedTextureSubImage: removeOptional(c.PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC),
|
|
getGraphicsResetStatus: removeOptional(c.PFNGLGETGRAPHICSRESETSTATUSPROC),
|
|
getnCompressedTexImage: removeOptional(c.PFNGLGETNCOMPRESSEDTEXIMAGEPROC),
|
|
getnTexImage: removeOptional(c.PFNGLGETNTEXIMAGEPROC),
|
|
getnUniformdv: removeOptional(c.PFNGLGETNUNIFORMDVPROC),
|
|
getnUniformfv: removeOptional(c.PFNGLGETNUNIFORMFVPROC),
|
|
getnUniformiv: removeOptional(c.PFNGLGETNUNIFORMIVPROC),
|
|
getnUniformuiv: removeOptional(c.PFNGLGETNUNIFORMUIVPROC),
|
|
readnPixels: removeOptional(c.PFNGLREADNPIXELSPROC),
|
|
textureBarrier: removeOptional(c.PFNGLTEXTUREBARRIERPROC),
|
|
|
|
// 4.6
|
|
specializeShader: removeOptional(c.PFNGLSPECIALIZESHADERPROC),
|
|
multiDrawArraysIndirectCount: removeOptional(c.PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC),
|
|
multiDrawElementsIndirectCount: removeOptional(c.PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC),
|
|
polygonOffsetClamp: removeOptional(c.PFNGLPOLYGONOFFSETCLAMPPROC),
|
|
|
|
pub fn loadVersion(gl: *DeviceGL, major_version: u32, minor_version: u32) void {
|
|
const version = major_version * 100 + minor_version * 10;
|
|
|
|
if (version >= 100) {
|
|
gl.cullFace = @ptrCast(getProcAddress("glCullFace"));
|
|
gl.frontFace = @ptrCast(getProcAddress("glFrontFace"));
|
|
gl.hint = @ptrCast(getProcAddress("glHint"));
|
|
gl.lineWidth = @ptrCast(getProcAddress("glLineWidth"));
|
|
gl.pointSize = @ptrCast(getProcAddress("glPointSize"));
|
|
gl.polygonMode = @ptrCast(getProcAddress("glPolygonMode"));
|
|
gl.scissor = @ptrCast(getProcAddress("glScissor"));
|
|
gl.texParameterf = @ptrCast(getProcAddress("glTexParameterf"));
|
|
gl.texParameterfv = @ptrCast(getProcAddress("glTexParameterfv"));
|
|
gl.texParameteri = @ptrCast(getProcAddress("glTexParameteri"));
|
|
gl.texParameteriv = @ptrCast(getProcAddress("glTexParameteriv"));
|
|
gl.texImage1D = @ptrCast(getProcAddress("glTexImage1D"));
|
|
gl.texImage2D = @ptrCast(getProcAddress("glTexImage2D"));
|
|
gl.drawBuffer = @ptrCast(getProcAddress("glDrawBuffer"));
|
|
gl.clear = @ptrCast(getProcAddress("glClear"));
|
|
gl.clearColor = @ptrCast(getProcAddress("glClearColor"));
|
|
gl.clearStencil = @ptrCast(getProcAddress("glClearStencil"));
|
|
gl.clearDepth = @ptrCast(getProcAddress("glClearDepth"));
|
|
gl.stencilMask = @ptrCast(getProcAddress("glStencilMask"));
|
|
gl.colorMask = @ptrCast(getProcAddress("glColorMask"));
|
|
gl.depthMask = @ptrCast(getProcAddress("glDepthMask"));
|
|
gl.disable = @ptrCast(getProcAddress("glDisable"));
|
|
gl.enable = @ptrCast(getProcAddress("glEnable"));
|
|
gl.finish = @ptrCast(getProcAddress("glFinish"));
|
|
gl.flush = @ptrCast(getProcAddress("glFlush"));
|
|
gl.blendFunc = @ptrCast(getProcAddress("glBlendFunc"));
|
|
gl.logicOp = @ptrCast(getProcAddress("glLogicOp"));
|
|
gl.stencilFunc = @ptrCast(getProcAddress("glStencilFunc"));
|
|
gl.stencilOp = @ptrCast(getProcAddress("glStencilOp"));
|
|
gl.depthFunc = @ptrCast(getProcAddress("glDepthFunc"));
|
|
gl.pixelStoref = @ptrCast(getProcAddress("glPixelStoref"));
|
|
gl.pixelStorei = @ptrCast(getProcAddress("glPixelStorei"));
|
|
gl.readBuffer = @ptrCast(getProcAddress("glReadBuffer"));
|
|
gl.readPixels = @ptrCast(getProcAddress("glReadPixels"));
|
|
gl.getBooleanv = @ptrCast(getProcAddress("glGetBooleanv"));
|
|
gl.getDoublev = @ptrCast(getProcAddress("glGetDoublev"));
|
|
gl.getError = @ptrCast(getProcAddress("glGetError"));
|
|
gl.getFloatv = @ptrCast(getProcAddress("glGetFloatv"));
|
|
gl.getIntegerv = @ptrCast(getProcAddress("glGetIntegerv"));
|
|
gl.getString = @ptrCast(getProcAddress("glGetString"));
|
|
gl.getTexImage = @ptrCast(getProcAddress("glGetTexImage"));
|
|
gl.getTexParameterfv = @ptrCast(getProcAddress("glGetTexParameterfv"));
|
|
gl.getTexParameteriv = @ptrCast(getProcAddress("glGetTexParameteriv"));
|
|
gl.getTexLevelParameterfv = @ptrCast(getProcAddress("glGetTexLevelParameterfv"));
|
|
gl.getTexLevelParameteriv = @ptrCast(getProcAddress("glGetTexLevelParameteriv"));
|
|
gl.isEnabled = @ptrCast(getProcAddress("glIsEnabled"));
|
|
gl.depthRange = @ptrCast(getProcAddress("glDepthRange"));
|
|
gl.viewport = @ptrCast(getProcAddress("glViewport"));
|
|
}
|
|
|
|
if (version >= 110) {
|
|
gl.drawArrays = @ptrCast(getProcAddress("glDrawArrays"));
|
|
gl.drawElements = @ptrCast(getProcAddress("glDrawElements"));
|
|
gl.getPointerv = @ptrCast(getProcAddress("glGetPointerv"));
|
|
gl.polygonOffset = @ptrCast(getProcAddress("glPolygonOffset"));
|
|
gl.copyTexImage1D = @ptrCast(getProcAddress("glCopyTexImage1D"));
|
|
gl.copyTexImage2D = @ptrCast(getProcAddress("glCopyTexImage2D"));
|
|
gl.copyTexSubImage1D = @ptrCast(getProcAddress("glCopyTexSubImage1D"));
|
|
gl.copyTexSubImage2D = @ptrCast(getProcAddress("glCopyTexSubImage2D"));
|
|
gl.texSubImage1D = @ptrCast(getProcAddress("glTexSubImage1D"));
|
|
gl.texSubImage2D = @ptrCast(getProcAddress("glTexSubImage2D"));
|
|
gl.bindTexture = @ptrCast(getProcAddress("glBindTexture"));
|
|
gl.deleteTextures = @ptrCast(getProcAddress("glDeleteTextures"));
|
|
gl.genTextures = @ptrCast(getProcAddress("glGenTextures"));
|
|
gl.isTexture = @ptrCast(getProcAddress("glIsTexture"));
|
|
}
|
|
|
|
if (version >= 120) {
|
|
gl.drawRangeElements = @ptrCast(c.wglGetProcAddress("glDrawRangeElements"));
|
|
gl.texImage3D = @ptrCast(c.wglGetProcAddress("glTexImage3D"));
|
|
gl.texSubImage3D = @ptrCast(c.wglGetProcAddress("glTexSubImage3D"));
|
|
gl.copyTexSubImage3D = @ptrCast(c.wglGetProcAddress("glCopyTexSubImage3D"));
|
|
}
|
|
|
|
if (version >= 130) {
|
|
gl.activeTexture = @ptrCast(c.wglGetProcAddress("glActiveTexture"));
|
|
gl.sampleCoverage = @ptrCast(c.wglGetProcAddress("glSampleCoverage"));
|
|
gl.compressedTexImage3D = @ptrCast(c.wglGetProcAddress("glCompressedTexImage3D"));
|
|
gl.compressedTexImage2D = @ptrCast(c.wglGetProcAddress("glCompressedTexImage2D"));
|
|
gl.compressedTexImage1D = @ptrCast(c.wglGetProcAddress("glCompressedTexImage1D"));
|
|
gl.compressedTexSubImage3D = @ptrCast(c.wglGetProcAddress("glCompressedTexSubImage3D"));
|
|
gl.compressedTexSubImage2D = @ptrCast(c.wglGetProcAddress("glCompressedTexSubImage2D"));
|
|
gl.compressedTexSubImage1D = @ptrCast(c.wglGetProcAddress("glCompressedTexSubImage1D"));
|
|
gl.getCompressedTexImage = @ptrCast(c.wglGetProcAddress("glGetCompressedTexImage"));
|
|
}
|
|
|
|
if (version >= 140) {
|
|
gl.blendFuncSeparate = @ptrCast(c.wglGetProcAddress("glBlendFuncSeparate"));
|
|
gl.multiDrawArrays = @ptrCast(c.wglGetProcAddress("glMultiDrawArrays"));
|
|
gl.multiDrawElements = @ptrCast(c.wglGetProcAddress("glMultiDrawElements"));
|
|
gl.pointParameterf = @ptrCast(c.wglGetProcAddress("glPointParameterf"));
|
|
gl.pointParameterfv = @ptrCast(c.wglGetProcAddress("glPointParameterfv"));
|
|
gl.pointParameteri = @ptrCast(c.wglGetProcAddress("glPointParameteri"));
|
|
gl.pointParameteriv = @ptrCast(c.wglGetProcAddress("glPointParameteriv"));
|
|
gl.blendColor = @ptrCast(c.wglGetProcAddress("glBlendColor"));
|
|
gl.blendEquation = @ptrCast(c.wglGetProcAddress("glBlendEquation"));
|
|
}
|
|
|
|
if (version >= 150) {
|
|
gl.genQueries = @ptrCast(c.wglGetProcAddress("glGenQueries"));
|
|
gl.deleteQueries = @ptrCast(c.wglGetProcAddress("glDeleteQueries"));
|
|
gl.isQuery = @ptrCast(c.wglGetProcAddress("glIsQuery"));
|
|
gl.beginQuery = @ptrCast(c.wglGetProcAddress("glBeginQuery"));
|
|
gl.endQuery = @ptrCast(c.wglGetProcAddress("glEndQuery"));
|
|
gl.getQueryiv = @ptrCast(c.wglGetProcAddress("glGetQueryiv"));
|
|
gl.getQueryObjectiv = @ptrCast(c.wglGetProcAddress("glGetQueryObjectiv"));
|
|
gl.getQueryObjectuiv = @ptrCast(c.wglGetProcAddress("glGetQueryObjectuiv"));
|
|
gl.bindBuffer = @ptrCast(c.wglGetProcAddress("glBindBuffer"));
|
|
gl.deleteBuffers = @ptrCast(c.wglGetProcAddress("glDeleteBuffers"));
|
|
gl.genBuffers = @ptrCast(c.wglGetProcAddress("glGenBuffers"));
|
|
gl.isBuffer = @ptrCast(c.wglGetProcAddress("glIsBuffer"));
|
|
gl.bufferData = @ptrCast(c.wglGetProcAddress("glBufferData"));
|
|
gl.bufferSubData = @ptrCast(c.wglGetProcAddress("glBufferSubData"));
|
|
gl.getBufferSubData = @ptrCast(c.wglGetProcAddress("glGetBufferSubData"));
|
|
gl.mapBuffer = @ptrCast(c.wglGetProcAddress("glMapBuffer"));
|
|
gl.unmapBuffer = @ptrCast(c.wglGetProcAddress("glUnmapBuffer"));
|
|
gl.getBufferParameteriv = @ptrCast(c.wglGetProcAddress("glGetBufferParameteriv"));
|
|
gl.getBufferPointerv = @ptrCast(c.wglGetProcAddress("glGetBufferPointerv"));
|
|
}
|
|
|
|
if (version >= 200) {
|
|
gl.blendEquationSeparate = @ptrCast(c.wglGetProcAddress("glBlendEquationSeparate"));
|
|
gl.drawBuffers = @ptrCast(c.wglGetProcAddress("glDrawBuffers"));
|
|
gl.stencilOpSeparate = @ptrCast(c.wglGetProcAddress("glStencilOpSeparate"));
|
|
gl.stencilFuncSeparate = @ptrCast(c.wglGetProcAddress("glStencilFuncSeparate"));
|
|
gl.stencilMaskSeparate = @ptrCast(c.wglGetProcAddress("glStencilMaskSeparate"));
|
|
gl.attachShader = @ptrCast(c.wglGetProcAddress("glAttachShader"));
|
|
gl.bindAttribLocation = @ptrCast(c.wglGetProcAddress("glBindAttribLocation"));
|
|
gl.compileShader = @ptrCast(c.wglGetProcAddress("glCompileShader"));
|
|
gl.createProgram = @ptrCast(c.wglGetProcAddress("glCreateProgram"));
|
|
gl.createShader = @ptrCast(c.wglGetProcAddress("glCreateShader"));
|
|
gl.deleteProgram = @ptrCast(c.wglGetProcAddress("glDeleteProgram"));
|
|
gl.deleteShader = @ptrCast(c.wglGetProcAddress("glDeleteShader"));
|
|
gl.detachShader = @ptrCast(c.wglGetProcAddress("glDetachShader"));
|
|
gl.disableVertexAttribArray = @ptrCast(c.wglGetProcAddress("glDisableVertexAttribArray"));
|
|
gl.enableVertexAttribArray = @ptrCast(c.wglGetProcAddress("glEnableVertexAttribArray"));
|
|
gl.getActiveAttrib = @ptrCast(c.wglGetProcAddress("glGetActiveAttrib"));
|
|
gl.getActiveUniform = @ptrCast(c.wglGetProcAddress("glGetActiveUniform"));
|
|
gl.getAttachedShaders = @ptrCast(c.wglGetProcAddress("glGetAttachedShaders"));
|
|
gl.getAttribLocation = @ptrCast(c.wglGetProcAddress("glGetAttribLocation"));
|
|
gl.getProgramiv = @ptrCast(c.wglGetProcAddress("glGetProgramiv"));
|
|
gl.getProgramInfoLog = @ptrCast(c.wglGetProcAddress("glGetProgramInfoLog"));
|
|
gl.getShaderiv = @ptrCast(c.wglGetProcAddress("glGetShaderiv"));
|
|
gl.getShaderInfoLog = @ptrCast(c.wglGetProcAddress("glGetShaderInfoLog"));
|
|
gl.getShaderSource = @ptrCast(c.wglGetProcAddress("glGetShaderSource"));
|
|
gl.getUniformLocation = @ptrCast(c.wglGetProcAddress("glGetUniformLocation"));
|
|
gl.getUniformfv = @ptrCast(c.wglGetProcAddress("glGetUniformfv"));
|
|
gl.getUniformiv = @ptrCast(c.wglGetProcAddress("glGetUniformiv"));
|
|
gl.getVertexAttribdv = @ptrCast(c.wglGetProcAddress("glGetVertexAttribdv"));
|
|
gl.getVertexAttribfv = @ptrCast(c.wglGetProcAddress("glGetVertexAttribfv"));
|
|
gl.getVertexAttribiv = @ptrCast(c.wglGetProcAddress("glGetVertexAttribiv"));
|
|
gl.getVertexAttribPointerv = @ptrCast(c.wglGetProcAddress("glGetVertexAttribPointerv"));
|
|
gl.isProgram = @ptrCast(c.wglGetProcAddress("glIsProgram"));
|
|
gl.isShader = @ptrCast(c.wglGetProcAddress("glIsShader"));
|
|
gl.linkProgram = @ptrCast(c.wglGetProcAddress("glLinkProgram"));
|
|
gl.shaderSource = @ptrCast(c.wglGetProcAddress("glShaderSource"));
|
|
gl.useProgram = @ptrCast(c.wglGetProcAddress("glUseProgram"));
|
|
gl.uniform1f = @ptrCast(c.wglGetProcAddress("glUniform1f"));
|
|
gl.uniform2f = @ptrCast(c.wglGetProcAddress("glUniform2f"));
|
|
gl.uniform3f = @ptrCast(c.wglGetProcAddress("glUniform3f"));
|
|
gl.uniform4f = @ptrCast(c.wglGetProcAddress("glUniform4f"));
|
|
gl.uniform1i = @ptrCast(c.wglGetProcAddress("glUniform1i"));
|
|
gl.uniform2i = @ptrCast(c.wglGetProcAddress("glUniform2i"));
|
|
gl.uniform3i = @ptrCast(c.wglGetProcAddress("glUniform3i"));
|
|
gl.uniform4i = @ptrCast(c.wglGetProcAddress("glUniform4i"));
|
|
gl.uniform1fv = @ptrCast(c.wglGetProcAddress("glUniform1fv"));
|
|
gl.uniform2fv = @ptrCast(c.wglGetProcAddress("glUniform2fv"));
|
|
gl.uniform3fv = @ptrCast(c.wglGetProcAddress("glUniform3fv"));
|
|
gl.uniform4fv = @ptrCast(c.wglGetProcAddress("glUniform4fv"));
|
|
gl.uniform1iv = @ptrCast(c.wglGetProcAddress("glUniform1iv"));
|
|
gl.uniform2iv = @ptrCast(c.wglGetProcAddress("glUniform2iv"));
|
|
gl.uniform3iv = @ptrCast(c.wglGetProcAddress("glUniform3iv"));
|
|
gl.uniform4iv = @ptrCast(c.wglGetProcAddress("glUniform4iv"));
|
|
gl.uniformMatrix2fv = @ptrCast(c.wglGetProcAddress("glUniformMatrix2fv"));
|
|
gl.uniformMatrix3fv = @ptrCast(c.wglGetProcAddress("glUniformMatrix3fv"));
|
|
gl.uniformMatrix4fv = @ptrCast(c.wglGetProcAddress("glUniformMatrix4fv"));
|
|
gl.validateProgram = @ptrCast(c.wglGetProcAddress("glValidateProgram"));
|
|
gl.vertexAttrib1d = @ptrCast(c.wglGetProcAddress("glVertexAttrib1d"));
|
|
gl.vertexAttrib1dv = @ptrCast(c.wglGetProcAddress("glVertexAttrib1dv"));
|
|
gl.vertexAttrib1f = @ptrCast(c.wglGetProcAddress("glVertexAttrib1f"));
|
|
gl.vertexAttrib1fv = @ptrCast(c.wglGetProcAddress("glVertexAttrib1fv"));
|
|
gl.vertexAttrib1s = @ptrCast(c.wglGetProcAddress("glVertexAttrib1s"));
|
|
gl.vertexAttrib1sv = @ptrCast(c.wglGetProcAddress("glVertexAttrib1sv"));
|
|
gl.vertexAttrib2d = @ptrCast(c.wglGetProcAddress("glVertexAttrib2d"));
|
|
gl.vertexAttrib2dv = @ptrCast(c.wglGetProcAddress("glVertexAttrib2dv"));
|
|
gl.vertexAttrib2f = @ptrCast(c.wglGetProcAddress("glVertexAttrib2f"));
|
|
gl.vertexAttrib2fv = @ptrCast(c.wglGetProcAddress("glVertexAttrib2fv"));
|
|
gl.vertexAttrib2s = @ptrCast(c.wglGetProcAddress("glVertexAttrib2s"));
|
|
gl.vertexAttrib2sv = @ptrCast(c.wglGetProcAddress("glVertexAttrib2sv"));
|
|
gl.vertexAttrib3d = @ptrCast(c.wglGetProcAddress("glVertexAttrib3d"));
|
|
gl.vertexAttrib3dv = @ptrCast(c.wglGetProcAddress("glVertexAttrib3dv"));
|
|
gl.vertexAttrib3f = @ptrCast(c.wglGetProcAddress("glVertexAttrib3f"));
|
|
gl.vertexAttrib3fv = @ptrCast(c.wglGetProcAddress("glVertexAttrib3fv"));
|
|
gl.vertexAttrib3s = @ptrCast(c.wglGetProcAddress("glVertexAttrib3s"));
|
|
gl.vertexAttrib3sv = @ptrCast(c.wglGetProcAddress("glVertexAttrib3sv"));
|
|
gl.vertexAttrib4Nbv = @ptrCast(c.wglGetProcAddress("glVertexAttrib4Nbv"));
|
|
gl.vertexAttrib4Niv = @ptrCast(c.wglGetProcAddress("glVertexAttrib4Niv"));
|
|
gl.vertexAttrib4Nsv = @ptrCast(c.wglGetProcAddress("glVertexAttrib4Nsv"));
|
|
gl.vertexAttrib4Nub = @ptrCast(c.wglGetProcAddress("glVertexAttrib4Nub"));
|
|
gl.vertexAttrib4Nubv = @ptrCast(c.wglGetProcAddress("glVertexAttrib4Nubv"));
|
|
gl.vertexAttrib4Nuiv = @ptrCast(c.wglGetProcAddress("glVertexAttrib4Nuiv"));
|
|
gl.vertexAttrib4Nusv = @ptrCast(c.wglGetProcAddress("glVertexAttrib4Nusv"));
|
|
gl.vertexAttrib4bv = @ptrCast(c.wglGetProcAddress("glVertexAttrib4bv"));
|
|
gl.vertexAttrib4d = @ptrCast(c.wglGetProcAddress("glVertexAttrib4d"));
|
|
gl.vertexAttrib4dv = @ptrCast(c.wglGetProcAddress("glVertexAttrib4dv"));
|
|
gl.vertexAttrib4f = @ptrCast(c.wglGetProcAddress("glVertexAttrib4f"));
|
|
gl.vertexAttrib4fv = @ptrCast(c.wglGetProcAddress("glVertexAttrib4fv"));
|
|
gl.vertexAttrib4iv = @ptrCast(c.wglGetProcAddress("glVertexAttrib4iv"));
|
|
gl.vertexAttrib4s = @ptrCast(c.wglGetProcAddress("glVertexAttrib4s"));
|
|
gl.vertexAttrib4sv = @ptrCast(c.wglGetProcAddress("glVertexAttrib4sv"));
|
|
gl.vertexAttrib4ubv = @ptrCast(c.wglGetProcAddress("glVertexAttrib4ubv"));
|
|
gl.vertexAttrib4uiv = @ptrCast(c.wglGetProcAddress("glVertexAttrib4uiv"));
|
|
gl.vertexAttrib4usv = @ptrCast(c.wglGetProcAddress("glVertexAttrib4usv"));
|
|
gl.vertexAttribPointer = @ptrCast(c.wglGetProcAddress("glVertexAttribPointer"));
|
|
}
|
|
|
|
if (version >= 210) {
|
|
gl.uniformMatrix2x3fv = @ptrCast(c.wglGetProcAddress("glUniformMatrix2x3fv"));
|
|
gl.uniformMatrix3x2fv = @ptrCast(c.wglGetProcAddress("glUniformMatrix3x2fv"));
|
|
gl.uniformMatrix2x4fv = @ptrCast(c.wglGetProcAddress("glUniformMatrix2x4fv"));
|
|
gl.uniformMatrix4x2fv = @ptrCast(c.wglGetProcAddress("glUniformMatrix4x2fv"));
|
|
gl.uniformMatrix3x4fv = @ptrCast(c.wglGetProcAddress("glUniformMatrix3x4fv"));
|
|
gl.uniformMatrix4x3fv = @ptrCast(c.wglGetProcAddress("glUniformMatrix4x3fv"));
|
|
}
|
|
|
|
if (version >= 300) {
|
|
gl.colorMaski = @ptrCast(c.wglGetProcAddress("glColorMaski"));
|
|
gl.getBooleani_v = @ptrCast(c.wglGetProcAddress("glGetBooleani_v"));
|
|
gl.getIntegeri_v = @ptrCast(c.wglGetProcAddress("glGetIntegeri_v"));
|
|
gl.enablei = @ptrCast(c.wglGetProcAddress("glEnablei"));
|
|
gl.disablei = @ptrCast(c.wglGetProcAddress("glDisablei"));
|
|
gl.isEnabledi = @ptrCast(c.wglGetProcAddress("glIsEnabledi"));
|
|
gl.beginTransformFeedback = @ptrCast(c.wglGetProcAddress("glBeginTransformFeedback"));
|
|
gl.endTransformFeedback = @ptrCast(c.wglGetProcAddress("glEndTransformFeedback"));
|
|
gl.bindBufferRange = @ptrCast(c.wglGetProcAddress("glBindBufferRange"));
|
|
gl.bindBufferBase = @ptrCast(c.wglGetProcAddress("glBindBufferBase"));
|
|
gl.transformFeedbackVaryings = @ptrCast(c.wglGetProcAddress("glTransformFeedbackVaryings"));
|
|
gl.getTransformFeedbackVarying = @ptrCast(c.wglGetProcAddress("glGetTransformFeedbackVarying"));
|
|
gl.clampColor = @ptrCast(c.wglGetProcAddress("glClampColor"));
|
|
gl.beginConditionalRender = @ptrCast(c.wglGetProcAddress("glBeginConditionalRender"));
|
|
gl.endConditionalRender = @ptrCast(c.wglGetProcAddress("glEndConditionalRender"));
|
|
gl.vertexAttribIPointer = @ptrCast(c.wglGetProcAddress("glVertexAttribIPointer"));
|
|
gl.getVertexAttribIiv = @ptrCast(c.wglGetProcAddress("glGetVertexAttribIiv"));
|
|
gl.getVertexAttribIuiv = @ptrCast(c.wglGetProcAddress("glGetVertexAttribIuiv"));
|
|
gl.vertexAttribI1i = @ptrCast(c.wglGetProcAddress("glVertexAttribI1i"));
|
|
gl.vertexAttribI2i = @ptrCast(c.wglGetProcAddress("glVertexAttribI2i"));
|
|
gl.vertexAttribI3i = @ptrCast(c.wglGetProcAddress("glVertexAttribI3i"));
|
|
gl.vertexAttribI4i = @ptrCast(c.wglGetProcAddress("glVertexAttribI4i"));
|
|
gl.vertexAttribI1ui = @ptrCast(c.wglGetProcAddress("glVertexAttribI1ui"));
|
|
gl.vertexAttribI2ui = @ptrCast(c.wglGetProcAddress("glVertexAttribI2ui"));
|
|
gl.vertexAttribI3ui = @ptrCast(c.wglGetProcAddress("glVertexAttribI3ui"));
|
|
gl.vertexAttribI4ui = @ptrCast(c.wglGetProcAddress("glVertexAttribI4ui"));
|
|
gl.vertexAttribI1iv = @ptrCast(c.wglGetProcAddress("glVertexAttribI1iv"));
|
|
gl.vertexAttribI2iv = @ptrCast(c.wglGetProcAddress("glVertexAttribI2iv"));
|
|
gl.vertexAttribI3iv = @ptrCast(c.wglGetProcAddress("glVertexAttribI3iv"));
|
|
gl.vertexAttribI4iv = @ptrCast(c.wglGetProcAddress("glVertexAttribI4iv"));
|
|
gl.vertexAttribI1uiv = @ptrCast(c.wglGetProcAddress("glVertexAttribI1uiv"));
|
|
gl.vertexAttribI2uiv = @ptrCast(c.wglGetProcAddress("glVertexAttribI2uiv"));
|
|
gl.vertexAttribI3uiv = @ptrCast(c.wglGetProcAddress("glVertexAttribI3uiv"));
|
|
gl.vertexAttribI4uiv = @ptrCast(c.wglGetProcAddress("glVertexAttribI4uiv"));
|
|
gl.vertexAttribI4bv = @ptrCast(c.wglGetProcAddress("glVertexAttribI4bv"));
|
|
gl.vertexAttribI4sv = @ptrCast(c.wglGetProcAddress("glVertexAttribI4sv"));
|
|
gl.vertexAttribI4ubv = @ptrCast(c.wglGetProcAddress("glVertexAttribI4ubv"));
|
|
gl.vertexAttribI4usv = @ptrCast(c.wglGetProcAddress("glVertexAttribI4usv"));
|
|
gl.getUniformuiv = @ptrCast(c.wglGetProcAddress("glGetUniformuiv"));
|
|
gl.bindFragDataLocation = @ptrCast(c.wglGetProcAddress("glBindFragDataLocation"));
|
|
gl.getFragDataLocation = @ptrCast(c.wglGetProcAddress("glGetFragDataLocation"));
|
|
gl.uniform1ui = @ptrCast(c.wglGetProcAddress("glUniform1ui"));
|
|
gl.uniform2ui = @ptrCast(c.wglGetProcAddress("glUniform2ui"));
|
|
gl.uniform3ui = @ptrCast(c.wglGetProcAddress("glUniform3ui"));
|
|
gl.uniform4ui = @ptrCast(c.wglGetProcAddress("glUniform4ui"));
|
|
gl.uniform1uiv = @ptrCast(c.wglGetProcAddress("glUniform1uiv"));
|
|
gl.uniform2uiv = @ptrCast(c.wglGetProcAddress("glUniform2uiv"));
|
|
gl.uniform3uiv = @ptrCast(c.wglGetProcAddress("glUniform3uiv"));
|
|
gl.uniform4uiv = @ptrCast(c.wglGetProcAddress("glUniform4uiv"));
|
|
gl.texParameterIiv = @ptrCast(c.wglGetProcAddress("glTexParameterIiv"));
|
|
gl.texParameterIuiv = @ptrCast(c.wglGetProcAddress("glTexParameterIuiv"));
|
|
gl.getTexParameterIiv = @ptrCast(c.wglGetProcAddress("glGetTexParameterIiv"));
|
|
gl.getTexParameterIuiv = @ptrCast(c.wglGetProcAddress("glGetTexParameterIuiv"));
|
|
gl.clearBufferiv = @ptrCast(c.wglGetProcAddress("glClearBufferiv"));
|
|
gl.clearBufferuiv = @ptrCast(c.wglGetProcAddress("glClearBufferuiv"));
|
|
gl.clearBufferfv = @ptrCast(c.wglGetProcAddress("glClearBufferfv"));
|
|
gl.clearBufferfi = @ptrCast(c.wglGetProcAddress("glClearBufferfi"));
|
|
gl.getStringi = @ptrCast(c.wglGetProcAddress("glGetStringi"));
|
|
gl.isRenderbuffer = @ptrCast(c.wglGetProcAddress("glIsRenderbuffer"));
|
|
gl.bindRenderbuffer = @ptrCast(c.wglGetProcAddress("glBindRenderbuffer"));
|
|
gl.deleteRenderbuffers = @ptrCast(c.wglGetProcAddress("glDeleteRenderbuffers"));
|
|
gl.genRenderbuffers = @ptrCast(c.wglGetProcAddress("glGenRenderbuffers"));
|
|
gl.renderbufferStorage = @ptrCast(c.wglGetProcAddress("glRenderbufferStorage"));
|
|
gl.getRenderbufferParameteriv = @ptrCast(c.wglGetProcAddress("glGetRenderbufferParameteriv"));
|
|
gl.isFramebuffer = @ptrCast(c.wglGetProcAddress("glIsFramebuffer"));
|
|
gl.bindFramebuffer = @ptrCast(c.wglGetProcAddress("glBindFramebuffer"));
|
|
gl.deleteFramebuffers = @ptrCast(c.wglGetProcAddress("glDeleteFramebuffers"));
|
|
gl.genFramebuffers = @ptrCast(c.wglGetProcAddress("glGenFramebuffers"));
|
|
gl.checkFramebufferStatus = @ptrCast(c.wglGetProcAddress("glCheckFramebufferStatus"));
|
|
gl.framebufferTexture1D = @ptrCast(c.wglGetProcAddress("glFramebufferTexture1D"));
|
|
gl.framebufferTexture2D = @ptrCast(c.wglGetProcAddress("glFramebufferTexture2D"));
|
|
gl.framebufferTexture3D = @ptrCast(c.wglGetProcAddress("glFramebufferTexture3D"));
|
|
gl.framebufferRenderbuffer = @ptrCast(c.wglGetProcAddress("glFramebufferRenderbuffer"));
|
|
gl.getFramebufferAttachmentParameteriv = @ptrCast(c.wglGetProcAddress("glGetFramebufferAttachmentParameteriv"));
|
|
gl.generateMipmap = @ptrCast(c.wglGetProcAddress("glGenerateMipmap"));
|
|
gl.blitFramebuffer = @ptrCast(c.wglGetProcAddress("glBlitFramebuffer"));
|
|
gl.renderbufferStorageMultisample = @ptrCast(c.wglGetProcAddress("glRenderbufferStorageMultisample"));
|
|
gl.framebufferTextureLayer = @ptrCast(c.wglGetProcAddress("glFramebufferTextureLayer"));
|
|
gl.mapBufferRange = @ptrCast(c.wglGetProcAddress("glMapBufferRange"));
|
|
gl.flushMappedBufferRange = @ptrCast(c.wglGetProcAddress("glFlushMappedBufferRange"));
|
|
gl.bindVertexArray = @ptrCast(c.wglGetProcAddress("glBindVertexArray"));
|
|
gl.deleteVertexArrays = @ptrCast(c.wglGetProcAddress("glDeleteVertexArrays"));
|
|
gl.genVertexArrays = @ptrCast(c.wglGetProcAddress("glGenVertexArrays"));
|
|
gl.isVertexArray = @ptrCast(c.wglGetProcAddress("glIsVertexArray"));
|
|
}
|
|
|
|
if (version >= 310) {
|
|
gl.drawArraysInstanced = @ptrCast(c.wglGetProcAddress("glDrawArraysInstanced"));
|
|
gl.drawElementsInstanced = @ptrCast(c.wglGetProcAddress("glDrawElementsInstanced"));
|
|
gl.texBuffer = @ptrCast(c.wglGetProcAddress("glTexBuffer"));
|
|
gl.primitiveRestartIndex = @ptrCast(c.wglGetProcAddress("glPrimitiveRestartIndex"));
|
|
gl.copyBufferSubData = @ptrCast(c.wglGetProcAddress("glCopyBufferSubData"));
|
|
gl.getUniformIndices = @ptrCast(c.wglGetProcAddress("glGetUniformIndices"));
|
|
gl.getActiveUniformsiv = @ptrCast(c.wglGetProcAddress("glGetActiveUniformsiv"));
|
|
gl.getActiveUniformName = @ptrCast(c.wglGetProcAddress("glGetActiveUniformName"));
|
|
gl.getUniformBlockIndex = @ptrCast(c.wglGetProcAddress("glGetUniformBlockIndex"));
|
|
gl.getActiveUniformBlockiv = @ptrCast(c.wglGetProcAddress("glGetActiveUniformBlockiv"));
|
|
gl.getActiveUniformBlockName = @ptrCast(c.wglGetProcAddress("glGetActiveUniformBlockName"));
|
|
gl.uniformBlockBinding = @ptrCast(c.wglGetProcAddress("glUniformBlockBinding"));
|
|
}
|
|
|
|
if (version >= 320) {
|
|
gl.drawElementsBaseVertex = @ptrCast(c.wglGetProcAddress("glDrawElementsBaseVertex"));
|
|
gl.drawRangeElementsBaseVertex = @ptrCast(c.wglGetProcAddress("glDrawRangeElementsBaseVertex"));
|
|
gl.drawElementsInstancedBaseVertex = @ptrCast(c.wglGetProcAddress("glDrawElementsInstancedBaseVertex"));
|
|
gl.multiDrawElementsBaseVertex = @ptrCast(c.wglGetProcAddress("glMultiDrawElementsBaseVertex"));
|
|
gl.provokingVertex = @ptrCast(c.wglGetProcAddress("glProvokingVertex"));
|
|
gl.fenceSync = @ptrCast(c.wglGetProcAddress("glFenceSync"));
|
|
gl.isSync = @ptrCast(c.wglGetProcAddress("glIsSync"));
|
|
gl.deleteSync = @ptrCast(c.wglGetProcAddress("glDeleteSync"));
|
|
gl.clientWaitSync = @ptrCast(c.wglGetProcAddress("glClientWaitSync"));
|
|
gl.waitSync = @ptrCast(c.wglGetProcAddress("glWaitSync"));
|
|
gl.getInteger64v = @ptrCast(c.wglGetProcAddress("glGetInteger64v"));
|
|
gl.getSynciv = @ptrCast(c.wglGetProcAddress("glGetSynciv"));
|
|
gl.getInteger64i_v = @ptrCast(c.wglGetProcAddress("glGetInteger64i_v"));
|
|
gl.getBufferParameteri64v = @ptrCast(c.wglGetProcAddress("glGetBufferParameteri64v"));
|
|
gl.framebufferTexture = @ptrCast(c.wglGetProcAddress("glFramebufferTexture"));
|
|
gl.texImage2DMultisample = @ptrCast(c.wglGetProcAddress("glTexImage2DMultisample"));
|
|
gl.texImage3DMultisample = @ptrCast(c.wglGetProcAddress("glTexImage3DMultisample"));
|
|
gl.getMultisamplefv = @ptrCast(c.wglGetProcAddress("glGetMultisamplefv"));
|
|
gl.sampleMaski = @ptrCast(c.wglGetProcAddress("glSampleMaski"));
|
|
}
|
|
|
|
if (version >= 330) {
|
|
gl.bindFragDataLocationIndexed = @ptrCast(c.wglGetProcAddress("glBindFragDataLocationIndexed"));
|
|
gl.getFragDataIndex = @ptrCast(c.wglGetProcAddress("glGetFragDataIndex"));
|
|
gl.genSamplers = @ptrCast(c.wglGetProcAddress("glGenSamplers"));
|
|
gl.deleteSamplers = @ptrCast(c.wglGetProcAddress("glDeleteSamplers"));
|
|
gl.isSampler = @ptrCast(c.wglGetProcAddress("glIsSampler"));
|
|
gl.bindSampler = @ptrCast(c.wglGetProcAddress("glBindSampler"));
|
|
gl.samplerParameteri = @ptrCast(c.wglGetProcAddress("glSamplerParameteri"));
|
|
gl.samplerParameteriv = @ptrCast(c.wglGetProcAddress("glSamplerParameteriv"));
|
|
gl.samplerParameterf = @ptrCast(c.wglGetProcAddress("glSamplerParameterf"));
|
|
gl.samplerParameterfv = @ptrCast(c.wglGetProcAddress("glSamplerParameterfv"));
|
|
gl.samplerParameterIiv = @ptrCast(c.wglGetProcAddress("glSamplerParameterIiv"));
|
|
gl.samplerParameterIuiv = @ptrCast(c.wglGetProcAddress("glSamplerParameterIuiv"));
|
|
gl.getSamplerParameteriv = @ptrCast(c.wglGetProcAddress("glGetSamplerParameteriv"));
|
|
gl.getSamplerParameterIiv = @ptrCast(c.wglGetProcAddress("glGetSamplerParameterIiv"));
|
|
gl.getSamplerParameterfv = @ptrCast(c.wglGetProcAddress("glGetSamplerParameterfv"));
|
|
gl.getSamplerParameterIuiv = @ptrCast(c.wglGetProcAddress("glGetSamplerParameterIuiv"));
|
|
gl.queryCounter = @ptrCast(c.wglGetProcAddress("glQueryCounter"));
|
|
gl.getQueryObjecti64v = @ptrCast(c.wglGetProcAddress("glGetQueryObjecti64v"));
|
|
gl.getQueryObjectui64v = @ptrCast(c.wglGetProcAddress("glGetQueryObjectui64v"));
|
|
gl.vertexAttribDivisor = @ptrCast(c.wglGetProcAddress("glVertexAttribDivisor"));
|
|
gl.vertexAttribP1ui = @ptrCast(c.wglGetProcAddress("glVertexAttribP1ui"));
|
|
gl.vertexAttribP1uiv = @ptrCast(c.wglGetProcAddress("glVertexAttribP1uiv"));
|
|
gl.vertexAttribP2ui = @ptrCast(c.wglGetProcAddress("glVertexAttribP2ui"));
|
|
gl.vertexAttribP2uiv = @ptrCast(c.wglGetProcAddress("glVertexAttribP2uiv"));
|
|
gl.vertexAttribP3ui = @ptrCast(c.wglGetProcAddress("glVertexAttribP3ui"));
|
|
gl.vertexAttribP3uiv = @ptrCast(c.wglGetProcAddress("glVertexAttribP3uiv"));
|
|
gl.vertexAttribP4ui = @ptrCast(c.wglGetProcAddress("glVertexAttribP4ui"));
|
|
gl.vertexAttribP4uiv = @ptrCast(c.wglGetProcAddress("glVertexAttribP4uiv"));
|
|
}
|
|
|
|
if (version >= 400) {
|
|
gl.minSampleShading = @ptrCast(c.wglGetProcAddress("glMinSampleShading"));
|
|
gl.blendEquationi = @ptrCast(c.wglGetProcAddress("glBlendEquationi"));
|
|
gl.blendEquationSeparatei = @ptrCast(c.wglGetProcAddress("glBlendEquationSeparatei"));
|
|
gl.blendFunci = @ptrCast(c.wglGetProcAddress("glBlendFunci"));
|
|
gl.blendFuncSeparatei = @ptrCast(c.wglGetProcAddress("glBlendFuncSeparatei"));
|
|
gl.drawArraysIndirect = @ptrCast(c.wglGetProcAddress("glDrawArraysIndirect"));
|
|
gl.drawElementsIndirect = @ptrCast(c.wglGetProcAddress("glDrawElementsIndirect"));
|
|
gl.uniform1d = @ptrCast(c.wglGetProcAddress("glUniform1d"));
|
|
gl.uniform2d = @ptrCast(c.wglGetProcAddress("glUniform2d"));
|
|
gl.uniform3d = @ptrCast(c.wglGetProcAddress("glUniform3d"));
|
|
gl.uniform4d = @ptrCast(c.wglGetProcAddress("glUniform4d"));
|
|
gl.uniform1dv = @ptrCast(c.wglGetProcAddress("glUniform1dv"));
|
|
gl.uniform2dv = @ptrCast(c.wglGetProcAddress("glUniform2dv"));
|
|
gl.uniform3dv = @ptrCast(c.wglGetProcAddress("glUniform3dv"));
|
|
gl.uniform4dv = @ptrCast(c.wglGetProcAddress("glUniform4dv"));
|
|
gl.uniformMatrix2dv = @ptrCast(c.wglGetProcAddress("glUniformMatrix2dv"));
|
|
gl.uniformMatrix3dv = @ptrCast(c.wglGetProcAddress("glUniformMatrix3dv"));
|
|
gl.uniformMatrix4dv = @ptrCast(c.wglGetProcAddress("glUniformMatrix4dv"));
|
|
gl.uniformMatrix2x3dv = @ptrCast(c.wglGetProcAddress("glUniformMatrix2x3dv"));
|
|
gl.uniformMatrix2x4dv = @ptrCast(c.wglGetProcAddress("glUniformMatrix2x4dv"));
|
|
gl.uniformMatrix3x2dv = @ptrCast(c.wglGetProcAddress("glUniformMatrix3x2dv"));
|
|
gl.uniformMatrix3x4dv = @ptrCast(c.wglGetProcAddress("glUniformMatrix3x4dv"));
|
|
gl.uniformMatrix4x2dv = @ptrCast(c.wglGetProcAddress("glUniformMatrix4x2dv"));
|
|
gl.uniformMatrix4x3dv = @ptrCast(c.wglGetProcAddress("glUniformMatrix4x3dv"));
|
|
gl.getUniformdv = @ptrCast(c.wglGetProcAddress("glGetUniformdv"));
|
|
gl.getSubroutineUniformLocation = @ptrCast(c.wglGetProcAddress("glGetSubroutineUniformLocation"));
|
|
gl.getSubroutineIndex = @ptrCast(c.wglGetProcAddress("glGetSubroutineIndex"));
|
|
gl.getActiveSubroutineUniformiv = @ptrCast(c.wglGetProcAddress("glGetActiveSubroutineUniformiv"));
|
|
gl.getActiveSubroutineUniformName = @ptrCast(c.wglGetProcAddress("glGetActiveSubroutineUniformName"));
|
|
gl.getActiveSubroutineName = @ptrCast(c.wglGetProcAddress("glGetActiveSubroutineName"));
|
|
gl.uniformSubroutinesuiv = @ptrCast(c.wglGetProcAddress("glUniformSubroutinesuiv"));
|
|
gl.getUniformSubroutineuiv = @ptrCast(c.wglGetProcAddress("glGetUniformSubroutineuiv"));
|
|
gl.getProgramStageiv = @ptrCast(c.wglGetProcAddress("glGetProgramStageiv"));
|
|
gl.patchParameteri = @ptrCast(c.wglGetProcAddress("glPatchParameteri"));
|
|
gl.patchParameterfv = @ptrCast(c.wglGetProcAddress("glPatchParameterfv"));
|
|
gl.bindTransformFeedback = @ptrCast(c.wglGetProcAddress("glBindTransformFeedback"));
|
|
gl.deleteTransformFeedbacks = @ptrCast(c.wglGetProcAddress("glDeleteTransformFeedbacks"));
|
|
gl.genTransformFeedbacks = @ptrCast(c.wglGetProcAddress("glGenTransformFeedbacks"));
|
|
gl.isTransformFeedback = @ptrCast(c.wglGetProcAddress("glIsTransformFeedback"));
|
|
gl.pauseTransformFeedback = @ptrCast(c.wglGetProcAddress("glPauseTransformFeedback"));
|
|
gl.resumeTransformFeedback = @ptrCast(c.wglGetProcAddress("glResumeTransformFeedback"));
|
|
gl.drawTransformFeedback = @ptrCast(c.wglGetProcAddress("glDrawTransformFeedback"));
|
|
gl.drawTransformFeedbackStream = @ptrCast(c.wglGetProcAddress("glDrawTransformFeedbackStream"));
|
|
gl.beginQueryIndexed = @ptrCast(c.wglGetProcAddress("glBeginQueryIndexed"));
|
|
gl.endQueryIndexed = @ptrCast(c.wglGetProcAddress("glEndQueryIndexed"));
|
|
gl.getQueryIndexediv = @ptrCast(c.wglGetProcAddress("glGetQueryIndexediv"));
|
|
}
|
|
|
|
if (version >= 410) {
|
|
gl.releaseShaderCompiler = @ptrCast(c.wglGetProcAddress("glReleaseShaderCompiler"));
|
|
gl.shaderBinary = @ptrCast(c.wglGetProcAddress("glShaderBinary"));
|
|
gl.getShaderPrecisionFormat = @ptrCast(c.wglGetProcAddress("glGetShaderPrecisionFormat"));
|
|
gl.depthRangef = @ptrCast(c.wglGetProcAddress("glDepthRangef"));
|
|
gl.clearDepthf = @ptrCast(c.wglGetProcAddress("glClearDepthf"));
|
|
gl.getProgramBinary = @ptrCast(c.wglGetProcAddress("glGetProgramBinary"));
|
|
gl.programBinary = @ptrCast(c.wglGetProcAddress("glProgramBinary"));
|
|
gl.programParameteri = @ptrCast(c.wglGetProcAddress("glProgramParameteri"));
|
|
gl.useProgramStages = @ptrCast(c.wglGetProcAddress("glUseProgramStages"));
|
|
gl.activeShaderProgram = @ptrCast(c.wglGetProcAddress("glActiveShaderProgram"));
|
|
gl.createShaderProgramv = @ptrCast(c.wglGetProcAddress("glCreateShaderProgramv"));
|
|
gl.bindProgramPipeline = @ptrCast(c.wglGetProcAddress("glBindProgramPipeline"));
|
|
gl.deleteProgramPipelines = @ptrCast(c.wglGetProcAddress("glDeleteProgramPipelines"));
|
|
gl.genProgramPipelines = @ptrCast(c.wglGetProcAddress("glGenProgramPipelines"));
|
|
gl.isProgramPipeline = @ptrCast(c.wglGetProcAddress("glIsProgramPipeline"));
|
|
gl.getProgramPipelineiv = @ptrCast(c.wglGetProcAddress("glGetProgramPipelineiv"));
|
|
gl.programUniform1i = @ptrCast(c.wglGetProcAddress("glProgramUniform1i"));
|
|
gl.programUniform1iv = @ptrCast(c.wglGetProcAddress("glProgramUniform1iv"));
|
|
gl.programUniform1f = @ptrCast(c.wglGetProcAddress("glProgramUniform1f"));
|
|
gl.programUniform1fv = @ptrCast(c.wglGetProcAddress("glProgramUniform1fv"));
|
|
gl.programUniform1d = @ptrCast(c.wglGetProcAddress("glProgramUniform1d"));
|
|
gl.programUniform1dv = @ptrCast(c.wglGetProcAddress("glProgramUniform1dv"));
|
|
gl.programUniform1ui = @ptrCast(c.wglGetProcAddress("glProgramUniform1ui"));
|
|
gl.programUniform1uiv = @ptrCast(c.wglGetProcAddress("glProgramUniform1uiv"));
|
|
gl.programUniform2i = @ptrCast(c.wglGetProcAddress("glProgramUniform2i"));
|
|
gl.programUniform2iv = @ptrCast(c.wglGetProcAddress("glProgramUniform2iv"));
|
|
gl.programUniform2f = @ptrCast(c.wglGetProcAddress("glProgramUniform2f"));
|
|
gl.programUniform2fv = @ptrCast(c.wglGetProcAddress("glProgramUniform2fv"));
|
|
gl.programUniform2d = @ptrCast(c.wglGetProcAddress("glProgramUniform2d"));
|
|
gl.programUniform2dv = @ptrCast(c.wglGetProcAddress("glProgramUniform2dv"));
|
|
gl.programUniform2ui = @ptrCast(c.wglGetProcAddress("glProgramUniform2ui"));
|
|
gl.programUniform2uiv = @ptrCast(c.wglGetProcAddress("glProgramUniform2uiv"));
|
|
gl.programUniform3i = @ptrCast(c.wglGetProcAddress("glProgramUniform3i"));
|
|
gl.programUniform3iv = @ptrCast(c.wglGetProcAddress("glProgramUniform3iv"));
|
|
gl.programUniform3f = @ptrCast(c.wglGetProcAddress("glProgramUniform3f"));
|
|
gl.programUniform3fv = @ptrCast(c.wglGetProcAddress("glProgramUniform3fv"));
|
|
gl.programUniform3d = @ptrCast(c.wglGetProcAddress("glProgramUniform3d"));
|
|
gl.programUniform3dv = @ptrCast(c.wglGetProcAddress("glProgramUniform3dv"));
|
|
gl.programUniform3ui = @ptrCast(c.wglGetProcAddress("glProgramUniform3ui"));
|
|
gl.programUniform3uiv = @ptrCast(c.wglGetProcAddress("glProgramUniform3uiv"));
|
|
gl.programUniform4i = @ptrCast(c.wglGetProcAddress("glProgramUniform4i"));
|
|
gl.programUniform4iv = @ptrCast(c.wglGetProcAddress("glProgramUniform4iv"));
|
|
gl.programUniform4f = @ptrCast(c.wglGetProcAddress("glProgramUniform4f"));
|
|
gl.programUniform4fv = @ptrCast(c.wglGetProcAddress("glProgramUniform4fv"));
|
|
gl.programUniform4d = @ptrCast(c.wglGetProcAddress("glProgramUniform4d"));
|
|
gl.programUniform4dv = @ptrCast(c.wglGetProcAddress("glProgramUniform4dv"));
|
|
gl.programUniform4ui = @ptrCast(c.wglGetProcAddress("glProgramUniform4ui"));
|
|
gl.programUniform4uiv = @ptrCast(c.wglGetProcAddress("glProgramUniform4uiv"));
|
|
gl.programUniformMatrix2fv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix2fv"));
|
|
gl.programUniformMatrix3fv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix3fv"));
|
|
gl.programUniformMatrix4fv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix4fv"));
|
|
gl.programUniformMatrix2dv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix2dv"));
|
|
gl.programUniformMatrix3dv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix3dv"));
|
|
gl.programUniformMatrix4dv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix4dv"));
|
|
gl.programUniformMatrix2x3fv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix2x3fv"));
|
|
gl.programUniformMatrix3x2fv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix3x2fv"));
|
|
gl.programUniformMatrix2x4fv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix2x4fv"));
|
|
gl.programUniformMatrix4x2fv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix4x2fv"));
|
|
gl.programUniformMatrix3x4fv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix3x4fv"));
|
|
gl.programUniformMatrix4x3fv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix4x3fv"));
|
|
gl.programUniformMatrix2x3dv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix2x3dv"));
|
|
gl.programUniformMatrix3x2dv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix3x2dv"));
|
|
gl.programUniformMatrix2x4dv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix2x4dv"));
|
|
gl.programUniformMatrix4x2dv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix4x2dv"));
|
|
gl.programUniformMatrix3x4dv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix3x4dv"));
|
|
gl.programUniformMatrix4x3dv = @ptrCast(c.wglGetProcAddress("glProgramUniformMatrix4x3dv"));
|
|
gl.validateProgramPipeline = @ptrCast(c.wglGetProcAddress("glValidateProgramPipeline"));
|
|
gl.getProgramPipelineInfoLog = @ptrCast(c.wglGetProcAddress("glGetProgramPipelineInfoLog"));
|
|
gl.vertexAttribL1d = @ptrCast(c.wglGetProcAddress("glVertexAttribL1d"));
|
|
gl.vertexAttribL2d = @ptrCast(c.wglGetProcAddress("glVertexAttribL2d"));
|
|
gl.vertexAttribL3d = @ptrCast(c.wglGetProcAddress("glVertexAttribL3d"));
|
|
gl.vertexAttribL4d = @ptrCast(c.wglGetProcAddress("glVertexAttribL4d"));
|
|
gl.vertexAttribL1dv = @ptrCast(c.wglGetProcAddress("glVertexAttribL1dv"));
|
|
gl.vertexAttribL2dv = @ptrCast(c.wglGetProcAddress("glVertexAttribL2dv"));
|
|
gl.vertexAttribL3dv = @ptrCast(c.wglGetProcAddress("glVertexAttribL3dv"));
|
|
gl.vertexAttribL4dv = @ptrCast(c.wglGetProcAddress("glVertexAttribL4dv"));
|
|
gl.vertexAttribLPointer = @ptrCast(c.wglGetProcAddress("glVertexAttribLPointer"));
|
|
gl.getVertexAttribLdv = @ptrCast(c.wglGetProcAddress("glGetVertexAttribLdv"));
|
|
gl.viewportArrayv = @ptrCast(c.wglGetProcAddress("glViewportArrayv"));
|
|
gl.viewportIndexedf = @ptrCast(c.wglGetProcAddress("glViewportIndexedf"));
|
|
gl.viewportIndexedfv = @ptrCast(c.wglGetProcAddress("glViewportIndexedfv"));
|
|
gl.scissorArrayv = @ptrCast(c.wglGetProcAddress("glScissorArrayv"));
|
|
gl.scissorIndexed = @ptrCast(c.wglGetProcAddress("glScissorIndexed"));
|
|
gl.scissorIndexedv = @ptrCast(c.wglGetProcAddress("glScissorIndexedv"));
|
|
gl.depthRangeArrayv = @ptrCast(c.wglGetProcAddress("glDepthRangeArrayv"));
|
|
gl.depthRangeIndexed = @ptrCast(c.wglGetProcAddress("glDepthRangeIndexed"));
|
|
gl.getFloati_v = @ptrCast(c.wglGetProcAddress("glGetFloati_v"));
|
|
gl.getDoublei_v = @ptrCast(c.wglGetProcAddress("glGetDoublei_v"));
|
|
}
|
|
|
|
if (version >= 420) {
|
|
gl.drawArraysInstancedBaseInstance = @ptrCast(c.wglGetProcAddress("glDrawArraysInstancedBaseInstance"));
|
|
gl.drawElementsInstancedBaseInstance = @ptrCast(c.wglGetProcAddress("glDrawElementsInstancedBaseInstance"));
|
|
gl.drawElementsInstancedBaseVertexBaseInstance = @ptrCast(c.wglGetProcAddress("glDrawElementsInstancedBaseVertexBaseInstance"));
|
|
gl.getInternalformativ = @ptrCast(c.wglGetProcAddress("glGetInternalformativ"));
|
|
gl.getActiveAtomicCounterBufferiv = @ptrCast(c.wglGetProcAddress("glGetActiveAtomicCounterBufferiv"));
|
|
gl.bindImageTexture = @ptrCast(c.wglGetProcAddress("glBindImageTexture"));
|
|
gl.memoryBarrier = @ptrCast(c.wglGetProcAddress("glMemoryBarrier"));
|
|
gl.texStorage1D = @ptrCast(c.wglGetProcAddress("glTexStorage1D"));
|
|
gl.texStorage2D = @ptrCast(c.wglGetProcAddress("glTexStorage2D"));
|
|
gl.texStorage3D = @ptrCast(c.wglGetProcAddress("glTexStorage3D"));
|
|
gl.drawTransformFeedbackInstanced = @ptrCast(c.wglGetProcAddress("glDrawTransformFeedbackInstanced"));
|
|
gl.drawTransformFeedbackStreamInstanced = @ptrCast(c.wglGetProcAddress("glDrawTransformFeedbackStreamInstanced"));
|
|
}
|
|
|
|
if (version >= 430) {
|
|
gl.clearBufferData = @ptrCast(c.wglGetProcAddress("glClearBufferData"));
|
|
gl.clearBufferSubData = @ptrCast(c.wglGetProcAddress("glClearBufferSubData"));
|
|
gl.dispatchCompute = @ptrCast(c.wglGetProcAddress("glDispatchCompute"));
|
|
gl.dispatchComputeIndirect = @ptrCast(c.wglGetProcAddress("glDispatchComputeIndirect"));
|
|
gl.copyImageSubData = @ptrCast(c.wglGetProcAddress("glCopyImageSubData"));
|
|
gl.framebufferParameteri = @ptrCast(c.wglGetProcAddress("glFramebufferParameteri"));
|
|
gl.getFramebufferParameteriv = @ptrCast(c.wglGetProcAddress("glGetFramebufferParameteriv"));
|
|
gl.getInternalformati64v = @ptrCast(c.wglGetProcAddress("glGetInternalformati64v"));
|
|
gl.invalidateTexSubImage = @ptrCast(c.wglGetProcAddress("glInvalidateTexSubImage"));
|
|
gl.invalidateTexImage = @ptrCast(c.wglGetProcAddress("glInvalidateTexImage"));
|
|
gl.invalidateBufferSubData = @ptrCast(c.wglGetProcAddress("glInvalidateBufferSubData"));
|
|
gl.invalidateBufferData = @ptrCast(c.wglGetProcAddress("glInvalidateBufferData"));
|
|
gl.invalidateFramebuffer = @ptrCast(c.wglGetProcAddress("glInvalidateFramebuffer"));
|
|
gl.invalidateSubFramebuffer = @ptrCast(c.wglGetProcAddress("glInvalidateSubFramebuffer"));
|
|
gl.multiDrawArraysIndirect = @ptrCast(c.wglGetProcAddress("glMultiDrawArraysIndirect"));
|
|
gl.multiDrawElementsIndirect = @ptrCast(c.wglGetProcAddress("glMultiDrawElementsIndirect"));
|
|
gl.getProgramInterfaceiv = @ptrCast(c.wglGetProcAddress("glGetProgramInterfaceiv"));
|
|
gl.getProgramResourceIndex = @ptrCast(c.wglGetProcAddress("glGetProgramResourceIndex"));
|
|
gl.getProgramResourceName = @ptrCast(c.wglGetProcAddress("glGetProgramResourceName"));
|
|
gl.getProgramResourceiv = @ptrCast(c.wglGetProcAddress("glGetProgramResourceiv"));
|
|
gl.getProgramResourceLocation = @ptrCast(c.wglGetProcAddress("glGetProgramResourceLocation"));
|
|
gl.getProgramResourceLocationIndex = @ptrCast(c.wglGetProcAddress("glGetProgramResourceLocationIndex"));
|
|
gl.shaderStorageBlockBinding = @ptrCast(c.wglGetProcAddress("glShaderStorageBlockBinding"));
|
|
gl.texBufferRange = @ptrCast(c.wglGetProcAddress("glTexBufferRange"));
|
|
gl.texStorage2DMultisample = @ptrCast(c.wglGetProcAddress("glTexStorage2DMultisample"));
|
|
gl.texStorage3DMultisample = @ptrCast(c.wglGetProcAddress("glTexStorage3DMultisample"));
|
|
gl.textureView = @ptrCast(c.wglGetProcAddress("glTextureView"));
|
|
gl.bindVertexBuffer = @ptrCast(c.wglGetProcAddress("glBindVertexBuffer"));
|
|
gl.vertexAttribFormat = @ptrCast(c.wglGetProcAddress("glVertexAttribFormat"));
|
|
gl.vertexAttribIFormat = @ptrCast(c.wglGetProcAddress("glVertexAttribIFormat"));
|
|
gl.vertexAttribLFormat = @ptrCast(c.wglGetProcAddress("glVertexAttribLFormat"));
|
|
gl.vertexAttribBinding = @ptrCast(c.wglGetProcAddress("glVertexAttribBinding"));
|
|
gl.vertexBindingDivisor = @ptrCast(c.wglGetProcAddress("glVertexBindingDivisor"));
|
|
gl.debugMessageControl = @ptrCast(c.wglGetProcAddress("glDebugMessageControl"));
|
|
gl.debugMessageInsert = @ptrCast(c.wglGetProcAddress("glDebugMessageInsert"));
|
|
gl.debugMessageCallback = @ptrCast(c.wglGetProcAddress("glDebugMessageCallback"));
|
|
gl.getDebugMessageLog = @ptrCast(c.wglGetProcAddress("glGetDebugMessageLog"));
|
|
gl.pushDebugGroup = @ptrCast(c.wglGetProcAddress("glPushDebugGroup"));
|
|
gl.popDebugGroup = @ptrCast(c.wglGetProcAddress("glPopDebugGroup"));
|
|
gl.objectLabel = @ptrCast(c.wglGetProcAddress("glObjectLabel"));
|
|
gl.getObjectLabel = @ptrCast(c.wglGetProcAddress("glGetObjectLabel"));
|
|
gl.objectPtrLabel = @ptrCast(c.wglGetProcAddress("glObjectPtrLabel"));
|
|
gl.getObjectPtrLabel = @ptrCast(c.wglGetProcAddress("glGetObjectPtrLabel"));
|
|
}
|
|
|
|
if (version >= 440) {
|
|
gl.bufferStorage = @ptrCast(c.wglGetProcAddress("glBufferStorage"));
|
|
gl.clearTexImage = @ptrCast(c.wglGetProcAddress("glClearTexImage"));
|
|
gl.clearTexSubImage = @ptrCast(c.wglGetProcAddress("glClearTexSubImage"));
|
|
gl.bindBuffersBase = @ptrCast(c.wglGetProcAddress("glBindBuffersBase"));
|
|
gl.bindBuffersRange = @ptrCast(c.wglGetProcAddress("glBindBuffersRange"));
|
|
gl.bindTextures = @ptrCast(c.wglGetProcAddress("glBindTextures"));
|
|
gl.bindSamplers = @ptrCast(c.wglGetProcAddress("glBindSamplers"));
|
|
gl.bindImageTextures = @ptrCast(c.wglGetProcAddress("glBindImageTextures"));
|
|
gl.bindVertexBuffers = @ptrCast(c.wglGetProcAddress("glBindVertexBuffers"));
|
|
}
|
|
|
|
if (version >= 450) {
|
|
gl.clipControl = @ptrCast(c.wglGetProcAddress("glClipControl"));
|
|
gl.createTransformFeedbacks = @ptrCast(c.wglGetProcAddress("glCreateTransformFeedbacks"));
|
|
gl.transformFeedbackBufferBase = @ptrCast(c.wglGetProcAddress("glTransformFeedbackBufferBase"));
|
|
gl.transformFeedbackBufferRange = @ptrCast(c.wglGetProcAddress("glTransformFeedbackBufferRange"));
|
|
gl.getTransformFeedbackiv = @ptrCast(c.wglGetProcAddress("glGetTransformFeedbackiv"));
|
|
gl.getTransformFeedbacki_v = @ptrCast(c.wglGetProcAddress("glGetTransformFeedbacki_v"));
|
|
gl.getTransformFeedbacki64_v = @ptrCast(c.wglGetProcAddress("glGetTransformFeedbacki64_v"));
|
|
gl.createBuffers = @ptrCast(c.wglGetProcAddress("glCreateBuffers"));
|
|
gl.namedBufferStorage = @ptrCast(c.wglGetProcAddress("glNamedBufferStorage"));
|
|
gl.namedBufferData = @ptrCast(c.wglGetProcAddress("glNamedBufferData"));
|
|
gl.namedBufferSubData = @ptrCast(c.wglGetProcAddress("glNamedBufferSubData"));
|
|
gl.copyNamedBufferSubData = @ptrCast(c.wglGetProcAddress("glCopyNamedBufferSubData"));
|
|
gl.clearNamedBufferData = @ptrCast(c.wglGetProcAddress("glClearNamedBufferData"));
|
|
gl.clearNamedBufferSubData = @ptrCast(c.wglGetProcAddress("glClearNamedBufferSubData"));
|
|
gl.mapNamedBuffer = @ptrCast(c.wglGetProcAddress("glMapNamedBuffer"));
|
|
gl.mapNamedBufferRange = @ptrCast(c.wglGetProcAddress("glMapNamedBufferRange"));
|
|
gl.unmapNamedBuffer = @ptrCast(c.wglGetProcAddress("glUnmapNamedBuffer"));
|
|
gl.flushMappedNamedBufferRange = @ptrCast(c.wglGetProcAddress("glFlushMappedNamedBufferRange"));
|
|
gl.getNamedBufferParameteriv = @ptrCast(c.wglGetProcAddress("glGetNamedBufferParameteriv"));
|
|
gl.getNamedBufferParameteri64v = @ptrCast(c.wglGetProcAddress("glGetNamedBufferParameteri64v"));
|
|
gl.getNamedBufferPointerv = @ptrCast(c.wglGetProcAddress("glGetNamedBufferPointerv"));
|
|
gl.getNamedBufferSubData = @ptrCast(c.wglGetProcAddress("glGetNamedBufferSubData"));
|
|
gl.createFramebuffers = @ptrCast(c.wglGetProcAddress("glCreateFramebuffers"));
|
|
gl.namedFramebufferRenderbuffer = @ptrCast(c.wglGetProcAddress("glNamedFramebufferRenderbuffer"));
|
|
gl.namedFramebufferParameteri = @ptrCast(c.wglGetProcAddress("glNamedFramebufferParameteri"));
|
|
gl.namedFramebufferTexture = @ptrCast(c.wglGetProcAddress("glNamedFramebufferTexture"));
|
|
gl.namedFramebufferTextureLayer = @ptrCast(c.wglGetProcAddress("glNamedFramebufferTextureLayer"));
|
|
gl.namedFramebufferDrawBuffer = @ptrCast(c.wglGetProcAddress("glNamedFramebufferDrawBuffer"));
|
|
gl.namedFramebufferDrawBuffers = @ptrCast(c.wglGetProcAddress("glNamedFramebufferDrawBuffers"));
|
|
gl.namedFramebufferReadBuffer = @ptrCast(c.wglGetProcAddress("glNamedFramebufferReadBuffer"));
|
|
gl.invalidateNamedFramebufferData = @ptrCast(c.wglGetProcAddress("glInvalidateNamedFramebufferData"));
|
|
gl.invalidateNamedFramebufferSubData = @ptrCast(c.wglGetProcAddress("glInvalidateNamedFramebufferSubData"));
|
|
gl.clearNamedFramebufferiv = @ptrCast(c.wglGetProcAddress("glClearNamedFramebufferiv"));
|
|
gl.clearNamedFramebufferuiv = @ptrCast(c.wglGetProcAddress("glClearNamedFramebufferuiv"));
|
|
gl.clearNamedFramebufferfv = @ptrCast(c.wglGetProcAddress("glClearNamedFramebufferfv"));
|
|
gl.clearNamedFramebufferfi = @ptrCast(c.wglGetProcAddress("glClearNamedFramebufferfi"));
|
|
gl.blitNamedFramebuffer = @ptrCast(c.wglGetProcAddress("glBlitNamedFramebuffer"));
|
|
gl.checkNamedFramebufferStatus = @ptrCast(c.wglGetProcAddress("glCheckNamedFramebufferStatus"));
|
|
gl.getNamedFramebufferParameteriv = @ptrCast(c.wglGetProcAddress("glGetNamedFramebufferParameteriv"));
|
|
gl.getNamedFramebufferAttachmentParameteriv = @ptrCast(c.wglGetProcAddress("glGetNamedFramebufferAttachmentParameteriv"));
|
|
gl.createRenderbuffers = @ptrCast(c.wglGetProcAddress("glCreateRenderbuffers"));
|
|
gl.namedRenderbufferStorage = @ptrCast(c.wglGetProcAddress("glNamedRenderbufferStorage"));
|
|
gl.namedRenderbufferStorageMultisample = @ptrCast(c.wglGetProcAddress("glNamedRenderbufferStorageMultisample"));
|
|
gl.getNamedRenderbufferParameteriv = @ptrCast(c.wglGetProcAddress("glGetNamedRenderbufferParameteriv"));
|
|
gl.createTextures = @ptrCast(c.wglGetProcAddress("glCreateTextures"));
|
|
gl.textureBuffer = @ptrCast(c.wglGetProcAddress("glTextureBuffer"));
|
|
gl.textureBufferRange = @ptrCast(c.wglGetProcAddress("glTextureBufferRange"));
|
|
gl.textureStorage1D = @ptrCast(c.wglGetProcAddress("glTextureStorage1D"));
|
|
gl.textureStorage2D = @ptrCast(c.wglGetProcAddress("glTextureStorage2D"));
|
|
gl.textureStorage3D = @ptrCast(c.wglGetProcAddress("glTextureStorage3D"));
|
|
gl.textureStorage2DMultisample = @ptrCast(c.wglGetProcAddress("glTextureStorage2DMultisample"));
|
|
gl.textureStorage3DMultisample = @ptrCast(c.wglGetProcAddress("glTextureStorage3DMultisample"));
|
|
gl.textureSubImage1D = @ptrCast(c.wglGetProcAddress("glTextureSubImage1D"));
|
|
gl.textureSubImage2D = @ptrCast(c.wglGetProcAddress("glTextureSubImage2D"));
|
|
gl.textureSubImage3D = @ptrCast(c.wglGetProcAddress("glTextureSubImage3D"));
|
|
gl.compressedTextureSubImage1D = @ptrCast(c.wglGetProcAddress("glCompressedTextureSubImage1D"));
|
|
gl.compressedTextureSubImage2D = @ptrCast(c.wglGetProcAddress("glCompressedTextureSubImage2D"));
|
|
gl.compressedTextureSubImage3D = @ptrCast(c.wglGetProcAddress("glCompressedTextureSubImage3D"));
|
|
gl.copyTextureSubImage1D = @ptrCast(c.wglGetProcAddress("glCopyTextureSubImage1D"));
|
|
gl.copyTextureSubImage2D = @ptrCast(c.wglGetProcAddress("glCopyTextureSubImage2D"));
|
|
gl.copyTextureSubImage3D = @ptrCast(c.wglGetProcAddress("glCopyTextureSubImage3D"));
|
|
gl.textureParameterf = @ptrCast(c.wglGetProcAddress("glTextureParameterf"));
|
|
gl.textureParameterfv = @ptrCast(c.wglGetProcAddress("glTextureParameterfv"));
|
|
gl.textureParameteri = @ptrCast(c.wglGetProcAddress("glTextureParameteri"));
|
|
gl.textureParameterIiv = @ptrCast(c.wglGetProcAddress("glTextureParameterIiv"));
|
|
gl.textureParameterIuiv = @ptrCast(c.wglGetProcAddress("glTextureParameterIuiv"));
|
|
gl.textureParameteriv = @ptrCast(c.wglGetProcAddress("glTextureParameteriv"));
|
|
gl.generateTextureMipmap = @ptrCast(c.wglGetProcAddress("glGenerateTextureMipmap"));
|
|
gl.bindTextureUnit = @ptrCast(c.wglGetProcAddress("glBindTextureUnit"));
|
|
gl.getTextureImage = @ptrCast(c.wglGetProcAddress("glGetTextureImage"));
|
|
gl.getCompressedTextureImage = @ptrCast(c.wglGetProcAddress("glGetCompressedTextureImage"));
|
|
gl.getTextureLevelParameterfv = @ptrCast(c.wglGetProcAddress("glGetTextureLevelParameterfv"));
|
|
gl.getTextureLevelParameteriv = @ptrCast(c.wglGetProcAddress("glGetTextureLevelParameteriv"));
|
|
gl.getTextureParameterfv = @ptrCast(c.wglGetProcAddress("glGetTextureParameterfv"));
|
|
gl.getTextureParameterIiv = @ptrCast(c.wglGetProcAddress("glGetTextureParameterIiv"));
|
|
gl.getTextureParameterIuiv = @ptrCast(c.wglGetProcAddress("glGetTextureParameterIuiv"));
|
|
gl.getTextureParameteriv = @ptrCast(c.wglGetProcAddress("glGetTextureParameteriv"));
|
|
gl.createVertexArrays = @ptrCast(c.wglGetProcAddress("glCreateVertexArrays"));
|
|
gl.disableVertexArrayAttrib = @ptrCast(c.wglGetProcAddress("glDisableVertexArrayAttrib"));
|
|
gl.enableVertexArrayAttrib = @ptrCast(c.wglGetProcAddress("glEnableVertexArrayAttrib"));
|
|
gl.vertexArrayElementBuffer = @ptrCast(c.wglGetProcAddress("glVertexArrayElementBuffer"));
|
|
gl.vertexArrayVertexBuffer = @ptrCast(c.wglGetProcAddress("glVertexArrayVertexBuffer"));
|
|
gl.vertexArrayVertexBuffers = @ptrCast(c.wglGetProcAddress("glVertexArrayVertexBuffers"));
|
|
gl.vertexArrayAttribBinding = @ptrCast(c.wglGetProcAddress("glVertexArrayAttribBinding"));
|
|
gl.vertexArrayAttribFormat = @ptrCast(c.wglGetProcAddress("glVertexArrayAttribFormat"));
|
|
gl.vertexArrayAttribIFormat = @ptrCast(c.wglGetProcAddress("glVertexArrayAttribIFormat"));
|
|
gl.vertexArrayAttribLFormat = @ptrCast(c.wglGetProcAddress("glVertexArrayAttribLFormat"));
|
|
gl.vertexArrayBindingDivisor = @ptrCast(c.wglGetProcAddress("glVertexArrayBindingDivisor"));
|
|
gl.getVertexArrayiv = @ptrCast(c.wglGetProcAddress("glGetVertexArrayiv"));
|
|
gl.getVertexArrayIndexediv = @ptrCast(c.wglGetProcAddress("glGetVertexArrayIndexediv"));
|
|
gl.getVertexArrayIndexed64iv = @ptrCast(c.wglGetProcAddress("glGetVertexArrayIndexed64iv"));
|
|
gl.createSamplers = @ptrCast(c.wglGetProcAddress("glCreateSamplers"));
|
|
gl.createProgramPipelines = @ptrCast(c.wglGetProcAddress("glCreateProgramPipelines"));
|
|
gl.createQueries = @ptrCast(c.wglGetProcAddress("glCreateQueries"));
|
|
gl.getQueryBufferObjecti64v = @ptrCast(c.wglGetProcAddress("glGetQueryBufferObjecti64v"));
|
|
gl.getQueryBufferObjectiv = @ptrCast(c.wglGetProcAddress("glGetQueryBufferObjectiv"));
|
|
gl.getQueryBufferObjectui64v = @ptrCast(c.wglGetProcAddress("glGetQueryBufferObjectui64v"));
|
|
gl.getQueryBufferObjectuiv = @ptrCast(c.wglGetProcAddress("glGetQueryBufferObjectuiv"));
|
|
gl.memoryBarrierByRegion = @ptrCast(c.wglGetProcAddress("glMemoryBarrierByRegion"));
|
|
gl.getTextureSubImage = @ptrCast(c.wglGetProcAddress("glGetTextureSubImage"));
|
|
gl.getCompressedTextureSubImage = @ptrCast(c.wglGetProcAddress("glGetCompressedTextureSubImage"));
|
|
gl.getGraphicsResetStatus = @ptrCast(c.wglGetProcAddress("glGetGraphicsResetStatus"));
|
|
gl.getnCompressedTexImage = @ptrCast(c.wglGetProcAddress("glGetnCompressedTexImage"));
|
|
gl.getnTexImage = @ptrCast(c.wglGetProcAddress("glGetnTexImage"));
|
|
gl.getnUniformdv = @ptrCast(c.wglGetProcAddress("glGetnUniformdv"));
|
|
gl.getnUniformfv = @ptrCast(c.wglGetProcAddress("glGetnUniformfv"));
|
|
gl.getnUniformiv = @ptrCast(c.wglGetProcAddress("glGetnUniformiv"));
|
|
gl.getnUniformuiv = @ptrCast(c.wglGetProcAddress("glGetnUniformuiv"));
|
|
gl.readnPixels = @ptrCast(c.wglGetProcAddress("glReadnPixels"));
|
|
gl.textureBarrier = @ptrCast(c.wglGetProcAddress("glTextureBarrier"));
|
|
}
|
|
|
|
if (version >= 460) {
|
|
gl.specializeShader = @ptrCast(c.wglGetProcAddress("glSpecializeShader"));
|
|
gl.multiDrawArraysIndirectCount = @ptrCast(c.wglGetProcAddress("glMultiDrawArraysIndirectCount"));
|
|
gl.multiDrawElementsIndirectCount = @ptrCast(c.wglGetProcAddress("glMultiDrawElementsIndirectCount"));
|
|
gl.polygonOffsetClamp = @ptrCast(c.wglGetProcAddress("glPolygonOffsetClamp"));
|
|
}
|
|
}
|
|
};
|