updated gl
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 21 Dec 2021 01:51:42 +0000 (19:51 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 21 Dec 2021 01:51:42 +0000 (19:51 -0600)
modules/opengles/module.onyx
modules/opengles/onyx_opengles.c
modules/opengles/onyx_opengles.so

index c69df44d2413bdc277340e2be72f7bd6e8c20fb0..5abeb7495345fa8065f2573fd830614afa1beade 100644 (file)
@@ -14,9 +14,9 @@ GLGetProcAddress :: #distinct i64 // (name: cstr) -> ^void
     glAttachShader :: (program: GLuint, shader: GLuint) -> void ---
     glBindAttribLocation :: (program: GLuint, index: GLuint, name: ^GLchar) -> void ---
     glBindBuffer :: (target: GLenum, buffer: GLint) -> void ---
-    glBindFramebuffer :: (target: GLenum, framebuffer: GLuint) -> void ---
-    glBindRenderbuffer :: (target: GLenum, renderbuffer: GLuint) -> void ---
-    glBindTexture :: (target: GLenum, texture: GLuint) -> void ---
+    glBindFramebuffer :: (target: GLenum, framebuffer: GLint) -> void ---
+    glBindRenderbuffer :: (target: GLenum, renderbuffer: GLint) -> void ---
+    glBindTexture :: (target: GLenum, texture: GLint) -> void ---
     glBlendColor :: (red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat) -> void ---
     glBlendEquation :: (mode: GLenum) -> void ---
     glBlendEquationSeparate :: (modeRGB: GLenum, modeAlpha: GLenum) -> void ---
index 1663b41a4215be1d54acfa5e32a4eab7431e2e46..175b19ca29502977d2b444ae7e48b9a9556762fb 100644 (file)
         return NULL; \
     }
 
+#define ONYX_GL_INT_PTR_RET_INT(name, ptr_type) \
+    ONYX_DEF(name, (INT, PTR), (INT)) {            \
+        results->data[0] = WASM_I32_VAL(glad_##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), ()) {       \
         glad_##name (params->data[0].of.i32, params->data[1].of.i32, (ptr_type *) ONYX_PTR(params->data[2].of.i32)); \
     }
 
 #define ONYX_GL_INT_8_PTR(name, ptr_type) \
-    ONYX_DEF(name, (INT, INT, INT, INT, INT, INT, INT, PTR), ()) { \
+    ONYX_DEF(name, (INT, INT, INT, INT, INT, INT, INT, INT, PTR), ()) { \
         glad_##name (params->data[0].of.i32, params->data[1].of.i32, params->data[2].of.i32, params->data[3].of.i32, params->data[4].of.i32, params->data[5].of.i32, params->data[6].of.i32, params->data[7].of.i32, (ptr_type *) ONYX_PTR(params->data[8].of.i32)); \
         return NULL;                   \
     }
 
 #define ONYX_GL_INT_9_PTR(name, ptr_type) \
-    ONYX_DEF(name, (INT, INT, INT, INT, INT, INT, INT, INT, PTR), ()) { \
+    ONYX_DEF(name, (INT, INT, INT, INT, INT, INT, INT, INT, INT, PTR), ()) { \
         glad_##name (params->data[0].of.i32, params->data[1].of.i32, params->data[2].of.i32, params->data[3].of.i32, params->data[4].of.i32, params->data[5].of.i32, params->data[6].of.i32, params->data[7].of.i32, params->data[8].of.i32, (ptr_type *) ONYX_PTR(params->data[9].of.i32)); \
         return NULL;                   \
     }
 
 #define ONYX_GL_INT_10_PTR(name, ptr_type) \
-    ONYX_DEF(name, (INT, INT, INT, INT, INT, INT, INT, INT, INT, PTR), ()) { \
+    ONYX_DEF(name, (INT, INT, INT, INT, INT, INT, INT, INT, INT, INT, PTR), ()) { \
         glad_##name (params->data[0].of.i32, params->data[1].of.i32, params->data[2].of.i32, params->data[3].of.i32, params->data[4].of.i32, params->data[5].of.i32, params->data[6].of.i32, params->data[7].of.i32, params->data[8].of.i32, params->data[9].of.i32, (ptr_type *) ONYX_PTR(params->data[10].of.i32)); \
         return NULL;                   \
     }
@@ -359,7 +365,7 @@ ONYX_GL_INT_PTR(glGetAttribLocation, char)
 ONYX_GL_INT_PTR(glGetBooleanv, GLboolean)
 ONYX_GL_INT_PTR(glGetFloatv, GLfloat)
 ONYX_GL_INT_PTR(glGetIntegerv, GLint)
-ONYX_GL_INT_PTR(glGetUniformLocation, char)
+ONYX_GL_INT_PTR_RET_INT(glGetUniformLocation, char)
 ONYX_GL_INT_PTR(glVertexAttrib1fv, GLfloat)
 ONYX_GL_INT_PTR(glVertexAttrib2fv, GLfloat)
 ONYX_GL_INT_PTR(glVertexAttrib3fv, GLfloat)
index 71591b0922cef35fce573675c5eda80c5347170c..393e39ffa4675376eb0aa7d2a7f7d30540f470de 100755 (executable)
Binary files a/modules/opengles/onyx_opengles.so and b/modules/opengles/onyx_opengles.so differ