Chromium Code Reviews| 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) { |