diff --git a/gpu/include/GrGLInterface.h b/gpu/include/GrGLInterface.h
index 05eb243..63ebca5 100644
--- a/gpu/include/GrGLInterface.h
+++ b/gpu/include/GrGLInterface.h
@@ -111,6 +111,8 @@
     typedef GrGLvoid (GR_GL_FUNCTION_TYPE *GrGLDisableClientStateProc)(GrGLenum array);
     typedef GrGLvoid (GR_GL_FUNCTION_TYPE *GrGLDisableVertexAttribArrayProc)(GrGLuint index);
     typedef GrGLvoid (GR_GL_FUNCTION_TYPE *GrGLDrawArraysProc)(GrGLenum mode, GrGLint first, GrGLsizei count);
+    typedef GrGLvoid (GR_GL_FUNCTION_TYPE *GrGLDrawBufferProc)(GrGLenum mode);
+    typedef GrGLvoid (GR_GL_FUNCTION_TYPE *GrGLDrawBuffersProc)(GrGLsizei n, const GrGLenum* bufs);
     typedef GrGLvoid (GR_GL_FUNCTION_TYPE *GrGLDrawElementsProc)(GrGLenum mode, GrGLsizei count, GrGLenum type, const GrGLvoid* indices);
     typedef GrGLvoid (GR_GL_FUNCTION_TYPE *GrGLEnableProc)(GrGLenum cap);
     typedef GrGLvoid (GR_GL_FUNCTION_TYPE *GrGLEnableClientStateProc)(GrGLenum cap);
@@ -264,6 +266,8 @@
     GrGLDisableClientStateProc fDisableClientState;
     GrGLDisableVertexAttribArrayProc fDisableVertexAttribArray;
     GrGLDrawArraysProc fDrawArrays;
+    GrGLDrawBufferProc fDrawBuffer;
+    GrGLDrawBuffersProc fDrawBuffers;
     GrGLDrawElementsProc fDrawElements;
     GrGLEnableProc fEnable;
     GrGLEnableClientStateProc fEnableClientState;
diff --git a/gpu/src/GrGLInterface.cpp b/gpu/src/GrGLInterface.cpp
index 8a43f92..9822dcb 100644
--- a/gpu/src/GrGLInterface.cpp
+++ b/gpu/src/GrGLInterface.cpp
@@ -286,6 +286,12 @@
                 return false;
             }
         }
+        if (major >= 2 ||
+            has_gl_extension_from_string("GL_ARB_draw_buffers", ext)) {
+            if (NULL == fDrawBuffers) {
+                return false;
+            }
+        }
         if (1 < major || (1 == major && 4 <= minor) ||
             has_gl_extension_from_string("GL_EXT_blend_color", ext)) {
             if (NULL == fBlendColor) {
@@ -303,10 +309,11 @@
         }
     }
 
-    // part of desktop GL
+    // part of desktop GL, but not ES
     if (kDesktop_GrGLBinding == fBindingsExported &&
         (NULL == fLineWidth ||
-         NULL == fGetTexLevelParameteriv)) {
+         NULL == fGetTexLevelParameteriv ||
+         NULL == fDrawBuffer)) {
         return false;
     }
 
diff --git a/gpu/src/android/GrGLDefaultInterface_android.cpp b/gpu/src/android/GrGLDefaultInterface_android.cpp
index dfb9041..b402176 100644
--- a/gpu/src/android/GrGLDefaultInterface_android.cpp
+++ b/gpu/src/android/GrGLDefaultInterface_android.cpp
@@ -52,6 +52,8 @@
     NULL,  // glDisableClientState
     glDisableVertexAttribArray,
     glDrawArrays,
+    NULL, // glDrawBuffer
+    NULL, // glDrawBuffers
     glDrawElements,
     glEnable,
     NULL,  // glEnableClientState
diff --git a/gpu/src/mac/GrGLDefaultInterface_mac.cpp b/gpu/src/mac/GrGLDefaultInterface_mac.cpp
index 47d45be..16d2938 100644
--- a/gpu/src/mac/GrGLDefaultInterface_mac.cpp
+++ b/gpu/src/mac/GrGLDefaultInterface_mac.cpp
@@ -51,6 +51,8 @@
         gDefaultInterface.fDisableVertexAttribArray = 
                                             glDisableVertexAttribArray;
         gDefaultInterface.fDrawArrays = glDrawArrays;
+        gDefaultInterface.fDrawBuffer = glDrawBuffer;
+        gDefaultInterface.fDrawBuffers = glDrawBuffers;
         gDefaultInterface.fDrawElements = glDrawElements;
         gDefaultInterface.fEnable = glEnable;
         gDefaultInterface.fEnableClientState = glEnableClientState;
diff --git a/gpu/src/mesa/GrGLDefaultInterface_mesa.cpp b/gpu/src/mesa/GrGLDefaultInterface_mesa.cpp
index e03c44e..56f2cf7 100644
--- a/gpu/src/mesa/GrGLDefaultInterface_mesa.cpp
+++ b/gpu/src/mesa/GrGLDefaultInterface_mesa.cpp
@@ -65,6 +65,8 @@
         gDefaultInterface.fDisableClientState = glDisableClientState;
         GR_GL_GET_PROC(DisableVertexAttribArray);
         gDefaultInterface.fDrawArrays = glDrawArrays;
+        gDefaultInterface.fDrawBuffer = glDrawBuffer;
+        GR_GL_GET_PROC(DrawBuffers);
         gDefaultInterface.fDrawElements = glDrawElements;
         gDefaultInterface.fEnable = glEnable;
         gDefaultInterface.fEnableClientState = glEnableClientState;
diff --git a/gpu/src/unix/GrGLDefaultInterface_unix.cpp b/gpu/src/unix/GrGLDefaultInterface_unix.cpp
index 064fe3f..e38a76b 100644
--- a/gpu/src/unix/GrGLDefaultInterface_unix.cpp
+++ b/gpu/src/unix/GrGLDefaultInterface_unix.cpp
@@ -67,6 +67,8 @@
         gDefaultInterface.fDisableClientState = glDisableClientState;
         GR_GL_GET_PROC(DisableVertexAttribArray);
         gDefaultInterface.fDrawArrays = glDrawArrays;
+        gDefaultInterface.fDrawBuffer = glDrawBuffer;
+        GR_GL_GET_PROC(DrawBuffers);
         gDefaultInterface.fDrawElements = glDrawElements;
         gDefaultInterface.fEnable = glEnable;
         gDefaultInterface.fEnableClientState = glEnableClientState;
diff --git a/gpu/src/win/GrGLDefaultInterface_win.cpp b/gpu/src/win/GrGLDefaultInterface_win.cpp
index ac4552a..05f5414 100644
--- a/gpu/src/win/GrGLDefaultInterface_win.cpp
+++ b/gpu/src/win/GrGLDefaultInterface_win.cpp
@@ -57,6 +57,7 @@
             gDefaultInterface.fDisable = glDisable;
             gDefaultInterface.fDisableClientState = glDisableClientState;
             gDefaultInterface.fDrawArrays = glDrawArrays;
+            gDefaultInterface.fDrawBuffer = glDrawBuffer;
             gDefaultInterface.fDrawElements = glDrawElements;
             gDefaultInterface.fEnable = glEnable;
             gDefaultInterface.fEnableClientState = glEnableClientState;
@@ -102,6 +103,7 @@
             GR_GL_GET_PROC(DeleteProgram);
             GR_GL_GET_PROC(DeleteShader);
             GR_GL_GET_PROC(DisableVertexAttribArray);
+            GR_GL_GET_PROC(DrawBuffers);
             GR_GL_GET_PROC(EnableVertexAttribArray);
             GR_GL_GET_PROC(GenBuffers);
             GR_GL_GET_PROC(GetBufferParameteriv);
