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

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: comment wording 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
« no previous file with comments | « src/gpu/GrContextFactory.cpp ('k') | src/gpu/gl/GrGLInterface.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/gl/GrGLCaps.cpp
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index 546b0bf692a57b621d28ae7dd7e7a1b34b688ed5..da7907be9f5de1a43017416a02126612aef8fa3c 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -114,7 +114,7 @@ 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()) &&
ctxInfo.hasExtension("GL_EXT_texture_storage");
}
@@ -360,12 +360,12 @@ void GrGLCaps::init(const GrContextOptions& contextOptions,
} else {
// Unextended GLES2 doesn't have any buffer mapping.
fMapBufferFlags = kNone_MapBufferType;
- 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")) {
+ if (version >= GR_GL_VER(3, 0) || ctxInfo.hasExtension("GL_EXT_map_buffer_range")) {
fMapBufferFlags = kCanMap_MapFlag | kSubset_MapFlag;
fMapBufferType = kMapBufferRange_MapBufferType;
+ } else if (ctxInfo.hasExtension("GL_CHROMIUM_map_sub")) {
+ fMapBufferFlags = kCanMap_MapFlag | kSubset_MapFlag;
+ fMapBufferType = kChromium_MapBufferType;
} else if (ctxInfo.hasExtension("GL_OES_mapbuffer")) {
fMapBufferFlags = kCanMap_MapFlag;
fMapBufferType = kMapBuffer_MapBufferType;
@@ -520,6 +520,17 @@ void GrGLCaps::init(const GrContextOptions& contextOptions,
fTextureSwizzleSupport = false;
}
+ // TODO: remove after command buffer supports full ES 3.0.
+ if (kGLES_GrGLStandard == standard && version >= GR_GL_VER(3, 0) &&
+ kChromium_GrGLDriver == ctxInfo.driver()) {
+ fTexStorageSupport = false;
+ fSupportsInstancedDraws = false;
+ fTextureSwizzleSupport = false;
+ SkASSERT(ctxInfo.hasExtension("GL_CHROMIUM_map_sub"));
+ fMapBufferFlags = kCanMap_MapFlag | kSubset_MapFlag;
+ fMapBufferType = kChromium_MapBufferType;
+ }
+
// Requires fTextureRedSupport, fTextureSwizzleSupport, msaa support, ES compatibility have
// already been detected.
this->initConfigTable(ctxInfo, gli, glslCaps);
« no previous file with comments | « src/gpu/GrContextFactory.cpp ('k') | src/gpu/gl/GrGLInterface.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698