summaryrefslogtreecommitdiff
path: root/libs/hwui/RenderProperties.h
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2015-06-12 11:07:23 -0700
committerChris Craik <ccraik@google.com>2015-06-12 11:07:23 -0700
commit4e9d9b2a590105035c29f12ecf0689333e6b55e7 (patch)
tree250eea350d584e8d280d5923eb2a3ad092d2f3c7 /libs/hwui/RenderProperties.h
parentcc87cfa29c4b38d1f119bdce652918565b0fed0f (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.h6
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 {