Add support for GL_EXT_multisampled_render_to_texture.
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/14091008
git-svn-id: http://skia.googlecode.com/svn/trunk@8939 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index 716989e..8ec76a8 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -286,7 +286,7 @@
fShaderDerivativeSupport = ctxInfo.hasExtension("GL_OES_standard_derivatives");
}
- if (GrGLCaps::kImaginationES_MSFBOType == fMSFBOType) {
+ if (GrGLCaps::kES_IMG_MsToTexture_MSFBOType == fMSFBOType) {
GR_GL_GetIntegerv(gli, GR_GL_MAX_SAMPLES_IMG, &fMaxSampleCount);
} else if (GrGLCaps::kNone_MSFBOType != fMSFBOType) {
GR_GL_GetIntegerv(gli, GR_GL_MAX_SAMPLES, &fMaxSampleCount);
@@ -345,19 +345,21 @@
if (ctxInfo.hasExtension("GL_CHROMIUM_framebuffer_multisample")) {
// chrome's extension is equivalent to the EXT msaa
// and fbo_blit extensions.
- fMSFBOType = kDesktopEXT_MSFBOType;
+ fMSFBOType = kDesktop_EXT_MSFBOType;
} else if (ctxInfo.hasExtension("GL_APPLE_framebuffer_multisample")) {
- fMSFBOType = kAppleES_MSFBOType;
+ fMSFBOType = kES_Apple_MSFBOType;
+ } else if (ctxInfo.hasExtension("GL_EXT_multisampled_render_to_texture")) {
+ fMSFBOType = kES_EXT_MsToTexture_MSFBOType;
} else if (ctxInfo.hasExtension("GL_IMG_multisampled_render_to_texture")) {
- fMSFBOType = kImaginationES_MSFBOType;
+ fMSFBOType = kES_IMG_MsToTexture_MSFBOType;
}
} else {
if ((ctxInfo.version() >= GR_GL_VER(3,0)) ||
ctxInfo.hasExtension("GL_ARB_framebuffer_object")) {
- fMSFBOType = GrGLCaps::kDesktopARB_MSFBOType;
+ fMSFBOType = GrGLCaps::kDesktop_ARB_MSFBOType;
} else if (ctxInfo.hasExtension("GL_EXT_framebuffer_multisample") &&
ctxInfo.hasExtension("GL_EXT_framebuffer_blit")) {
- fMSFBOType = GrGLCaps::kDesktopEXT_MSFBOType;
+ fMSFBOType = GrGLCaps::kDesktop_EXT_MSFBOType;
}
// TODO: We could populate fMSAACoverageModes using GetInternalformativ
// on GL 4.2+. It's format-specific, though. See also
@@ -520,16 +522,18 @@
}
GR_STATIC_ASSERT(0 == kNone_MSFBOType);
- GR_STATIC_ASSERT(1 == kDesktopARB_MSFBOType);
- GR_STATIC_ASSERT(2 == kDesktopEXT_MSFBOType);
- GR_STATIC_ASSERT(3 == kAppleES_MSFBOType);
- GR_STATIC_ASSERT(4 == kImaginationES_MSFBOType);
+ GR_STATIC_ASSERT(1 == kDesktop_ARB_MSFBOType);
+ GR_STATIC_ASSERT(2 == kDesktop_EXT_MSFBOType);
+ GR_STATIC_ASSERT(3 == kES_Apple_MSFBOType);
+ GR_STATIC_ASSERT(4 == kES_IMG_MsToTexture_MSFBOType);
+ GR_STATIC_ASSERT(5 == kES_EXT_MsToTexture_MSFBOType);
static const char* gMSFBOExtStr[] = {
"None",
"ARB",
"EXT",
"Apple",
- "IMG",
+ "IMG MS To Texture",
+ "EXT MS To Texture",
};
GrPrintf("MSAA Type: %s\n", gMSFBOExtStr[fMSFBOType]);
GrPrintf("Max FS Uniform Vectors: %d\n", fMaxFragmentUniformVectors);