OLD | NEW |
---|---|
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 | 9 |
10 #ifndef GrGLInterface_DEFINED | 10 #ifndef GrGLInterface_DEFINED |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
216 GLPtr<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv; | 216 GLPtr<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv; |
217 GLPtr<GrGLGetUniformLocationProc> fGetUniformLocation; | 217 GLPtr<GrGLGetUniformLocationProc> fGetUniformLocation; |
218 GLPtr<GrGLLineWidthProc> fLineWidth; | 218 GLPtr<GrGLLineWidthProc> fLineWidth; |
219 GLPtr<GrGLLinkProgramProc> fLinkProgram; | 219 GLPtr<GrGLLinkProgramProc> fLinkProgram; |
220 GLPtr<GrGLMapBufferProc> fMapBuffer; | 220 GLPtr<GrGLMapBufferProc> fMapBuffer; |
221 GLPtr<GrGLPixelStoreiProc> fPixelStorei; | 221 GLPtr<GrGLPixelStoreiProc> fPixelStorei; |
222 GLPtr<GrGLQueryCounterProc> fQueryCounter; | 222 GLPtr<GrGLQueryCounterProc> fQueryCounter; |
223 GLPtr<GrGLReadBufferProc> fReadBuffer; | 223 GLPtr<GrGLReadBufferProc> fReadBuffer; |
224 GLPtr<GrGLReadPixelsProc> fReadPixels; | 224 GLPtr<GrGLReadPixelsProc> fReadPixels; |
225 GLPtr<GrGLRenderbufferStorageProc> fRenderbufferStorage; | 225 GLPtr<GrGLRenderbufferStorageProc> fRenderbufferStorage; |
226 | |
227 #if !GR_GL_IGNORE_ES3_MSAA | |
228 // On OpenGL ES there are multiple incompatible extensions that add support for MSAA | |
229 // and ES3 adds MSAA support to the standard. On an ES3 driver we may still use the | |
230 // older extensions for performance reasons or due to ES3 driver bugs. We w ant the function | |
231 // that creates the GrGLInterface to provide all available functions and in ternally | |
232 // we will select among them. They all have a method called glRenderbufferS torageMultisample*. | |
233 // So we have separate function pointers for GL_IMG/EXT_multisampled_to_tex ture, | |
234 // GL_CHROMIUM/ANGLE_framebuffer_multisample/ES3, and GL_APPLE_framebuffer_ multisample | |
235 // variations. | |
236 // | |
237 // If a driver supports multiple GL_ARB_framebuffer_multisample-style exten sions then we will | |
238 // assume the function pointers for the standard (or equivalent GL_ARB) ver sion have | |
239 // been preferred over GL_EXT, GL_CHROMIUM, or GL_ANGLE variations that hav e reduced | |
240 // functionality. | |
241 | |
242 // GL_EXT_multisampled_render_to_texture (preferred) or GL_IMG_multisampled _render_to_texture | |
243 GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampl eES2EXT; | |
244 // GL_APPLE_framebuffer_multisample | |
245 GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampl eES2APPLE; | |
246 #endif | |
jvanverth1
2013/08/27 17:39:06
Maybe a comment here stating that this is where GL
bsalomon
2013/09/05 22:00:15
Done.
| |
226 GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampl e; | 247 GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampl e; |
248 | |
227 GLPtr<GrGLRenderbufferStorageMultisampleCoverageProc> fRenderbufferStorageMu ltisampleCoverage; | 249 GLPtr<GrGLRenderbufferStorageMultisampleCoverageProc> fRenderbufferStorageMu ltisampleCoverage; |
228 GLPtr<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebuffer; | 250 GLPtr<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebuffer; |
229 GLPtr<GrGLScissorProc> fScissor; | 251 GLPtr<GrGLScissorProc> fScissor; |
230 GLPtr<GrGLShaderSourceProc> fShaderSource; | 252 GLPtr<GrGLShaderSourceProc> fShaderSource; |
231 GLPtr<GrGLStencilFuncProc> fStencilFunc; | 253 GLPtr<GrGLStencilFuncProc> fStencilFunc; |
232 GLPtr<GrGLStencilFuncSeparateProc> fStencilFuncSeparate; | 254 GLPtr<GrGLStencilFuncSeparateProc> fStencilFuncSeparate; |
233 GLPtr<GrGLStencilMaskProc> fStencilMask; | 255 GLPtr<GrGLStencilMaskProc> fStencilMask; |
234 GLPtr<GrGLStencilMaskSeparateProc> fStencilMaskSeparate; | 256 GLPtr<GrGLStencilMaskSeparateProc> fStencilMaskSeparate; |
235 GLPtr<GrGLStencilOpProc> fStencilOp; | 257 GLPtr<GrGLStencilOpProc> fStencilOp; |
236 GLPtr<GrGLStencilOpSeparateProc> fStencilOpSeparate; | 258 GLPtr<GrGLStencilOpSeparateProc> fStencilOpSeparate; |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
323 | 345 |
324 // Per-GL func callback | 346 // Per-GL func callback |
325 #if GR_GL_PER_GL_FUNC_CALLBACK | 347 #if GR_GL_PER_GL_FUNC_CALLBACK |
326 GrGLInterfaceCallbackProc fCallback; | 348 GrGLInterfaceCallbackProc fCallback; |
327 GrGLInterfaceCallbackData fCallbackData; | 349 GrGLInterfaceCallbackData fCallbackData; |
328 #endif | 350 #endif |
329 | 351 |
330 }; | 352 }; |
331 | 353 |
332 #endif | 354 #endif |
OLD | NEW |