Add new GPU overdraw setting
Change-Id: I45404b37df382e51eea42de92535f49f870c98b2
This commit is contained in:
@@ -830,6 +830,20 @@
|
||||
<item>true</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Titles for debug overdraw preference. [CHAR LIMIT=35] -->
|
||||
<string-array name="debug_hw_overdraw_entries">
|
||||
<item>Off</item>
|
||||
<item>Show overdraw areas</item>
|
||||
<item>Show overdraw counter</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Values for debug overdraw preference. -->
|
||||
<string-array name="debug_hw_overdraw_values" translatable="false" >
|
||||
<item>false</item>
|
||||
<item>show</item>
|
||||
<item>count</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Titles for app process limit preference. [CHAR LIMIT=35] -->
|
||||
<string-array name="app_process_limit_entries">
|
||||
<item>Standard limit</item>
|
||||
|
@@ -3974,9 +3974,7 @@
|
||||
<string name="show_hw_layers_updates_summary">Flash hardware layers green when they update</string>
|
||||
|
||||
<!-- UI debug setting: show the amount of overdraw in apps using the GPU [CHAR LIMIT=25] -->
|
||||
<string name="show_hw_overdraw">Show GPU overdraw</string>
|
||||
<!-- UI debug setting: Show the amount of overdraw summary [CHAR LIMIT=50] -->
|
||||
<string name="show_hw_overdraw_summary">From best to worst: blue, green, light red, red</string>
|
||||
<string name="debug_hw_overdraw">Debug GPU overdraw</string>
|
||||
|
||||
<!-- UI debug setting: disable use of overlays? [CHAR LIMIT=25] -->
|
||||
<string name="disable_overlays">Disable HW overlays</string>
|
||||
|
@@ -166,10 +166,12 @@
|
||||
android:title="@string/show_hw_layers_updates"
|
||||
android:summary="@string/show_hw_layers_updates_summary"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="show_hw_overdraw"
|
||||
android:title="@string/show_hw_overdraw"
|
||||
android:summary="@string/show_hw_overdraw_summary"/>
|
||||
<ListPreference
|
||||
android:key="debug_hw_overdraw"
|
||||
android:title="@string/debug_hw_overdraw"
|
||||
android:persistent="false"
|
||||
android:entries="@array/debug_hw_overdraw_entries"
|
||||
android:entryValues="@array/debug_hw_overdraw_values" />
|
||||
|
||||
<ListPreference
|
||||
android:key="show_non_rect_clip"
|
||||
|
@@ -48,7 +48,6 @@ import android.os.ServiceManager;
|
||||
import android.os.StrictMode;
|
||||
import android.os.SystemProperties;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.preference.CheckBoxPreference;
|
||||
import android.preference.ListPreference;
|
||||
import android.preference.Preference;
|
||||
@@ -120,7 +119,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
private static final String SHOW_NON_RECTANGULAR_CLIP_KEY = "show_non_rect_clip";
|
||||
private static final String SHOW_HW_SCREEN_UPDATES_KEY = "show_hw_screen_udpates";
|
||||
private static final String SHOW_HW_LAYERS_UPDATES_KEY = "show_hw_layers_udpates";
|
||||
private static final String SHOW_HW_OVERDRAW_KEY = "show_hw_overdraw";
|
||||
private static final String DEBUG_HW_OVERDRAW_KEY = "debug_hw_overdraw";
|
||||
private static final String DEBUG_LAYOUT_KEY = "debug_layout";
|
||||
private static final String WINDOW_ANIMATION_SCALE_KEY = "window_animation_scale";
|
||||
private static final String TRANSITION_ANIMATION_SCALE_KEY = "transition_animation_scale";
|
||||
@@ -181,8 +180,8 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
private CheckBoxPreference mForceMsaa;
|
||||
private CheckBoxPreference mShowHwScreenUpdates;
|
||||
private CheckBoxPreference mShowHwLayersUpdates;
|
||||
private CheckBoxPreference mShowHwOverdraw;
|
||||
private CheckBoxPreference mDebugLayout;
|
||||
private ListPreference mDebugHwOverdraw;
|
||||
private ListPreference mTrackFrameTime;
|
||||
private ListPreference mShowNonRectClip;
|
||||
private ListPreference mWindowAnimationScale;
|
||||
@@ -282,8 +281,8 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
mShowNonRectClip = addListPreference(SHOW_NON_RECTANGULAR_CLIP_KEY);
|
||||
mShowHwScreenUpdates = findAndInitCheckboxPref(SHOW_HW_SCREEN_UPDATES_KEY);
|
||||
mShowHwLayersUpdates = findAndInitCheckboxPref(SHOW_HW_LAYERS_UPDATES_KEY);
|
||||
mShowHwOverdraw = findAndInitCheckboxPref(SHOW_HW_OVERDRAW_KEY);
|
||||
mDebugLayout = findAndInitCheckboxPref(DEBUG_LAYOUT_KEY);
|
||||
mDebugHwOverdraw = addListPreference(DEBUG_HW_OVERDRAW_KEY);
|
||||
mWindowAnimationScale = addListPreference(WINDOW_ANIMATION_SCALE_KEY);
|
||||
mTransitionAnimationScale = addListPreference(TRANSITION_ANIMATION_SCALE_KEY);
|
||||
mAnimatorDurationScale = addListPreference(ANIMATOR_DURATION_SCALE_KEY);
|
||||
@@ -479,7 +478,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
updateShowNonRectClipOptions();
|
||||
updateShowHwScreenUpdatesOptions();
|
||||
updateShowHwLayersUpdatesOptions();
|
||||
updateShowHwOverdrawOptions();
|
||||
updateDebugHwOverdrawOptions();
|
||||
updateDebugLayoutOptions();
|
||||
updateAnimationScaleOptions();
|
||||
updateOverlayDisplayDevicesOptions();
|
||||
@@ -835,15 +834,29 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
pokeSystemProperties();
|
||||
}
|
||||
|
||||
private void updateShowHwOverdrawOptions() {
|
||||
updateCheckBox(mShowHwOverdraw, SystemProperties.getBoolean(
|
||||
HardwareRenderer.DEBUG_SHOW_OVERDRAW_PROPERTY, false));
|
||||
private void updateDebugHwOverdrawOptions() {
|
||||
String value = SystemProperties.get(HardwareRenderer.DEBUG_OVERDRAW_PROPERTY);
|
||||
if (value == null) {
|
||||
value = "";
|
||||
}
|
||||
|
||||
CharSequence[] values = mDebugHwOverdraw.getEntryValues();
|
||||
for (int i = 0; i < values.length; i++) {
|
||||
if (value.contentEquals(values[i])) {
|
||||
mDebugHwOverdraw.setValueIndex(i);
|
||||
mDebugHwOverdraw.setSummary(mDebugHwOverdraw.getEntries()[i]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
mDebugHwOverdraw.setValueIndex(0);
|
||||
mDebugHwOverdraw.setSummary(mDebugHwOverdraw.getEntries()[0]);
|
||||
}
|
||||
|
||||
private void writeShowHwOverdrawOptions() {
|
||||
SystemProperties.set(HardwareRenderer.DEBUG_SHOW_OVERDRAW_PROPERTY,
|
||||
mShowHwOverdraw.isChecked() ? "true" : null);
|
||||
private void writeDebugHwOverdrawOptions(Object newValue) {
|
||||
SystemProperties.set(HardwareRenderer.DEBUG_OVERDRAW_PROPERTY,
|
||||
newValue == null ? "" : newValue.toString());
|
||||
pokeSystemProperties();
|
||||
updateDebugHwOverdrawOptions();
|
||||
}
|
||||
|
||||
private void updateDebugLayoutOptions() {
|
||||
@@ -1158,8 +1171,6 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
writeShowHwScreenUpdatesOptions();
|
||||
} else if (preference == mShowHwLayersUpdates) {
|
||||
writeShowHwLayersUpdatesOptions();
|
||||
} else if (preference == mShowHwOverdraw) {
|
||||
writeShowHwOverdrawOptions();
|
||||
} else if (preference == mDebugLayout) {
|
||||
writeDebugLayoutOptions();
|
||||
}
|
||||
@@ -1192,6 +1203,9 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
} else if (preference == mTrackFrameTime) {
|
||||
writeTrackFrameTimeOptions(newValue);
|
||||
return true;
|
||||
} else if (preference == mDebugHwOverdraw) {
|
||||
writeDebugHwOverdrawOptions(newValue);
|
||||
return true;
|
||||
} else if (preference == mShowNonRectClip) {
|
||||
writeShowNonRectClipOptions(newValue);
|
||||
return true;
|
||||
|
Reference in New Issue
Block a user