OSDN Git Service

New developer setting: force 4x MSAA
authorRomain Guy <romainguy@google.com>
Tue, 16 Oct 2012 02:22:57 +0000 (19:22 -0700)
committerRomain Guy <romainguy@google.com>
Tue, 16 Oct 2012 02:22:57 +0000 (19:22 -0700)
Change-Id: I443b97ad8adc9f461aa140069f208f83f19f8c52

res/values/strings.xml
res/xml/development_prefs.xml
src/com/android/settings/DevelopmentSettings.java

index 6eb2a26..abdc521 100644 (file)
     <!-- UI debug setting: force hardware acceleration summary [CHAR LIMIT=50] -->
     <string name="force_hw_ui_summary">Force use of GPU for 2d drawing</string>
 
+    <!-- UI debug setting: force anti-aliasing to render apps [CHAR LIMIT=25] -->
+    <string name="force_msaa">Force 4x MSAA</string>
+    <!-- UI debug setting: force anti-aliasing summary [CHAR LIMIT=50] -->
+    <string name="force_msaa_summary">Enable 4x MSAA in OpenGL ES 2.0 apps</string>
+
     <!-- UI debug setting: profile time taken by hardware acceleration to render apps [CHAR LIMIT=25] -->
     <string name="track_frame_time">Profile GPU rendering</string>
     <!-- UI debug setting: profile hardware acceleration summary [CHAR LIMIT=50] -->
index 8fdb03f..1f08eaa 100644 (file)
             android:title="@string/force_hw_ui"
             android:summary="@string/force_hw_ui_summary"/>
 
+        <CheckBoxPreference
+            android:key="force_msaa"
+            android:title="@string/force_msaa"
+            android:summary="@string/force_msaa_summary"/>
+
         <ListPreference
             android:key="overlay_display_devices"
             android:title="@string/overlay_display_devices_title"
index d1f9b55..0ad6a91 100644 (file)
@@ -93,6 +93,7 @@ public class DevelopmentSettings extends PreferenceFragment
     private static final String ENFORCE_READ_EXTERNAL = "enforce_read_external";
     private static final String LOCAL_BACKUP_PASSWORD = "local_backup_password";
     private static final String HARDWARE_UI_PROPERTY = "persist.sys.ui.hw";
+    private static final String MSAA_PROPERTY = "debug.egl.force_msaa";
     private static final String BUGREPORT_IN_POWER_KEY = "bugreport_in_power";
 
     private static final String DEBUG_APP_KEY = "debug_app";
@@ -105,6 +106,7 @@ public class DevelopmentSettings extends PreferenceFragment
     private static final String DISABLE_OVERLAYS_KEY = "disable_overlays";
     private static final String SHOW_CPU_USAGE_KEY = "show_cpu_usage";
     private static final String FORCE_HARDWARE_UI_KEY = "force_hw_ui";
+    private static final String FORCE_MSAA_KEY = "force_msaa";
     private static final String TRACK_FRAME_TIME_KEY = "track_frame_time";
     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";
@@ -158,6 +160,7 @@ public class DevelopmentSettings extends PreferenceFragment
     private CheckBoxPreference mDisableOverlays;
     private CheckBoxPreference mShowCpuUsage;
     private CheckBoxPreference mForceHardwareUi;
+    private CheckBoxPreference mForceMsaa;
     private CheckBoxPreference mTrackFrameTime;
     private CheckBoxPreference mShowHwScreenUpdates;
     private CheckBoxPreference mShowHwLayersUpdates;
@@ -224,6 +227,7 @@ public class DevelopmentSettings extends PreferenceFragment
         mDisableOverlays = findAndInitCheckboxPref(DISABLE_OVERLAYS_KEY);
         mShowCpuUsage = findAndInitCheckboxPref(SHOW_CPU_USAGE_KEY);
         mForceHardwareUi = findAndInitCheckboxPref(FORCE_HARDWARE_UI_KEY);
+        mForceMsaa = findAndInitCheckboxPref(FORCE_MSAA_KEY);
         mTrackFrameTime = findAndInitCheckboxPref(TRACK_FRAME_TIME_KEY);
         mShowHwScreenUpdates = findAndInitCheckboxPref(SHOW_HW_SCREEN_UPDATES_KEY);
         mShowHwLayersUpdates = findAndInitCheckboxPref(SHOW_HW_LAYERS_UPDATES_KEY);
@@ -393,6 +397,7 @@ public class DevelopmentSettings extends PreferenceFragment
         updateFlingerOptions();
         updateCpuUsageOptions();
         updateHardwareUiOptions();
+        updateMsaaOptions();
         updateTrackFrameTimeOptions();
         updateShowHwScreenUpdatesOptions();
         updateShowHwLayersUpdatesOptions();
@@ -650,6 +655,15 @@ public class DevelopmentSettings extends PreferenceFragment
         pokeSystemProperties();
     }
 
+    private void updateMsaaOptions() {
+        updateCheckBox(mForceMsaa, SystemProperties.getBoolean(MSAA_PROPERTY, false));
+    }
+
+    private void writeMsaaOptions() {
+        SystemProperties.set(MSAA_PROPERTY, mForceMsaa.isChecked() ? "true" : "false");
+        pokeSystemProperties();
+    }
+
     private void updateTrackFrameTimeOptions() {
         updateCheckBox(mTrackFrameTime,
                 SystemProperties.getBoolean(HardwareRenderer.PROFILE_PROPERTY, false));
@@ -987,6 +1001,8 @@ public class DevelopmentSettings extends PreferenceFragment
             writeShowAllANRsOptions();
         } else if (preference == mForceHardwareUi) {
             writeHardwareUiOptions();
+        } else if (preference == mForceMsaa) {
+            writeMsaaOptions();
         } else if (preference == mTrackFrameTime) {
             writeTrackFrameTimeOptions();
         } else if (preference == mShowHwScreenUpdates) {