| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557 |
- // Copyright 2015 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- //go:build darwin || linux || openbsd
- // +build darwin linux openbsd
- #include <stdlib.h>
- #include "_cgo_export.h"
- #include "work.h"
- #if defined(GL_ES_VERSION_3_0) && GL_ES_VERSION_3_0
- #else
- #include <stdio.h>
- static void gles3missing() {
- printf("GLES3 function is missing\n");
- exit(2);
- }
- static void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { gles3missing(); }
- static void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { gles3missing(); }
- static void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { gles3missing(); }
- static void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { gles3missing(); }
- static void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { gles3missing(); }
- static void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { gles3missing(); }
- static void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { gles3missing(); }
- static void glUniform1ui(GLint location, GLuint v0) { gles3missing(); }
- static void glUniform2ui(GLint location, GLuint v0, GLuint v1) { gles3missing(); }
- static void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { gles3missing(); }
- static void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { gles3missing(); }
- static void glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { gles3missing(); }
- static void glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { gles3missing(); }
- static void glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { gles3missing(); }
- static void glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { gles3missing(); }
- static void glBindVertexArray(GLuint array) { gles3missing(); }
- static void glGenVertexArrays(GLsizei n, GLuint *arrays) { gles3missing(); }
- static void glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { gles3missing(); }
- #endif
- uintptr_t processFn(struct fnargs* args, char* parg) {
- uintptr_t ret = 0;
- switch (args->fn) {
- case glfnUNDEFINED:
- abort(); // bad glfn
- break;
- case glfnActiveTexture:
- glActiveTexture((GLenum)args->a0);
- break;
- case glfnAttachShader:
- glAttachShader((GLint)args->a0, (GLint)args->a1);
- break;
- case glfnBindAttribLocation:
- glBindAttribLocation((GLint)args->a0, (GLint)args->a1, (GLchar*)args->a2);
- break;
- case glfnBindBuffer:
- glBindBuffer((GLenum)args->a0, (GLuint)args->a1);
- break;
- case glfnBindFramebuffer:
- glBindFramebuffer((GLenum)args->a0, (GLint)args->a1);
- break;
- case glfnBindRenderbuffer:
- glBindRenderbuffer((GLenum)args->a0, (GLint)args->a1);
- break;
- case glfnBindTexture:
- glBindTexture((GLenum)args->a0, (GLint)args->a1);
- break;
- case glfnBindVertexArray:
- glBindVertexArray((GLenum)args->a0);
- break;
- case glfnBlendColor:
- glBlendColor(*(GLfloat*)&args->a0, *(GLfloat*)&args->a1, *(GLfloat*)&args->a2, *(GLfloat*)&args->a3);
- break;
- case glfnBlendEquation:
- glBlendEquation((GLenum)args->a0);
- break;
- case glfnBlendEquationSeparate:
- glBlendEquationSeparate((GLenum)args->a0, (GLenum)args->a1);
- break;
- case glfnBlendFunc:
- glBlendFunc((GLenum)args->a0, (GLenum)args->a1);
- break;
- case glfnBlendFuncSeparate:
- glBlendFuncSeparate((GLenum)args->a0, (GLenum)args->a1, (GLenum)args->a2, (GLenum)args->a3);
- break;
- case glfnBlitFramebuffer:
- glBlitFramebuffer((GLint)args->a0, (GLint)args->a1, (GLint)args->a2, (GLint)args->a3, (GLint)args->a4, (GLint)args->a5, (GLint)args->a6, (GLint)args->a7, (GLbitfield)args->a8, (GLenum)args->a9);
- break;
- case glfnBufferData:
- glBufferData((GLenum)args->a0, (GLsizeiptr)args->a1, (GLvoid*)parg, (GLenum)args->a2);
- break;
- case glfnBufferSubData:
- glBufferSubData((GLenum)args->a0, (GLint)args->a1, (GLsizeiptr)args->a2, (GLvoid*)parg);
- break;
- case glfnCheckFramebufferStatus:
- ret = glCheckFramebufferStatus((GLenum)args->a0);
- break;
- case glfnClear:
- glClear((GLenum)args->a0);
- break;
- case glfnClearColor:
- glClearColor(*(GLfloat*)&args->a0, *(GLfloat*)&args->a1, *(GLfloat*)&args->a2, *(GLfloat*)&args->a3);
- break;
- case glfnClearDepthf:
- glClearDepthf(*(GLfloat*)&args->a0);
- break;
- case glfnClearStencil:
- glClearStencil((GLint)args->a0);
- break;
- case glfnColorMask:
- glColorMask((GLboolean)args->a0, (GLboolean)args->a1, (GLboolean)args->a2, (GLboolean)args->a3);
- break;
- case glfnCompileShader:
- glCompileShader((GLint)args->a0);
- break;
- case glfnCompressedTexImage2D:
- glCompressedTexImage2D((GLenum)args->a0, (GLint)args->a1, (GLenum)args->a2, (GLint)args->a3, (GLint)args->a4, (GLint)args->a5, (GLsizeiptr)args->a6, (GLvoid*)parg);
- break;
- case glfnCompressedTexSubImage2D:
- glCompressedTexSubImage2D((GLenum)args->a0, (GLint)args->a1, (GLint)args->a2, (GLint)args->a3, (GLint)args->a4, (GLint)args->a5, (GLenum)args->a6, (GLsizeiptr)args->a7, (GLvoid*)parg);
- break;
- case glfnCopyTexImage2D:
- glCopyTexImage2D((GLenum)args->a0, (GLint)args->a1, (GLenum)args->a2, (GLint)args->a3, (GLint)args->a4, (GLint)args->a5, (GLint)args->a6, (GLint)args->a7);
- break;
- case glfnCopyTexSubImage2D:
- glCopyTexSubImage2D((GLenum)args->a0, (GLint)args->a1, (GLint)args->a2, (GLint)args->a3, (GLint)args->a4, (GLint)args->a5, (GLint)args->a6, (GLint)args->a7);
- break;
- case glfnCreateProgram:
- ret = glCreateProgram();
- break;
- case glfnCreateShader:
- ret = glCreateShader((GLenum)args->a0);
- break;
- case glfnCullFace:
- glCullFace((GLenum)args->a0);
- break;
- case glfnDeleteBuffer:
- glDeleteBuffers(1, (const GLuint*)(&args->a0));
- break;
- case glfnDeleteFramebuffer:
- glDeleteFramebuffers(1, (const GLuint*)(&args->a0));
- break;
- case glfnDeleteProgram:
- glDeleteProgram((GLint)args->a0);
- break;
- case glfnDeleteRenderbuffer:
- glDeleteRenderbuffers(1, (const GLuint*)(&args->a0));
- break;
- case glfnDeleteShader:
- glDeleteShader((GLint)args->a0);
- break;
- case glfnDeleteTexture:
- glDeleteTextures(1, (const GLuint*)(&args->a0));
- break;
- case glfnDeleteVertexArray:
- glDeleteVertexArrays(1, (const GLuint*)(&args->a0));
- break;
- case glfnDepthFunc:
- glDepthFunc((GLenum)args->a0);
- break;
- case glfnDepthMask:
- glDepthMask((GLboolean)args->a0);
- break;
- case glfnDepthRangef:
- glDepthRangef(*(GLfloat*)&args->a0, *(GLfloat*)&args->a1);
- break;
- case glfnDetachShader:
- glDetachShader((GLint)args->a0, (GLint)args->a1);
- break;
- case glfnDisable:
- glDisable((GLenum)args->a0);
- break;
- case glfnDisableVertexAttribArray:
- glDisableVertexAttribArray((GLint)args->a0);
- break;
- case glfnDrawArrays:
- glDrawArrays((GLenum)args->a0, (GLint)args->a1, (GLint)args->a2);
- break;
- case glfnDrawElements:
- glDrawElements((GLenum)args->a0, (GLint)args->a1, (GLenum)args->a2, (void*)args->a3);
- break;
- case glfnEnable:
- glEnable((GLenum)args->a0);
- break;
- case glfnEnableVertexAttribArray:
- glEnableVertexAttribArray((GLint)args->a0);
- break;
- case glfnFinish:
- glFinish();
- break;
- case glfnFlush:
- glFlush();
- break;
- case glfnFramebufferRenderbuffer:
- glFramebufferRenderbuffer((GLenum)args->a0, (GLenum)args->a1, (GLenum)args->a2, (GLint)args->a3);
- break;
- case glfnFramebufferTexture2D:
- glFramebufferTexture2D((GLenum)args->a0, (GLenum)args->a1, (GLenum)args->a2, (GLint)args->a3, (GLint)args->a4);
- break;
- case glfnFrontFace:
- glFrontFace((GLenum)args->a0);
- break;
- case glfnGenBuffer:
- glGenBuffers(1, (GLuint*)&ret);
- break;
- case glfnGenFramebuffer:
- glGenFramebuffers(1, (GLuint*)&ret);
- break;
- case glfnGenRenderbuffer:
- glGenRenderbuffers(1, (GLuint*)&ret);
- break;
- case glfnGenTexture:
- glGenTextures(1, (GLuint*)&ret);
- break;
- case glfnGenVertexArray:
- glGenVertexArrays(1, (GLuint*)&ret);
- break;
- case glfnGenerateMipmap:
- glGenerateMipmap((GLenum)args->a0);
- break;
- case glfnGetActiveAttrib:
- glGetActiveAttrib(
- (GLuint)args->a0,
- (GLuint)args->a1,
- (GLsizei)args->a2,
- NULL,
- (GLint*)&ret,
- (GLenum*)args->a3,
- (GLchar*)parg);
- break;
- case glfnGetActiveUniform:
- glGetActiveUniform(
- (GLuint)args->a0,
- (GLuint)args->a1,
- (GLsizei)args->a2,
- NULL,
- (GLint*)&ret,
- (GLenum*)args->a3,
- (GLchar*)parg);
- break;
- case glfnGetAttachedShaders:
- glGetAttachedShaders((GLuint)args->a0, (GLsizei)args->a1, (GLsizei*)&ret, (GLuint*)parg);
- break;
- case glfnGetAttribLocation:
- ret = glGetAttribLocation((GLint)args->a0, (GLchar*)args->a1);
- break;
- case glfnGetBooleanv:
- glGetBooleanv((GLenum)args->a0, (GLboolean*)parg);
- break;
- case glfnGetBufferParameteri:
- glGetBufferParameteriv((GLenum)args->a0, (GLenum)args->a1, (GLint*)&ret);
- break;
- case glfnGetFloatv:
- glGetFloatv((GLenum)args->a0, (GLfloat*)parg);
- break;
- case glfnGetIntegerv:
- glGetIntegerv((GLenum)args->a0, (GLint*)parg);
- break;
- case glfnGetError:
- ret = glGetError();
- break;
- case glfnGetFramebufferAttachmentParameteriv:
- glGetFramebufferAttachmentParameteriv((GLenum)args->a0, (GLenum)args->a1, (GLenum)args->a2, (GLint*)&ret);
- break;
- case glfnGetProgramiv:
- glGetProgramiv((GLint)args->a0, (GLenum)args->a1, (GLint*)&ret);
- break;
- case glfnGetProgramInfoLog:
- glGetProgramInfoLog((GLuint)args->a0, (GLsizei)args->a1, 0, (GLchar*)parg);
- break;
- case glfnGetRenderbufferParameteriv:
- glGetRenderbufferParameteriv((GLenum)args->a0, (GLenum)args->a1, (GLint*)&ret);
- break;
- case glfnGetShaderiv:
- glGetShaderiv((GLint)args->a0, (GLenum)args->a1, (GLint*)&ret);
- break;
- case glfnGetShaderInfoLog:
- glGetShaderInfoLog((GLuint)args->a0, (GLsizei)args->a1, 0, (GLchar*)parg);
- break;
- case glfnGetShaderPrecisionFormat:
- glGetShaderPrecisionFormat((GLenum)args->a0, (GLenum)args->a1, (GLint*)parg, &((GLint*)parg)[2]);
- break;
- case glfnGetShaderSource:
- glGetShaderSource((GLuint)args->a0, (GLsizei)args->a1, 0, (GLchar*)parg);
- break;
- case glfnGetString:
- ret = (uintptr_t)glGetString((GLenum)args->a0);
- break;
- case glfnGetTexParameterfv:
- glGetTexParameterfv((GLenum)args->a0, (GLenum)args->a1, (GLfloat*)parg);
- break;
- case glfnGetTexParameteriv:
- glGetTexParameteriv((GLenum)args->a0, (GLenum)args->a1, (GLint*)parg);
- break;
- case glfnGetUniformfv:
- glGetUniformfv((GLuint)args->a0, (GLint)args->a1, (GLfloat*)parg);
- break;
- case glfnGetUniformiv:
- glGetUniformiv((GLuint)args->a0, (GLint)args->a1, (GLint*)parg);
- break;
- case glfnGetUniformLocation:
- ret = glGetUniformLocation((GLint)args->a0, (GLchar*)args->a1);
- break;
- case glfnGetVertexAttribfv:
- glGetVertexAttribfv((GLuint)args->a0, (GLenum)args->a1, (GLfloat*)parg);
- break;
- case glfnGetVertexAttribiv:
- glGetVertexAttribiv((GLuint)args->a0, (GLenum)args->a1, (GLint*)parg);
- break;
- case glfnHint:
- glHint((GLenum)args->a0, (GLenum)args->a1);
- break;
- case glfnIsBuffer:
- ret = glIsBuffer((GLint)args->a0);
- break;
- case glfnIsEnabled:
- ret = glIsEnabled((GLenum)args->a0);
- break;
- case glfnIsFramebuffer:
- ret = glIsFramebuffer((GLint)args->a0);
- break;
- case glfnIsProgram:
- ret = glIsProgram((GLint)args->a0);
- break;
- case glfnIsRenderbuffer:
- ret = glIsRenderbuffer((GLint)args->a0);
- break;
- case glfnIsShader:
- ret = glIsShader((GLint)args->a0);
- break;
- case glfnIsTexture:
- ret = glIsTexture((GLint)args->a0);
- break;
- case glfnLineWidth:
- glLineWidth(*(GLfloat*)&args->a0);
- break;
- case glfnLinkProgram:
- glLinkProgram((GLint)args->a0);
- break;
- case glfnPixelStorei:
- glPixelStorei((GLenum)args->a0, (GLint)args->a1);
- break;
- case glfnPolygonOffset:
- glPolygonOffset(*(GLfloat*)&args->a0, *(GLfloat*)&args->a1);
- break;
- case glfnReadPixels:
- glReadPixels((GLint)args->a0, (GLint)args->a1, (GLsizei)args->a2, (GLsizei)args->a3, (GLenum)args->a4, (GLenum)args->a5, (void*)parg);
- break;
- case glfnReleaseShaderCompiler:
- glReleaseShaderCompiler();
- break;
- case glfnRenderbufferStorage:
- glRenderbufferStorage((GLenum)args->a0, (GLenum)args->a1, (GLint)args->a2, (GLint)args->a3);
- break;
- case glfnSampleCoverage:
- glSampleCoverage(*(GLfloat*)&args->a0, (GLboolean)args->a1);
- break;
- case glfnScissor:
- glScissor((GLint)args->a0, (GLint)args->a1, (GLint)args->a2, (GLint)args->a3);
- break;
- case glfnShaderSource:
- #if defined(os_ios) || defined(os_macos)
- glShaderSource((GLuint)args->a0, (GLsizei)args->a1, (const GLchar *const *)args->a2, NULL);
- #else
- glShaderSource((GLuint)args->a0, (GLsizei)args->a1, (const GLchar **)args->a2, NULL);
- #endif
- break;
- case glfnStencilFunc:
- glStencilFunc((GLenum)args->a0, (GLint)args->a1, (GLuint)args->a2);
- break;
- case glfnStencilFuncSeparate:
- glStencilFuncSeparate((GLenum)args->a0, (GLenum)args->a1, (GLint)args->a2, (GLuint)args->a3);
- break;
- case glfnStencilMask:
- glStencilMask((GLuint)args->a0);
- break;
- case glfnStencilMaskSeparate:
- glStencilMaskSeparate((GLenum)args->a0, (GLuint)args->a1);
- break;
- case glfnStencilOp:
- glStencilOp((GLenum)args->a0, (GLenum)args->a1, (GLenum)args->a2);
- break;
- case glfnStencilOpSeparate:
- glStencilOpSeparate((GLenum)args->a0, (GLenum)args->a1, (GLenum)args->a2, (GLenum)args->a3);
- break;
- case glfnTexImage2D:
- glTexImage2D(
- (GLenum)args->a0,
- (GLint)args->a1,
- (GLint)args->a2,
- (GLsizei)args->a3,
- (GLsizei)args->a4,
- 0, // border
- (GLenum)args->a5,
- (GLenum)args->a6,
- (const GLvoid*)parg);
- break;
- case glfnTexSubImage2D:
- glTexSubImage2D(
- (GLenum)args->a0,
- (GLint)args->a1,
- (GLint)args->a2,
- (GLint)args->a3,
- (GLsizei)args->a4,
- (GLsizei)args->a5,
- (GLenum)args->a6,
- (GLenum)args->a7,
- (const GLvoid*)parg);
- break;
- case glfnTexParameterf:
- glTexParameterf((GLenum)args->a0, (GLenum)args->a1, *(GLfloat*)&args->a2);
- break;
- case glfnTexParameterfv:
- glTexParameterfv((GLenum)args->a0, (GLenum)args->a1, (GLfloat*)parg);
- break;
- case glfnTexParameteri:
- glTexParameteri((GLenum)args->a0, (GLenum)args->a1, (GLint)args->a2);
- break;
- case glfnTexParameteriv:
- glTexParameteriv((GLenum)args->a0, (GLenum)args->a1, (GLint*)parg);
- break;
- case glfnUniform1f:
- glUniform1f((GLint)args->a0, *(GLfloat*)&args->a1);
- break;
- case glfnUniform1fv:
- glUniform1fv((GLint)args->a0, (GLsizeiptr)args->a1, (GLvoid*)parg);
- break;
- case glfnUniform1i:
- glUniform1i((GLint)args->a0, (GLint)args->a1);
- break;
- case glfnUniform1ui:
- glUniform1ui((GLint)args->a0, (GLuint)args->a1);
- break;
- case glfnUniform1uiv:
- glUniform1uiv((GLint)args->a0, (GLsizeiptr)args->a1, (GLuint*)parg);
- break;
- case glfnUniform1iv:
- glUniform1iv((GLint)args->a0, (GLsizeiptr)args->a1, (GLvoid*)parg);
- break;
- case glfnUniform2f:
- glUniform2f((GLint)args->a0, *(GLfloat*)&args->a1, *(GLfloat*)&args->a2);
- break;
- case glfnUniform2fv:
- glUniform2fv((GLint)args->a0, (GLsizeiptr)args->a1, (GLvoid*)parg);
- break;
- case glfnUniform2i:
- glUniform2i((GLint)args->a0, (GLint)args->a1, (GLint)args->a2);
- break;
- case glfnUniform2ui:
- glUniform2ui((GLint)args->a0, (GLuint)args->a1, (GLuint)args->a2);
- break;
- case glfnUniform2uiv:
- glUniform2uiv((GLint)args->a0, (GLsizeiptr)args->a1, (GLuint*)parg);
- break;
- case glfnUniform2iv:
- glUniform2iv((GLint)args->a0, (GLsizeiptr)args->a1, (GLvoid*)parg);
- break;
- case glfnUniform3f:
- glUniform3f((GLint)args->a0, *(GLfloat*)&args->a1, *(GLfloat*)&args->a2, *(GLfloat*)&args->a3);
- break;
- case glfnUniform3fv:
- glUniform3fv((GLint)args->a0, (GLsizeiptr)args->a1, (GLvoid*)parg);
- break;
- case glfnUniform3i:
- glUniform3i((GLint)args->a0, (GLint)args->a1, (GLint)args->a2, (GLint)args->a3);
- break;
- case glfnUniform3ui:
- glUniform3ui((GLint)args->a0, (GLuint)args->a1, (GLuint)args->a2, (GLuint)args->a3);
- break;
- case glfnUniform3uiv:
- glUniform3uiv((GLint)args->a0, (GLsizeiptr)args->a1, (GLuint*)parg);
- break;
- case glfnUniform3iv:
- glUniform3iv((GLint)args->a0, (GLsizeiptr)args->a1, (GLvoid*)parg);
- break;
- case glfnUniform4f:
- glUniform4f((GLint)args->a0, *(GLfloat*)&args->a1, *(GLfloat*)&args->a2, *(GLfloat*)&args->a3, *(GLfloat*)&args->a4);
- break;
- case glfnUniform4fv:
- glUniform4fv((GLint)args->a0, (GLsizeiptr)args->a1, (GLvoid*)parg);
- break;
- case glfnUniform4i:
- glUniform4i((GLint)args->a0, (GLint)args->a1, (GLint)args->a2, (GLint)args->a3, (GLint)args->a4);
- break;
- case glfnUniform4ui:
- glUniform4ui((GLint)args->a0, (GLuint)args->a1, (GLuint)args->a2, (GLuint)args->a3, (GLuint)args->a4);
- break;
- case glfnUniform4uiv:
- glUniform4uiv((GLint)args->a0, (GLsizeiptr)args->a1, (GLuint*)parg);
- break;
- case glfnUniform4iv:
- glUniform4iv((GLint)args->a0, (GLsizeiptr)args->a1, (GLvoid*)parg);
- break;
- case glfnUniformMatrix2fv:
- glUniformMatrix2fv((GLint)args->a0, (GLsizeiptr)args->a1, 0, (GLvoid*)parg);
- break;
- case glfnUniformMatrix3fv:
- glUniformMatrix3fv((GLint)args->a0, (GLsizeiptr)args->a1, 0, (GLvoid*)parg);
- break;
- case glfnUniformMatrix4fv:
- glUniformMatrix4fv((GLint)args->a0, (GLsizeiptr)args->a1, 0, (GLvoid*)parg);
- break;
- case glfnUniformMatrix2x3fv:
- glUniformMatrix2x3fv((GLint)args->a0, (GLsizeiptr)args->a1, 0, (GLvoid*)parg);
- break;
- case glfnUniformMatrix3x2fv:
- glUniformMatrix3x2fv((GLint)args->a0, (GLsizeiptr)args->a1, 0, (GLvoid*)parg);
- break;
- case glfnUniformMatrix2x4fv:
- glUniformMatrix2x4fv((GLint)args->a0, (GLsizeiptr)args->a1, 0, (GLvoid*)parg);
- break;
- case glfnUniformMatrix4x2fv:
- glUniformMatrix4x2fv((GLint)args->a0, (GLsizeiptr)args->a1, 0, (GLvoid*)parg);
- break;
- case glfnUniformMatrix3x4fv:
- glUniformMatrix3x4fv((GLint)args->a0, (GLsizeiptr)args->a1, 0, (GLvoid*)parg);
- break;
- case glfnUniformMatrix4x3fv:
- glUniformMatrix4x3fv((GLint)args->a0, (GLsizeiptr)args->a1, 0, (GLvoid*)parg);
- break;
- case glfnUseProgram:
- glUseProgram((GLint)args->a0);
- break;
- case glfnValidateProgram:
- glValidateProgram((GLint)args->a0);
- break;
- case glfnVertexAttrib1f:
- glVertexAttrib1f((GLint)args->a0, *(GLfloat*)&args->a1);
- break;
- case glfnVertexAttrib1fv:
- glVertexAttrib1fv((GLint)args->a0, (GLfloat*)parg);
- break;
- case glfnVertexAttrib2f:
- glVertexAttrib2f((GLint)args->a0, *(GLfloat*)&args->a1, *(GLfloat*)&args->a2);
- break;
- case glfnVertexAttrib2fv:
- glVertexAttrib2fv((GLint)args->a0, (GLfloat*)parg);
- break;
- case glfnVertexAttrib3f:
- glVertexAttrib3f((GLint)args->a0, *(GLfloat*)&args->a1, *(GLfloat*)&args->a2, *(GLfloat*)&args->a3);
- break;
- case glfnVertexAttrib3fv:
- glVertexAttrib3fv((GLint)args->a0, (GLfloat*)parg);
- break;
- case glfnVertexAttrib4f:
- glVertexAttrib4f((GLint)args->a0, *(GLfloat*)&args->a1, *(GLfloat*)&args->a2, *(GLfloat*)&args->a3, *(GLfloat*)&args->a4);
- break;
- case glfnVertexAttrib4fv:
- glVertexAttrib4fv((GLint)args->a0, (GLfloat*)parg);
- break;
- case glfnVertexAttribPointer:
- glVertexAttribPointer((GLuint)args->a0, (GLint)args->a1, (GLenum)args->a2, (GLboolean)args->a3, (GLsizei)args->a4, (const GLvoid*)args->a5);
- break;
- case glfnViewport:
- glViewport((GLint)args->a0, (GLint)args->a1, (GLint)args->a2, (GLint)args->a3);
- break;
- }
- return ret;
- }
|