github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/mobile/gl/work.h (about) 1 // Copyright 2015 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 #ifdef os_linux 6 #include <GLES2/gl2.h> 7 #endif 8 #ifdef os_ios 9 #include <OpenGLES/ES2/glext.h> 10 #endif 11 #ifdef os_osx 12 #include <OpenGL/gl3.h> 13 #endif 14 15 #include <stdint.h> 16 #include <stdlib.h> 17 18 // TODO: generate this enum from fn.go. 19 typedef enum { 20 glfnUNDEFINED, 21 22 glfnActiveTexture, 23 glfnAttachShader, 24 glfnBindAttribLocation, 25 glfnBindBuffer, 26 glfnBindFramebuffer, 27 glfnBindRenderbuffer, 28 glfnBindTexture, 29 glfnBlendColor, 30 glfnBlendEquation, 31 glfnBlendEquationSeparate, 32 glfnBlendFunc, 33 glfnBlendFuncSeparate, 34 glfnBufferData, 35 glfnBufferSubData, 36 glfnCheckFramebufferStatus, 37 glfnClear, 38 glfnClearColor, 39 glfnClearDepthf, 40 glfnClearStencil, 41 glfnColorMask, 42 glfnCompileShader, 43 glfnCompressedTexImage2D, 44 glfnCompressedTexSubImage2D, 45 glfnCopyTexImage2D, 46 glfnCopyTexSubImage2D, 47 glfnCreateProgram, 48 glfnCreateShader, 49 glfnCullFace, 50 glfnDeleteBuffer, 51 glfnDeleteFramebuffer, 52 glfnDeleteProgram, 53 glfnDeleteRenderbuffer, 54 glfnDeleteShader, 55 glfnDeleteTexture, 56 glfnDepthFunc, 57 glfnDepthRangef, 58 glfnDepthMask, 59 glfnDetachShader, 60 glfnDisable, 61 glfnDisableVertexAttribArray, 62 glfnDrawArrays, 63 glfnDrawElements, 64 glfnEnable, 65 glfnEnableVertexAttribArray, 66 glfnFinish, 67 glfnFlush, 68 glfnFramebufferRenderbuffer, 69 glfnFramebufferTexture2D, 70 glfnFrontFace, 71 glfnGenBuffer, 72 glfnGenFramebuffer, 73 glfnGenRenderbuffer, 74 glfnGenTexture, 75 glfnGenerateMipmap, 76 glfnGetActiveAttrib, 77 glfnGetActiveUniform, 78 glfnGetAttachedShaders, 79 glfnGetAttribLocation, 80 glfnGetBooleanv, 81 glfnGetBufferParameteri, 82 glfnGetError, 83 glfnGetFloatv, 84 glfnGetFramebufferAttachmentParameteriv, 85 glfnGetIntegerv, 86 glfnGetProgramInfoLog, 87 glfnGetProgramiv, 88 glfnGetRenderbufferParameteriv, 89 glfnGetShaderInfoLog, 90 glfnGetShaderPrecisionFormat, 91 glfnGetShaderSource, 92 glfnGetShaderiv, 93 glfnGetString, 94 glfnGetTexParameterfv, 95 glfnGetTexParameteriv, 96 glfnGetUniformLocation, 97 glfnGetUniformfv, 98 glfnGetUniformiv, 99 glfnGetVertexAttribfv, 100 glfnGetVertexAttribiv, 101 glfnHint, 102 glfnIsBuffer, 103 glfnIsEnabled, 104 glfnIsFramebuffer, 105 glfnIsProgram, 106 glfnIsRenderbuffer, 107 glfnIsShader, 108 glfnIsTexture, 109 glfnLineWidth, 110 glfnLinkProgram, 111 glfnPixelStorei, 112 glfnPolygonOffset, 113 glfnReadPixels, 114 glfnReleaseShaderCompiler, 115 glfnRenderbufferStorage, 116 glfnSampleCoverage, 117 glfnScissor, 118 glfnShaderSource, 119 glfnStencilFunc, 120 glfnStencilFuncSeparate, 121 glfnStencilMask, 122 glfnStencilMaskSeparate, 123 glfnStencilOp, 124 glfnStencilOpSeparate, 125 glfnTexImage2D, 126 glfnTexParameterf, 127 glfnTexParameterfv, 128 glfnTexParameteri, 129 glfnTexParameteriv, 130 glfnTexSubImage2D, 131 glfnUniform1f, 132 glfnUniform1fv, 133 glfnUniform1i, 134 glfnUniform1iv, 135 glfnUniform2f, 136 glfnUniform2fv, 137 glfnUniform2i, 138 glfnUniform2iv, 139 glfnUniform3f, 140 glfnUniform3fv, 141 glfnUniform3i, 142 glfnUniform3iv, 143 glfnUniform4f, 144 glfnUniform4fv, 145 glfnUniform4i, 146 glfnUniform4iv, 147 glfnUniformMatrix2fv, 148 glfnUniformMatrix3fv, 149 glfnUniformMatrix4fv, 150 glfnUseProgram, 151 glfnValidateProgram, 152 glfnVertexAttrib1f, 153 glfnVertexAttrib1fv, 154 glfnVertexAttrib2f, 155 glfnVertexAttrib2fv, 156 glfnVertexAttrib3f, 157 glfnVertexAttrib3fv, 158 glfnVertexAttrib4f, 159 glfnVertexAttrib4fv, 160 glfnVertexAttribPointer, 161 glfnViewport, 162 } glfn; 163 164 // TODO: generate this type from fn.go. 165 struct fnargs { 166 glfn fn; 167 168 uintptr_t a0; 169 uintptr_t a1; 170 uintptr_t a2; 171 uintptr_t a3; 172 uintptr_t a4; 173 uintptr_t a5; 174 uintptr_t a6; 175 uintptr_t a7; 176 }; 177 178 extern uintptr_t processFn(struct fnargs* args, char* parg);