return NULL; \
}
+#define ONYX_GL_0_RET_INT(name) \
+ ONYX_DEF(name, (), ()) { \
+ results->data[0] = WASM_I32_VAL( name () ); \
+ return NULL; \
+ }
+
#define ONYX_GL_INT_1(name) \
ONYX_DEF(name, (INT), ()) { \
name (params->data[0].of.i32); \
return NULL; \
}
+#define ONYX_GL_INT_1_RET_INT(name) \
+ ONYX_DEF(name, (INT), (INT)) { \
+ results->data[0] = WASM_I32_VAL( name (params->data[0].of.i32) ); \
+ }
+
#define ONYX_GL_INT_2(name) \
ONYX_DEF(name, (INT, INT), ()) { \
- name (params->data[0].of.i32, params->data[0].of.i32); \
+ name (params->data[0].of.i32, params->data[1].of.i32); \
+ return NULL; \
+ }
+
+#define ONYX_GL_INT_2_RET_INT(name) \
+ ONYX_DEF(name, (INT, INT), (INT)) { \
+ results->data[0] = WASM_I32_VAL( name (params->data[0].of.i32, params->data[1].of.i32) ); \
+ return NULL; \
+ }
+
+#define ONYX_GL_INT_3(name) \
+ ONYX_DEF(name, (INT, INT, INT), ()) { \
+ name (params->data[0].of.i32, params->data[1].of.i32, params->data[2].of.i32); \
+ return NULL; \
+ }
+
+#define ONYX_GL_INT_4(name) \
+ ONYX_DEF(name, (INT, INT, INT, INT), ()) { \
+ name (params->data[0].of.i32, params->data[1].of.i32, params->data[2].of.i32, params->data[3].of.i32); \
return NULL; \
}
+#define ONYX_GL_FLOAT_1(name) \
+ ONYX_DEF(name, (FLOAT), ()) { \
+ name (params->data[0].of.f32); \
+ return NULL; \
+ }
+
+#define ONYX_GL_FLOAT_2(name) \
+ ONYX_DEF(name, (FLOAT, FLOAT), ()) { \
+ name (params->data[0].of.f32, params->data[1].of.f32); \
+ return NULL; \
+ }
+
+#define ONYX_GL_FLOAT_4(name) \
+ ONYX_DEF(name, (FLOAT, FLOAT, FLOAT, FLOAT), ()) { \
+ name (params->data[0].of.f32, params->data[1].of.f32, params->data[2].of.f32, params->data[3].of.f32); \
+ return NULL; \
+ }
+
+#define ONYX_GL_INT_PTR(name, ptr_type) \
+ ONYX_DEF(name, (INT, PTR), ()) { \
+ name (params->data[0].of.i32, (ptr_type *) ONYX_PTR(params->data[1].of.i32)); \
+ return NULL; \
+ }
+
+#define ONYX_GL_INT_2_PTR(name, ptr_type) \
+ ONYX_DEF(name, (INT, INT, PTR), ()) { \
+ name (params->data[0].of.i32, params->data[1].of.i32, (ptr_type *) ONYX_PTR(params->data[2].of.i32)); \
+ return NULL; \
+ }
+
+
ONYX_GL_0(glFinish)
ONYX_GL_0(glFlush)
ONYX_GL_0(glReleaseShaderCompiler)
ONYX_GL_0(glEndTransformFeedback)
ONYX_GL_0(glPauseTransformFeedback)
ONYX_GL_0(glResumeTransformFeedback)
+ONYX_GL_0_RET_INT(glCreateProgram)
+ONYX_GL_0_RET_INT(glGetError)
ONYX_GL_INT_1(glActiveTexture)
ONYX_GL_INT_1(glClear)
ONYX_GL_INT_1(glEnable)
ONYX_GL_INT_2(glBindFramebuffer)
ONYX_GL_INT_2(glBindRenderbuffer)
ONYX_GL_INT_2(glBindTexture)
-// glBlendEquationSeparate :: (modeRGB: GLenum, modeAlpha: GLenum) -> void ---
-// glBlendFunc :: (sfactor: GLenum, dfactor: GLenum) -> void ---
-// glDetachShader :: (program: GLuint, shader: GLuint) -> void ---
-// glHint :: (target: GLenum, mode: GLenum) -> void ---
-// glPixelStorei :: (pname: GLenum, param: GLint) -> void ---
-// glStencilMaskSeparate :: (face: GLenum, mask: GLuint) -> void ---
+ONYX_GL_INT_2(glBlendEquationSeparate)
+ONYX_GL_INT_2(glBlendFunc)
+ONYX_GL_INT_2(glDetachShader)
+ONYX_GL_INT_2(glHint)
+ONYX_GL_INT_2(glPixelStorei)
+ONYX_GL_INT_2(glStencilMaskSeparate)
+ONYX_GL_INT_2(glBeginQuery)
+ONYX_GL_INT_2(glBindSampler)
+ONYX_GL_INT_2(glVertexAttribDivisor)
+ONYX_GL_INT_2(glBindTransformFeedback)
+ONYX_GL_INT_1_RET_INT(glCheckFramebufferStatus)
+ONYX_GL_INT_1_RET_INT(glCreateShader)
+ONYX_GL_INT_1_RET_INT(glIsBuffer)
+ONYX_GL_INT_1_RET_INT(glIsEnabled)
+ONYX_GL_INT_1_RET_INT(glIsFramebuffer)
+ONYX_GL_INT_1_RET_INT(glIsProgram )
+ONYX_GL_INT_1_RET_INT(glIsRenderbuffer)
+ONYX_GL_INT_1_RET_INT(glIsShader)
+ONYX_GL_INT_1_RET_INT(glIsTexture)
+ONYX_GL_INT_1_RET_INT(glIsQuery)
+ONYX_GL_INT_1_RET_INT(glUnmapBuffer)
+ONYX_GL_INT_1_RET_INT(glIsVertexArray)
+// ONYX_GL_INT_1_RET_INT(glIsSync)
+ONYX_GL_INT_1_RET_INT(glIsTransformFeedback)
+ONYX_GL_INT_1_RET_INT(glIsSampler)
+// ONYX_GL_INT_2_RET_INT(glFenceSync)
+ONYX_GL_FLOAT_1(glClearDepthf)
+ONYX_GL_FLOAT_2(glDepthRangef)
+ONYX_GL_FLOAT_2(glPolygonOffset)
+ONYX_GL_FLOAT_4(glClearColor)
+ONYX_GL_FLOAT_4(glBlendColor)
+
+ONYX_GL_INT_PTR(glDeleteBuffers, GLuint)
+ONYX_GL_INT_PTR(glDeleteFramebuffers, GLuint)
+ONYX_GL_INT_PTR(glDeleteRenderbuffers, GLuint)
+ONYX_GL_INT_PTR(glDeleteTextures, GLuint)
+ONYX_GL_INT_PTR(glGenBuffers, GLuint)
+ONYX_GL_INT_PTR(glGenFramebuffers, GLuint)
+ONYX_GL_INT_PTR(glGenRenderbuffers, GLuint)
+ONYX_GL_INT_PTR(glGenTextures, GLuint)
+ONYX_GL_INT_PTR(glGetAttribLocation, GLchar)
+ONYX_GL_INT_PTR(glGetBooleanv, GLboolean)
+ONYX_GL_INT_PTR(glGetFloatv, GLfloat)
+ONYX_GL_INT_PTR(glGetIntegerv, GLint)
+ONYX_GL_INT_PTR(glGetUniformLocation, GLchar)
+ONYX_GL_INT_PTR(glVertexAttrib1fv, GLfloat)
+ONYX_GL_INT_PTR(glVertexAttrib2fv, GLfloat)
+ONYX_GL_INT_PTR(glVertexAttrib3fv, GLfloat)
+ONYX_GL_INT_PTR(glVertexAttrib4fv, GLfloat)
+ONYX_GL_INT_PTR(glGenQueries, GLuint)
+ONYX_GL_INT_PTR(glDeleteQueries, GLuint)
+ONYX_GL_INT_PTR(glDrawBuffers, GLenum)
+ONYX_GL_INT_PTR(glDeleteVertexArrays, GLuint)
+ONYX_GL_INT_PTR(glGenVertexArrays, GLuint)
+ONYX_GL_INT_PTR(glGenSamplers, GLuint)
+ONYX_GL_INT_PTR(glGetInteger64v, GLint64)
+ONYX_GL_INT_PTR(glDeleteSamplers, GLuint)
+ONYX_GL_INT_PTR(glDeleteTransformFeedbacks, GLuint)
+ONYX_GL_INT_PTR(glGenTransformFeedbacks, GLuint)
+ONYX_GL_INT_PTR(glGetFragDataLocation, GLchar)
+ONYX_GL_INT_PTR(glVertexAttribI4iv, GLint)
+ONYX_GL_INT_PTR(glVertexAttribI4uiv, GLuint)
+ONYX_GL_INT_3(glDrawArrays)
+ONYX_GL_INT_3(glStencilFunc)
+ONYX_GL_INT_3(glStencilOp)
+ONYX_GL_INT_3(glFlushMappedBufferRange)
+ONYX_GL_INT_3(glBindBufferBase)
+ONYX_GL_INT_3(glSamplerParameteri)
+ONYX_GL_INT_4(glBlendFuncSeparate)
+ONYX_GL_INT_4(glColorMask)
+ONYX_GL_INT_4(glScissor)
+ONYX_GL_INT_4(glStencilFuncSeparate)
+ONYX_GL_INT_4(glViewport)
+ONYX_GL_INT_4(glMapBufferRange)
+
+ONYX_GL_INT_2_PTR(glBindAttribLocation, GLchar)
+ONYX_GL_INT_2_PTR(glGetBufferParameteriv, GLint)
+ONYX_GL_INT_2_PTR(glGetProgramiv, GLint)
+ONYX_GL_INT_2_PTR(glGetRenderbufferParameteriv, GLint)
+ONYX_GL_INT_2_PTR(glGetShaderiv, GLint)
+ONYX_GL_INT_2_PTR(glGetTexParameterfv, GLfloat)
+ONYX_GL_INT_2_PTR(glGetTexParameteriv, GLint)
+ONYX_GL_INT_2_PTR(glGetUniformfv, GLfloat)
+ONYX_GL_INT_2_PTR(glGetUniformiv, GLint)
+ONYX_GL_INT_2_PTR(glGetVertexAttribfv, GLfloat)
+ONYX_GL_INT_2_PTR(glGetVertexAttribiv, GLint)
+ONYX_GL_INT_2_PTR(glTexParameterfv, GLfloat)
+ONYX_GL_INT_2_PTR(glTexParameteriv, GLint)
+ONYX_GL_INT_2_PTR(glUniform1fv, GLfloat)
+ONYX_GL_INT_2_PTR(glUniform1iv, GLint)
+ONYX_GL_INT_2_PTR(glUniform2fv, GLfloat)
+ONYX_GL_INT_2_PTR(glUniform2iv, GLint)
+ONYX_GL_INT_2_PTR(glUniform3fv, GLfloat)
+ONYX_GL_INT_2_PTR(glUniform3iv, GLint)
+ONYX_GL_INT_2_PTR(glUniform4fv, GLfloat)
+ONYX_GL_INT_2_PTR(glUniform4iv, GLint)
+ONYX_GL_INT_2_PTR(glGetQueryiv, GLint)
+ONYX_GL_INT_2_PTR(glGetQueryObjectuiv, GLuint)
+ONYX_GL_INT_2_PTR(glGetInteger64i_v, GLint64)
+ONYX_GL_INT_2_PTR(glGetBufferParameteri64v, GLint64)
+ONYX_GL_INT_2_PTR(glSamplerParameteriv, GLint)
+ONYX_GL_INT_2_PTR(glSamplerParameterfv, GLfloat)
+ONYX_GL_INT_2_PTR(glGetSamplerParameteriv, GLint)
+ONYX_GL_INT_2_PTR(glGetSamplerParameterfv, GLfloat)
+
+// glSamplerParameterf :: (sampler: GLuint, pname: GLenum, param: GLfloat) -> void ---
-ONYX_DEF(glClearColor, (FLOAT, FLOAT, FLOAT, FLOAT), ()) {
- glClearColor(
- params->data[0].of.f32,
- params->data[1].of.f32,
- params->data[2].of.f32,
- params->data[3].of.f32);
- return NULL;
-}
+// glGetBufferPointerv :: (target: GLenum, pname: GLenum, params: ^rawptr) -> void ---
+// glGetVertexAttribPointerv :: (index: GLuint, pname: GLenum, pointer: ^rawptr) -> void ---
-// glBindAttribLocation :: (program: GLuint, index: GLuint, name: ^GLchar) -> void ---
-// glBlendColor :: (red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat) -> void ---
-// glBlendFuncSeparate :: (sfactorRGB: GLenum, dfactorRGB: GLenum, sfactorAlpha: GLenum, dfactorAlpha: GLenum) -> void ---
// glBufferData :: (target: GLenum, size: GLsizeiptr, data: rawptr, usage: GLenum) -> void ---
// glBufferSubData :: (target: GLenum, offset: GLintptr, size: GLsizeiptr, data: rawptr) -> void ---
-// glCheckFramebufferStatus :: (target: GLenum) -> GLenum ---
-// glClearDepthf :: (d: GLfloat) -> void ---
-// glColorMask :: (red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) -> void ---
// glCompressedTexImage2D :: (target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, data: rawptr) -> void ---
// glCompressedTexSubImage2D :: (target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, data: rawptr) -> void ---
// glCopyTexImage2D :: (target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) -> void ---
// glCopyTexSubImage2D :: (target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) -> void ---
-// glCreateProgram :: () -> GLuint ---
-// glCreateShader :: (type: GLenum) -> GLuint ---
-// glDeleteBuffers :: (n: GLsizei, buffers: ^GLuint) -> void ---
-// glDeleteFramebuffers :: (n: GLsizei, framebuffers: ^GLuint) -> void ---
-// glDeleteRenderbuffers :: (n: GLsizei, renderbuffers: ^GLuint) -> void ---
-// glDeleteTextures :: (n: GLsizei, textures: ^GLuint) -> void ---
-// glDepthRangef :: (n: GLfloat, f: GLfloat) -> void ---
-// glDrawArrays :: (mode: GLenum, first: GLint, count: GLsizei) -> void ---
// glDrawElements :: (mode: GLenum, count: GLsizei, type: GLenum, indices: rawptr) -> void ---
// glFramebufferRenderbuffer :: (target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: GLuint) -> void ---
// glFramebufferTexture2D :: (target: GLenum, attachment: GLenum, textarget: GLenum, texture: GLuint, level: GLint) -> void ---
-// glGenBuffers :: (n: GLsizei, buffers: ^GLuint) -> void ---
-// glGenFramebuffers :: (n: GLsizei, framebuffers: ^GLuint) -> void ---
-// glGenRenderbuffers :: (n: GLsizei, renderbuffers: ^GLuint) -> void ---
-// glGenTextures :: (n: GLsizei, textures: ^GLuint) -> void ---
// glGetActiveAttrib :: (program: GLuint, index: GLuint, bufSize: GLsizei, length: ^GLsizei, size: ^GLint, type: ^GLenum, name: ^GLchar) -> void ---
// glGetActiveUniform :: (program: GLuint, index: GLuint, bufSize: GLsizei, length: ^GLsizei, size: ^GLint, type: ^GLenum, name: ^GLchar) -> void ---
// glGetAttachedShaders :: (program: GLuint, maxCount: GLsizei, count: ^GLsizei, shaders: ^GLuint) -> void ---
-// glGetAttribLocation :: (program: GLuint, name: ^GLchar) -> GLint ---
-// glGetBooleanv :: (pname: GLenum, data: ^GLboolean) -> void ---
-// glGetBufferParameteriv :: (target: GLenum, pname: GLenum, params: ^GLint) -> void ---
-// glGetError :: () -> GLenum ---
-// glGetFloatv :: (pname: GLenum, data: ^GLfloat) -> void ---
// glGetFramebufferAttachmentParameteriv :: (target: GLenum, attachment: GLenum, pname: GLenum, params: ^GLint) -> void ---
-// glGetIntegerv :: (pname: GLenum, data: ^GLint) -> void ---
-// glGetProgramiv :: (program: GLuint, pname: GLenum, params: ^GLint) -> void ---
// glGetProgramInfoLog :: (program: GLuint, bufSize: GLsizei, length: ^GLsizei, infoLog: ^GLchar) -> void ---
-// glGetRenderbufferParameteriv :: (target: GLenum, pname: GLenum, params: ^GLint) -> void ---
-// glGetShaderiv :: (shader: GLuint, pname: GLenum, params: ^GLint) -> void ---
// glGetShaderInfoLog :: (shader: GLuint, bufSize: GLsizei, length: ^GLsizei, infoLog: ^GLchar) -> void ---
// glGetShaderPrecisionFormat :: (shadertype: GLenum, precisiontype: GLenum, range: ^GLint, precision: ^GLint) -> void ---
// glGetShaderSource :: (shader: GLuint, bufSize: GLsizei, length: ^GLsizei, source: ^GLchar) -> void ---
// glGetString :: (name: GLenum) -> ^GLubyte ---
-// glGetTexParameterfv :: (target: GLenum, pname: GLenum, params: ^GLfloat) -> void ---
-// glGetTexParameteriv :: (target: GLenum, pname: GLenum, params: ^GLint) -> void ---
-// glGetUniformfv :: (program: GLuint, location: GLint, params: ^GLfloat) -> void ---
-// glGetUniformiv :: (program: GLuint, location: GLint, params: ^GLint) -> void ---
-// glGetUniformLocation :: (program: GLuint, name: ^GLchar) -> GLint ---
-// glGetVertexAttribfv :: (index: GLuint, pname: GLenum, params: ^GLfloat) -> void ---
-// glGetVertexAttribiv :: (index: GLuint, pname: GLenum, params: ^GLint) -> void ---
-// glGetVertexAttribPointerv :: (index: GLuint, pname: GLenum, pointer: ^rawptr) -> void ---
-// glIsBuffer :: (buffer: GLuint) -> GLboolean ---
-// glIsEnabled :: (cap: GLenum) -> GLboolean ---
-// glIsFramebuffer :: (framebuffer: GLuint) -> GLboolean ---
-// glIsProgram :: (program: GLuint) -> GLboolean ---
-// glIsRenderbuffer :: (renderbuffer: GLuint) -> GLboolean ---
-// glIsShader :: (shader: GLuint) -> GLboolean ---
-// glIsTexture :: (texture: GLuint) -> GLboolean ---
-// glPolygonOffset :: (factor: GLfloat, units: GLfloat) -> void ---
// glReadPixels :: (x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: rawptr) -> void ---
// glRenderbufferStorage :: (target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei) -> void ---
// glSampleCoverage :: (value: GLfloat, invert: GLboolean) -> void ---
-// glScissor :: (x: GLint, y: GLint, width: GLsizei, height: GLsizei) -> void ---
// glShaderBinary :: (count: GLsizei, shaders: ^GLuint, binaryformat: GLenum, binary: rawptr, length: GLsizei) -> void ---
// glShaderSource :: (shader: GLuint, count: GLsizei, conststring: ^^GLchar, length: ^GLint) -> void ---
-// glStencilFunc :: (func: GLenum, ref: GLint, mask: GLuint) -> void ---
-// glStencilFuncSeparate :: (face: GLenum, func: GLenum, ref: GLint, mask: GLuint) -> void ---
-// glStencilOp :: (fail: GLenum, zfail: GLenum, zpass: GLenum) -> void ---
// glStencilOpSeparate :: (face: GLenum, sfail: GLenum, dpfail: GLenum, dppass: GLenum) -> void ---
// glTexImage2D :: (target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: rawptr) -> void ---
// glTexParameterf :: (target: GLenum, pname: GLenum, param: GLfloat) -> void ---
-// glTexParameterfv :: (target: GLenum, pname: GLenum, params: ^GLfloat) -> void ---
// glTexParameteri :: (target: GLenum, pname: GLenum, param: GLint) -> void ---
-// glTexParameteriv :: (target: GLenum, pname: GLenum, params: ^GLint) -> void ---
// glTexSubImage2D :: (target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: rawptr) -> void ---
// glUniform1f :: (location: GLint, v0: GLfloat) -> void ---
-// glUniform1fv :: (location: GLint, count: GLsizei, value: ^GLfloat) -> void ---
// glUniform1i :: (location: GLint, v0: GLint) -> void ---
-// glUniform1iv :: (location: GLint, count: GLsizei, value: ^GLint) -> void ---
// glUniform2f :: (location: GLint, v0: GLfloat, v1: GLfloat) -> void ---
-// glUniform2fv :: (location: GLint, count: GLsizei, value: ^GLfloat) -> void ---
// glUniform2i :: (location: GLint, v0: GLint, v1: GLint) -> void ---
-// glUniform2iv :: (location: GLint, count: GLsizei, value: ^GLint) -> void ---
// glUniform3f :: (location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat) -> void ---
-// glUniform3fv :: (location: GLint, count: GLsizei, value: ^GLfloat) -> void ---
// glUniform3i :: (location: GLint, v0: GLint, v1: GLint, v2: GLint) -> void ---
-// glUniform3iv :: (location: GLint, count: GLsizei, value: ^GLint) -> void ---
// glUniform4f :: (location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat, v3: GLfloat) -> void ---
-// glUniform4fv :: (location: GLint, count: GLsizei, value: ^GLfloat) -> void ---
// glUniform4i :: (location: GLint, v0: GLint, v1: GLint, v2: GLint, v3: GLint) -> void ---
-// glUniform4iv :: (location: GLint, count: GLsizei, value: ^GLint) -> void ---
// glUniformMatrix2fv :: (location: GLint, count: GLsizei, transpose: GLboolean, value: ^GLfloat) -> void ---
// glUniformMatrix3fv :: (location: GLint, count: GLsizei, transpose: GLboolean, value: ^GLfloat) -> void ---
// glUniformMatrix4fv :: (location: GLint, count: GLsizei, transpose: GLboolean, value: ^GLfloat) -> void ---
// glVertexAttrib1f :: (index: GLuint, x: GLfloat) -> void ---
-// glVertexAttrib1fv :: (index: GLuint, v: ^GLfloat) -> void ---
// glVertexAttrib2f :: (index: GLuint, x: GLfloat, y: GLfloat) -> void ---
-// glVertexAttrib2fv :: (index: GLuint, v: ^GLfloat) -> void ---
// glVertexAttrib3f :: (index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) -> void ---
-// glVertexAttrib3fv :: (index: GLuint, v: ^GLfloat) -> void ---
// glVertexAttrib4f :: (index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) -> void ---
-// glVertexAttrib4fv :: (index: GLuint, v: ^GLfloat) -> void ---
// glVertexAttribPointer :: (index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, pointer: rawptr) -> void ---
-// glViewport :: (x: GLint, y: GLint, width: GLsizei, height: GLsizei) -> void ---
-
+// glGetIntegeri_v :: (target: GLenum, index: GLuint, data: ^GLint) -> void ---
+// glGetVertexAttribIiv :: (index: GLuint, pname: GLenum, params: ^GLint) -> void ---
+// glGetVertexAttribIuiv :: (index: GLuint, pname: GLenum, params: ^GLuint) -> void ---
+// glGetUniformuiv :: (program: GLuint, location: GLint, params: ^GLuint) -> void ---
+// glUniform1uiv :: (location: GLint, count: GLsizei, value: ^GLuint) -> void ---
+// glUniform2uiv :: (location: GLint, count: GLsizei, value: ^GLuint) -> void ---
+// glUniform3uiv :: (location: GLint, count: GLsizei, value: ^GLuint) -> void ---
+// glUniform4uiv :: (location: GLint, count: GLsizei, value: ^GLuint) -> void ---
+// glClearBufferiv :: (buffer: GLenum, drawbuffer: GLint, value: ^GLint) -> void ---
+// glClearBufferuiv :: (buffer: GLenum, drawbuffer: GLint, value: ^GLuint) -> void ---
+// glClearBufferfv :: (buffer: GLenum, drawbuffer: GLint, value: ^GLfloat) -> void ---
// Open3: GLES
// glDrawRangeElements :: (mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, indices: rawptr) -> void ---
// glTexImage3D :: (target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: rawptr) -> void ---
// glCopyTexSubImage3D :: (target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) -> void ---
// glCompressedTexImage3D :: (target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, data: rawptr) -> void ---
// glCompressedTexSubImage3D :: (target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, data: rawptr) -> void ---
-// glGenQueries :: (n: GLsizei, ids: ^GLuint) -> void ---
-// glDeleteQueries :: (n: GLsizei, ids: ^GLuint) -> void ---
-// glIsQuery :: (id: GLuint) -> GLboolean ---
-// glBeginQuery :: (target: GLenum, id: GLuint) -> void ---
-// glGetQueryiv :: (target: GLenum, pname: GLenum, params: ^GLint) -> void ---
-// glGetQueryObjectuiv :: (id: GLuint, pname: GLenum, params: ^GLuint) -> void ---
-// glUnmapBuffer :: (target: GLenum) -> GLboolean ---
-// glGetBufferPointerv :: (target: GLenum, pname: GLenum, params: ^rawptr) -> void ---
-// glDrawBuffers :: (n: GLsizei, bufs: ^GLenum) -> void ---
// glUniformMatrix2x3fv :: (location: GLint, count: GLsizei, transpose: GLboolean, value: ^GLfloat) -> void ---
// glUniformMatrix3x2fv :: (location: GLint, count: GLsizei, transpose: GLboolean, value: ^GLfloat) -> void ---
// glUniformMatrix2x4fv :: (location: GLint, count: GLsizei, transpose: GLboolean, value: ^GLfloat) -> void ---
// glBlitFramebuffer :: (srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum) -> void ---
// glRenderbufferStorageMultisample :: (target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) -> void ---
// glFramebufferTextureLayer :: (target: GLenum, attachment: GLenum, texture: GLuint, level: GLint, layer: GLint) -> void ---
-// glMapBufferRange :: (target: GLenum, offset: GLintptr, length: GLsizeiptr, access: GLbitfield) -> rawptr ---
-// glFlushMappedBufferRange :: (target: GLenum, offset: GLintptr, length: GLsizeiptr) -> void ---
-// glDeleteVertexArrays :: (n: GLsizei, arrays: ^GLuint) -> void ---
-// glGenVertexArrays :: (n: GLsizei, arrays: ^GLuint) -> void ---
-// glIsVertexArray :: (array: GLuint) -> GLboolean ---
-// glGetIntegeri_v :: (target: GLenum, index: GLuint, data: ^GLint) -> void ---
// glBindBufferRange :: (target: GLenum, index: GLuint, buffer: GLuint, offset: GLintptr, size: GLsizeiptr) -> void ---
-// glBindBufferBase :: (target: GLenum, index: GLuint, buffer: GLuint) -> void ---
// glTransformFeedbackVaryings :: (program: GLuint, count: GLsizei, varyings: ^^GLchar, bufferMode: GLenum) -> void ---
// glGetTransformFeedbackVarying :: (program: GLuint, index: GLuint, bufSize: GLsizei, length: ^GLsizei, size: ^GLsizei, type: ^GLenum, name: ^GLchar) -> void ---
// glVertexAttribIPointer :: (index: GLuint, size: GLint, type: GLenum, stride: GLsizei, pointer: rawptr) -> void ---
-// glGetVertexAttribIiv :: (index: GLuint, pname: GLenum, params: ^GLint) -> void ---
-// glGetVertexAttribIuiv :: (index: GLuint, pname: GLenum, params: ^GLuint) -> void ---
// glVertexAttribI4i :: (index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint) -> void ---
// glVertexAttribI4ui :: (index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint) -> void ---
-// glVertexAttribI4iv :: (index: GLuint, v: ^GLint) -> void ---
-// glVertexAttribI4uiv :: (index: GLuint, v: ^GLuint) -> void ---
-// glGetUniformuiv :: (program: GLuint, location: GLint, params: ^GLuint) -> void ---
-// glGetFragDataLocation :: (program: GLuint, name: ^GLchar) -> GLint ---
// glUniform1ui :: (location: GLint, v0: GLuint) -> void ---
// glUniform2ui :: (location: GLint, v0: GLuint, v1: GLuint) -> void ---
// glUniform3ui :: (location: GLint, v0: GLuint, v1: GLuint, v2: GLuint) -> void ---
// glUniform4ui :: (location: GLint, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint) -> void ---
-// glUniform1uiv :: (location: GLint, count: GLsizei, value: ^GLuint) -> void ---
-// glUniform2uiv :: (location: GLint, count: GLsizei, value: ^GLuint) -> void ---
-// glUniform3uiv :: (location: GLint, count: GLsizei, value: ^GLuint) -> void ---
-// glUniform4uiv :: (location: GLint, count: GLsizei, value: ^GLuint) -> void ---
-// glClearBufferiv :: (buffer: GLenum, drawbuffer: GLint, value: ^GLint) -> void ---
-// glClearBufferuiv :: (buffer: GLenum, drawbuffer: GLint, value: ^GLuint) -> void ---
-// glClearBufferfv :: (buffer: GLenum, drawbuffer: GLint, value: ^GLfloat) -> void ---
// glClearBufferfi :: (buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint) -> void ---
// glGetStringi :: (name: GLenum, index: GLuint) -> ^GLubyte ---
// glCopyBufferSubData :: (readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr) -> void ---
// glUniformBlockBinding :: (program: GLuint, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint) -> void ---
// glDrawArraysInstanced :: (mode: GLenum, first: GLint, count: GLsizei, instancecount: GLsizei) -> void ---
// glDrawElementsInstanced :: (mode: GLenum, count: GLsizei, type: GLenum, indices: rawptr, instancecount: GLsizei) -> void ---
-// glFenceSync :: (condition: GLenum, flags: GLbitfield) -> GLsync ---
-// glIsSync :: (sync: GLsync) -> GLboolean ---
// glClientWaitSync :: (sync: GLsync, flags: GLbitfield, timeout: GLuint64) -> GLenum ---
// glWaitSync :: (sync: GLsync, flags: GLbitfield, timeout: GLuint64) -> void ---
-// glGetInteger64v :: (pname: GLenum, data: ^GLint64) -> void ---
// glGetSynciv :: (sync: GLsync, pname: GLenum, bufSize: GLsizei, length: ^GLsizei, values: ^GLint) -> void ---
-// glGetInteger64i_v :: (target: GLenum, index: GLuint, data: ^GLint64) -> void ---
-// glGetBufferParameteri64v :: (target: GLenum, pname: GLenum, params: ^GLint64) -> void ---
-// glGenSamplers :: (count: GLsizei, samplers: ^GLuint) -> void ---
-// glDeleteSamplers :: (count: GLsizei, samplers: ^GLuint) -> void ---
-// glIsSampler :: (sampler: GLuint) -> GLboolean ---
-// glBindSampler :: (unit: GLuint, sampler: GLuint) -> void ---
-// glSamplerParameteri :: (sampler: GLuint, pname: GLenum, param: GLint) -> void ---
-// glSamplerParameteriv :: (sampler: GLuint, pname: GLenum, param: ^GLint) -> void ---
-// glSamplerParameterf :: (sampler: GLuint, pname: GLenum, param: GLfloat) -> void ---
-// glSamplerParameterfv :: (sampler: GLuint, pname: GLenum, param: ^GLfloat) -> void ---
-// glGetSamplerParameteriv :: (sampler: GLuint, pname: GLenum, params: ^GLint) -> void ---
-// glGetSamplerParameterfv :: (sampler: GLuint, pname: GLenum, params: ^GLfloat) -> void ---
-// glVertexAttribDivisor :: (index: GLuint, divisor: GLuint) -> void ---
-// glBindTransformFeedback :: (target: GLenum, id: GLuint) -> void ---
-// glDeleteTransformFeedbacks :: (n: GLsizei, ids: ^GLuint) -> void ---
-// glGenTransformFeedbacks :: (n: GLsizei, ids: ^GLuint) -> void ---
-// glIsTransformFeedback :: (id: GLuint) -> GLboolean ---
// glGetProgramBinary :: (program: GLuint, bufSize: GLsizei, length: ^GLsizei, binaryFormat: ^GLenum, binary: rawptr) -> void ---
// glProgramBinary :: (program: GLuint, binaryFormat: GLenum, binary: rawptr, length: GLsizei) -> void ---
// glProgramParameteri :: (program: GLuint, pname: GLenum, value: GLint) -> void ---
ONYX_FUNC(glBindFramebuffer)
ONYX_FUNC(glBindRenderbuffer)
ONYX_FUNC(glBindTexture)
+ ONYX_FUNC(glCreateProgram)
+ ONYX_FUNC(glGetError)
+ ONYX_FUNC(glBlendEquationSeparate)
+ ONYX_FUNC(glBlendFunc)
+ ONYX_FUNC(glDetachShader)
+ ONYX_FUNC(glHint)
+ ONYX_FUNC(glPixelStorei)
+ ONYX_FUNC(glStencilMaskSeparate)
+ ONYX_FUNC(glBeginQuery)
+ ONYX_FUNC(glBindSampler)
+ ONYX_FUNC(glVertexAttribDivisor)
+ ONYX_FUNC(glBindTransformFeedback)
+ ONYX_FUNC(glCheckFramebufferStatus)
+ ONYX_FUNC(glCreateShader)
+ ONYX_FUNC(glIsBuffer)
+ ONYX_FUNC(glIsEnabled)
+ ONYX_FUNC(glIsFramebuffer)
+ ONYX_FUNC(glIsProgram )
+ ONYX_FUNC(glIsRenderbuffer)
+ ONYX_FUNC(glIsShader)
+ ONYX_FUNC(glIsTexture)
+ ONYX_FUNC(glIsQuery)
+ ONYX_FUNC(glUnmapBuffer)
+ ONYX_FUNC(glIsVertexArray)
+ ONYX_FUNC(glIsTransformFeedback)
+ ONYX_FUNC(glIsSampler)
+ // ONYX_FUNC(glFenceSync)
+ ONYX_FUNC(glClearDepthf)
+ ONYX_FUNC(glDepthRangef)
+ ONYX_FUNC(glPolygonOffset)
+ ONYX_FUNC(glClearColor)
+ ONYX_FUNC(glBlendColor)
+
+ ONYX_FUNC(glDeleteBuffers)
+ ONYX_FUNC(glDeleteFramebuffers)
+ ONYX_FUNC(glDeleteRenderbuffers)
+ ONYX_FUNC(glDeleteTextures)
+ ONYX_FUNC(glGenBuffers)
+ ONYX_FUNC(glGenFramebuffers)
+ ONYX_FUNC(glGenRenderbuffers)
+ ONYX_FUNC(glGenTextures)
+ ONYX_FUNC(glGetAttribLocation)
+ ONYX_FUNC(glGetBooleanv)
+ ONYX_FUNC(glGetFloatv)
+ ONYX_FUNC(glGetIntegerv)
+ ONYX_FUNC(glGetUniformLocation)
+ ONYX_FUNC(glVertexAttrib1fv)
+ ONYX_FUNC(glVertexAttrib2fv)
+ ONYX_FUNC(glVertexAttrib3fv)
+ ONYX_FUNC(glVertexAttrib4fv)
+ ONYX_FUNC(glGenQueries)
+ ONYX_FUNC(glDeleteQueries)
+ ONYX_FUNC(glDrawBuffers)
+ ONYX_FUNC(glDeleteVertexArrays)
+ ONYX_FUNC(glGenVertexArrays)
+ ONYX_FUNC(glGenSamplers)
+ ONYX_FUNC(glGetInteger64v)
+ ONYX_FUNC(glDeleteSamplers)
+ ONYX_FUNC(glDeleteTransformFeedbacks)
+ ONYX_FUNC(glGenTransformFeedbacks)
NULL
-};
\ No newline at end of file
+};