Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(387)

Unified Diff: src/gpu/gl/GrGLCaps.cpp

Issue 1684413003: Implement support for using GL ES 3.0 with command buffer (Closed) Base URL: https://skia.googlesource.com/skia.git@no-texture-rectangle-gles
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698