Index: src/gpu/gl/GrGLInterface.cpp |
diff --git a/src/gpu/gl/GrGLInterface.cpp b/src/gpu/gl/GrGLInterface.cpp |
index 2e3dd1f039b5bb178eb420680bb2bf6da9610327..da1c3fc0e13b2d57207ea4f813248a2eb9d4978c 100644 |
--- a/src/gpu/gl/GrGLInterface.cpp |
+++ b/src/gpu/gl/GrGLInterface.cpp |
@@ -306,6 +306,21 @@ bool GrGLInterface::validate() const { |
} |
} |
+ // glTextureBarrier is part of desktop 4.5. There are also ARB and NV extensions. |
+ if (kGL_GrGLStandard == fStandard) { |
+ if (glVer >= GR_GL_VER(4,5) || |
+ fExtensions.has("GL_ARB_texture_barrier") || |
+ fExtensions.has("GL_NV_texture_barrier")) { |
+ if (NULL == fFunctions.fTextureBarrier) { |
+ RETURN_FALSE_INTERFACE |
+ } |
+ } |
+ } else if (fExtensions.has("GL_NV_texture_barrier")) { |
+ if (NULL == fFunctions.fTextureBarrier) { |
+ RETURN_FALSE_INTERFACE |
+ } |
+ } |
+ |
if (fExtensions.has("GL_EXT_discard_framebuffer")) { |
// FIXME: Remove this once Chromium is updated to provide this function |
#if 0 |