aboutsummaryrefslogtreecommitdiffhomepage
path: root/gpu/src/GrGLInterface.cpp
diff options
context:
space:
mode:
authorGravatar bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-03-23 13:50:34 +0000
committerGravatar bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-03-23 13:50:34 +0000
commita9ecdadfbcc06ccfd40f13aa2d7b563a64520060 (patch)
tree22ceff7424c8dbd94ad713451f6396c66575a875 /gpu/src/GrGLInterface.cpp
parentc04e6d500ca29bbca270ee49a22d92cc3139e498 (diff)
Add GL_CHROMIUM_framebuffer_multisample support.
Review URL: http://codereview.appspot.com/4287072/ git-svn-id: http://skia.googlecode.com/svn/trunk@984 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gpu/src/GrGLInterface.cpp')
-rw-r--r--gpu/src/GrGLInterface.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/gpu/src/GrGLInterface.cpp b/gpu/src/GrGLInterface.cpp
index 702b057e3e..9c3d5bbd6b 100644
--- a/gpu/src/GrGLInterface.cpp
+++ b/gpu/src/GrGLInterface.cpp
@@ -212,11 +212,26 @@ void InitializeGLInterfaceExtensions(GrGLInterface* glBindings) {
fboFound = true;
}
#endif
-
+ bool msaaFound = false;
+ // Chrome advertises the equivalent of GL_EXT_framebuffer_blit plus
+ // GL_EXT_framebuffer_multisample as GL_CHROMIUM_framebuffer_multisample
+ // The EXT suffixes are used on the functions, however.
+ #if GL_EXT_framebuffer_multisample
+ if (!msaaFound &&
+ has_gl_extension_from_string("GL_CHROMIUM_framebuffer_multisample",
+ extensionString)) {
+ GR_GL_GET_PROC_SUFFIX(RenderbufferStorageMultisample, EXT);
+ GR_GL_GET_PROC_SUFFIX(BlitFramebuffer, EXT);
+ msaaFound = true;
+ }
+ #endif
#if GL_APPLE_framebuffer_multisample
- if (has_gl_extension_from_string("GL_APPLE_framebuffer_multisample",
+ if (!msaaFound &&
+ has_gl_extension_from_string("GL_APPLE_framebuffer_multisample",
extensionString)) {
+ GR_GL_GET_PROC_SUFFIX(RenderbufferStorageMultisample, APPLE);
GR_GL_GET_PROC_SUFFIX(ResolveMultisampleFramebuffer, APPLE);
+ msaaFound = true;
}
#endif