| Index: include/gpu/gl/GrGLInterface.h
|
| diff --git a/include/gpu/gl/GrGLInterface.h b/include/gpu/gl/GrGLInterface.h
|
| index 67d6840e423e4dab45213040e243057cf450dff6..de1b29143faa58daa9b85127a47ff8e246797f58 100644
|
| --- a/include/gpu/gl/GrGLInterface.h
|
| +++ b/include/gpu/gl/GrGLInterface.h
|
| @@ -229,7 +229,31 @@ public:
|
| 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
|
| + // This is used to store the pointer for GL_ARB/EXT/ANGLE/CHROMIUM_framebuffer_multisample or
|
| + // the standard function in ES3+ or GL 3.0+.
|
| GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisample;
|
| +
|
| GLPtr<GrGLRenderbufferStorageMultisampleCoverageProc> fRenderbufferStorageMultisampleCoverage;
|
| GLPtr<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebuffer;
|
| GLPtr<GrGLScissorProc> fScissor;
|
|
|