Index: src/gpu/gl/GrGLInterface.cpp |
diff --git a/src/gpu/gl/GrGLInterface.cpp b/src/gpu/gl/GrGLInterface.cpp |
index c3fc8a8e8138db14d900f237edf22072d1233ef5..0a157dda11111a53e41e652da0b5cd92b92a379d 100644 |
--- a/src/gpu/gl/GrGLInterface.cpp |
+++ b/src/gpu/gl/GrGLInterface.cpp |
@@ -786,6 +786,24 @@ bool GrGLInterface::validate() const { |
} |
} |
+ if (kGL_GrGLStandard == fStandard) { |
+ if (glVer >= GR_GL_VER(3, 2) || fExtensions.has("GL_ARB_sync")) { |
+ if (nullptr == fFunctions.fFenceSync || |
+ nullptr == fFunctions.fClientWaitSync || |
+ nullptr == fFunctions.fDeleteSync) { |
+ RETURN_FALSE_INTERFACE |
+ } |
+ } |
+ } else if (kGLES_GrGLStandard == fStandard) { |
+ if (glVer >= GR_GL_VER(3, 0)) { |
+ if (nullptr == fFunctions.fFenceSync || |
+ nullptr == fFunctions.fClientWaitSync || |
+ nullptr == fFunctions.fDeleteSync) { |
+ RETURN_FALSE_INTERFACE |
+ } |
+ } |
+ } |
+ |
if (fExtensions.has("EGL_KHR_image") || fExtensions.has("EGL_KHR_image_base")) { |
if (nullptr == fFunctions.fEGLCreateImage || |
nullptr == fFunctions.fEGLDestroyImage) { |