Index: src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp |
=================================================================== |
--- src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp (revision 10891) |
+++ src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp (working copy) |
@@ -149,6 +149,8 @@ |
interface->fDeleteRenderbuffers = glDeleteRenderbuffers; |
interface->fFramebufferRenderbuffer = glFramebufferRenderbuffer; |
interface->fFramebufferTexture2D = glFramebufferTexture2D; |
+ |
+#if GR_GL_IGNORE_ES3_MSAA |
robertphillips
2013/08/23 17:25:34
could these two if blocks be shared with the !GR_G
bsalomon
2013/08/23 17:28:49
They don't use ES2APPLE or ES2EXT. It'll also be a
|
if (extensions.has("GL_EXT_multisampled_render_to_texture")) { |
#if GL_EXT_multisampled_render_to_texture |
interface->fFramebufferTexture2DMultisample = glFramebufferTexture2DMultisampleEXT; |
@@ -166,6 +168,37 @@ |
interface->fRenderbufferStorageMultisample = (GrGLRenderbufferStorageMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisampleIMG"); |
#endif |
} |
+ |
+#else // GR_GL_IGNORE_ES3_MSAA |
+ |
+ if (version >= GR_GL_VER(3,0)) { |
+#if GL_ES_VERSION_3_0 |
+ interface->fRenderbufferStorageMultisample = glRenderbufferStorageMultisample; |
+ interface->fBlitFramebuffer = glBlitFramebuffer; |
+#else |
+ interface->fRenderbufferStorageMultisample = (GrGLRenderbufferStorageMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisample"); |
+ interface->fBlitFramebuffer = (GrGLBlitFramebufferProc) eglGetProcAddress("glBlitFramebuffer"); |
+#endif |
+ } |
+ if (extensions.has("GL_EXT_multisampled_render_to_texture")) { |
+#if GL_EXT_multisampled_render_to_texture |
+ interface->fFramebufferTexture2DMultisample = glFramebufferTexture2DMultisampleEXT; |
+ interface->fRenderbufferStorageMultisampleES2EXT = glRenderbufferStorageMultisampleEXT; |
+#else |
+ interface->fFramebufferTexture2DMultisample = (GrGLFramebufferTexture2DMultisampleProc) eglGetProcAddress("glFramebufferTexture2DMultisampleEXT"); |
+ interface->fRenderbufferStorageMultisampleES2EXT = (GrGLRenderbufferStorageMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisampleEXT"); |
+#endif |
+ } else if (extensions.has("GL_IMG_multisampled_render_to_texture")) { |
+#if GL_IMG_multisampled_render_to_texture |
+ interface->fFramebufferTexture2DMultisample = glFramebufferTexture2DMultisampleIMG; |
+ interface->fRenderbufferStorageMultisampleES2EXT = glRenderbufferStorageMultisampleIMG; |
+#else |
+ interface->fFramebufferTexture2DMultisample = (GrGLFramebufferTexture2DMultisampleProc) eglGetProcAddress("glFramebufferTexture2DMultisampleIMG"); |
+ interface->fRenderbufferStorageMultisampleES2EXT = (GrGLRenderbufferStorageMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisampleIMG"); |
+#endif |
+ } |
+#endif // GR_GL_IGNORE_ES3_MSAA |
+ |
interface->fGenFramebuffers = glGenFramebuffers; |
interface->fGenRenderbuffers = glGenRenderbuffers; |
interface->fGetFramebufferAttachmentParameteriv = glGetFramebufferAttachmentParameteriv; |