Index: gpu/command_buffer/service/gpu_switches.cc |
diff --git a/gpu/command_buffer/service/gpu_switches.cc b/gpu/command_buffer/service/gpu_switches.cc |
index 7298140cfbcb152d23533abcdc5ac8c6e6d8b480..1c27484acb18679bf328cf1f3b24575ca5884330 100644 |
--- a/gpu/command_buffer/service/gpu_switches.cc |
+++ b/gpu/command_buffer/service/gpu_switches.cc |
@@ -68,6 +68,17 @@ const char kEnableThreadedTextureMailboxes[] = |
// Enable OpenGL ES 3 APIs without proper service side validation. |
const char kEnableUnsafeES3APIs[] = "enable-unsafe-es3-apis"; |
+// The asynchronous EGL upload path is limited to FBO/surface compatible formats |
+// (currently RGBA_8888). Disable this path to support for example compressed |
+// texture uploads. |
+const char kDisableAsyncEGLUploadsIfCompressed[] = |
+ "disable-async-egl-uploads-if-compressed"; |
+ |
+// Enable dynamic switching between EGL upload path and Idle upload path |
+// depending on if the uploaded texture is compressed or not. |
+const char kEnableAsyncPixelTransferManagerCompressed[] = |
+ "enable-async-pixel-transfer-manager-compressed"; |
+ |
const char* kGpuSwitches[] = { |
kCompileShaderAlwaysSucceeds, |
kDisableGLErrorLimit, |
@@ -86,6 +97,8 @@ const char* kGpuSwitches[] = { |
kEnableShareGroupAsyncTextureUpload, |
kEnableUnsafeES3APIs, |
kEnableSubscribeUniformExtension, |
+ kDisableAsyncEGLUploadsIfCompressed, |
+ kEnableAsyncPixelTransferManagerCompressed, |
}; |
const int kNumGpuSwitches = arraysize(kGpuSwitches); |