OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
3 * | 3 * |
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 | 7 |
8 #ifndef GrGLInterface_DEFINED | 8 #ifndef GrGLInterface_DEFINED |
9 #define GrGLInterface_DEFINED | 9 #define GrGLInterface_DEFINED |
10 | 10 |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
88 // simple wrapper class that exists only to initialize a pointer to NULL | 88 // simple wrapper class that exists only to initialize a pointer to NULL |
89 template <typename FNPTR_TYPE> class GLPtr { | 89 template <typename FNPTR_TYPE> class GLPtr { |
90 public: | 90 public: |
91 GLPtr() : fPtr(NULL) {} | 91 GLPtr() : fPtr(NULL) {} |
92 GLPtr operator =(FNPTR_TYPE ptr) { fPtr = ptr; return *this; } | 92 GLPtr operator =(FNPTR_TYPE ptr) { fPtr = ptr; return *this; } |
93 operator FNPTR_TYPE() const { return fPtr; } | 93 operator FNPTR_TYPE() const { return fPtr; } |
94 private: | 94 private: |
95 FNPTR_TYPE fPtr; | 95 FNPTR_TYPE fPtr; |
96 }; | 96 }; |
97 | 97 |
98 // This is a temporary workaround to keep Chromium's GrGLInterface factories compiling until | |
99 // they're updated to use the Functions struct. | |
100 template <typename FNPTR_TYPE> class GLPtrAlias { | |
101 public: | |
102 GLPtrAlias(GLPtr<FNPTR_TYPE>* base) : fBase(base) {} | |
robertphillips
2014/01/21 15:38:05
rm space between operator & =?
bsalomon
2014/01/21 16:04:54
Done.
| |
103 void operator =(FNPTR_TYPE ptr) { *fBase = ptr; } | |
104 private: | |
105 GLPtr<FNPTR_TYPE>* fBase; | |
106 }; | |
107 | |
98 typedef SkRefCnt INHERITED; | 108 typedef SkRefCnt INHERITED; |
99 | 109 |
100 public: | 110 public: |
101 SK_DECLARE_INST_COUNT(GrGLInterface) | 111 SK_DECLARE_INST_COUNT(GrGLInterface) |
102 | 112 |
103 GrGLInterface(); | 113 GrGLInterface(); |
104 | 114 |
105 // Validates that the GrGLInterface supports its advertised standard. This m eans the necessary | 115 // Validates that the GrGLInterface supports its advertised standard. This m eans the necessary |
106 // function pointers have been initialized for both the GL version and any a dvertised | 116 // function pointers have been initialized for both the GL version and any a dvertised |
107 // extensions. | 117 // extensions. |
108 bool validate() const; | 118 bool validate() const; |
109 | 119 |
110 // Indicates the type of GL implementation | 120 // Indicates the type of GL implementation |
111 union { | 121 union { |
112 GrGLStandard fStandard; | 122 GrGLStandard fStandard; |
113 GrGLStandard fBindingsExported; // Legacy name, will be remove when Chro mium is updated. | 123 GrGLStandard fBindingsExported; // Legacy name, will be remove when Chro mium is updated. |
114 }; | 124 }; |
115 | 125 |
116 GrGLExtensions fExtensions; | 126 GrGLExtensions fExtensions; |
117 | 127 |
118 // This wrapper and const hackery is necessary because the factories in Chro mium do not yet | 128 // This wrapper and const hackery is necessary because the factories in Chro mium do not yet |
119 // initialize fExtensions. | 129 // initialize fExtensions. |
120 bool hasExtension(const char ext[]) const { | 130 bool hasExtension(const char ext[]) const { |
121 if (!fExtensions.isInitialized()) { | 131 if (!fExtensions.isInitialized()) { |
122 GrGLExtensions* extensions = const_cast<GrGLExtensions*>(&fExtension s); | 132 GrGLExtensions* extensions = const_cast<GrGLExtensions*>(&fExtension s); |
123 if (!extensions->init(fStandard, fGetString, fGetStringi, fGetIntege rv)) { | 133 if (!extensions->init(fStandard, fFunctions.fGetString, |
134 fFunctions.fGetStringi, fFunctions.fGetInteger v)) { | |
124 return false; | 135 return false; |
125 } | 136 } |
126 } | 137 } |
127 return fExtensions.has(ext); | 138 return fExtensions.has(ext); |
128 } | 139 } |
129 | 140 |
robertphillips
2014/01/21 15:38:05
Maybe a comment as to why we need the Functions st
bsalomon
2014/01/21 16:04:54
Done.
| |
130 GLPtr<GrGLActiveTextureProc> fActiveTexture; | 141 struct Functions { |
131 GLPtr<GrGLAttachShaderProc> fAttachShader; | 142 GLPtr<GrGLActiveTextureProc> fActiveTexture; |
132 GLPtr<GrGLBeginQueryProc> fBeginQuery; | 143 GLPtr<GrGLAttachShaderProc> fAttachShader; |
133 GLPtr<GrGLBindAttribLocationProc> fBindAttribLocation; | 144 GLPtr<GrGLBeginQueryProc> fBeginQuery; |
134 GLPtr<GrGLBindBufferProc> fBindBuffer; | 145 GLPtr<GrGLBindAttribLocationProc> fBindAttribLocation; |
135 GLPtr<GrGLBindFragDataLocationProc> fBindFragDataLocation; | 146 GLPtr<GrGLBindBufferProc> fBindBuffer; |
136 GLPtr<GrGLBindFragDataLocationIndexedProc> fBindFragDataLocationIndexed; | 147 GLPtr<GrGLBindFragDataLocationProc> fBindFragDataLocation; |
137 GLPtr<GrGLBindFramebufferProc> fBindFramebuffer; | 148 GLPtr<GrGLBindFragDataLocationIndexedProc> fBindFragDataLocationIndexed; |
138 GLPtr<GrGLBindRenderbufferProc> fBindRenderbuffer; | 149 GLPtr<GrGLBindFramebufferProc> fBindFramebuffer; |
139 GLPtr<GrGLBindTextureProc> fBindTexture; | 150 GLPtr<GrGLBindRenderbufferProc> fBindRenderbuffer; |
140 GLPtr<GrGLBindVertexArrayProc> fBindVertexArray; | 151 GLPtr<GrGLBindTextureProc> fBindTexture; |
141 GLPtr<GrGLBlendColorProc> fBlendColor; | 152 GLPtr<GrGLBindVertexArrayProc> fBindVertexArray; |
142 GLPtr<GrGLBlendFuncProc> fBlendFunc; | 153 GLPtr<GrGLBlendColorProc> fBlendColor; |
143 GLPtr<GrGLBlitFramebufferProc> fBlitFramebuffer; | 154 GLPtr<GrGLBlendFuncProc> fBlendFunc; |
144 GLPtr<GrGLBufferDataProc> fBufferData; | 155 GLPtr<GrGLBlitFramebufferProc> fBlitFramebuffer; |
145 GLPtr<GrGLBufferSubDataProc> fBufferSubData; | 156 GLPtr<GrGLBufferDataProc> fBufferData; |
146 GLPtr<GrGLCheckFramebufferStatusProc> fCheckFramebufferStatus; | 157 GLPtr<GrGLBufferSubDataProc> fBufferSubData; |
147 GLPtr<GrGLClearProc> fClear; | 158 GLPtr<GrGLCheckFramebufferStatusProc> fCheckFramebufferStatus; |
148 GLPtr<GrGLClearColorProc> fClearColor; | 159 GLPtr<GrGLClearProc> fClear; |
149 GLPtr<GrGLClearStencilProc> fClearStencil; | 160 GLPtr<GrGLClearColorProc> fClearColor; |
150 GLPtr<GrGLClientActiveTextureProc> fClientActiveTexture; | 161 GLPtr<GrGLClearStencilProc> fClearStencil; |
151 GLPtr<GrGLColorMaskProc> fColorMask; | 162 GLPtr<GrGLClientActiveTextureProc> fClientActiveTexture; |
152 GLPtr<GrGLCompileShaderProc> fCompileShader; | 163 GLPtr<GrGLColorMaskProc> fColorMask; |
153 GLPtr<GrGLCompressedTexImage2DProc> fCompressedTexImage2D; | 164 GLPtr<GrGLCompileShaderProc> fCompileShader; |
154 GLPtr<GrGLCopyTexSubImage2DProc> fCopyTexSubImage2D; | 165 GLPtr<GrGLCompressedTexImage2DProc> fCompressedTexImage2D; |
155 GLPtr<GrGLCreateProgramProc> fCreateProgram; | 166 GLPtr<GrGLCopyTexSubImage2DProc> fCopyTexSubImage2D; |
156 GLPtr<GrGLCreateShaderProc> fCreateShader; | 167 GLPtr<GrGLCreateProgramProc> fCreateProgram; |
157 GLPtr<GrGLCullFaceProc> fCullFace; | 168 GLPtr<GrGLCreateShaderProc> fCreateShader; |
158 GLPtr<GrGLDeleteBuffersProc> fDeleteBuffers; | 169 GLPtr<GrGLCullFaceProc> fCullFace; |
159 GLPtr<GrGLDeleteFramebuffersProc> fDeleteFramebuffers; | 170 GLPtr<GrGLDeleteBuffersProc> fDeleteBuffers; |
160 GLPtr<GrGLDeleteProgramProc> fDeleteProgram; | 171 GLPtr<GrGLDeleteFramebuffersProc> fDeleteFramebuffers; |
161 GLPtr<GrGLDeleteQueriesProc> fDeleteQueries; | 172 GLPtr<GrGLDeleteProgramProc> fDeleteProgram; |
162 GLPtr<GrGLDeleteRenderbuffersProc> fDeleteRenderbuffers; | 173 GLPtr<GrGLDeleteQueriesProc> fDeleteQueries; |
163 GLPtr<GrGLDeleteShaderProc> fDeleteShader; | 174 GLPtr<GrGLDeleteRenderbuffersProc> fDeleteRenderbuffers; |
164 GLPtr<GrGLDeleteTexturesProc> fDeleteTextures; | 175 GLPtr<GrGLDeleteShaderProc> fDeleteShader; |
165 GLPtr<GrGLDeleteVertexArraysProc> fDeleteVertexArrays; | 176 GLPtr<GrGLDeleteTexturesProc> fDeleteTextures; |
166 GLPtr<GrGLDepthMaskProc> fDepthMask; | 177 GLPtr<GrGLDeleteVertexArraysProc> fDeleteVertexArrays; |
167 GLPtr<GrGLDisableProc> fDisable; | 178 GLPtr<GrGLDepthMaskProc> fDepthMask; |
168 GLPtr<GrGLDisableClientStateProc> fDisableClientState; | 179 GLPtr<GrGLDisableProc> fDisable; |
169 GLPtr<GrGLDisableVertexAttribArrayProc> fDisableVertexAttribArray; | 180 GLPtr<GrGLDisableClientStateProc> fDisableClientState; |
170 GLPtr<GrGLDrawArraysProc> fDrawArrays; | 181 GLPtr<GrGLDisableVertexAttribArrayProc> fDisableVertexAttribArray; |
171 GLPtr<GrGLDrawBufferProc> fDrawBuffer; | 182 GLPtr<GrGLDrawArraysProc> fDrawArrays; |
172 GLPtr<GrGLDrawBuffersProc> fDrawBuffers; | 183 GLPtr<GrGLDrawBufferProc> fDrawBuffer; |
173 GLPtr<GrGLDrawElementsProc> fDrawElements; | 184 GLPtr<GrGLDrawBuffersProc> fDrawBuffers; |
174 GLPtr<GrGLEnableProc> fEnable; | 185 GLPtr<GrGLDrawElementsProc> fDrawElements; |
175 GLPtr<GrGLEnableClientStateProc> fEnableClientState; | 186 GLPtr<GrGLEnableProc> fEnable; |
176 GLPtr<GrGLEnableVertexAttribArrayProc> fEnableVertexAttribArray; | 187 GLPtr<GrGLEnableClientStateProc> fEnableClientState; |
177 GLPtr<GrGLEndQueryProc> fEndQuery; | 188 GLPtr<GrGLEnableVertexAttribArrayProc> fEnableVertexAttribArray; |
178 GLPtr<GrGLFinishProc> fFinish; | 189 GLPtr<GrGLEndQueryProc> fEndQuery; |
179 GLPtr<GrGLFlushProc> fFlush; | 190 GLPtr<GrGLFinishProc> fFinish; |
180 GLPtr<GrGLFramebufferRenderbufferProc> fFramebufferRenderbuffer; | 191 GLPtr<GrGLFlushProc> fFlush; |
181 GLPtr<GrGLFramebufferTexture2DProc> fFramebufferTexture2D; | 192 GLPtr<GrGLFramebufferRenderbufferProc> fFramebufferRenderbuffer; |
182 GLPtr<GrGLFramebufferTexture2DMultisampleProc> fFramebufferTexture2DMultisam ple; | 193 GLPtr<GrGLFramebufferTexture2DProc> fFramebufferTexture2D; |
183 GLPtr<GrGLFrontFaceProc> fFrontFace; | 194 GLPtr<GrGLFramebufferTexture2DMultisampleProc> fFramebufferTexture2DMult isample; |
184 GLPtr<GrGLGenBuffersProc> fGenBuffers; | 195 GLPtr<GrGLFrontFaceProc> fFrontFace; |
185 GLPtr<GrGLGenFramebuffersProc> fGenFramebuffers; | 196 GLPtr<GrGLGenBuffersProc> fGenBuffers; |
186 GLPtr<GrGLGenerateMipmapProc> fGenerateMipmap; | 197 GLPtr<GrGLGenFramebuffersProc> fGenFramebuffers; |
187 GLPtr<GrGLGenQueriesProc> fGenQueries; | 198 GLPtr<GrGLGenerateMipmapProc> fGenerateMipmap; |
188 GLPtr<GrGLGenRenderbuffersProc> fGenRenderbuffers; | 199 GLPtr<GrGLGenQueriesProc> fGenQueries; |
189 GLPtr<GrGLGenTexturesProc> fGenTextures; | 200 GLPtr<GrGLGenRenderbuffersProc> fGenRenderbuffers; |
190 GLPtr<GrGLGenVertexArraysProc> fGenVertexArrays; | 201 GLPtr<GrGLGenTexturesProc> fGenTextures; |
191 GLPtr<GrGLGetBufferParameterivProc> fGetBufferParameteriv; | 202 GLPtr<GrGLGenVertexArraysProc> fGenVertexArrays; |
192 GLPtr<GrGLGetErrorProc> fGetError; | 203 GLPtr<GrGLGetBufferParameterivProc> fGetBufferParameteriv; |
193 GLPtr<GrGLGetFramebufferAttachmentParameterivProc> fGetFramebufferAttachment Parameteriv; | 204 GLPtr<GrGLGetErrorProc> fGetError; |
194 GLPtr<GrGLGetIntegervProc> fGetIntegerv; | 205 GLPtr<GrGLGetFramebufferAttachmentParameterivProc> fGetFramebufferAttach mentParameteriv; |
195 GLPtr<GrGLGetQueryObjecti64vProc> fGetQueryObjecti64v; | 206 GLPtr<GrGLGetIntegervProc> fGetIntegerv; |
196 GLPtr<GrGLGetQueryObjectivProc> fGetQueryObjectiv; | 207 GLPtr<GrGLGetQueryObjecti64vProc> fGetQueryObjecti64v; |
197 GLPtr<GrGLGetQueryObjectui64vProc> fGetQueryObjectui64v; | 208 GLPtr<GrGLGetQueryObjectivProc> fGetQueryObjectiv; |
198 GLPtr<GrGLGetQueryObjectuivProc> fGetQueryObjectuiv; | 209 GLPtr<GrGLGetQueryObjectui64vProc> fGetQueryObjectui64v; |
199 GLPtr<GrGLGetQueryivProc> fGetQueryiv; | 210 GLPtr<GrGLGetQueryObjectuivProc> fGetQueryObjectuiv; |
200 GLPtr<GrGLGetProgramInfoLogProc> fGetProgramInfoLog; | 211 GLPtr<GrGLGetQueryivProc> fGetQueryiv; |
201 GLPtr<GrGLGetProgramivProc> fGetProgramiv; | 212 GLPtr<GrGLGetProgramInfoLogProc> fGetProgramInfoLog; |
202 GLPtr<GrGLGetRenderbufferParameterivProc> fGetRenderbufferParameteriv; | 213 GLPtr<GrGLGetProgramivProc> fGetProgramiv; |
203 GLPtr<GrGLGetShaderInfoLogProc> fGetShaderInfoLog; | 214 GLPtr<GrGLGetRenderbufferParameterivProc> fGetRenderbufferParameteriv; |
204 GLPtr<GrGLGetShaderivProc> fGetShaderiv; | 215 GLPtr<GrGLGetShaderInfoLogProc> fGetShaderInfoLog; |
205 GLPtr<GrGLGetStringProc> fGetString; | 216 GLPtr<GrGLGetShaderivProc> fGetShaderiv; |
206 GLPtr<GrGLGetStringiProc> fGetStringi; | 217 GLPtr<GrGLGetStringProc> fGetString; |
207 GLPtr<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv; | 218 GLPtr<GrGLGetStringiProc> fGetStringi; |
208 GLPtr<GrGLGetUniformLocationProc> fGetUniformLocation; | 219 GLPtr<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv; |
209 GLPtr<GrGLLineWidthProc> fLineWidth; | 220 GLPtr<GrGLGetUniformLocationProc> fGetUniformLocation; |
210 GLPtr<GrGLLinkProgramProc> fLinkProgram; | 221 GLPtr<GrGLLineWidthProc> fLineWidth; |
211 GLPtr<GrGLLoadIdentityProc> fLoadIdentity; | 222 GLPtr<GrGLLinkProgramProc> fLinkProgram; |
212 GLPtr<GrGLLoadMatrixfProc> fLoadMatrixf; | 223 GLPtr<GrGLLoadIdentityProc> fLoadIdentity; |
213 GLPtr<GrGLMapBufferProc> fMapBuffer; | 224 GLPtr<GrGLLoadMatrixfProc> fLoadMatrixf; |
214 GLPtr<GrGLMatrixModeProc> fMatrixMode; | 225 GLPtr<GrGLMapBufferProc> fMapBuffer; |
215 GLPtr<GrGLPixelStoreiProc> fPixelStorei; | 226 GLPtr<GrGLMatrixModeProc> fMatrixMode; |
216 GLPtr<GrGLQueryCounterProc> fQueryCounter; | 227 GLPtr<GrGLPixelStoreiProc> fPixelStorei; |
217 GLPtr<GrGLReadBufferProc> fReadBuffer; | 228 GLPtr<GrGLQueryCounterProc> fQueryCounter; |
218 GLPtr<GrGLReadPixelsProc> fReadPixels; | 229 GLPtr<GrGLReadBufferProc> fReadBuffer; |
219 GLPtr<GrGLRenderbufferStorageProc> fRenderbufferStorage; | 230 GLPtr<GrGLReadPixelsProc> fReadPixels; |
220 | 231 GLPtr<GrGLRenderbufferStorageProc> fRenderbufferStorage; |
221 // On OpenGL ES there are multiple incompatible extensions that add support for MSAA | 232 |
222 // and ES3 adds MSAA support to the standard. On an ES3 driver we may still use the | 233 // On OpenGL ES there are multiple incompatible extensions that add sup port for MSAA |
223 // older extensions for performance reasons or due to ES3 driver bugs. We w ant the function | 234 // and ES3 adds MSAA support to the standard. On an ES3 driver we may s till use the |
224 // that creates the GrGLInterface to provide all available functions and in ternally | 235 // older extensions for performance reasons or due to ES3 driver bugs. We want the function |
225 // we will select among them. They all have a method called glRenderbufferS torageMultisample*. | 236 // that creates the GrGLInterface to provide all available functions an d internally |
226 // So we have separate function pointers for GL_IMG/EXT_multisampled_to_tex ture, | 237 // we will select among them. They all have a method called glRenderbuf ferStorageMultisample*. |
227 // GL_CHROMIUM/ANGLE_framebuffer_multisample/ES3, and GL_APPLE_framebuffer_ multisample | 238 // So we have separate function pointers for GL_IMG/EXT_multisampled_to _texture, |
228 // variations. | 239 // GL_CHROMIUM/ANGLE_framebuffer_multisample/ES3, and GL_APPLE_framebuf fer_multisample |
229 // | 240 // variations. |
230 // If a driver supports multiple GL_ARB_framebuffer_multisample-style exten sions then we will | 241 // |
231 // assume the function pointers for the standard (or equivalent GL_ARB) ver sion have | 242 // If a driver supports multiple GL_ARB_framebuffer_multisample-style e xtensions then we will |
232 // been preferred over GL_EXT, GL_CHROMIUM, or GL_ANGLE variations that hav e reduced | 243 // assume the function pointers for the standard (or equivalent GL_ARB) version have |
233 // functionality. | 244 // been preferred over GL_EXT, GL_CHROMIUM, or GL_ANGLE variations that have reduced |
234 | 245 // functionality. |
235 // GL_EXT_multisampled_render_to_texture (preferred) or GL_IMG_multisampled _render_to_texture | 246 |
236 GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampl eES2EXT; | 247 // GL_EXT_multisampled_render_to_texture (preferred) or GL_IMG_multisam pled_render_to_texture |
237 // GL_APPLE_framebuffer_multisample | 248 GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultis ampleES2EXT; |
238 GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampl eES2APPLE; | 249 // GL_APPLE_framebuffer_multisample |
239 | 250 GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultis ampleES2APPLE; |
240 // This is used to store the pointer for GL_ARB/EXT/ANGLE/CHROMIUM_framebuf fer_multisample or | 251 |
241 // the standard function in ES3+ or GL 3.0+. | 252 // This is used to store the pointer for GL_ARB/EXT/ANGLE/CHROMIUM_fram ebuffer_multisample or |
242 GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampl e; | 253 // the standard function in ES3+ or GL 3.0+. |
243 | 254 GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultis ample; |
244 // Pointer to BindUniformLocationCHROMIUM from the GL_CHROMIUM_bind_uniform_ location extension. | 255 |
245 GLPtr<GrGLBindUniformLocation> fBindUniformLocation; | 256 // Pointer to BindUniformLocationCHROMIUM from the GL_CHROMIUM_bind_unif orm_location extension. |
246 | 257 GLPtr<GrGLBindUniformLocation> fBindUniformLocation; |
247 GLPtr<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebuffer; | 258 |
248 GLPtr<GrGLScissorProc> fScissor; | 259 GLPtr<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebuf fer; |
249 GLPtr<GrGLShaderSourceProc> fShaderSource; | 260 GLPtr<GrGLScissorProc> fScissor; |
250 GLPtr<GrGLStencilFuncProc> fStencilFunc; | 261 GLPtr<GrGLShaderSourceProc> fShaderSource; |
251 GLPtr<GrGLStencilFuncSeparateProc> fStencilFuncSeparate; | 262 GLPtr<GrGLStencilFuncProc> fStencilFunc; |
252 GLPtr<GrGLStencilMaskProc> fStencilMask; | 263 GLPtr<GrGLStencilFuncSeparateProc> fStencilFuncSeparate; |
253 GLPtr<GrGLStencilMaskSeparateProc> fStencilMaskSeparate; | 264 GLPtr<GrGLStencilMaskProc> fStencilMask; |
254 GLPtr<GrGLStencilOpProc> fStencilOp; | 265 GLPtr<GrGLStencilMaskSeparateProc> fStencilMaskSeparate; |
255 GLPtr<GrGLStencilOpSeparateProc> fStencilOpSeparate; | 266 GLPtr<GrGLStencilOpProc> fStencilOp; |
256 GLPtr<GrGLTexGenfProc> fTexGenf; | 267 GLPtr<GrGLStencilOpSeparateProc> fStencilOpSeparate; |
257 GLPtr<GrGLTexGenfvProc> fTexGenfv; | 268 GLPtr<GrGLTexGenfProc> fTexGenf; |
258 GLPtr<GrGLTexGeniProc> fTexGeni; | 269 GLPtr<GrGLTexGenfvProc> fTexGenfv; |
259 GLPtr<GrGLTexImage2DProc> fTexImage2D; | 270 GLPtr<GrGLTexGeniProc> fTexGeni; |
260 GLPtr<GrGLTexParameteriProc> fTexParameteri; | 271 GLPtr<GrGLTexImage2DProc> fTexImage2D; |
261 GLPtr<GrGLTexParameterivProc> fTexParameteriv; | 272 GLPtr<GrGLTexParameteriProc> fTexParameteri; |
262 GLPtr<GrGLTexSubImage2DProc> fTexSubImage2D; | 273 GLPtr<GrGLTexParameterivProc> fTexParameteriv; |
263 GLPtr<GrGLTexStorage2DProc> fTexStorage2D; | 274 GLPtr<GrGLTexSubImage2DProc> fTexSubImage2D; |
264 GLPtr<GrGLDiscardFramebufferProc> fDiscardFramebuffer; | 275 GLPtr<GrGLTexStorage2DProc> fTexStorage2D; |
265 GLPtr<GrGLUniform1fProc> fUniform1f; | 276 GLPtr<GrGLDiscardFramebufferProc> fDiscardFramebuffer; |
266 GLPtr<GrGLUniform1iProc> fUniform1i; | 277 GLPtr<GrGLUniform1fProc> fUniform1f; |
267 GLPtr<GrGLUniform1fvProc> fUniform1fv; | 278 GLPtr<GrGLUniform1iProc> fUniform1i; |
268 GLPtr<GrGLUniform1ivProc> fUniform1iv; | 279 GLPtr<GrGLUniform1fvProc> fUniform1fv; |
269 GLPtr<GrGLUniform2fProc> fUniform2f; | 280 GLPtr<GrGLUniform1ivProc> fUniform1iv; |
270 GLPtr<GrGLUniform2iProc> fUniform2i; | 281 GLPtr<GrGLUniform2fProc> fUniform2f; |
271 GLPtr<GrGLUniform2fvProc> fUniform2fv; | 282 GLPtr<GrGLUniform2iProc> fUniform2i; |
272 GLPtr<GrGLUniform2ivProc> fUniform2iv; | 283 GLPtr<GrGLUniform2fvProc> fUniform2fv; |
273 GLPtr<GrGLUniform3fProc> fUniform3f; | 284 GLPtr<GrGLUniform2ivProc> fUniform2iv; |
274 GLPtr<GrGLUniform3iProc> fUniform3i; | 285 GLPtr<GrGLUniform3fProc> fUniform3f; |
275 GLPtr<GrGLUniform3fvProc> fUniform3fv; | 286 GLPtr<GrGLUniform3iProc> fUniform3i; |
276 GLPtr<GrGLUniform3ivProc> fUniform3iv; | 287 GLPtr<GrGLUniform3fvProc> fUniform3fv; |
277 GLPtr<GrGLUniform4fProc> fUniform4f; | 288 GLPtr<GrGLUniform3ivProc> fUniform3iv; |
278 GLPtr<GrGLUniform4iProc> fUniform4i; | 289 GLPtr<GrGLUniform4fProc> fUniform4f; |
279 GLPtr<GrGLUniform4fvProc> fUniform4fv; | 290 GLPtr<GrGLUniform4iProc> fUniform4i; |
280 GLPtr<GrGLUniform4ivProc> fUniform4iv; | 291 GLPtr<GrGLUniform4fvProc> fUniform4fv; |
281 GLPtr<GrGLUniformMatrix2fvProc> fUniformMatrix2fv; | 292 GLPtr<GrGLUniform4ivProc> fUniform4iv; |
282 GLPtr<GrGLUniformMatrix3fvProc> fUniformMatrix3fv; | 293 GLPtr<GrGLUniformMatrix2fvProc> fUniformMatrix2fv; |
283 GLPtr<GrGLUniformMatrix4fvProc> fUniformMatrix4fv; | 294 GLPtr<GrGLUniformMatrix3fvProc> fUniformMatrix3fv; |
284 GLPtr<GrGLUnmapBufferProc> fUnmapBuffer; | 295 GLPtr<GrGLUniformMatrix4fvProc> fUniformMatrix4fv; |
285 GLPtr<GrGLUseProgramProc> fUseProgram; | 296 GLPtr<GrGLUnmapBufferProc> fUnmapBuffer; |
286 GLPtr<GrGLVertexAttrib4fvProc> fVertexAttrib4fv; | 297 GLPtr<GrGLUseProgramProc> fUseProgram; |
287 GLPtr<GrGLVertexAttribPointerProc> fVertexAttribPointer; | 298 GLPtr<GrGLVertexAttrib4fvProc> fVertexAttrib4fv; |
288 GLPtr<GrGLVertexPointerProc> fVertexPointer; | 299 GLPtr<GrGLVertexAttribPointerProc> fVertexAttribPointer; |
289 GLPtr<GrGLViewportProc> fViewport; | 300 GLPtr<GrGLVertexPointerProc> fVertexPointer; |
290 | 301 GLPtr<GrGLViewportProc> fViewport; |
291 // Experimental: Functions for GL_NV_path_rendering. These will be | 302 |
292 // alphabetized with the above functions once this is fully supported | 303 // Experimental: Functions for GL_NV_path_rendering. These will be |
293 // (and functions we are unlikely to use will possibly be omitted). | 304 // alphabetized with the above functions once this is fully supported |
294 GLPtr<GrGLPathCommandsProc> fPathCommands; | 305 // (and functions we are unlikely to use will possibly be omitted). |
295 GLPtr<GrGLPathCoordsProc> fPathCoords; | 306 GLPtr<GrGLPathCommandsProc> fPathCommands; |
296 GLPtr<GrGLPathSubCommandsProc> fPathSubCommands; | 307 GLPtr<GrGLPathCoordsProc> fPathCoords; |
297 GLPtr<GrGLPathSubCoordsProc> fPathSubCoords; | 308 GLPtr<GrGLPathSubCommandsProc> fPathSubCommands; |
298 GLPtr<GrGLPathStringProc> fPathString; | 309 GLPtr<GrGLPathSubCoordsProc> fPathSubCoords; |
299 GLPtr<GrGLPathGlyphsProc> fPathGlyphs; | 310 GLPtr<GrGLPathStringProc> fPathString; |
300 GLPtr<GrGLPathGlyphRangeProc> fPathGlyphRange; | 311 GLPtr<GrGLPathGlyphsProc> fPathGlyphs; |
301 GLPtr<GrGLWeightPathsProc> fWeightPaths; | 312 GLPtr<GrGLPathGlyphRangeProc> fPathGlyphRange; |
302 GLPtr<GrGLCopyPathProc> fCopyPath; | 313 GLPtr<GrGLWeightPathsProc> fWeightPaths; |
303 GLPtr<GrGLInterpolatePathsProc> fInterpolatePaths; | 314 GLPtr<GrGLCopyPathProc> fCopyPath; |
304 GLPtr<GrGLTransformPathProc> fTransformPath; | 315 GLPtr<GrGLInterpolatePathsProc> fInterpolatePaths; |
305 GLPtr<GrGLPathParameterivProc> fPathParameteriv; | 316 GLPtr<GrGLTransformPathProc> fTransformPath; |
306 GLPtr<GrGLPathParameteriProc> fPathParameteri; | 317 GLPtr<GrGLPathParameterivProc> fPathParameteriv; |
307 GLPtr<GrGLPathParameterfvProc> fPathParameterfv; | 318 GLPtr<GrGLPathParameteriProc> fPathParameteri; |
308 GLPtr<GrGLPathParameterfProc> fPathParameterf; | 319 GLPtr<GrGLPathParameterfvProc> fPathParameterfv; |
309 GLPtr<GrGLPathDashArrayProc> fPathDashArray; | 320 GLPtr<GrGLPathParameterfProc> fPathParameterf; |
310 GLPtr<GrGLGenPathsProc> fGenPaths; | 321 GLPtr<GrGLPathDashArrayProc> fPathDashArray; |
311 GLPtr<GrGLDeletePathsProc> fDeletePaths; | 322 GLPtr<GrGLGenPathsProc> fGenPaths; |
312 GLPtr<GrGLIsPathProc> fIsPath; | 323 GLPtr<GrGLDeletePathsProc> fDeletePaths; |
313 GLPtr<GrGLPathStencilFuncProc> fPathStencilFunc; | 324 GLPtr<GrGLIsPathProc> fIsPath; |
314 GLPtr<GrGLPathStencilDepthOffsetProc> fPathStencilDepthOffset; | 325 GLPtr<GrGLPathStencilFuncProc> fPathStencilFunc; |
315 GLPtr<GrGLStencilFillPathProc> fStencilFillPath; | 326 GLPtr<GrGLPathStencilDepthOffsetProc> fPathStencilDepthOffset; |
316 GLPtr<GrGLStencilStrokePathProc> fStencilStrokePath; | 327 GLPtr<GrGLStencilFillPathProc> fStencilFillPath; |
317 GLPtr<GrGLStencilFillPathInstancedProc> fStencilFillPathInstanced; | 328 GLPtr<GrGLStencilStrokePathProc> fStencilStrokePath; |
318 GLPtr<GrGLStencilStrokePathInstancedProc> fStencilStrokePathInstanced; | 329 GLPtr<GrGLStencilFillPathInstancedProc> fStencilFillPathInstanced; |
319 GLPtr<GrGLPathCoverDepthFuncProc> fPathCoverDepthFunc; | 330 GLPtr<GrGLStencilStrokePathInstancedProc> fStencilStrokePathInstanced; |
320 GLPtr<GrGLPathColorGenProc> fPathColorGen; | 331 GLPtr<GrGLPathCoverDepthFuncProc> fPathCoverDepthFunc; |
321 GLPtr<GrGLPathTexGenProc> fPathTexGen; | 332 GLPtr<GrGLPathColorGenProc> fPathColorGen; |
322 GLPtr<GrGLPathFogGenProc> fPathFogGen; | 333 GLPtr<GrGLPathTexGenProc> fPathTexGen; |
323 GLPtr<GrGLCoverFillPathProc> fCoverFillPath; | 334 GLPtr<GrGLPathFogGenProc> fPathFogGen; |
324 GLPtr<GrGLCoverStrokePathProc> fCoverStrokePath; | 335 GLPtr<GrGLCoverFillPathProc> fCoverFillPath; |
325 GLPtr<GrGLCoverFillPathInstancedProc> fCoverFillPathInstanced; | 336 GLPtr<GrGLCoverStrokePathProc> fCoverStrokePath; |
326 GLPtr<GrGLCoverStrokePathInstancedProc> fCoverStrokePathInstanced; | 337 GLPtr<GrGLCoverFillPathInstancedProc> fCoverFillPathInstanced; |
327 GLPtr<GrGLGetPathParameterivProc> fGetPathParameteriv; | 338 GLPtr<GrGLCoverStrokePathInstancedProc> fCoverStrokePathInstanced; |
328 GLPtr<GrGLGetPathParameterfvProc> fGetPathParameterfv; | 339 GLPtr<GrGLGetPathParameterivProc> fGetPathParameteriv; |
329 GLPtr<GrGLGetPathCommandsProc> fGetPathCommands; | 340 GLPtr<GrGLGetPathParameterfvProc> fGetPathParameterfv; |
330 GLPtr<GrGLGetPathCoordsProc> fGetPathCoords; | 341 GLPtr<GrGLGetPathCommandsProc> fGetPathCommands; |
331 GLPtr<GrGLGetPathDashArrayProc> fGetPathDashArray; | 342 GLPtr<GrGLGetPathCoordsProc> fGetPathCoords; |
332 GLPtr<GrGLGetPathMetricsProc> fGetPathMetrics; | 343 GLPtr<GrGLGetPathDashArrayProc> fGetPathDashArray; |
333 GLPtr<GrGLGetPathMetricRangeProc> fGetPathMetricRange; | 344 GLPtr<GrGLGetPathMetricsProc> fGetPathMetrics; |
334 GLPtr<GrGLGetPathSpacingProc> fGetPathSpacing; | 345 GLPtr<GrGLGetPathMetricRangeProc> fGetPathMetricRange; |
335 GLPtr<GrGLGetPathColorGenivProc> fGetPathColorGeniv; | 346 GLPtr<GrGLGetPathSpacingProc> fGetPathSpacing; |
336 GLPtr<GrGLGetPathColorGenfvProc> fGetPathColorGenfv; | 347 GLPtr<GrGLGetPathColorGenivProc> fGetPathColorGeniv; |
337 GLPtr<GrGLGetPathTexGenivProc> fGetPathTexGeniv; | 348 GLPtr<GrGLGetPathColorGenfvProc> fGetPathColorGenfv; |
338 GLPtr<GrGLGetPathTexGenfvProc> fGetPathTexGenfv; | 349 GLPtr<GrGLGetPathTexGenivProc> fGetPathTexGeniv; |
339 GLPtr<GrGLIsPointInFillPathProc> fIsPointInFillPath; | 350 GLPtr<GrGLGetPathTexGenfvProc> fGetPathTexGenfv; |
340 GLPtr<GrGLIsPointInStrokePathProc> fIsPointInStrokePath; | 351 GLPtr<GrGLIsPointInFillPathProc> fIsPointInFillPath; |
341 GLPtr<GrGLGetPathLengthProc> fGetPathLength; | 352 GLPtr<GrGLIsPointInStrokePathProc> fIsPointInStrokePath; |
342 GLPtr<GrGLPointAlongPathProc> fPointAlongPath; | 353 GLPtr<GrGLGetPathLengthProc> fGetPathLength; |
354 GLPtr<GrGLPointAlongPathProc> fPointAlongPath; | |
355 } fFunctions; | |
356 | |
357 | |
358 // Temporary workaround aliases to keep Chromium GrGLInterface factories com piling until they | |
359 // assign the members of fFunctions. | |
360 GLPtrAlias<GrGLActiveTextureProc> fActiveTexture; | |
361 GLPtrAlias<GrGLAttachShaderProc> fAttachShader; | |
362 GLPtrAlias<GrGLBeginQueryProc> fBeginQuery; | |
363 GLPtrAlias<GrGLBindAttribLocationProc> fBindAttribLocation; | |
364 GLPtrAlias<GrGLBindBufferProc> fBindBuffer; | |
365 GLPtrAlias<GrGLBindFragDataLocationProc> fBindFragDataLocation; | |
366 GLPtrAlias<GrGLBindFragDataLocationIndexedProc> fBindFragDataLocationIndexed ; | |
367 GLPtrAlias<GrGLBindFramebufferProc> fBindFramebuffer; | |
368 GLPtrAlias<GrGLBindRenderbufferProc> fBindRenderbuffer; | |
369 GLPtrAlias<GrGLBindTextureProc> fBindTexture; | |
370 GLPtrAlias<GrGLBindVertexArrayProc> fBindVertexArray; | |
371 GLPtrAlias<GrGLBlendColorProc> fBlendColor; | |
372 GLPtrAlias<GrGLBlendFuncProc> fBlendFunc; | |
373 GLPtrAlias<GrGLBlitFramebufferProc> fBlitFramebuffer; | |
374 GLPtrAlias<GrGLBufferDataProc> fBufferData; | |
375 GLPtrAlias<GrGLBufferSubDataProc> fBufferSubData; | |
376 GLPtrAlias<GrGLCheckFramebufferStatusProc> fCheckFramebufferStatus; | |
377 GLPtrAlias<GrGLClearProc> fClear; | |
378 GLPtrAlias<GrGLClearColorProc> fClearColor; | |
379 GLPtrAlias<GrGLClearStencilProc> fClearStencil; | |
380 GLPtrAlias<GrGLClientActiveTextureProc> fClientActiveTexture; | |
381 GLPtrAlias<GrGLColorMaskProc> fColorMask; | |
382 GLPtrAlias<GrGLCompileShaderProc> fCompileShader; | |
383 GLPtrAlias<GrGLCompressedTexImage2DProc> fCompressedTexImage2D; | |
384 GLPtrAlias<GrGLCopyTexSubImage2DProc> fCopyTexSubImage2D; | |
385 GLPtrAlias<GrGLCreateProgramProc> fCreateProgram; | |
386 GLPtrAlias<GrGLCreateShaderProc> fCreateShader; | |
387 GLPtrAlias<GrGLCullFaceProc> fCullFace; | |
388 GLPtrAlias<GrGLDeleteBuffersProc> fDeleteBuffers; | |
389 GLPtrAlias<GrGLDeleteFramebuffersProc> fDeleteFramebuffers; | |
390 GLPtrAlias<GrGLDeleteProgramProc> fDeleteProgram; | |
391 GLPtrAlias<GrGLDeleteQueriesProc> fDeleteQueries; | |
392 GLPtrAlias<GrGLDeleteRenderbuffersProc> fDeleteRenderbuffers; | |
393 GLPtrAlias<GrGLDeleteShaderProc> fDeleteShader; | |
394 GLPtrAlias<GrGLDeleteTexturesProc> fDeleteTextures; | |
395 GLPtrAlias<GrGLDeleteVertexArraysProc> fDeleteVertexArrays; | |
396 GLPtrAlias<GrGLDepthMaskProc> fDepthMask; | |
397 GLPtrAlias<GrGLDisableProc> fDisable; | |
398 GLPtrAlias<GrGLDisableClientStateProc> fDisableClientState; | |
399 GLPtrAlias<GrGLDisableVertexAttribArrayProc> fDisableVertexAttribArray; | |
400 GLPtrAlias<GrGLDrawArraysProc> fDrawArrays; | |
401 GLPtrAlias<GrGLDrawBufferProc> fDrawBuffer; | |
402 GLPtrAlias<GrGLDrawBuffersProc> fDrawBuffers; | |
403 GLPtrAlias<GrGLDrawElementsProc> fDrawElements; | |
404 GLPtrAlias<GrGLEnableProc> fEnable; | |
405 GLPtrAlias<GrGLEnableClientStateProc> fEnableClientState; | |
406 GLPtrAlias<GrGLEnableVertexAttribArrayProc> fEnableVertexAttribArray; | |
407 GLPtrAlias<GrGLEndQueryProc> fEndQuery; | |
408 GLPtrAlias<GrGLFinishProc> fFinish; | |
409 GLPtrAlias<GrGLFlushProc> fFlush; | |
410 GLPtrAlias<GrGLFramebufferRenderbufferProc> fFramebufferRenderbuffer; | |
411 GLPtrAlias<GrGLFramebufferTexture2DProc> fFramebufferTexture2D; | |
412 GLPtrAlias<GrGLFramebufferTexture2DMultisampleProc> fFramebufferTexture2DMul tisample; | |
413 GLPtrAlias<GrGLFrontFaceProc> fFrontFace; | |
414 GLPtrAlias<GrGLGenBuffersProc> fGenBuffers; | |
415 GLPtrAlias<GrGLGenFramebuffersProc> fGenFramebuffers; | |
416 GLPtrAlias<GrGLGenerateMipmapProc> fGenerateMipmap; | |
417 GLPtrAlias<GrGLGenQueriesProc> fGenQueries; | |
418 GLPtrAlias<GrGLGenRenderbuffersProc> fGenRenderbuffers; | |
419 GLPtrAlias<GrGLGenTexturesProc> fGenTextures; | |
420 GLPtrAlias<GrGLGenVertexArraysProc> fGenVertexArrays; | |
421 GLPtrAlias<GrGLGetBufferParameterivProc> fGetBufferParameteriv; | |
422 GLPtrAlias<GrGLGetErrorProc> fGetError; | |
423 GLPtrAlias<GrGLGetFramebufferAttachmentParameterivProc> fGetFramebufferAttac hmentParameteriv; | |
424 GLPtrAlias<GrGLGetIntegervProc> fGetIntegerv; | |
425 GLPtrAlias<GrGLGetQueryObjecti64vProc> fGetQueryObjecti64v; | |
426 GLPtrAlias<GrGLGetQueryObjectivProc> fGetQueryObjectiv; | |
427 GLPtrAlias<GrGLGetQueryObjectui64vProc> fGetQueryObjectui64v; | |
428 GLPtrAlias<GrGLGetQueryObjectuivProc> fGetQueryObjectuiv; | |
429 GLPtrAlias<GrGLGetQueryivProc> fGetQueryiv; | |
430 GLPtrAlias<GrGLGetProgramInfoLogProc> fGetProgramInfoLog; | |
431 GLPtrAlias<GrGLGetProgramivProc> fGetProgramiv; | |
432 GLPtrAlias<GrGLGetRenderbufferParameterivProc> fGetRenderbufferParameteriv; | |
433 GLPtrAlias<GrGLGetShaderInfoLogProc> fGetShaderInfoLog; | |
434 GLPtrAlias<GrGLGetShaderivProc> fGetShaderiv; | |
435 GLPtrAlias<GrGLGetStringProc> fGetString; | |
436 GLPtrAlias<GrGLGetStringiProc> fGetStringi; | |
437 GLPtrAlias<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv; | |
438 GLPtrAlias<GrGLGetUniformLocationProc> fGetUniformLocation; | |
439 GLPtrAlias<GrGLLineWidthProc> fLineWidth; | |
440 GLPtrAlias<GrGLLinkProgramProc> fLinkProgram; | |
441 GLPtrAlias<GrGLLoadIdentityProc> fLoadIdentity; | |
442 GLPtrAlias<GrGLLoadMatrixfProc> fLoadMatrixf; | |
443 GLPtrAlias<GrGLMapBufferProc> fMapBuffer; | |
444 GLPtrAlias<GrGLMatrixModeProc> fMatrixMode; | |
445 GLPtrAlias<GrGLPixelStoreiProc> fPixelStorei; | |
446 GLPtrAlias<GrGLQueryCounterProc> fQueryCounter; | |
447 GLPtrAlias<GrGLReadBufferProc> fReadBuffer; | |
448 GLPtrAlias<GrGLReadPixelsProc> fReadPixels; | |
449 GLPtrAlias<GrGLRenderbufferStorageProc> fRenderbufferStorage; | |
450 GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMulti sampleES2EXT; | |
451 GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMulti sampleES2APPLE; | |
452 GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMulti sample; | |
453 GLPtrAlias<GrGLBindUniformLocation> fBindUniformLocation; | |
454 GLPtrAlias<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebu ffer; | |
455 GLPtrAlias<GrGLScissorProc> fScissor; | |
456 GLPtrAlias<GrGLShaderSourceProc> fShaderSource; | |
457 GLPtrAlias<GrGLStencilFuncProc> fStencilFunc; | |
458 GLPtrAlias<GrGLStencilFuncSeparateProc> fStencilFuncSeparate; | |
459 GLPtrAlias<GrGLStencilMaskProc> fStencilMask; | |
460 GLPtrAlias<GrGLStencilMaskSeparateProc> fStencilMaskSeparate; | |
461 GLPtrAlias<GrGLStencilOpProc> fStencilOp; | |
462 GLPtrAlias<GrGLStencilOpSeparateProc> fStencilOpSeparate; | |
463 GLPtrAlias<GrGLTexGenfProc> fTexGenf; | |
464 GLPtrAlias<GrGLTexGenfvProc> fTexGenfv; | |
465 GLPtrAlias<GrGLTexGeniProc> fTexGeni; | |
466 GLPtrAlias<GrGLTexImage2DProc> fTexImage2D; | |
467 GLPtrAlias<GrGLTexParameteriProc> fTexParameteri; | |
468 GLPtrAlias<GrGLTexParameterivProc> fTexParameteriv; | |
469 GLPtrAlias<GrGLTexSubImage2DProc> fTexSubImage2D; | |
470 GLPtrAlias<GrGLTexStorage2DProc> fTexStorage2D; | |
471 GLPtrAlias<GrGLDiscardFramebufferProc> fDiscardFramebuffer; | |
472 GLPtrAlias<GrGLUniform1fProc> fUniform1f; | |
473 GLPtrAlias<GrGLUniform1iProc> fUniform1i; | |
474 GLPtrAlias<GrGLUniform1fvProc> fUniform1fv; | |
475 GLPtrAlias<GrGLUniform1ivProc> fUniform1iv; | |
476 GLPtrAlias<GrGLUniform2fProc> fUniform2f; | |
477 GLPtrAlias<GrGLUniform2iProc> fUniform2i; | |
478 GLPtrAlias<GrGLUniform2fvProc> fUniform2fv; | |
479 GLPtrAlias<GrGLUniform2ivProc> fUniform2iv; | |
480 GLPtrAlias<GrGLUniform3fProc> fUniform3f; | |
481 GLPtrAlias<GrGLUniform3iProc> fUniform3i; | |
482 GLPtrAlias<GrGLUniform3fvProc> fUniform3fv; | |
483 GLPtrAlias<GrGLUniform3ivProc> fUniform3iv; | |
484 GLPtrAlias<GrGLUniform4fProc> fUniform4f; | |
485 GLPtrAlias<GrGLUniform4iProc> fUniform4i; | |
486 GLPtrAlias<GrGLUniform4fvProc> fUniform4fv; | |
487 GLPtrAlias<GrGLUniform4ivProc> fUniform4iv; | |
488 GLPtrAlias<GrGLUniformMatrix2fvProc> fUniformMatrix2fv; | |
489 GLPtrAlias<GrGLUniformMatrix3fvProc> fUniformMatrix3fv; | |
490 GLPtrAlias<GrGLUniformMatrix4fvProc> fUniformMatrix4fv; | |
491 GLPtrAlias<GrGLUnmapBufferProc> fUnmapBuffer; | |
492 GLPtrAlias<GrGLUseProgramProc> fUseProgram; | |
493 GLPtrAlias<GrGLVertexAttrib4fvProc> fVertexAttrib4fv; | |
494 GLPtrAlias<GrGLVertexAttribPointerProc> fVertexAttribPointer; | |
495 GLPtrAlias<GrGLVertexPointerProc> fVertexPointer; | |
496 GLPtrAlias<GrGLViewportProc> fViewport; | |
497 GLPtrAlias<GrGLPathCommandsProc> fPathCommands; | |
498 GLPtrAlias<GrGLPathCoordsProc> fPathCoords; | |
499 GLPtrAlias<GrGLPathSubCommandsProc> fPathSubCommands; | |
500 GLPtrAlias<GrGLPathSubCoordsProc> fPathSubCoords; | |
501 GLPtrAlias<GrGLPathStringProc> fPathString; | |
502 GLPtrAlias<GrGLPathGlyphsProc> fPathGlyphs; | |
503 GLPtrAlias<GrGLPathGlyphRangeProc> fPathGlyphRange; | |
504 GLPtrAlias<GrGLWeightPathsProc> fWeightPaths; | |
505 GLPtrAlias<GrGLCopyPathProc> fCopyPath; | |
506 GLPtrAlias<GrGLInterpolatePathsProc> fInterpolatePaths; | |
507 GLPtrAlias<GrGLTransformPathProc> fTransformPath; | |
508 GLPtrAlias<GrGLPathParameterivProc> fPathParameteriv; | |
509 GLPtrAlias<GrGLPathParameteriProc> fPathParameteri; | |
510 GLPtrAlias<GrGLPathParameterfvProc> fPathParameterfv; | |
511 GLPtrAlias<GrGLPathParameterfProc> fPathParameterf; | |
512 GLPtrAlias<GrGLPathDashArrayProc> fPathDashArray; | |
513 GLPtrAlias<GrGLGenPathsProc> fGenPaths; | |
514 GLPtrAlias<GrGLDeletePathsProc> fDeletePaths; | |
515 GLPtrAlias<GrGLIsPathProc> fIsPath; | |
516 GLPtrAlias<GrGLPathStencilFuncProc> fPathStencilFunc; | |
517 GLPtrAlias<GrGLPathStencilDepthOffsetProc> fPathStencilDepthOffset; | |
518 GLPtrAlias<GrGLStencilFillPathProc> fStencilFillPath; | |
519 GLPtrAlias<GrGLStencilStrokePathProc> fStencilStrokePath; | |
520 GLPtrAlias<GrGLStencilFillPathInstancedProc> fStencilFillPathInstanced; | |
521 GLPtrAlias<GrGLStencilStrokePathInstancedProc> fStencilStrokePathInstanced; | |
522 GLPtrAlias<GrGLPathCoverDepthFuncProc> fPathCoverDepthFunc; | |
523 GLPtrAlias<GrGLPathColorGenProc> fPathColorGen; | |
524 GLPtrAlias<GrGLPathTexGenProc> fPathTexGen; | |
525 GLPtrAlias<GrGLPathFogGenProc> fPathFogGen; | |
526 GLPtrAlias<GrGLCoverFillPathProc> fCoverFillPath; | |
527 GLPtrAlias<GrGLCoverStrokePathProc> fCoverStrokePath; | |
528 GLPtrAlias<GrGLCoverFillPathInstancedProc> fCoverFillPathInstanced; | |
529 GLPtrAlias<GrGLCoverStrokePathInstancedProc> fCoverStrokePathInstanced; | |
530 GLPtrAlias<GrGLGetPathParameterivProc> fGetPathParameteriv; | |
531 GLPtrAlias<GrGLGetPathParameterfvProc> fGetPathParameterfv; | |
532 GLPtrAlias<GrGLGetPathCommandsProc> fGetPathCommands; | |
533 GLPtrAlias<GrGLGetPathCoordsProc> fGetPathCoords; | |
534 GLPtrAlias<GrGLGetPathDashArrayProc> fGetPathDashArray; | |
535 GLPtrAlias<GrGLGetPathMetricsProc> fGetPathMetrics; | |
536 GLPtrAlias<GrGLGetPathMetricRangeProc> fGetPathMetricRange; | |
537 GLPtrAlias<GrGLGetPathSpacingProc> fGetPathSpacing; | |
538 GLPtrAlias<GrGLGetPathColorGenivProc> fGetPathColorGeniv; | |
539 GLPtrAlias<GrGLGetPathColorGenfvProc> fGetPathColorGenfv; | |
540 GLPtrAlias<GrGLGetPathTexGenivProc> fGetPathTexGeniv; | |
541 GLPtrAlias<GrGLGetPathTexGenfvProc> fGetPathTexGenfv; | |
542 GLPtrAlias<GrGLIsPointInFillPathProc> fIsPointInFillPath; | |
543 GLPtrAlias<GrGLIsPointInStrokePathProc> fIsPointInStrokePath; | |
544 GLPtrAlias<GrGLGetPathLengthProc> fGetPathLength; | |
545 GLPtrAlias<GrGLPointAlongPathProc> fPointAlongPath; | |
343 | 546 |
344 // Per-GL func callback | 547 // Per-GL func callback |
345 #if GR_GL_PER_GL_FUNC_CALLBACK | 548 #if GR_GL_PER_GL_FUNC_CALLBACK |
346 GrGLInterfaceCallbackProc fCallback; | 549 GrGLInterfaceCallbackProc fCallback; |
347 GrGLInterfaceCallbackData fCallbackData; | 550 GrGLInterfaceCallbackData fCallbackData; |
348 #endif | 551 #endif |
349 | 552 |
350 }; | 553 }; |
351 | 554 |
352 #endif | 555 #endif |
OLD | NEW |