OLD | NEW |
1 // Modified from chromium/src/webkit/glue/gl_bindings_skia_cmd_buffer.cc | 1 // Modified from chromium/src/webkit/glue/gl_bindings_skia_cmd_buffer.cc |
2 | 2 |
3 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 3 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
4 // Use of this source code is governed by a BSD-style license that can be | 4 // Use of this source code is governed by a BSD-style license that can be |
5 // found in the LICENSE file. | 5 // found in the LICENSE file. |
6 | 6 |
7 #include "gl/GrGLExtensions.h" | 7 #include "gl/GrGLExtensions.h" |
8 #include "gl/GrGLInterface.h" | 8 #include "gl/GrGLInterface.h" |
9 #include "gl/GrGLUtil.h" | 9 #include "gl/GrGLUtil.h" |
10 | 10 |
11 #ifndef GL_GLEXT_PROTOTYPES | 11 #ifndef GL_GLEXT_PROTOTYPES |
12 #define GL_GLEXT_PROTOTYPES | 12 #define GL_GLEXT_PROTOTYPES |
13 #endif | 13 #endif |
14 | 14 |
15 #include <GLES2/gl2.h> | 15 #include <GLES2/gl2.h> |
16 #include <GLES2/gl2ext.h> | 16 #include <GLES2/gl2ext.h> |
17 | 17 |
18 #include <EGL/egl.h> | 18 #include <EGL/egl.h> |
19 | 19 |
20 static GrGLInterface* create_es_interface(GrGLVersion version, | 20 static GrGLInterface* create_es_interface(GrGLVersion version, |
21 const GrGLExtensions& extensions) { | 21 const GrGLExtensions& extensions) { |
22 if (version < GR_GL_VER(2,0)) { | 22 if (version < GR_GL_VER(2,0)) { |
23 return NULL; | 23 return NULL; |
24 } | 24 } |
25 | 25 |
26 GrGLInterface* interface = SkNEW(GrGLInterface); | 26 GrGLInterface* interface = SkNEW(GrGLInterface); |
27 interface->fStandard = kGLES_GrGLStandard; | 27 interface->fStandard = kGLES_GrGLStandard; |
| 28 GrGLInterface::Functions* functions = &interface->fFunctions; |
28 | 29 |
29 interface->fActiveTexture = glActiveTexture; | 30 functions->fActiveTexture = glActiveTexture; |
30 interface->fAttachShader = glAttachShader; | 31 functions->fAttachShader = glAttachShader; |
31 interface->fBindAttribLocation = glBindAttribLocation; | 32 functions->fBindAttribLocation = glBindAttribLocation; |
32 interface->fBindBuffer = glBindBuffer; | 33 functions->fBindBuffer = glBindBuffer; |
33 interface->fBindTexture = glBindTexture; | 34 functions->fBindTexture = glBindTexture; |
34 interface->fBindVertexArray = glBindVertexArrayOES; | 35 functions->fBindVertexArray = glBindVertexArrayOES; |
35 interface->fBlendColor = glBlendColor; | 36 functions->fBlendColor = glBlendColor; |
36 interface->fBlendFunc = glBlendFunc; | 37 functions->fBlendFunc = glBlendFunc; |
37 interface->fBufferData = glBufferData; | 38 functions->fBufferData = glBufferData; |
38 interface->fBufferSubData = glBufferSubData; | 39 functions->fBufferSubData = glBufferSubData; |
39 interface->fClear = glClear; | 40 functions->fClear = glClear; |
40 interface->fClearColor = glClearColor; | 41 functions->fClearColor = glClearColor; |
41 interface->fClearStencil = glClearStencil; | 42 functions->fClearStencil = glClearStencil; |
42 interface->fColorMask = glColorMask; | 43 functions->fColorMask = glColorMask; |
43 interface->fCompileShader = glCompileShader; | 44 functions->fCompileShader = glCompileShader; |
44 interface->fCompressedTexImage2D = glCompressedTexImage2D; | 45 functions->fCompressedTexImage2D = glCompressedTexImage2D; |
45 interface->fCopyTexSubImage2D = glCopyTexSubImage2D; | 46 functions->fCopyTexSubImage2D = glCopyTexSubImage2D; |
46 interface->fCreateProgram = glCreateProgram; | 47 functions->fCreateProgram = glCreateProgram; |
47 interface->fCreateShader = glCreateShader; | 48 functions->fCreateShader = glCreateShader; |
48 interface->fCullFace = glCullFace; | 49 functions->fCullFace = glCullFace; |
49 interface->fDeleteBuffers = glDeleteBuffers; | 50 functions->fDeleteBuffers = glDeleteBuffers; |
50 interface->fDeleteProgram = glDeleteProgram; | 51 functions->fDeleteProgram = glDeleteProgram; |
51 interface->fDeleteShader = glDeleteShader; | 52 functions->fDeleteShader = glDeleteShader; |
52 interface->fDeleteTextures = glDeleteTextures; | 53 functions->fDeleteTextures = glDeleteTextures; |
53 interface->fDeleteVertexArrays = glDeleteVertexArraysOES; | 54 functions->fDeleteVertexArrays = glDeleteVertexArraysOES; |
54 interface->fDepthMask = glDepthMask; | 55 functions->fDepthMask = glDepthMask; |
55 interface->fDisable = glDisable; | 56 functions->fDisable = glDisable; |
56 interface->fDisableVertexAttribArray = glDisableVertexAttribArray; | 57 functions->fDisableVertexAttribArray = glDisableVertexAttribArray; |
57 interface->fDrawArrays = glDrawArrays; | 58 functions->fDrawArrays = glDrawArrays; |
58 interface->fDrawElements = glDrawElements; | 59 functions->fDrawElements = glDrawElements; |
59 interface->fEnable = glEnable; | 60 functions->fEnable = glEnable; |
60 interface->fEnableVertexAttribArray = glEnableVertexAttribArray; | 61 functions->fEnableVertexAttribArray = glEnableVertexAttribArray; |
61 interface->fFinish = glFinish; | 62 functions->fFinish = glFinish; |
62 interface->fFlush = glFlush; | 63 functions->fFlush = glFlush; |
63 interface->fFrontFace = glFrontFace; | 64 functions->fFrontFace = glFrontFace; |
64 interface->fGenBuffers = glGenBuffers; | 65 functions->fGenBuffers = glGenBuffers; |
65 interface->fGenerateMipmap = glGenerateMipmap; | 66 functions->fGenerateMipmap = glGenerateMipmap; |
66 interface->fGenTextures = glGenTextures; | 67 functions->fGenTextures = glGenTextures; |
67 interface->fGenVertexArrays = glGenVertexArraysOES; | 68 functions->fGenVertexArrays = glGenVertexArraysOES; |
68 interface->fGetBufferParameteriv = glGetBufferParameteriv; | 69 functions->fGetBufferParameteriv = glGetBufferParameteriv; |
69 interface->fGetError = glGetError; | 70 functions->fGetError = glGetError; |
70 interface->fGetIntegerv = glGetIntegerv; | 71 functions->fGetIntegerv = glGetIntegerv; |
71 interface->fGetProgramInfoLog = glGetProgramInfoLog; | 72 functions->fGetProgramInfoLog = glGetProgramInfoLog; |
72 interface->fGetProgramiv = glGetProgramiv; | 73 functions->fGetProgramiv = glGetProgramiv; |
73 interface->fGetShaderInfoLog = glGetShaderInfoLog; | 74 functions->fGetShaderInfoLog = glGetShaderInfoLog; |
74 interface->fGetShaderiv = glGetShaderiv; | 75 functions->fGetShaderiv = glGetShaderiv; |
75 interface->fGetString = glGetString; | 76 functions->fGetString = glGetString; |
76 #if GL_ES_VERSION_30 | 77 #if GL_ES_VERSION_30 |
77 interface->fGetStringi = glGetStringi; | 78 functions->fGetStringi = glGetStringi; |
78 #else | 79 #else |
79 interface->fGetStringi = (GrGLGetStringiProc) eglGetProcAddress("glGetString
i"); | 80 functions->fGetStringi = (GrGLGetStringiProc) eglGetProcAddress("glGetString
i"); |
80 #endif | 81 #endif |
81 interface->fGetUniformLocation = glGetUniformLocation; | 82 functions->fGetUniformLocation = glGetUniformLocation; |
82 interface->fLineWidth = glLineWidth; | 83 functions->fLineWidth = glLineWidth; |
83 interface->fLinkProgram = glLinkProgram; | 84 functions->fLinkProgram = glLinkProgram; |
84 interface->fPixelStorei = glPixelStorei; | 85 functions->fPixelStorei = glPixelStorei; |
85 interface->fReadPixels = glReadPixels; | 86 functions->fReadPixels = glReadPixels; |
86 interface->fScissor = glScissor; | 87 functions->fScissor = glScissor; |
87 #if GR_GL_USE_NEW_SHADER_SOURCE_SIGNATURE | 88 #if GR_GL_USE_NEW_SHADER_SOURCE_SIGNATURE |
88 interface->fShaderSource = (GrGLShaderSourceProc) glShaderSource; | 89 functions->fShaderSource = (GrGLShaderSourceProc) glShaderSource; |
89 #else | 90 #else |
90 interface->fShaderSource = glShaderSource; | 91 functions->fShaderSource = glShaderSource; |
91 #endif | 92 #endif |
92 interface->fStencilFunc = glStencilFunc; | 93 functions->fStencilFunc = glStencilFunc; |
93 interface->fStencilFuncSeparate = glStencilFuncSeparate; | 94 functions->fStencilFuncSeparate = glStencilFuncSeparate; |
94 interface->fStencilMask = glStencilMask; | 95 functions->fStencilMask = glStencilMask; |
95 interface->fStencilMaskSeparate = glStencilMaskSeparate; | 96 functions->fStencilMaskSeparate = glStencilMaskSeparate; |
96 interface->fStencilOp = glStencilOp; | 97 functions->fStencilOp = glStencilOp; |
97 interface->fStencilOpSeparate = glStencilOpSeparate; | 98 functions->fStencilOpSeparate = glStencilOpSeparate; |
98 interface->fTexImage2D = glTexImage2D; | 99 functions->fTexImage2D = glTexImage2D; |
99 interface->fTexParameteri = glTexParameteri; | 100 functions->fTexParameteri = glTexParameteri; |
100 interface->fTexParameteriv = glTexParameteriv; | 101 functions->fTexParameteriv = glTexParameteriv; |
101 interface->fTexSubImage2D = glTexSubImage2D; | 102 functions->fTexSubImage2D = glTexSubImage2D; |
102 | 103 |
103 if (version >= GR_GL_VER(3,0)) { | 104 if (version >= GR_GL_VER(3,0)) { |
104 #if GL_ES_VERSION_3_0 | 105 #if GL_ES_VERSION_3_0 |
105 interface->fTexStorage2D = glTexStorage2D; | 106 functions->fTexStorage2D = glTexStorage2D; |
106 #else | 107 #else |
107 interface->fTexStorage2D = (GrGLTexStorage2DProc) eglGetProcAddress("glT
exStorage2D"); | 108 functions->fTexStorage2D = (GrGLTexStorage2DProc) eglGetProcAddress("glT
exStorage2D"); |
108 #endif | 109 #endif |
109 } else { | 110 } else { |
110 #if GL_EXT_texture_storage | 111 #if GL_EXT_texture_storage |
111 interface->fTexStorage2D = glTexStorage2DEXT; | 112 functions->fTexStorage2D = glTexStorage2DEXT; |
112 #else | 113 #else |
113 interface->fTexStorage2D = (GrGLTexStorage2DProc) eglGetProcAddress("glT
exStorage2DEXT"); | 114 functions->fTexStorage2D = (GrGLTexStorage2DProc) eglGetProcAddress("glT
exStorage2DEXT"); |
114 #endif | 115 #endif |
115 } | 116 } |
116 | 117 |
117 #if GL_EXT_discard_framebuffer | 118 #if GL_EXT_discard_framebuffer |
118 interface->fDiscardFramebuffer = glDiscardFramebufferEXT; | 119 functions->fDiscardFramebuffer = glDiscardFramebufferEXT; |
119 #endif | 120 #endif |
120 interface->fUniform1f = glUniform1f; | 121 functions->fUniform1f = glUniform1f; |
121 interface->fUniform1i = glUniform1i; | 122 functions->fUniform1i = glUniform1i; |
122 interface->fUniform1fv = glUniform1fv; | 123 functions->fUniform1fv = glUniform1fv; |
123 interface->fUniform1iv = glUniform1iv; | 124 functions->fUniform1iv = glUniform1iv; |
124 interface->fUniform2f = glUniform2f; | 125 functions->fUniform2f = glUniform2f; |
125 interface->fUniform2i = glUniform2i; | 126 functions->fUniform2i = glUniform2i; |
126 interface->fUniform2fv = glUniform2fv; | 127 functions->fUniform2fv = glUniform2fv; |
127 interface->fUniform2iv = glUniform2iv; | 128 functions->fUniform2iv = glUniform2iv; |
128 interface->fUniform3f = glUniform3f; | 129 functions->fUniform3f = glUniform3f; |
129 interface->fUniform3i = glUniform3i; | 130 functions->fUniform3i = glUniform3i; |
130 interface->fUniform3fv = glUniform3fv; | 131 functions->fUniform3fv = glUniform3fv; |
131 interface->fUniform3iv = glUniform3iv; | 132 functions->fUniform3iv = glUniform3iv; |
132 interface->fUniform4f = glUniform4f; | 133 functions->fUniform4f = glUniform4f; |
133 interface->fUniform4i = glUniform4i; | 134 functions->fUniform4i = glUniform4i; |
134 interface->fUniform4fv = glUniform4fv; | 135 functions->fUniform4fv = glUniform4fv; |
135 interface->fUniform4iv = glUniform4iv; | 136 functions->fUniform4iv = glUniform4iv; |
136 interface->fUniformMatrix2fv = glUniformMatrix2fv; | 137 functions->fUniformMatrix2fv = glUniformMatrix2fv; |
137 interface->fUniformMatrix3fv = glUniformMatrix3fv; | 138 functions->fUniformMatrix3fv = glUniformMatrix3fv; |
138 interface->fUniformMatrix4fv = glUniformMatrix4fv; | 139 functions->fUniformMatrix4fv = glUniformMatrix4fv; |
139 interface->fUseProgram = glUseProgram; | 140 functions->fUseProgram = glUseProgram; |
140 interface->fVertexAttrib4fv = glVertexAttrib4fv; | 141 functions->fVertexAttrib4fv = glVertexAttrib4fv; |
141 interface->fVertexAttribPointer = glVertexAttribPointer; | 142 functions->fVertexAttribPointer = glVertexAttribPointer; |
142 interface->fViewport = glViewport; | 143 functions->fViewport = glViewport; |
143 interface->fBindFramebuffer = glBindFramebuffer; | 144 functions->fBindFramebuffer = glBindFramebuffer; |
144 interface->fBindRenderbuffer = glBindRenderbuffer; | 145 functions->fBindRenderbuffer = glBindRenderbuffer; |
145 interface->fCheckFramebufferStatus = glCheckFramebufferStatus; | 146 functions->fCheckFramebufferStatus = glCheckFramebufferStatus; |
146 interface->fDeleteFramebuffers = glDeleteFramebuffers; | 147 functions->fDeleteFramebuffers = glDeleteFramebuffers; |
147 interface->fDeleteRenderbuffers = glDeleteRenderbuffers; | 148 functions->fDeleteRenderbuffers = glDeleteRenderbuffers; |
148 interface->fFramebufferRenderbuffer = glFramebufferRenderbuffer; | 149 functions->fFramebufferRenderbuffer = glFramebufferRenderbuffer; |
149 interface->fFramebufferTexture2D = glFramebufferTexture2D; | 150 functions->fFramebufferTexture2D = glFramebufferTexture2D; |
150 | 151 |
151 if (version >= GR_GL_VER(3,0)) { | 152 if (version >= GR_GL_VER(3,0)) { |
152 #if GL_ES_VERSION_3_0 | 153 #if GL_ES_VERSION_3_0 |
153 interface->fRenderbufferStorageMultisample = glRenderbufferStorageMultis
ample; | 154 functions->fRenderbufferStorageMultisample = glRenderbufferStorageMultis
ample; |
154 interface->fBlitFramebuffer = glBlitFramebuffer; | 155 functions->fBlitFramebuffer = glBlitFramebuffer; |
155 #else | 156 #else |
156 interface->fRenderbufferStorageMultisample = (GrGLRenderbufferStorageMul
tisampleProc) eglGetProcAddress("glRenderbufferStorageMultisample"); | 157 functions->fRenderbufferStorageMultisample = (GrGLRenderbufferStorageMul
tisampleProc) eglGetProcAddress("glRenderbufferStorageMultisample"); |
157 interface->fBlitFramebuffer = (GrGLBlitFramebufferProc) eglGetProcAddres
s("glBlitFramebuffer"); | 158 functions->fBlitFramebuffer = (GrGLBlitFramebufferProc) eglGetProcAddres
s("glBlitFramebuffer"); |
158 #endif | 159 #endif |
159 } | 160 } |
160 | 161 |
161 if (extensions.has("GL_EXT_multisampled_render_to_texture")) { | 162 if (extensions.has("GL_EXT_multisampled_render_to_texture")) { |
162 #if GL_EXT_multisampled_render_to_texture | 163 #if GL_EXT_multisampled_render_to_texture |
163 interface->fFramebufferTexture2DMultisample = glFramebufferTexture2DMult
isampleEXT; | 164 functions->fFramebufferTexture2DMultisample = glFramebufferTexture2DMult
isampleEXT; |
164 interface->fRenderbufferStorageMultisampleES2EXT = glRenderbufferStorage
MultisampleEXT; | 165 functions->fRenderbufferStorageMultisampleES2EXT = glRenderbufferStorage
MultisampleEXT; |
165 #else | 166 #else |
166 interface->fFramebufferTexture2DMultisample = (GrGLFramebufferTexture2DM
ultisampleProc) eglGetProcAddress("glFramebufferTexture2DMultisampleEXT"); | 167 functions->fFramebufferTexture2DMultisample = (GrGLFramebufferTexture2DM
ultisampleProc) eglGetProcAddress("glFramebufferTexture2DMultisampleEXT"); |
167 interface->fRenderbufferStorageMultisampleES2EXT = (GrGLRenderbufferStor
ageMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisampleEXT"); | 168 functions->fRenderbufferStorageMultisampleES2EXT = (GrGLRenderbufferStor
ageMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisampleEXT"); |
168 #endif | 169 #endif |
169 } else if (extensions.has("GL_IMG_multisampled_render_to_texture")) { | 170 } else if (extensions.has("GL_IMG_multisampled_render_to_texture")) { |
170 #if GL_IMG_multisampled_render_to_texture | 171 #if GL_IMG_multisampled_render_to_texture |
171 interface->fFramebufferTexture2DMultisample = glFramebufferTexture2DMult
isampleIMG; | 172 functions->fFramebufferTexture2DMultisample = glFramebufferTexture2DMult
isampleIMG; |
172 interface->fRenderbufferStorageMultisampleES2EXT = glRenderbufferStorage
MultisampleIMG; | 173 functions->fRenderbufferStorageMultisampleES2EXT = glRenderbufferStorage
MultisampleIMG; |
173 #else | 174 #else |
174 interface->fFramebufferTexture2DMultisample = (GrGLFramebufferTexture2DM
ultisampleProc) eglGetProcAddress("glFramebufferTexture2DMultisampleIMG"); | 175 functions->fFramebufferTexture2DMultisample = (GrGLFramebufferTexture2DM
ultisampleProc) eglGetProcAddress("glFramebufferTexture2DMultisampleIMG"); |
175 interface->fRenderbufferStorageMultisampleES2EXT = (GrGLRenderbufferStor
ageMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisampleIMG"); | 176 functions->fRenderbufferStorageMultisampleES2EXT = (GrGLRenderbufferStor
ageMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisampleIMG"); |
176 #endif | 177 #endif |
177 } | 178 } |
178 | 179 |
179 interface->fGenFramebuffers = glGenFramebuffers; | 180 functions->fGenFramebuffers = glGenFramebuffers; |
180 interface->fGenRenderbuffers = glGenRenderbuffers; | 181 functions->fGenRenderbuffers = glGenRenderbuffers; |
181 interface->fGetFramebufferAttachmentParameteriv = glGetFramebufferAttachment
Parameteriv; | 182 functions->fGetFramebufferAttachmentParameteriv = glGetFramebufferAttachment
Parameteriv; |
182 interface->fGetRenderbufferParameteriv = glGetRenderbufferParameteriv; | 183 functions->fGetRenderbufferParameteriv = glGetRenderbufferParameteriv; |
183 interface->fRenderbufferStorage = glRenderbufferStorage; | 184 functions->fRenderbufferStorage = glRenderbufferStorage; |
184 #if GL_OES_mapbuffer | 185 #if GL_OES_mapbuffer |
185 interface->fMapBuffer = glMapBufferOES; | 186 functions->fMapBuffer = glMapBufferOES; |
186 interface->fUnmapBuffer = glUnmapBufferOES; | 187 functions->fUnmapBuffer = glUnmapBufferOES; |
187 #else | 188 #else |
188 interface->fMapBuffer = (GrGLMapBufferProc) eglGetProcAddress("glMapBufferOE
S"); | 189 functions->fMapBuffer = (GrGLMapBufferProc) eglGetProcAddress("glMapBufferOE
S"); |
189 interface->fUnmapBuffer = (GrGLUnmapBufferProc) eglGetProcAddress("glUnmapBu
fferOES"); | 190 functions->fUnmapBuffer = (GrGLUnmapBufferProc) eglGetProcAddress("glUnmapBu
fferOES"); |
190 #endif | 191 #endif |
191 | 192 |
192 return interface; | 193 return interface; |
193 } | 194 } |
194 | 195 |
195 static GrGLInterface* create_desktop_interface(GrGLVersion version, | 196 static GrGLInterface* create_desktop_interface(GrGLVersion version, |
196 const GrGLExtensions& extensions)
{ | 197 const GrGLExtensions& extensions)
{ |
197 // Currently this assumes a 4.4 context or later. Supporting lower GL versio
ns would require | 198 // Currently this assumes a 4.4 context or later. Supporting lower GL versio
ns would require |
198 // getting suffixed versions of pointers for supported extensions. | 199 // getting suffixed versions of pointers for supported extensions. |
199 if (version < GR_GL_VER(4,4)) { | 200 if (version < GR_GL_VER(4,4)) { |
200 return NULL; | 201 return NULL; |
201 } | 202 } |
202 | 203 |
203 GrGLInterface* interface = SkNEW(GrGLInterface); | 204 GrGLInterface* interface = SkNEW(GrGLInterface); |
204 interface->fStandard = kGL_GrGLStandard; | 205 interface->fStandard = kGL_GrGLStandard; |
| 206 GrGLInterface::Functions* functions = &interface->fFunctions; |
205 | 207 |
206 interface->fActiveTexture = (GrGLActiveTextureProc) eglGetProcAddress("glAct
iveTexture"); | 208 functions->fActiveTexture = (GrGLActiveTextureProc) eglGetProcAddress("glAct
iveTexture"); |
207 interface->fAttachShader = (GrGLAttachShaderProc) eglGetProcAddress("glAttac
hShader"); | 209 functions->fAttachShader = (GrGLAttachShaderProc) eglGetProcAddress("glAttac
hShader"); |
208 interface->fBeginQuery = (GrGLBeginQueryProc) eglGetProcAddress("glBeginQuer
y"); | 210 functions->fBeginQuery = (GrGLBeginQueryProc) eglGetProcAddress("glBeginQuer
y"); |
209 interface->fBindAttribLocation = (GrGLBindAttribLocationProc) eglGetProcAddr
ess("glBindAttribLocation"); | 211 functions->fBindAttribLocation = (GrGLBindAttribLocationProc) eglGetProcAddr
ess("glBindAttribLocation"); |
210 interface->fBindBuffer = (GrGLBindBufferProc) eglGetProcAddress("glBindBuffe
r"); | 212 functions->fBindBuffer = (GrGLBindBufferProc) eglGetProcAddress("glBindBuffe
r"); |
211 interface->fBindFragDataLocation = (GrGLBindFragDataLocationProc) eglGetProc
Address("glBindFragDataLocation"); | 213 functions->fBindFragDataLocation = (GrGLBindFragDataLocationProc) eglGetProc
Address("glBindFragDataLocation"); |
212 interface->fBindFragDataLocationIndexed = (GrGLBindFragDataLocationIndexedPr
oc) eglGetProcAddress("glBindFragDataLocationIndexed"); | 214 functions->fBindFragDataLocationIndexed = (GrGLBindFragDataLocationIndexedPr
oc) eglGetProcAddress("glBindFragDataLocationIndexed"); |
213 interface->fBindFramebuffer = (GrGLBindFramebufferProc) eglGetProcAddress("g
lBindFramebuffer"); | 215 functions->fBindFramebuffer = (GrGLBindFramebufferProc) eglGetProcAddress("g
lBindFramebuffer"); |
214 interface->fBindRenderbuffer = (GrGLBindRenderbufferProc) eglGetProcAddress(
"glBindRenderbuffer"); | 216 functions->fBindRenderbuffer = (GrGLBindRenderbufferProc) eglGetProcAddress(
"glBindRenderbuffer"); |
215 interface->fBindTexture = (GrGLBindTextureProc) eglGetProcAddress("glBindTex
ture"); | 217 functions->fBindTexture = (GrGLBindTextureProc) eglGetProcAddress("glBindTex
ture"); |
216 interface->fBindVertexArray = (GrGLBindVertexArrayProc) eglGetProcAddress("g
lBindVertexArray"); | 218 functions->fBindVertexArray = (GrGLBindVertexArrayProc) eglGetProcAddress("g
lBindVertexArray"); |
217 interface->fBlendColor = (GrGLBlendColorProc) eglGetProcAddress("glBlendColo
r"); | 219 functions->fBlendColor = (GrGLBlendColorProc) eglGetProcAddress("glBlendColo
r"); |
218 interface->fBlendFunc = (GrGLBlendFuncProc) eglGetProcAddress("glBlendFunc")
; | 220 functions->fBlendFunc = (GrGLBlendFuncProc) eglGetProcAddress("glBlendFunc")
; |
219 interface->fBlitFramebuffer = (GrGLBlitFramebufferProc) eglGetProcAddress("g
lBlitFramebuffer"); | 221 functions->fBlitFramebuffer = (GrGLBlitFramebufferProc) eglGetProcAddress("g
lBlitFramebuffer"); |
220 interface->fBufferData = (GrGLBufferDataProc) eglGetProcAddress("glBufferDat
a"); | 222 functions->fBufferData = (GrGLBufferDataProc) eglGetProcAddress("glBufferDat
a"); |
221 interface->fBufferSubData = (GrGLBufferSubDataProc) eglGetProcAddress("glBuf
ferSubData"); | 223 functions->fBufferSubData = (GrGLBufferSubDataProc) eglGetProcAddress("glBuf
ferSubData"); |
222 interface->fCheckFramebufferStatus = (GrGLCheckFramebufferStatusProc) eglGet
ProcAddress("glCheckFramebufferStatus"); | 224 functions->fCheckFramebufferStatus = (GrGLCheckFramebufferStatusProc) eglGet
ProcAddress("glCheckFramebufferStatus"); |
223 interface->fClear = (GrGLClearProc) eglGetProcAddress("glClear"); | 225 functions->fClear = (GrGLClearProc) eglGetProcAddress("glClear"); |
224 interface->fClearColor = (GrGLClearColorProc) eglGetProcAddress("glClearColo
r"); | 226 functions->fClearColor = (GrGLClearColorProc) eglGetProcAddress("glClearColo
r"); |
225 interface->fClearStencil = (GrGLClearStencilProc) eglGetProcAddress("glClear
Stencil"); | 227 functions->fClearStencil = (GrGLClearStencilProc) eglGetProcAddress("glClear
Stencil"); |
226 interface->fClientActiveTexture = (GrGLClientActiveTextureProc) eglGetProcAd
dress("glClientActiveTexture"); | 228 functions->fClientActiveTexture = (GrGLClientActiveTextureProc) eglGetProcAd
dress("glClientActiveTexture"); |
227 interface->fColorMask = (GrGLColorMaskProc) eglGetProcAddress("glColorMask")
; | 229 functions->fColorMask = (GrGLColorMaskProc) eglGetProcAddress("glColorMask")
; |
228 interface->fCompileShader = (GrGLCompileShaderProc) eglGetProcAddress("glCom
pileShader"); | 230 functions->fCompileShader = (GrGLCompileShaderProc) eglGetProcAddress("glCom
pileShader"); |
229 interface->fCompressedTexImage2D = (GrGLCompressedTexImage2DProc) eglGetProc
Address("glCompressedTexImage2D"); | 231 functions->fCompressedTexImage2D = (GrGLCompressedTexImage2DProc) eglGetProc
Address("glCompressedTexImage2D"); |
230 interface->fCopyTexSubImage2D = (GrGLCopyTexSubImage2DProc) eglGetProcAddres
s("glCopyTexSubImage2D"); | 232 functions->fCopyTexSubImage2D = (GrGLCopyTexSubImage2DProc) eglGetProcAddres
s("glCopyTexSubImage2D"); |
231 interface->fCreateProgram = (GrGLCreateProgramProc) eglGetProcAddress("glCre
ateProgram"); | 233 functions->fCreateProgram = (GrGLCreateProgramProc) eglGetProcAddress("glCre
ateProgram"); |
232 interface->fCreateShader = (GrGLCreateShaderProc) eglGetProcAddress("glCreat
eShader"); | 234 functions->fCreateShader = (GrGLCreateShaderProc) eglGetProcAddress("glCreat
eShader"); |
233 interface->fCullFace = (GrGLCullFaceProc) eglGetProcAddress("glCullFace"); | 235 functions->fCullFace = (GrGLCullFaceProc) eglGetProcAddress("glCullFace"); |
234 interface->fDeleteBuffers = (GrGLDeleteBuffersProc) eglGetProcAddress("glDel
eteBuffers"); | 236 functions->fDeleteBuffers = (GrGLDeleteBuffersProc) eglGetProcAddress("glDel
eteBuffers"); |
235 interface->fDeleteFramebuffers = (GrGLDeleteFramebuffersProc) eglGetProcAddr
ess("glDeleteFramebuffers"); | 237 functions->fDeleteFramebuffers = (GrGLDeleteFramebuffersProc) eglGetProcAddr
ess("glDeleteFramebuffers"); |
236 interface->fDeleteProgram = (GrGLDeleteProgramProc) eglGetProcAddress("glDel
eteProgram"); | 238 functions->fDeleteProgram = (GrGLDeleteProgramProc) eglGetProcAddress("glDel
eteProgram"); |
237 interface->fDeleteQueries = (GrGLDeleteQueriesProc) eglGetProcAddress("glDel
eteQueries"); | 239 functions->fDeleteQueries = (GrGLDeleteQueriesProc) eglGetProcAddress("glDel
eteQueries"); |
238 interface->fDeleteRenderbuffers = (GrGLDeleteRenderbuffersProc) eglGetProcAd
dress("glDeleteRenderbuffers"); | 240 functions->fDeleteRenderbuffers = (GrGLDeleteRenderbuffersProc) eglGetProcAd
dress("glDeleteRenderbuffers"); |
239 interface->fDeleteShader = (GrGLDeleteShaderProc) eglGetProcAddress("glDelet
eShader"); | 241 functions->fDeleteShader = (GrGLDeleteShaderProc) eglGetProcAddress("glDelet
eShader"); |
240 interface->fDeleteTextures = (GrGLDeleteTexturesProc) eglGetProcAddress("glD
eleteTextures"); | 242 functions->fDeleteTextures = (GrGLDeleteTexturesProc) eglGetProcAddress("glD
eleteTextures"); |
241 interface->fDeleteVertexArrays = (GrGLDeleteVertexArraysProc) eglGetProcAddr
ess("glDeleteVertexArrays"); | 243 functions->fDeleteVertexArrays = (GrGLDeleteVertexArraysProc) eglGetProcAddr
ess("glDeleteVertexArrays"); |
242 interface->fDepthMask = (GrGLDepthMaskProc) eglGetProcAddress("glDepthMask")
; | 244 functions->fDepthMask = (GrGLDepthMaskProc) eglGetProcAddress("glDepthMask")
; |
243 interface->fDisable = (GrGLDisableProc) eglGetProcAddress("glDisable"); | 245 functions->fDisable = (GrGLDisableProc) eglGetProcAddress("glDisable"); |
244 interface->fDisableClientState = (GrGLDisableClientStateProc) eglGetProcAddr
ess("glDisableClientState"); | 246 functions->fDisableClientState = (GrGLDisableClientStateProc) eglGetProcAddr
ess("glDisableClientState"); |
245 interface->fDisableVertexAttribArray = (GrGLDisableVertexAttribArrayProc) eg
lGetProcAddress("glDisableVertexAttribArray"); | 247 functions->fDisableVertexAttribArray = (GrGLDisableVertexAttribArrayProc) eg
lGetProcAddress("glDisableVertexAttribArray"); |
246 interface->fDrawArrays = (GrGLDrawArraysProc) eglGetProcAddress("glDrawArray
s"); | 248 functions->fDrawArrays = (GrGLDrawArraysProc) eglGetProcAddress("glDrawArray
s"); |
247 interface->fDrawBuffer = (GrGLDrawBufferProc) eglGetProcAddress("glDrawBuffe
r"); | 249 functions->fDrawBuffer = (GrGLDrawBufferProc) eglGetProcAddress("glDrawBuffe
r"); |
248 interface->fDrawBuffers = (GrGLDrawBuffersProc) eglGetProcAddress("glDrawBuf
fers"); | 250 functions->fDrawBuffers = (GrGLDrawBuffersProc) eglGetProcAddress("glDrawBuf
fers"); |
249 interface->fDrawElements = (GrGLDrawElementsProc) eglGetProcAddress("glDrawE
lements"); | 251 functions->fDrawElements = (GrGLDrawElementsProc) eglGetProcAddress("glDrawE
lements"); |
250 interface->fEnable = (GrGLEnableProc) eglGetProcAddress("glEnable"); | 252 functions->fEnable = (GrGLEnableProc) eglGetProcAddress("glEnable"); |
251 interface->fEnableClientState = (GrGLEnableClientStateProc) eglGetProcAddres
s("glEnableClientState"); | 253 functions->fEnableClientState = (GrGLEnableClientStateProc) eglGetProcAddres
s("glEnableClientState"); |
252 interface->fEnableVertexAttribArray = (GrGLEnableVertexAttribArrayProc) eglG
etProcAddress("glEnableVertexAttribArray"); | 254 functions->fEnableVertexAttribArray = (GrGLEnableVertexAttribArrayProc) eglG
etProcAddress("glEnableVertexAttribArray"); |
253 interface->fEndQuery = (GrGLEndQueryProc) eglGetProcAddress("glEndQuery"); | 255 functions->fEndQuery = (GrGLEndQueryProc) eglGetProcAddress("glEndQuery"); |
254 interface->fFinish = (GrGLFinishProc) eglGetProcAddress("glFinish"); | 256 functions->fFinish = (GrGLFinishProc) eglGetProcAddress("glFinish"); |
255 interface->fFlush = (GrGLFlushProc) eglGetProcAddress("glFlush"); | 257 functions->fFlush = (GrGLFlushProc) eglGetProcAddress("glFlush"); |
256 interface->fFramebufferRenderbuffer = (GrGLFramebufferRenderbufferProc) eglG
etProcAddress("glFramebufferRenderbuffer"); | 258 functions->fFramebufferRenderbuffer = (GrGLFramebufferRenderbufferProc) eglG
etProcAddress("glFramebufferRenderbuffer"); |
257 interface->fFramebufferTexture2D = (GrGLFramebufferTexture2DProc) eglGetProc
Address("glFramebufferTexture2D"); | 259 functions->fFramebufferTexture2D = (GrGLFramebufferTexture2DProc) eglGetProc
Address("glFramebufferTexture2D"); |
258 interface->fFrontFace = (GrGLFrontFaceProc) eglGetProcAddress("glFrontFace")
; | 260 functions->fFrontFace = (GrGLFrontFaceProc) eglGetProcAddress("glFrontFace")
; |
259 interface->fGenBuffers = (GrGLGenBuffersProc) eglGetProcAddress("glGenBuffer
s"); | 261 functions->fGenBuffers = (GrGLGenBuffersProc) eglGetProcAddress("glGenBuffer
s"); |
260 interface->fGenFramebuffers = (GrGLGenFramebuffersProc) eglGetProcAddress("g
lGenFramebuffers"); | 262 functions->fGenFramebuffers = (GrGLGenFramebuffersProc) eglGetProcAddress("g
lGenFramebuffers"); |
261 interface->fGenerateMipmap = (GrGLGenerateMipmapProc) eglGetProcAddress("glG
enerateMipmap"); | 263 functions->fGenerateMipmap = (GrGLGenerateMipmapProc) eglGetProcAddress("glG
enerateMipmap"); |
262 interface->fGenQueries = (GrGLGenQueriesProc) eglGetProcAddress("glGenQuerie
s"); | 264 functions->fGenQueries = (GrGLGenQueriesProc) eglGetProcAddress("glGenQuerie
s"); |
263 interface->fGenRenderbuffers = (GrGLGenRenderbuffersProc) eglGetProcAddress(
"glGenRenderbuffers"); | 265 functions->fGenRenderbuffers = (GrGLGenRenderbuffersProc) eglGetProcAddress(
"glGenRenderbuffers"); |
264 interface->fGenTextures = (GrGLGenTexturesProc) eglGetProcAddress("glGenText
ures"); | 266 functions->fGenTextures = (GrGLGenTexturesProc) eglGetProcAddress("glGenText
ures"); |
265 interface->fGenVertexArrays = (GrGLGenVertexArraysProc) eglGetProcAddress("g
lGenVertexArrays"); | 267 functions->fGenVertexArrays = (GrGLGenVertexArraysProc) eglGetProcAddress("g
lGenVertexArrays"); |
266 interface->fGetBufferParameteriv = (GrGLGetBufferParameterivProc) eglGetProc
Address("glGetBufferParameteriv"); | 268 functions->fGetBufferParameteriv = (GrGLGetBufferParameterivProc) eglGetProc
Address("glGetBufferParameteriv"); |
267 interface->fGetError = (GrGLGetErrorProc) eglGetProcAddress("glGetError"); | 269 functions->fGetError = (GrGLGetErrorProc) eglGetProcAddress("glGetError"); |
268 interface->fGetFramebufferAttachmentParameteriv = (GrGLGetFramebufferAttachm
entParameterivProc) eglGetProcAddress("glGetFramebufferAttachmentParameteriv"); | 270 functions->fGetFramebufferAttachmentParameteriv = (GrGLGetFramebufferAttachm
entParameterivProc) eglGetProcAddress("glGetFramebufferAttachmentParameteriv"); |
269 interface->fGetIntegerv = (GrGLGetIntegervProc) eglGetProcAddress("glGetInte
gerv"); | 271 functions->fGetIntegerv = (GrGLGetIntegervProc) eglGetProcAddress("glGetInte
gerv"); |
270 interface->fGetQueryObjecti64v = (GrGLGetQueryObjecti64vProc) eglGetProcAddr
ess("glGetQueryObjecti64v"); | 272 functions->fGetQueryObjecti64v = (GrGLGetQueryObjecti64vProc) eglGetProcAddr
ess("glGetQueryObjecti64v"); |
271 interface->fGetQueryObjectiv = (GrGLGetQueryObjectivProc) eglGetProcAddress(
"glGetQueryObjectiv"); | 273 functions->fGetQueryObjectiv = (GrGLGetQueryObjectivProc) eglGetProcAddress(
"glGetQueryObjectiv"); |
272 interface->fGetQueryObjectui64v = (GrGLGetQueryObjectui64vProc) eglGetProcAd
dress("glGetQueryObjectui64v"); | 274 functions->fGetQueryObjectui64v = (GrGLGetQueryObjectui64vProc) eglGetProcAd
dress("glGetQueryObjectui64v"); |
273 interface->fGetQueryObjectuiv = (GrGLGetQueryObjectuivProc) eglGetProcAddres
s("glGetQueryObjectuiv"); | 275 functions->fGetQueryObjectuiv = (GrGLGetQueryObjectuivProc) eglGetProcAddres
s("glGetQueryObjectuiv"); |
274 interface->fGetQueryiv = (GrGLGetQueryivProc) eglGetProcAddress("glGetQueryi
v"); | 276 functions->fGetQueryiv = (GrGLGetQueryivProc) eglGetProcAddress("glGetQueryi
v"); |
275 interface->fGetProgramInfoLog = (GrGLGetProgramInfoLogProc) eglGetProcAddres
s("glGetProgramInfoLog"); | 277 functions->fGetProgramInfoLog = (GrGLGetProgramInfoLogProc) eglGetProcAddres
s("glGetProgramInfoLog"); |
276 interface->fGetProgramiv = (GrGLGetProgramivProc) eglGetProcAddress("glGetPr
ogramiv"); | 278 functions->fGetProgramiv = (GrGLGetProgramivProc) eglGetProcAddress("glGetPr
ogramiv"); |
277 interface->fGetRenderbufferParameteriv = (GrGLGetRenderbufferParameterivProc
) eglGetProcAddress("glGetRenderbufferParameteriv"); | 279 functions->fGetRenderbufferParameteriv = (GrGLGetRenderbufferParameterivProc
) eglGetProcAddress("glGetRenderbufferParameteriv"); |
278 interface->fGetShaderInfoLog = (GrGLGetShaderInfoLogProc) eglGetProcAddress(
"glGetShaderInfoLog"); | 280 functions->fGetShaderInfoLog = (GrGLGetShaderInfoLogProc) eglGetProcAddress(
"glGetShaderInfoLog"); |
279 interface->fGetShaderiv = (GrGLGetShaderivProc) eglGetProcAddress("glGetShad
eriv"); | 281 functions->fGetShaderiv = (GrGLGetShaderivProc) eglGetProcAddress("glGetShad
eriv"); |
280 interface->fGetString = (GrGLGetStringProc) eglGetProcAddress("glGetString")
; | 282 functions->fGetString = (GrGLGetStringProc) eglGetProcAddress("glGetString")
; |
281 interface->fGetStringi = (GrGLGetStringiProc) eglGetProcAddress("glGetString
i"); | 283 functions->fGetStringi = (GrGLGetStringiProc) eglGetProcAddress("glGetString
i"); |
282 interface->fGetTexLevelParameteriv = (GrGLGetTexLevelParameterivProc) eglGet
ProcAddress("glGetTexLevelParameteriv"); | 284 functions->fGetTexLevelParameteriv = (GrGLGetTexLevelParameterivProc) eglGet
ProcAddress("glGetTexLevelParameteriv"); |
283 interface->fGetUniformLocation = (GrGLGetUniformLocationProc) eglGetProcAddr
ess("glGetUniformLocation"); | 285 functions->fGetUniformLocation = (GrGLGetUniformLocationProc) eglGetProcAddr
ess("glGetUniformLocation"); |
284 interface->fLineWidth = (GrGLLineWidthProc) eglGetProcAddress("glLineWidth")
; | 286 functions->fLineWidth = (GrGLLineWidthProc) eglGetProcAddress("glLineWidth")
; |
285 interface->fLinkProgram = (GrGLLinkProgramProc) eglGetProcAddress("glLinkPro
gram"); | 287 functions->fLinkProgram = (GrGLLinkProgramProc) eglGetProcAddress("glLinkPro
gram"); |
286 interface->fLoadIdentity = (GrGLLoadIdentityProc) eglGetProcAddress("glLoadI
dentity"); | 288 functions->fLoadIdentity = (GrGLLoadIdentityProc) eglGetProcAddress("glLoadI
dentity"); |
287 interface->fLoadMatrixf = (GrGLLoadMatrixfProc) eglGetProcAddress("glLoadMat
rixf"); | 289 functions->fLoadMatrixf = (GrGLLoadMatrixfProc) eglGetProcAddress("glLoadMat
rixf"); |
288 interface->fMapBuffer = (GrGLMapBufferProc) eglGetProcAddress("glMapBuffer")
; | 290 functions->fMapBuffer = (GrGLMapBufferProc) eglGetProcAddress("glMapBuffer")
; |
289 interface->fMatrixMode = (GrGLMatrixModeProc) eglGetProcAddress("glMatrixMod
e"); | 291 functions->fMatrixMode = (GrGLMatrixModeProc) eglGetProcAddress("glMatrixMod
e"); |
290 interface->fPixelStorei = (GrGLPixelStoreiProc) eglGetProcAddress("glPixelSt
orei"); | 292 functions->fPixelStorei = (GrGLPixelStoreiProc) eglGetProcAddress("glPixelSt
orei"); |
291 interface->fQueryCounter = (GrGLQueryCounterProc) eglGetProcAddress("glQuery
Counter"); | 293 functions->fQueryCounter = (GrGLQueryCounterProc) eglGetProcAddress("glQuery
Counter"); |
292 interface->fReadBuffer = (GrGLReadBufferProc) eglGetProcAddress("glReadBuffe
r"); | 294 functions->fReadBuffer = (GrGLReadBufferProc) eglGetProcAddress("glReadBuffe
r"); |
293 interface->fReadPixels = (GrGLReadPixelsProc) eglGetProcAddress("glReadPixel
s"); | 295 functions->fReadPixels = (GrGLReadPixelsProc) eglGetProcAddress("glReadPixel
s"); |
294 interface->fRenderbufferStorage = (GrGLRenderbufferStorageProc) eglGetProcAd
dress("glRenderbufferStorage"); | 296 functions->fRenderbufferStorage = (GrGLRenderbufferStorageProc) eglGetProcAd
dress("glRenderbufferStorage"); |
295 interface->fRenderbufferStorageMultisample = (GrGLRenderbufferStorageMultisa
mpleProc) eglGetProcAddress("glRenderbufferStorageMultisample"); | 297 functions->fRenderbufferStorageMultisample = (GrGLRenderbufferStorageMultisa
mpleProc) eglGetProcAddress("glRenderbufferStorageMultisample"); |
296 interface->fScissor = (GrGLScissorProc) eglGetProcAddress("glScissor"); | 298 functions->fScissor = (GrGLScissorProc) eglGetProcAddress("glScissor"); |
297 interface->fShaderSource = (GrGLShaderSourceProc) eglGetProcAddress("glShade
rSource"); | 299 functions->fShaderSource = (GrGLShaderSourceProc) eglGetProcAddress("glShade
rSource"); |
298 interface->fStencilFunc = (GrGLStencilFuncProc) eglGetProcAddress("glStencil
Func"); | 300 functions->fStencilFunc = (GrGLStencilFuncProc) eglGetProcAddress("glStencil
Func"); |
299 interface->fStencilFuncSeparate = (GrGLStencilFuncSeparateProc) eglGetProcAd
dress("glStencilFuncSeparate"); | 301 functions->fStencilFuncSeparate = (GrGLStencilFuncSeparateProc) eglGetProcAd
dress("glStencilFuncSeparate"); |
300 interface->fStencilMask = (GrGLStencilMaskProc) eglGetProcAddress("glStencil
Mask"); | 302 functions->fStencilMask = (GrGLStencilMaskProc) eglGetProcAddress("glStencil
Mask"); |
301 interface->fStencilMaskSeparate = (GrGLStencilMaskSeparateProc) eglGetProcAd
dress("glStencilMaskSeparate"); | 303 functions->fStencilMaskSeparate = (GrGLStencilMaskSeparateProc) eglGetProcAd
dress("glStencilMaskSeparate"); |
302 interface->fStencilOp = (GrGLStencilOpProc) eglGetProcAddress("glStencilOp")
; | 304 functions->fStencilOp = (GrGLStencilOpProc) eglGetProcAddress("glStencilOp")
; |
303 interface->fStencilOpSeparate = (GrGLStencilOpSeparateProc) eglGetProcAddres
s("glStencilOpSeparate"); | 305 functions->fStencilOpSeparate = (GrGLStencilOpSeparateProc) eglGetProcAddres
s("glStencilOpSeparate"); |
304 interface->fTexGenf = (GrGLTexGenfProc) eglGetProcAddress("glTexGenf"); | 306 functions->fTexGenf = (GrGLTexGenfProc) eglGetProcAddress("glTexGenf"); |
305 interface->fTexGenfv = (GrGLTexGenfvProc) eglGetProcAddress("glTexGenfv"); | 307 functions->fTexGenfv = (GrGLTexGenfvProc) eglGetProcAddress("glTexGenfv"); |
306 interface->fTexGeni = (GrGLTexGeniProc) eglGetProcAddress("glTexGeni"); | 308 functions->fTexGeni = (GrGLTexGeniProc) eglGetProcAddress("glTexGeni"); |
307 interface->fTexImage2D = (GrGLTexImage2DProc) eglGetProcAddress("glTexImage2
D"); | 309 functions->fTexImage2D = (GrGLTexImage2DProc) eglGetProcAddress("glTexImage2
D"); |
308 interface->fTexParameteri = (GrGLTexParameteriProc) eglGetProcAddress("glTex
Parameteri"); | 310 functions->fTexParameteri = (GrGLTexParameteriProc) eglGetProcAddress("glTex
Parameteri"); |
309 interface->fTexParameteriv = (GrGLTexParameterivProc) eglGetProcAddress("glT
exParameteriv"); | 311 functions->fTexParameteriv = (GrGLTexParameterivProc) eglGetProcAddress("glT
exParameteriv"); |
310 interface->fTexSubImage2D = (GrGLTexSubImage2DProc) eglGetProcAddress("glTex
SubImage2D"); | 312 functions->fTexSubImage2D = (GrGLTexSubImage2DProc) eglGetProcAddress("glTex
SubImage2D"); |
311 interface->fTexStorage2D = (GrGLTexStorage2DProc) eglGetProcAddress("glTexSt
orage2D"); | 313 functions->fTexStorage2D = (GrGLTexStorage2DProc) eglGetProcAddress("glTexSt
orage2D"); |
312 interface->fUniform1f = (GrGLUniform1fProc) eglGetProcAddress("glUniform1f")
; | 314 functions->fUniform1f = (GrGLUniform1fProc) eglGetProcAddress("glUniform1f")
; |
313 interface->fUniform1i = (GrGLUniform1iProc) eglGetProcAddress("glUniform1i")
; | 315 functions->fUniform1i = (GrGLUniform1iProc) eglGetProcAddress("glUniform1i")
; |
314 interface->fUniform1fv = (GrGLUniform1fvProc) eglGetProcAddress("glUniform1f
v"); | 316 functions->fUniform1fv = (GrGLUniform1fvProc) eglGetProcAddress("glUniform1f
v"); |
315 interface->fUniform1iv = (GrGLUniform1ivProc) eglGetProcAddress("glUniform1i
v"); | 317 functions->fUniform1iv = (GrGLUniform1ivProc) eglGetProcAddress("glUniform1i
v"); |
316 interface->fUniform2f = (GrGLUniform2fProc) eglGetProcAddress("glUniform2f")
; | 318 functions->fUniform2f = (GrGLUniform2fProc) eglGetProcAddress("glUniform2f")
; |
317 interface->fUniform2i = (GrGLUniform2iProc) eglGetProcAddress("glUniform2i")
; | 319 functions->fUniform2i = (GrGLUniform2iProc) eglGetProcAddress("glUniform2i")
; |
318 interface->fUniform2fv = (GrGLUniform2fvProc) eglGetProcAddress("glUniform2f
v"); | 320 functions->fUniform2fv = (GrGLUniform2fvProc) eglGetProcAddress("glUniform2f
v"); |
319 interface->fUniform2iv = (GrGLUniform2ivProc) eglGetProcAddress("glUniform2i
v"); | 321 functions->fUniform2iv = (GrGLUniform2ivProc) eglGetProcAddress("glUniform2i
v"); |
320 interface->fUniform3f = (GrGLUniform3fProc) eglGetProcAddress("glUniform3f")
; | 322 functions->fUniform3f = (GrGLUniform3fProc) eglGetProcAddress("glUniform3f")
; |
321 interface->fUniform3i = (GrGLUniform3iProc) eglGetProcAddress("glUniform3i")
; | 323 functions->fUniform3i = (GrGLUniform3iProc) eglGetProcAddress("glUniform3i")
; |
322 interface->fUniform3fv = (GrGLUniform3fvProc) eglGetProcAddress("glUniform3f
v"); | 324 functions->fUniform3fv = (GrGLUniform3fvProc) eglGetProcAddress("glUniform3f
v"); |
323 interface->fUniform3iv = (GrGLUniform3ivProc) eglGetProcAddress("glUniform3i
v"); | 325 functions->fUniform3iv = (GrGLUniform3ivProc) eglGetProcAddress("glUniform3i
v"); |
324 interface->fUniform4f = (GrGLUniform4fProc) eglGetProcAddress("glUniform4f")
; | 326 functions->fUniform4f = (GrGLUniform4fProc) eglGetProcAddress("glUniform4f")
; |
325 interface->fUniform4i = (GrGLUniform4iProc) eglGetProcAddress("glUniform4i")
; | 327 functions->fUniform4i = (GrGLUniform4iProc) eglGetProcAddress("glUniform4i")
; |
326 interface->fUniform4fv = (GrGLUniform4fvProc) eglGetProcAddress("glUniform4f
v"); | 328 functions->fUniform4fv = (GrGLUniform4fvProc) eglGetProcAddress("glUniform4f
v"); |
327 interface->fUniform4iv = (GrGLUniform4ivProc) eglGetProcAddress("glUniform4i
v"); | 329 functions->fUniform4iv = (GrGLUniform4ivProc) eglGetProcAddress("glUniform4i
v"); |
328 interface->fUniformMatrix2fv = (GrGLUniformMatrix2fvProc) eglGetProcAddress(
"glUniformMatrix2fv"); | 330 functions->fUniformMatrix2fv = (GrGLUniformMatrix2fvProc) eglGetProcAddress(
"glUniformMatrix2fv"); |
329 interface->fUniformMatrix3fv = (GrGLUniformMatrix3fvProc) eglGetProcAddress(
"glUniformMatrix3fv"); | 331 functions->fUniformMatrix3fv = (GrGLUniformMatrix3fvProc) eglGetProcAddress(
"glUniformMatrix3fv"); |
330 interface->fUniformMatrix4fv = (GrGLUniformMatrix4fvProc) eglGetProcAddress(
"glUniformMatrix4fv"); | 332 functions->fUniformMatrix4fv = (GrGLUniformMatrix4fvProc) eglGetProcAddress(
"glUniformMatrix4fv"); |
331 interface->fUnmapBuffer = (GrGLUnmapBufferProc) eglGetProcAddress("glUnmapBu
ffer"); | 333 functions->fUnmapBuffer = (GrGLUnmapBufferProc) eglGetProcAddress("glUnmapBu
ffer"); |
332 interface->fUseProgram = (GrGLUseProgramProc) eglGetProcAddress("glUseProgra
m"); | 334 functions->fUseProgram = (GrGLUseProgramProc) eglGetProcAddress("glUseProgra
m"); |
333 interface->fVertexAttrib4fv = (GrGLVertexAttrib4fvProc) eglGetProcAddress("g
lVertexAttrib4fv"); | 335 functions->fVertexAttrib4fv = (GrGLVertexAttrib4fvProc) eglGetProcAddress("g
lVertexAttrib4fv"); |
334 interface->fVertexAttribPointer = (GrGLVertexAttribPointerProc) eglGetProcAd
dress("glVertexAttribPointer"); | 336 functions->fVertexAttribPointer = (GrGLVertexAttribPointerProc) eglGetProcAd
dress("glVertexAttribPointer"); |
335 interface->fVertexPointer = (GrGLVertexPointerProc) eglGetProcAddress("glVer
texPointer"); | 337 functions->fVertexPointer = (GrGLVertexPointerProc) eglGetProcAddress("glVer
texPointer"); |
336 interface->fViewport = (GrGLViewportProc) eglGetProcAddress("glViewport"); | 338 functions->fViewport = (GrGLViewportProc) eglGetProcAddress("glViewport"); |
337 | 339 |
338 if (extensions.has("GL_NV_path_rendering")) { | 340 if (extensions.has("GL_NV_path_rendering")) { |
339 interface->fPathCommands = (GrGLPathCommandsProc) eglGetProcAddress("glP
athCommandsNV"); | 341 functions->fPathCommands = (GrGLPathCommandsProc) eglGetProcAddress("glP
athCommandsNV"); |
340 interface->fPathCoords = (GrGLPathCoordsProc) eglGetProcAddress("glPathC
oordsNV"); | 342 functions->fPathCoords = (GrGLPathCoordsProc) eglGetProcAddress("glPathC
oordsNV"); |
341 interface->fPathSubCommands = (GrGLPathSubCommandsProc) eglGetProcAddres
s("glPathSubCommandsNV"); | 343 functions->fPathSubCommands = (GrGLPathSubCommandsProc) eglGetProcAddres
s("glPathSubCommandsNV"); |
342 interface->fPathSubCoords = (GrGLPathSubCoordsProc) eglGetProcAddress("g
lPathSubCoordsNV"); | 344 functions->fPathSubCoords = (GrGLPathSubCoordsProc) eglGetProcAddress("g
lPathSubCoordsNV"); |
343 interface->fPathString = (GrGLPathStringProc) eglGetProcAddress("glPathS
tringNV"); | 345 functions->fPathString = (GrGLPathStringProc) eglGetProcAddress("glPathS
tringNV"); |
344 interface->fPathGlyphs = (GrGLPathGlyphsProc) eglGetProcAddress("glPathG
lyphsNV"); | 346 functions->fPathGlyphs = (GrGLPathGlyphsProc) eglGetProcAddress("glPathG
lyphsNV"); |
345 interface->fPathGlyphRange = (GrGLPathGlyphRangeProc) eglGetProcAddress(
"glPathGlyphRangeNV"); | 347 functions->fPathGlyphRange = (GrGLPathGlyphRangeProc) eglGetProcAddress(
"glPathGlyphRangeNV"); |
346 interface->fWeightPaths = (GrGLWeightPathsProc) eglGetProcAddress("glWei
ghtPathsNV"); | 348 functions->fWeightPaths = (GrGLWeightPathsProc) eglGetProcAddress("glWei
ghtPathsNV"); |
347 interface->fCopyPath = (GrGLCopyPathProc) eglGetProcAddress("glCopyPathN
V"); | 349 functions->fCopyPath = (GrGLCopyPathProc) eglGetProcAddress("glCopyPathN
V"); |
348 interface->fInterpolatePaths = (GrGLInterpolatePathsProc) eglGetProcAddr
ess("glInterpolatePathsNV"); | 350 functions->fInterpolatePaths = (GrGLInterpolatePathsProc) eglGetProcAddr
ess("glInterpolatePathsNV"); |
349 interface->fTransformPath = (GrGLTransformPathProc) eglGetProcAddress("g
lTransformPathNV"); | 351 functions->fTransformPath = (GrGLTransformPathProc) eglGetProcAddress("g
lTransformPathNV"); |
350 interface->fPathParameteriv = (GrGLPathParameterivProc) eglGetProcAddres
s("glPathParameterivNV"); | 352 functions->fPathParameteriv = (GrGLPathParameterivProc) eglGetProcAddres
s("glPathParameterivNV"); |
351 interface->fPathParameteri = (GrGLPathParameteriProc) eglGetProcAddress(
"glPathParameteriNV"); | 353 functions->fPathParameteri = (GrGLPathParameteriProc) eglGetProcAddress(
"glPathParameteriNV"); |
352 interface->fPathParameterfv = (GrGLPathParameterfvProc) eglGetProcAddres
s("glPathParameterfvNV"); | 354 functions->fPathParameterfv = (GrGLPathParameterfvProc) eglGetProcAddres
s("glPathParameterfvNV"); |
353 interface->fPathParameterf = (GrGLPathParameterfProc) eglGetProcAddress(
"glPathParameterfNV"); | 355 functions->fPathParameterf = (GrGLPathParameterfProc) eglGetProcAddress(
"glPathParameterfNV"); |
354 interface->fPathDashArray = (GrGLPathDashArrayProc) eglGetProcAddress("g
lPathDashArrayNV"); | 356 functions->fPathDashArray = (GrGLPathDashArrayProc) eglGetProcAddress("g
lPathDashArrayNV"); |
355 interface->fGenPaths = (GrGLGenPathsProc) eglGetProcAddress("glGenPathsN
V"); | 357 functions->fGenPaths = (GrGLGenPathsProc) eglGetProcAddress("glGenPathsN
V"); |
356 interface->fDeletePaths = (GrGLDeletePathsProc) eglGetProcAddress("glDel
etePathsNV"); | 358 functions->fDeletePaths = (GrGLDeletePathsProc) eglGetProcAddress("glDel
etePathsNV"); |
357 interface->fIsPath = (GrGLIsPathProc) eglGetProcAddress("glIsPathNV"); | 359 functions->fIsPath = (GrGLIsPathProc) eglGetProcAddress("glIsPathNV"); |
358 interface->fPathStencilFunc = (GrGLPathStencilFuncProc) eglGetProcAddres
s("glPathStencilFuncNV"); | 360 functions->fPathStencilFunc = (GrGLPathStencilFuncProc) eglGetProcAddres
s("glPathStencilFuncNV"); |
359 interface->fPathStencilDepthOffset = (GrGLPathStencilDepthOffsetProc) eg
lGetProcAddress("glPathStencilDepthOffsetNV"); | 361 functions->fPathStencilDepthOffset = (GrGLPathStencilDepthOffsetProc) eg
lGetProcAddress("glPathStencilDepthOffsetNV"); |
360 interface->fStencilFillPath = (GrGLStencilFillPathProc) eglGetProcAddres
s("glStencilFillPathNV"); | 362 functions->fStencilFillPath = (GrGLStencilFillPathProc) eglGetProcAddres
s("glStencilFillPathNV"); |
361 interface->fStencilStrokePath = (GrGLStencilStrokePathProc) eglGetProcAd
dress("glStencilStrokePathNV"); | 363 functions->fStencilStrokePath = (GrGLStencilStrokePathProc) eglGetProcAd
dress("glStencilStrokePathNV"); |
362 interface->fStencilFillPathInstanced = (GrGLStencilFillPathInstancedProc
) eglGetProcAddress("glStencilFillPathInstancedNV"); | 364 functions->fStencilFillPathInstanced = (GrGLStencilFillPathInstancedProc
) eglGetProcAddress("glStencilFillPathInstancedNV"); |
363 interface->fStencilStrokePathInstanced = (GrGLStencilStrokePathInstanced
Proc) eglGetProcAddress("glStencilStrokePathInstancedNV"); | 365 functions->fStencilStrokePathInstanced = (GrGLStencilStrokePathInstanced
Proc) eglGetProcAddress("glStencilStrokePathInstancedNV"); |
364 interface->fPathCoverDepthFunc = (GrGLPathCoverDepthFuncProc) eglGetProc
Address("glPathCoverDepthFuncNV"); | 366 functions->fPathCoverDepthFunc = (GrGLPathCoverDepthFuncProc) eglGetProc
Address("glPathCoverDepthFuncNV"); |
365 interface->fPathColorGen = (GrGLPathColorGenProc) eglGetProcAddress("glP
athColorGenNV"); | 367 functions->fPathColorGen = (GrGLPathColorGenProc) eglGetProcAddress("glP
athColorGenNV"); |
366 interface->fPathTexGen = (GrGLPathTexGenProc) eglGetProcAddress("glPathT
exGenNV"); | 368 functions->fPathTexGen = (GrGLPathTexGenProc) eglGetProcAddress("glPathT
exGenNV"); |
367 interface->fPathFogGen = (GrGLPathFogGenProc) eglGetProcAddress("glPathF
ogGenNV"); | 369 functions->fPathFogGen = (GrGLPathFogGenProc) eglGetProcAddress("glPathF
ogGenNV"); |
368 interface->fCoverFillPath = (GrGLCoverFillPathProc) eglGetProcAddress("g
lCoverFillPathNV"); | 370 functions->fCoverFillPath = (GrGLCoverFillPathProc) eglGetProcAddress("g
lCoverFillPathNV"); |
369 interface->fCoverStrokePath = (GrGLCoverStrokePathProc) eglGetProcAddres
s("glCoverStrokePathNV"); | 371 functions->fCoverStrokePath = (GrGLCoverStrokePathProc) eglGetProcAddres
s("glCoverStrokePathNV"); |
370 interface->fCoverFillPathInstanced = (GrGLCoverFillPathInstancedProc) eg
lGetProcAddress("glCoverFillPathInstancedNV"); | 372 functions->fCoverFillPathInstanced = (GrGLCoverFillPathInstancedProc) eg
lGetProcAddress("glCoverFillPathInstancedNV"); |
371 interface->fCoverStrokePathInstanced = (GrGLCoverStrokePathInstancedProc
) eglGetProcAddress("glCoverStrokePathInstancedNV"); | 373 functions->fCoverStrokePathInstanced = (GrGLCoverStrokePathInstancedProc
) eglGetProcAddress("glCoverStrokePathInstancedNV"); |
372 interface->fGetPathParameteriv = (GrGLGetPathParameterivProc) eglGetProc
Address("glGetPathParameterivNV"); | 374 functions->fGetPathParameteriv = (GrGLGetPathParameterivProc) eglGetProc
Address("glGetPathParameterivNV"); |
373 interface->fGetPathParameterfv = (GrGLGetPathParameterfvProc) eglGetProc
Address("glGetPathParameterfvNV"); | 375 functions->fGetPathParameterfv = (GrGLGetPathParameterfvProc) eglGetProc
Address("glGetPathParameterfvNV"); |
374 interface->fGetPathCommands = (GrGLGetPathCommandsProc) eglGetProcAddres
s("glGetPathCommandsNV"); | 376 functions->fGetPathCommands = (GrGLGetPathCommandsProc) eglGetProcAddres
s("glGetPathCommandsNV"); |
375 interface->fGetPathCoords = (GrGLGetPathCoordsProc) eglGetProcAddress("g
lGetPathCoordsNV"); | 377 functions->fGetPathCoords = (GrGLGetPathCoordsProc) eglGetProcAddress("g
lGetPathCoordsNV"); |
376 interface->fGetPathDashArray = (GrGLGetPathDashArrayProc) eglGetProcAddr
ess("glGetPathDashArrayNV"); | 378 functions->fGetPathDashArray = (GrGLGetPathDashArrayProc) eglGetProcAddr
ess("glGetPathDashArrayNV"); |
377 interface->fGetPathMetrics = (GrGLGetPathMetricsProc) eglGetProcAddress(
"glGetPathMetricsNV"); | 379 functions->fGetPathMetrics = (GrGLGetPathMetricsProc) eglGetProcAddress(
"glGetPathMetricsNV"); |
378 interface->fGetPathMetricRange = (GrGLGetPathMetricRangeProc) eglGetProc
Address("glGetPathMetricRangeNV"); | 380 functions->fGetPathMetricRange = (GrGLGetPathMetricRangeProc) eglGetProc
Address("glGetPathMetricRangeNV"); |
379 interface->fGetPathSpacing = (GrGLGetPathSpacingProc) eglGetProcAddress(
"glGetPathSpacingNV"); | 381 functions->fGetPathSpacing = (GrGLGetPathSpacingProc) eglGetProcAddress(
"glGetPathSpacingNV"); |
380 interface->fGetPathColorGeniv = (GrGLGetPathColorGenivProc) eglGetProcAd
dress("glGetPathColorGenivNV"); | 382 functions->fGetPathColorGeniv = (GrGLGetPathColorGenivProc) eglGetProcAd
dress("glGetPathColorGenivNV"); |
381 interface->fGetPathColorGenfv = (GrGLGetPathColorGenfvProc) eglGetProcAd
dress("glGetPathColorGenfvNV"); | 383 functions->fGetPathColorGenfv = (GrGLGetPathColorGenfvProc) eglGetProcAd
dress("glGetPathColorGenfvNV"); |
382 interface->fGetPathTexGeniv = (GrGLGetPathTexGenivProc) eglGetProcAddres
s("glGetPathTexGenivNV"); | 384 functions->fGetPathTexGeniv = (GrGLGetPathTexGenivProc) eglGetProcAddres
s("glGetPathTexGenivNV"); |
383 interface->fGetPathTexGenfv = (GrGLGetPathTexGenfvProc) eglGetProcAddres
s("glGetPathTexGenfvNV"); | 385 functions->fGetPathTexGenfv = (GrGLGetPathTexGenfvProc) eglGetProcAddres
s("glGetPathTexGenfvNV"); |
384 interface->fIsPointInFillPath = (GrGLIsPointInFillPathProc) eglGetProcAd
dress("glIsPointInFillPathNV"); | 386 functions->fIsPointInFillPath = (GrGLIsPointInFillPathProc) eglGetProcAd
dress("glIsPointInFillPathNV"); |
385 interface->fIsPointInStrokePath = (GrGLIsPointInStrokePathProc) eglGetPr
ocAddress("glIsPointInStrokePathNV"); | 387 functions->fIsPointInStrokePath = (GrGLIsPointInStrokePathProc) eglGetPr
ocAddress("glIsPointInStrokePathNV"); |
386 interface->fGetPathLength = (GrGLGetPathLengthProc) eglGetProcAddress("g
lGetPathLengthNV"); | 388 functions->fGetPathLength = (GrGLGetPathLengthProc) eglGetProcAddress("g
lGetPathLengthNV"); |
387 interface->fPointAlongPath = (GrGLPointAlongPathProc) eglGetProcAddress(
"glPointAlongPathNV"); | 389 functions->fPointAlongPath = (GrGLPointAlongPathProc) eglGetProcAddress(
"glPointAlongPathNV"); |
388 } | 390 } |
389 | 391 |
390 return interface; | 392 return interface; |
391 } | 393 } |
392 | 394 |
393 const GrGLInterface* GrGLCreateNativeInterface() { | 395 const GrGLInterface* GrGLCreateNativeInterface() { |
394 | 396 |
395 GrGLGetStringiProc getStringi = (GrGLGetStringiProc) eglGetProcAddress("glGe
tStringi"); | 397 GrGLGetStringiProc getStringi = (GrGLGetStringiProc) eglGetProcAddress("glGe
tStringi"); |
396 | 398 |
397 const char* verStr = reinterpret_cast<const char*>(glGetString(GR_GL_VERSION
)); | 399 const char* verStr = reinterpret_cast<const char*>(glGetString(GR_GL_VERSION
)); |
(...skipping 11 matching lines...) Expand all Loading... |
409 } else if (kGL_GrGLStandard == standard) { | 411 } else if (kGL_GrGLStandard == standard) { |
410 interface = create_desktop_interface(version, extensions); | 412 interface = create_desktop_interface(version, extensions); |
411 } | 413 } |
412 | 414 |
413 if (NULL != interface) { | 415 if (NULL != interface) { |
414 interface->fExtensions.swap(&extensions); | 416 interface->fExtensions.swap(&extensions); |
415 } | 417 } |
416 | 418 |
417 return interface; | 419 return interface; |
418 } | 420 } |
OLD | NEW |