diff options
Diffstat (limited to 'content/browser/gpu')
-rw-r--r-- | content/browser/gpu/compositor_util.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/content/browser/gpu/compositor_util.cc b/content/browser/gpu/compositor_util.cc index 9646b8f..342aafb 100644 --- a/content/browser/gpu/compositor_util.cc +++ b/content/browser/gpu/compositor_util.cc @@ -242,6 +242,14 @@ bool IsOneCopyUploadEnabled() { bool IsZeroCopyUploadEnabled() { const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); + // Single-threaded mode in the renderer process (for layout tests) is + // synchronous, which depends on tiles being ready to draw when raster is + // complete. Therefore, it must use one of zero copy, software raster, or + // GPU raster. So we force zero-copy on for the case where software/GPU raster + // is not used. + // TODO(reveman): One-copy can work with sync compositing: crbug.com/490295. + if (command_line.HasSwitch(switches::kDisableThreadedCompositing)) + return true; return command_line.HasSwitch(switches::kEnableZeroCopy); } |