summaryrefslogtreecommitdiff
path: root/chromium/content/browser/compositor/browser_compositor_overlay_candidate_validator_mac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/browser/compositor/browser_compositor_overlay_candidate_validator_mac.mm')
-rw-r--r--chromium/content/browser/compositor/browser_compositor_overlay_candidate_validator_mac.mm10
1 files changed, 9 insertions, 1 deletions
diff --git a/chromium/content/browser/compositor/browser_compositor_overlay_candidate_validator_mac.mm b/chromium/content/browser/compositor/browser_compositor_overlay_candidate_validator_mac.mm
index b7ed200df7a..492fcacf0c0 100644
--- a/chromium/content/browser/compositor/browser_compositor_overlay_candidate_validator_mac.mm
+++ b/chromium/content/browser/compositor/browser_compositor_overlay_candidate_validator_mac.mm
@@ -5,6 +5,8 @@
#include "content/browser/compositor/browser_compositor_overlay_candidate_validator_mac.h"
#include "cc/output/overlay_strategy_sandwich.h"
+#include "content/browser/gpu/gpu_data_manager_impl.h"
+#include "gpu/config/gpu_driver_bug_workaround_type.h"
namespace content {
@@ -12,7 +14,10 @@ BrowserCompositorOverlayCandidateValidatorMac::
BrowserCompositorOverlayCandidateValidatorMac(
gfx::AcceleratedWidget widget)
: widget_(widget),
- software_mirror_active_(false) {
+ software_mirror_active_(false),
+ ca_layers_disabled_(
+ GpuDataManagerImpl::GetInstance()->IsDriverBugWorkaroundActive(
+ gpu::DISABLE_OVERLAY_CA_LAYERS)) {
}
BrowserCompositorOverlayCandidateValidatorMac::
@@ -32,6 +37,9 @@ void BrowserCompositorOverlayCandidateValidatorMac::CheckOverlaySupport(
if (software_mirror_active_)
return;
+ if (ca_layers_disabled_)
+ return;
+
for (size_t i = 0; i < surfaces->size(); ++i)
surfaces->at(i).overlay_handled = true;
}