Index: src/gpu/gl/GrGLCaps.cpp |
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp |
index 3771fc4c0e3e209f9e8dd2affb7d9c77f7138e3d..3ddc27599181358507bc7f1b7b3c76b690191bb2 100644 |
--- a/src/gpu/gl/GrGLCaps.cpp |
+++ b/src/gpu/gl/GrGLCaps.cpp |
@@ -112,7 +112,9 @@ void GrGLCaps::init(const GrContextOptions& contextOptions, |
} else { |
// Qualcomm Adreno drivers appear to have issues with texture storage. |
fTexStorageSupport = (version >= GR_GL_VER(3,0) && |
- kQualcomm_GrGLVendor != ctxInfo.vendor()) || |
+ kQualcomm_GrGLVendor != ctxInfo.vendor() && |
+ // TODO: remove after command buffer supports full ES 3.0 |
+ kChromium_GrGLDriver != ctxInfo.driver()) || |
bsalomon
2016/02/12 14:03:27
Could we consolidate all the workarounds for an in
Kimmo Kinnunen
2016/02/15 08:10:14
Done.
|
ctxInfo.hasExtension("GL_EXT_texture_storage"); |
} |
@@ -246,7 +248,8 @@ void GrGLCaps::init(const GrContextOptions& contextOptions, |
} |
} else { |
if (version >= GR_GL_VER(3,0)) { |
- fTextureSwizzleSupport = true; |
+ // TODO: swizzle is not implemented yet in Command Buffer ES 3.0. |
+ fTextureSwizzleSupport = kChromium_GrGLDriver != ctxInfo.driver(); |
} |
} |
@@ -361,7 +364,8 @@ void GrGLCaps::init(const GrContextOptions& contextOptions, |
if (ctxInfo.hasExtension("GL_CHROMIUM_map_sub")) { |
fMapBufferFlags = kCanMap_MapFlag | kSubset_MapFlag; |
fMapBufferType = kChromium_MapBufferType; |
- } else if (version >= GR_GL_VER(3, 0) || ctxInfo.hasExtension("GL_EXT_map_buffer_range")) { |
+ } else if ((version >= GR_GL_VER(3, 0) || ctxInfo.hasExtension("GL_EXT_map_buffer_range")) |
+ && kChromium_GrGLDriver != ctxInfo.driver()) { |
fMapBufferFlags = kCanMap_MapFlag | kSubset_MapFlag; |
fMapBufferType = kMapBufferRange_MapBufferType; |
} else if (ctxInfo.hasExtension("GL_OES_mapbuffer")) { |
@@ -490,9 +494,11 @@ void GrGLCaps::init(const GrContextOptions& contextOptions, |
ctxInfo.hasExtension("GL_ARB_instanced_arrays")); |
} else { |
fSupportsInstancedDraws = |
- version >= GR_GL_VER(3, 0) || |
+ (version >= GR_GL_VER(3, 0) || |
(ctxInfo.hasExtension("GL_EXT_draw_instanced") && |
- ctxInfo.hasExtension("GL_EXT_instanced_arrays")); |
+ ctxInfo.hasExtension("GL_EXT_instanced_arrays"))) && |
+ // TODO: remove once command buffer implements full ES3. |
+ kChromium_GrGLDriver != ctxInfo.driver(); |
} |
if (kGL_GrGLStandard == standard) { |