Remove IMG multisample texture support.

This never worked correctly. The texture loses multisample status when the resolve occurs. We never had code to re-establish it. Also, we'd have to handle the case where you resolve but then want to render to it again without clearing.

Review URL: http://codereview.appspot.com/4274074/


git-svn-id: http://skia.googlecode.com/svn/trunk@974 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/src/GrGLInterface.cpp b/gpu/src/GrGLInterface.cpp
index cc2c7bf..702b057 100644
--- a/gpu/src/GrGLInterface.cpp
+++ b/gpu/src/GrGLInterface.cpp
@@ -220,13 +220,6 @@
     }
     #endif
 
-    #if GL_IMG_multisampled_render_to_texture
-    if (has_gl_extension_from_string(
-                "GL_IMG_multisampled_render_to_texture", extensionString)) {
-        GR_GL_GET_PROC_SUFFIX(FramebufferTexture2DMultisample, IMG);
-    }
-    #endif
-
     #if GL_OES_mapbuffer
     if (has_gl_extension_from_string("GL_OES_mapbuffer", extensionString)) {
         GR_GL_GET_PROC_SUFFIX(MapBuffer, OES);
diff --git a/gpu/src/GrGpuGL.cpp b/gpu/src/GrGpuGL.cpp
index e944551..1862784 100644
--- a/gpu/src/GrGpuGL.cpp
+++ b/gpu/src/GrGpuGL.cpp
@@ -230,13 +230,7 @@
 
     memset(fAASamples, 0, sizeof(fAASamples));
     fMSFBOType = kNone_MSFBO;
-    if (has_gl_extension("GL_IMG_multisampled_render_to_texture")) {
-        fMSFBOType = kIMG_MSFBO;
-        if (gPrintStartupSpew) {
-            GrPrintf("MSAA Support: IMG ES EXT.\n");
-        }
-    }
-    else if (has_gl_extension("GL_APPLE_framebuffer_multisample")) {
+    if (has_gl_extension("GL_APPLE_framebuffer_multisample")) {
         fMSFBOType = kApple_MSFBO;
         if (gPrintStartupSpew) {
             GrPrintf("MSAA Support: APPLE ES EXT.\n");
@@ -260,10 +254,7 @@
 
     if (kNone_MSFBO != fMSFBOType) {
         GrGLint maxSamples;
-        GrGLenum maxSampleGetter = (kIMG_MSFBO == fMSFBOType) ?
-                                                            GR_GL_MAX_SAMPLES_IMG :
-                                                            GR_GL_MAX_SAMPLES;
-        GR_GL_GetIntegerv(maxSampleGetter, &maxSamples);
+        GR_GL_GetIntegerv(GR_GL_MAX_SAMPLES, &maxSamples);
         if (maxSamples > 1 ) {
             fAASamples[kNone_AALevel] = 0;
             fAASamples[kLow_AALevel] = GrMax(2,
@@ -830,11 +821,9 @@
         GR_GL(GenFramebuffers(1, &rtIDs.fTexFBOID));
         GrAssert(rtIDs.fTexFBOID);
 
-        // If we are using multisampling and any extension other than the IMG
-        // one we will create two FBOs. We render to one and then resolve to
-        // the texture bound to the other. The IMG extension does an implicit
-        // resolve.
-        if (samples > 1 && kIMG_MSFBO != fMSFBOType && kNone_MSFBO != fMSFBOType) {
+        // If we are using multisampling and we will create two FBOS We render 
+        // to one and then resolve to the texture bound to the other.
+        if (samples > 1 && kNone_MSFBO != fMSFBOType) {
             GR_GL(GenFramebuffers(1, &rtIDs.fRTFBOID));
             GrAssert(0 != rtIDs.fRTFBOID);
             GR_GL(GenRenderbuffers(1, &rtIDs.fMSColorRenderbufferID));
@@ -904,20 +893,10 @@
 #if GR_COLLECT_STATS
             ++fStats.fRenderTargetChngCnt;
 #endif
-            if (kIMG_MSFBO == fMSFBOType && samples > 1) {
-                GR_GL(FramebufferTexture2DMultisample(GR_GL_FRAMEBUFFER,
-                                                      GR_GL_COLOR_ATTACHMENT0,
-                                                      GR_GL_TEXTURE_2D,
-                                                      glDesc.fTextureID,
-                                                      0,
-                                                      samples));
-
-            } else {
-                GR_GL(FramebufferTexture2D(GR_GL_FRAMEBUFFER,
-                                           GR_GL_COLOR_ATTACHMENT0,
-                                           GR_GL_TEXTURE_2D,
-                                           glDesc.fTextureID, 0));
-            }
+            GR_GL(FramebufferTexture2D(GR_GL_FRAMEBUFFER,
+                                        GR_GL_COLOR_ATTACHMENT0,
+                                        GR_GL_TEXTURE_2D,
+                                        glDesc.fTextureID, 0));
             if (rtIDs.fRTFBOID != rtIDs.fTexFBOID) {
                 GrGLenum status = GR_GL(CheckFramebufferStatus(GR_GL_FRAMEBUFFER));
                 if (status != GR_GL_FRAMEBUFFER_COMPLETE) {
diff --git a/gpu/src/GrGpuGL.h b/gpu/src/GrGpuGL.h
index 3e7d79d..0134407 100644
--- a/gpu/src/GrGpuGL.h
+++ b/gpu/src/GrGpuGL.h
@@ -167,8 +167,7 @@
     enum {
         kNone_MSFBO = 0,
         kDesktop_MSFBO,
-        kApple_MSFBO,
-        kIMG_MSFBO
+        kApple_MSFBO
     } fMSFBOType;
 
     // Do we have stencil wrap ops.