| Index: cc/output/overlay_candidate.cc
|
| diff --git a/cc/output/overlay_candidate.cc b/cc/output/overlay_candidate.cc
|
| index 64ee2a5766822feccf2798c45864f1dfaafdec50..e41b62b4bf175a95b4bf93a1149ce49f5c1d2fa9 100644
|
| --- a/cc/output/overlay_candidate.cc
|
| +++ b/cc/output/overlay_candidate.cc
|
| @@ -22,6 +22,11 @@ namespace {
|
| // Tolerance for considering axis vector elements to be zero.
|
| const SkMScalar kEpsilon = std::numeric_limits<float>::epsilon();
|
|
|
| +const gfx::BufferFormat kOverlayFormats[] = {
|
| + gfx::BufferFormat::RGBX_8888, gfx::BufferFormat::RGBA_8888,
|
| + gfx::BufferFormat::BGRX_8888, gfx::BufferFormat::BGRA_8888,
|
| + gfx::BufferFormat::BGR_565};
|
| +
|
| enum Axis { NONE, AXIS_POS_X, AXIS_NEG_X, AXIS_POS_Y, AXIS_NEG_Y };
|
|
|
| Axis VectorToAxis(const gfx::Vector3dF& vec) {
|
| @@ -257,6 +262,12 @@ bool OverlayCandidate::FromTextureQuad(ResourceProvider* resource_provider,
|
| OverlayCandidate* candidate) {
|
| if (!resource_provider->IsOverlayCandidate(quad->resource_id()))
|
| return false;
|
| +
|
| + gfx::BufferFormat format =
|
| + resource_provider->GetBufferFormat(quad->resource_id());
|
| + if (std::find(std::begin(kOverlayFormats), std::end(kOverlayFormats),
|
| + format) == std::end(kOverlayFormats))
|
| + return false;
|
| gfx::OverlayTransform overlay_transform = GetOverlayTransform(
|
| quad->shared_quad_state->quad_to_target_transform, quad->y_flipped);
|
| if (quad->background_color != SK_ColorTRANSPARENT ||
|
|
|