Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(205)

Side by Side Diff: include/gpu/gl/GrGLInterface.h

Issue 133073009: Move GrGLInterface function pointers into a nested struct (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: tip of tree Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « include/gpu/gl/GrGLExtensions.h ('k') | include/gpu/gl/SkGLContextHelper.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
OLDNEW
« no previous file with comments | « include/gpu/gl/GrGLExtensions.h ('k') | include/gpu/gl/SkGLContextHelper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698