github.com/thommil/tge-mobile@v0.0.0-20190308225214-66a08abd51aa/gl/fn.go (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 package gl 6 7 import "unsafe" 8 9 type call struct { 10 args fnargs 11 parg unsafe.Pointer 12 blocking bool 13 } 14 15 type fnargs struct { 16 fn glfn 17 18 a0 uintptr 19 a1 uintptr 20 a2 uintptr 21 a3 uintptr 22 a4 uintptr 23 a5 uintptr 24 a6 uintptr 25 a7 uintptr 26 a8 uintptr 27 a9 uintptr 28 } 29 30 type glfn int 31 32 const ( 33 glfnUNDEFINED glfn = iota 34 glfnActiveTexture 35 glfnAttachShader 36 glfnBindAttribLocation 37 glfnBindBuffer 38 glfnBindFramebuffer 39 glfnBindRenderbuffer 40 glfnBindTexture 41 glfnBindVertexArray 42 glfnBlendColor 43 glfnBlendEquation 44 glfnBlendEquationSeparate 45 glfnBlendFunc 46 glfnBlendFuncSeparate 47 glfnBufferData 48 glfnBufferSubData 49 glfnCheckFramebufferStatus 50 glfnClear 51 glfnClearColor 52 glfnClearDepthf 53 glfnClearStencil 54 glfnColorMask 55 glfnCompileShader 56 glfnCompressedTexImage2D 57 glfnCompressedTexSubImage2D 58 glfnCopyTexImage2D 59 glfnCopyTexSubImage2D 60 glfnCreateProgram 61 glfnCreateShader 62 glfnCullFace 63 glfnDeleteBuffer 64 glfnDeleteFramebuffer 65 glfnDeleteProgram 66 glfnDeleteRenderbuffer 67 glfnDeleteShader 68 glfnDeleteTexture 69 glfnDeleteVertexArray 70 glfnDepthFunc 71 glfnDepthRangef 72 glfnDepthMask 73 glfnDetachShader 74 glfnDisable 75 glfnDisableVertexAttribArray 76 glfnDrawArrays 77 glfnDrawElements 78 glfnEnable 79 glfnEnableVertexAttribArray 80 glfnFinish 81 glfnFlush 82 glfnFramebufferRenderbuffer 83 glfnFramebufferTexture2D 84 glfnFrontFace 85 glfnGenBuffer 86 glfnGenFramebuffer 87 glfnGenRenderbuffer 88 glfnGenTexture 89 glfnGenVertexArray 90 glfnGenerateMipmap 91 glfnGetActiveAttrib 92 glfnGetActiveUniform 93 glfnGetAttachedShaders 94 glfnGetAttribLocation 95 glfnGetBooleanv 96 glfnGetBufferParameteri 97 glfnGetError 98 glfnGetFloatv 99 glfnGetFramebufferAttachmentParameteriv 100 glfnGetIntegerv 101 glfnGetProgramInfoLog 102 glfnGetProgramiv 103 glfnGetRenderbufferParameteriv 104 glfnGetShaderInfoLog 105 glfnGetShaderPrecisionFormat 106 glfnGetShaderSource 107 glfnGetShaderiv 108 glfnGetString 109 glfnGetTexParameterfv 110 glfnGetTexParameteriv 111 glfnGetUniformLocation 112 glfnGetUniformfv 113 glfnGetUniformiv 114 glfnGetVertexAttribfv 115 glfnGetVertexAttribiv 116 glfnHint 117 glfnIsBuffer 118 glfnIsEnabled 119 glfnIsFramebuffer 120 glfnIsProgram 121 glfnIsRenderbuffer 122 glfnIsShader 123 glfnIsTexture 124 glfnLineWidth 125 glfnLinkProgram 126 glfnPixelStorei 127 glfnPolygonOffset 128 glfnReadPixels 129 glfnReleaseShaderCompiler 130 glfnRenderbufferStorage 131 glfnSampleCoverage 132 glfnScissor 133 glfnShaderSource 134 glfnStencilFunc 135 glfnStencilFuncSeparate 136 glfnStencilMask 137 glfnStencilMaskSeparate 138 glfnStencilOp 139 glfnStencilOpSeparate 140 glfnTexImage2D 141 glfnTexParameterf 142 glfnTexParameterfv 143 glfnTexParameteri 144 glfnTexParameteriv 145 glfnTexSubImage2D 146 glfnUniform1f 147 glfnUniform1fv 148 glfnUniform1fvP 149 glfnUniform1fvUP 150 glfnUniform1i 151 glfnUniform1iv 152 glfnUniform1ivP 153 glfnUniform1ivUP 154 glfnUniform2f 155 glfnUniform2fv 156 glfnUniform2fvP 157 glfnUniform2fvUP 158 glfnUniform2i 159 glfnUniform2iv 160 glfnUniform2ivP 161 glfnUniform2ivUP 162 glfnUniform3f 163 glfnUniform3fv 164 glfnUniform3fvP 165 glfnUniform3fvUP 166 glfnUniform3i 167 glfnUniform3iv 168 glfnUniform3ivP 169 glfnUniform3ivUP 170 glfnUniform4f 171 glfnUniform4fv 172 glfnUniform4fvP 173 glfnUniform4fvUP 174 glfnUniform4i 175 glfnUniform4iv 176 glfnUniform4ivP 177 glfnUniform4ivUP 178 glfnUniformMatrix2fv 179 glfnUniformMatrix2fvP 180 glfnUniformMatrix2fvUP 181 glfnUniformMatrix3fv 182 glfnUniformMatrix3fvP 183 glfnUniformMatrix3fvUP 184 glfnUniformMatrix4fv 185 glfnUniformMatrix4fvP 186 glfnUniformMatrix4fvUP 187 glfnUseProgram 188 glfnValidateProgram 189 glfnVertexAttrib1f 190 glfnVertexAttrib1fv 191 glfnVertexAttrib2f 192 glfnVertexAttrib2fv 193 glfnVertexAttrib3f 194 glfnVertexAttrib3fv 195 glfnVertexAttrib4f 196 glfnVertexAttrib4fv 197 glfnVertexAttribPointer 198 glfnViewport 199 200 // ES 3.0 functions 201 glfnUniformMatrix2x3fv 202 glfnUniformMatrix3x2fv 203 glfnUniformMatrix2x4fv 204 glfnUniformMatrix4x2fv 205 glfnUniformMatrix3x4fv 206 glfnUniformMatrix4x3fv 207 glfnBlitFramebuffer 208 glfnUniform1ui 209 glfnUniform2ui 210 glfnUniform3ui 211 glfnUniform4ui 212 glfnUniform1uiv 213 glfnUniform2uiv 214 glfnUniform3uiv 215 glfnUniform4uiv 216 ) 217 218 func goString(buf []byte) string { 219 for i, b := range buf { 220 if b == 0 { 221 return string(buf[:i]) 222 } 223 } 224 panic("buf is not NUL-terminated") 225 } 226 227 func glBoolean(b bool) uintptr { 228 if b { 229 return TRUE 230 } 231 return FALSE 232 }