// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef GPU_IPC_COMMON_GPU_WATCHDOG_TIMEOUT_H_ #define GPU_IPC_COMMON_GPU_WATCHDOG_TIMEOUT_H_ #include "base/time/time.h" #include "build/build_config.h" namespace gpu { // TODO(magchen): crbug.com/949839. Move all constants back to // gpu/ipc/service/gpu_watchdog_thread.h after the GPU watchdog V2 is fully // launched. #if defined(CYGPROFILE_INSTRUMENTATION) constexpr base::TimeDelta kGpuWatchdogTimeout = base::Seconds(30); #elif BUILDFLAG(IS_MAC) #if defined(ADDRESS_SANITIZER) // Use a longer timeout because of slower execution time leading to // intermittent flakes. http://crbug.com/1270755 constexpr base::TimeDelta kGpuWatchdogTimeout = base::Seconds(50); #else constexpr base::TimeDelta kGpuWatchdogTimeout = base::Seconds(25); #endif #elif BUILDFLAG(IS_WIN) constexpr base::TimeDelta kGpuWatchdogTimeout = base::Seconds(30); #else constexpr base::TimeDelta kGpuWatchdogTimeout = …; #endif // It usually takes longer to finish a GPU task when the system just resumes // from power suspension or when the Android app switches from the background to // the foreground. This is the factor the original timeout will be multiplied. inline constexpr int kRestartFactor = …; // Software rasterizer runs slower than hardware accelerated. inline constexpr int kSoftwareRenderingFactor = …; } // namespace gpu #endif // GPU_IPC_COMMON_GPU_WATCHDOG_TIMEOUT_H_