Checkpoint towards core profile support.

1) Stop calling glDisable for removed state

2) Use new GLSL names for texture sampling functions.
Review URL: https://codereview.chromium.org/12330181

git-svn-id: http://skia.googlecode.com/svn/trunk@7908 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index d62a310..9058b35 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -38,6 +38,7 @@
     fTwoFormatLimit = false;
     fFragCoordsConventionSupport = false;
     fUseNonVBOVertexAndIndexDynamicData = false;
+    fIsCoreProfile = false;
 }
 
 GrGLCaps::GrGLCaps(const GrGLCaps& caps) {
@@ -69,6 +70,7 @@
     fTwoFormatLimit = caps.fTwoFormatLimit;
     fFragCoordsConventionSupport = caps.fFragCoordsConventionSupport;
     fUseNonVBOVertexAndIndexDynamicData = caps.fUseNonVBOVertexAndIndexDynamicData;
+    fIsCoreProfile = caps.fIsCoreProfile;
 
     return *this;
 }
@@ -176,6 +178,12 @@
         (kARM_GrGLVendor == ctxInfo.vendor() || kImagination_GrGLVendor == ctxInfo.vendor())) {
         fUseNonVBOVertexAndIndexDynamicData = true;
     }
+    
+    if (kDesktop_GrGLBinding == binding && version >= GR_GL_VER(3, 2)) {
+        GrGLint profileMask;
+        GR_GL_GetIntegerv(gli, GR_GL_CONTEXT_PROFILE_MASK, &profileMask);
+        fIsCoreProfile = SkToBool(profileMask & GR_GL_CONTEXT_CORE_PROFILE_BIT);
+    }
 
     this->initFSAASupport(ctxInfo, gli);
     this->initStencilFormats(ctxInfo);