From: Brendan Hansen Date: Mon, 6 Dec 2021 03:28:55 +0000 (-0600) Subject: more opengles functionality X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=refs%2Fheads%2Fpluggable-modules;p=onyx.git more opengles functionality --- diff --git a/modules/opengles/onyx_opengles.c b/modules/opengles/onyx_opengles.c index e49528e3..de046205 100644 --- a/modules/opengles/onyx_opengles.c +++ b/modules/opengles/onyx_opengles.c @@ -9,24 +9,86 @@ 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) @@ -57,130 +119,172 @@ ONYX_GL_INT_2(glBindBuffer) 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 --- @@ -188,15 +292,6 @@ ONYX_DEF(glClearColor, (FLOAT, FLOAT, FLOAT, FLOAT), ()) { // 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 --- @@ -206,36 +301,16 @@ ONYX_DEF(glClearColor, (FLOAT, FLOAT, FLOAT, FLOAT), ()) { // 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 --- @@ -247,29 +322,9 @@ ONYX_DEF(glClearColor, (FLOAT, FLOAT, FLOAT, FLOAT), ()) { // 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 --- @@ -317,6 +372,66 @@ ONYX_LIBRARY { 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 +}; diff --git a/modules/opengles/onyx_opengles.so b/modules/opengles/onyx_opengles.so index d79e114b..f0829791 100755 Binary files a/modules/opengles/onyx_opengles.so and b/modules/opengles/onyx_opengles.so differ