summaryrefslogtreecommitdiff
path: root/graphics/java/android
diff options
context:
space:
mode:
author mk.lee <mk.lee@mediatak.com> 2020-12-31 14:12:26 +0800
committer Jay Patel <pateljay@google.com> 2021-04-06 00:49:51 +0000
commit05dc4e920df85a36204ad74c5f97d86c6ec2948a (patch)
tree1a6a7c565869533f22eaf44d578d3119d3e516f0 /graphics/java/android
parente4b4df1e28815ceb611751ffeb4e92a5b5d531f8 (diff)
Add 8k bitmap render support
Support vendor configure max bitmap size, because of 8k bitmap was over 100M [Test Report] 1. AC on/off PASS 2. boot to launcher PASS 3. VTS/CTS command run cts -m MediatekCtsMtkImageDecoderTest -t android.mtk.cts.ImageDecoderTest#testDecoder8KPerformance -l VERBOSE 4. CTS report 004_Release > C5_temp > QSC_Result > MM_Result_Report cts_imagedecoderplugin_test.rar Bug: 178353420 Change-Id: I582883cca51d42505ec8a81044e471998b88854b Merged-In: I582883cca51d42505ec8a81044e471998b88854b
Diffstat (limited to 'graphics/java/android')
-rw-r--r--graphics/java/android/graphics/RecordingCanvas.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/graphics/java/android/graphics/RecordingCanvas.java b/graphics/java/android/graphics/RecordingCanvas.java
index c0e0a24583ec..4a24b4295d35 100644
--- a/graphics/java/android/graphics/RecordingCanvas.java
+++ b/graphics/java/android/graphics/RecordingCanvas.java
@@ -21,6 +21,7 @@ import android.annotation.Nullable;
import android.util.Pools.SynchronizedPool;
import android.view.DisplayListCanvas;
import android.view.TextureLayer;
+import android.os.SystemProperties;
import dalvik.annotation.optimization.CriticalNative;
import dalvik.annotation.optimization.FastNative;
@@ -41,7 +42,14 @@ public final class RecordingCanvas extends DisplayListCanvas {
private static final int POOL_LIMIT = 25;
/** @hide */
- public static final int MAX_BITMAP_SIZE = 100 * 1024 * 1024; // 100 MB
+ private static int getPanelFrameSize() {
+ final int DefaultSize = 100 * 1024 * 1024; // 100 MB;
+ return Math.max(SystemProperties.getInt("ro.hwui.max_texture_allocation_size", DefaultSize),
+ DefaultSize);
+ }
+
+ /** @hide */
+ public static final int MAX_BITMAP_SIZE = getPanelFrameSize();
private static final SynchronizedPool<RecordingCanvas> sPool =
new SynchronizedPool<>(POOL_LIMIT);