Chromium Code Reviews| Index: include/gpu/gl/GrGLInterface.h |
| =================================================================== |
| --- include/gpu/gl/GrGLInterface.h (revision 10891) |
| +++ include/gpu/gl/GrGLInterface.h (working copy) |
| @@ -223,7 +223,29 @@ |
| GLPtr<GrGLReadBufferProc> fReadBuffer; |
| GLPtr<GrGLReadPixelsProc> fReadPixels; |
| GLPtr<GrGLRenderbufferStorageProc> fRenderbufferStorage; |
| + |
| +#if !GR_GL_IGNORE_ES3_MSAA |
| + // On OpenGL ES there are multiple incompatible extensions that add support for MSAA |
| + // and ES3 adds MSAA support to the standard. On an ES3 driver we may still use the |
| + // older extensions for performance reasons or due to ES3 driver bugs. We want the function |
| + // that creates the GrGLInterface to provide all available functions and internally |
| + // we will select among them. They all have a method called glRenderbufferStorageMultisample*. |
| + // So we have separate function pointers for GL_IMG/EXT_multisampled_to_texture, |
| + // GL_CHROMIUM/ANGLE_framebuffer_multisample/ES3, and GL_APPLE_framebuffer_multisample |
| + // variations. |
| + // |
| + // If a driver supports multiple GL_ARB_framebuffer_multisample-style extensions then we will |
| + // assume the function pointers for the standard (or equivalent GL_ARB) version have |
| + // been preferred over GL_EXT, GL_CHROMIUM, or GL_ANGLE variations that have reduced |
| + // functionality. |
| + |
| + // GL_EXT_multisampled_render_to_texture (preferred) or GL_IMG_multisampled_render_to_texture |
| + GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampleES2EXT; |
| + // GL_APPLE_framebuffer_multisample |
| + GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampleES2APPLE; |
| +#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.
|
| GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisample; |
| + |
| GLPtr<GrGLRenderbufferStorageMultisampleCoverageProc> fRenderbufferStorageMultisampleCoverage; |
| GLPtr<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebuffer; |
| GLPtr<GrGLScissorProc> fScissor; |