diff options
author | Chris Craik <ccraik@google.com> | 2015-06-12 11:07:23 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2015-06-12 11:07:23 -0700 |
commit | 4e9d9b2a590105035c29f12ecf0689333e6b55e7 (patch) | |
tree | 250eea350d584e8d280d5923eb2a3ad092d2f3c7 /libs/hwui/RenderProperties.h | |
parent | cc87cfa29c4b38d1f119bdce652918565b0fed0f (diff) |
Revert to save-layer based alpha if layer would be too large
bug:21011574
Change-Id: I323f2398188ffc2bbed6a98578d25d7e5f6c337d
Diffstat (limited to 'libs/hwui/RenderProperties.h')
-rw-r--r-- | libs/hwui/RenderProperties.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libs/hwui/RenderProperties.h b/libs/hwui/RenderProperties.h index 98029a8c0f76..65c1c4a17412 100644 --- a/libs/hwui/RenderProperties.h +++ b/libs/hwui/RenderProperties.h @@ -28,6 +28,7 @@ #include <SkRegion.h> #include <SkXfermode.h> +#include "Caches.h" #include "Rect.h" #include "RevealClip.h" #include "Outline.h" @@ -577,10 +578,13 @@ public: } bool promotedToLayer() const { + const int maxTextureSize = Caches::getInstance().maxTextureSize; return mLayerProperties.mType == LayerType::None && !MathUtils::isZero(mPrimitiveFields.mAlpha) && mPrimitiveFields.mAlpha < 1 - && mPrimitiveFields.mHasOverlappingRendering; + && mPrimitiveFields.mHasOverlappingRendering + && mPrimitiveFields.mWidth <= maxTextureSize + && mPrimitiveFields.mHeight <= maxTextureSize; } LayerType effectiveLayerType() const { |