Check for sync extensions only on correct context types
GL_APPLE_sync is ES only. GL_ARB_sync is not ES.
Change-Id: If595c01ec9a878a4d73862fa4ba79a76f1173d77
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/293574
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index 861f80e..2cde35d 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -649,13 +649,12 @@
// Only in WebGL 2.0
fSemaphoreSupport = fFenceSyncSupport = version >= GR_GL_VER(2, 0);
fFenceType = FenceType::kSyncObject;
- } else if (ctxInfo.hasExtension("GL_ARB_sync") || ctxInfo.hasExtension("GL_APPLE_sync")) {
+ } else if (GR_IS_GR_GL(standard) &&
+ (version >= GR_GL_VER(3, 2) || ctxInfo.hasExtension("GL_ARB_sync"))) {
fSemaphoreSupport = fFenceSyncSupport = true;
fFenceType = FenceType::kSyncObject;
- } else if (GR_IS_GR_GL(standard) && version >= GR_GL_VER(3, 2)) {
- fSemaphoreSupport = fFenceSyncSupport = true;
- fFenceType = FenceType::kSyncObject;
- } else if (GR_IS_GR_GL_ES(standard) && version >= GR_GL_VER(3, 0)) {
+ } else if (GR_IS_GR_GL_ES(standard) &&
+ (version >= GR_GL_VER(3, 0) || ctxInfo.hasExtension("GL_APPLE_sync"))) {
fSemaphoreSupport = fFenceSyncSupport = true;
fFenceType = FenceType::kSyncObject;
} else if (ctxInfo.hasExtension("GL_NV_fence")) {