github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/mobile/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 } 27 28 type glfn int 29 30 const ( 31 glfnUNDEFINED glfn = iota 32 glfnActiveTexture 33 glfnAttachShader 34 glfnBindAttribLocation 35 glfnBindBuffer 36 glfnBindFramebuffer 37 glfnBindRenderbuffer 38 glfnBindTexture 39 glfnBlendColor 40 glfnBlendEquation 41 glfnBlendEquationSeparate 42 glfnBlendFunc 43 glfnBlendFuncSeparate 44 glfnBufferData 45 glfnBufferSubData 46 glfnCheckFramebufferStatus 47 glfnClear 48 glfnClearColor 49 glfnClearDepthf 50 glfnClearStencil 51 glfnColorMask 52 glfnCompileShader 53 glfnCompressedTexImage2D 54 glfnCompressedTexSubImage2D 55 glfnCopyTexImage2D 56 glfnCopyTexSubImage2D 57 glfnCreateProgram 58 glfnCreateShader 59 glfnCullFace 60 glfnDeleteBuffer 61 glfnDeleteFramebuffer 62 glfnDeleteProgram 63 glfnDeleteRenderbuffer 64 glfnDeleteShader 65 glfnDeleteTexture 66 glfnDepthFunc 67 glfnDepthRangef 68 glfnDepthMask 69 glfnDetachShader 70 glfnDisable 71 glfnDisableVertexAttribArray 72 glfnDrawArrays 73 glfnDrawElements 74 glfnEnable 75 glfnEnableVertexAttribArray 76 glfnFinish 77 glfnFlush 78 glfnFramebufferRenderbuffer 79 glfnFramebufferTexture2D 80 glfnFrontFace 81 glfnGenBuffer 82 glfnGenFramebuffer 83 glfnGenRenderbuffer 84 glfnGenTexture 85 glfnGenerateMipmap 86 glfnGetActiveAttrib 87 glfnGetActiveUniform 88 glfnGetAttachedShaders 89 glfnGetAttribLocation 90 glfnGetBooleanv 91 glfnGetBufferParameteri 92 glfnGetError 93 glfnGetFloatv 94 glfnGetFramebufferAttachmentParameteriv 95 glfnGetIntegerv 96 glfnGetProgramInfoLog 97 glfnGetProgramiv 98 glfnGetRenderbufferParameteriv 99 glfnGetShaderInfoLog 100 glfnGetShaderPrecisionFormat 101 glfnGetShaderSource 102 glfnGetShaderiv 103 glfnGetString 104 glfnGetTexParameterfv 105 glfnGetTexParameteriv 106 glfnGetUniformLocation 107 glfnGetUniformfv 108 glfnGetUniformiv 109 glfnGetVertexAttribfv 110 glfnGetVertexAttribiv 111 glfnHint 112 glfnIsBuffer 113 glfnIsEnabled 114 glfnIsFramebuffer 115 glfnIsProgram 116 glfnIsRenderbuffer 117 glfnIsShader 118 glfnIsTexture 119 glfnLineWidth 120 glfnLinkProgram 121 glfnPixelStorei 122 glfnPolygonOffset 123 glfnReadPixels 124 glfnReleaseShaderCompiler 125 glfnRenderbufferStorage 126 glfnSampleCoverage 127 glfnScissor 128 glfnShaderSource 129 glfnStencilFunc 130 glfnStencilFuncSeparate 131 glfnStencilMask 132 glfnStencilMaskSeparate 133 glfnStencilOp 134 glfnStencilOpSeparate 135 glfnTexImage2D 136 glfnTexParameterf 137 glfnTexParameterfv 138 glfnTexParameteri 139 glfnTexParameteriv 140 glfnTexSubImage2D 141 glfnUniform1f 142 glfnUniform1fv 143 glfnUniform1i 144 glfnUniform1iv 145 glfnUniform2f 146 glfnUniform2fv 147 glfnUniform2i 148 glfnUniform2iv 149 glfnUniform3f 150 glfnUniform3fv 151 glfnUniform3i 152 glfnUniform3iv 153 glfnUniform4f 154 glfnUniform4fv 155 glfnUniform4i 156 glfnUniform4iv 157 glfnUniformMatrix2fv 158 glfnUniformMatrix3fv 159 glfnUniformMatrix4fv 160 glfnUseProgram 161 glfnValidateProgram 162 glfnVertexAttrib1f 163 glfnVertexAttrib1fv 164 glfnVertexAttrib2f 165 glfnVertexAttrib2fv 166 glfnVertexAttrib3f 167 glfnVertexAttrib3fv 168 glfnVertexAttrib4f 169 glfnVertexAttrib4fv 170 glfnVertexAttribPointer 171 glfnViewport 172 ) 173 174 func goString(buf []byte) string { 175 for i, b := range buf { 176 if b == 0 { 177 return string(buf[:i]) 178 } 179 } 180 panic("buf is not NUL-terminated") 181 } 182 183 func glBoolean(b bool) uintptr { 184 if b { 185 return TRUE 186 } 187 return FALSE 188 }