Merge "Remove makefiles for vr_window_manager"
diff --git a/cmds/dumpstate/dumpstate.cpp b/cmds/dumpstate/dumpstate.cpp
index e13ae43..6dbb967 100644
--- a/cmds/dumpstate/dumpstate.cpp
+++ b/cmds/dumpstate/dumpstate.cpp
@@ -963,6 +963,8 @@
{"ps", "-A", "-T", "-Z", "-O", "pri,nice,rtprio,sched,pcy"});
RunCommand("LIBRANK", {"librank"}, CommandOptions::AS_ROOT);
+ RunCommand("HARDWARE HALS", {"lshal"});
+
RunCommand("PRINTENV", {"printenv"});
RunCommand("NETSTAT", {"netstat", "-nW"});
struct stat s;
diff --git a/cmds/installd/installd.rc b/cmds/installd/installd.rc
index d5d5236..240aa49 100644
--- a/cmds/installd/installd.rc
+++ b/cmds/installd/installd.rc
@@ -1,2 +1,103 @@
+
service installd /system/bin/installd
class main
+
+on early-boot
+ mkdir /config/sdcardfs/extensions/1055
+ mkdir /config/sdcardfs/extensions/1056
+ mkdir /config/sdcardfs/extensions/1057
+ mkdir /config/sdcardfs/extensions/1056/3gpp
+ mkdir /config/sdcardfs/extensions/1056/3gp
+ mkdir /config/sdcardfs/extensions/1056/3gpp2
+ mkdir /config/sdcardfs/extensions/1056/3g2
+ mkdir /config/sdcardfs/extensions/1056/avi
+ mkdir /config/sdcardfs/extensions/1056/dl
+ mkdir /config/sdcardfs/extensions/1056/dif
+ mkdir /config/sdcardfs/extensions/1056/dv
+ mkdir /config/sdcardfs/extensions/1056/fli
+ mkdir /config/sdcardfs/extensions/1056/m4v
+ mkdir /config/sdcardfs/extensions/1056/ts
+ mkdir /config/sdcardfs/extensions/1056/mpeg
+ mkdir /config/sdcardfs/extensions/1056/mpg
+ mkdir /config/sdcardfs/extensions/1056/mpe
+ mkdir /config/sdcardfs/extensions/1056/mp4
+ mkdir /config/sdcardfs/extensions/1056/vob
+ mkdir /config/sdcardfs/extensions/1056/qt
+ mkdir /config/sdcardfs/extensions/1056/mov
+ mkdir /config/sdcardfs/extensions/1056/mxu
+ mkdir /config/sdcardfs/extensions/1056/webm
+ mkdir /config/sdcardfs/extensions/1056/lsf
+ mkdir /config/sdcardfs/extensions/1056/lsx
+ mkdir /config/sdcardfs/extensions/1056/mkv
+ mkdir /config/sdcardfs/extensions/1056/mng
+ mkdir /config/sdcardfs/extensions/1056/asf
+ mkdir /config/sdcardfs/extensions/1056/asx
+ mkdir /config/sdcardfs/extensions/1056/wm
+ mkdir /config/sdcardfs/extensions/1056/wmv
+ mkdir /config/sdcardfs/extensions/1056/wmx
+ mkdir /config/sdcardfs/extensions/1056/wvx
+ mkdir /config/sdcardfs/extensions/1056/movie
+ mkdir /config/sdcardfs/extensions/1056/wrf
+ mkdir /config/sdcardfs/extensions/1057/bmp
+ mkdir /config/sdcardfs/extensions/1057/gif
+ mkdir /config/sdcardfs/extensions/1057/jpg
+ mkdir /config/sdcardfs/extensions/1057/jpeg
+ mkdir /config/sdcardfs/extensions/1057/jpe
+ mkdir /config/sdcardfs/extensions/1057/pcx
+ mkdir /config/sdcardfs/extensions/1057/png
+ mkdir /config/sdcardfs/extensions/1057/svg
+ mkdir /config/sdcardfs/extensions/1057/svgz
+ mkdir /config/sdcardfs/extensions/1057/tiff
+ mkdir /config/sdcardfs/extensions/1057/tif
+ mkdir /config/sdcardfs/extensions/1057/wbmp
+ mkdir /config/sdcardfs/extensions/1057/webp
+ mkdir /config/sdcardfs/extensions/1057/dng
+ mkdir /config/sdcardfs/extensions/1057/cr2
+ mkdir /config/sdcardfs/extensions/1057/ras
+ mkdir /config/sdcardfs/extensions/1057/art
+ mkdir /config/sdcardfs/extensions/1057/jng
+ mkdir /config/sdcardfs/extensions/1057/nef
+ mkdir /config/sdcardfs/extensions/1057/nrw
+ mkdir /config/sdcardfs/extensions/1057/orf
+ mkdir /config/sdcardfs/extensions/1057/rw2
+ mkdir /config/sdcardfs/extensions/1057/pef
+ mkdir /config/sdcardfs/extensions/1057/psd
+ mkdir /config/sdcardfs/extensions/1057/pnm
+ mkdir /config/sdcardfs/extensions/1057/pbm
+ mkdir /config/sdcardfs/extensions/1057/pgm
+ mkdir /config/sdcardfs/extensions/1057/ppm
+ mkdir /config/sdcardfs/extensions/1057/srw
+ mkdir /config/sdcardfs/extensions/1057/arw
+ mkdir /config/sdcardfs/extensions/1057/rgb
+ mkdir /config/sdcardfs/extensions/1057/xbm
+ mkdir /config/sdcardfs/extensions/1057/xpm
+ mkdir /config/sdcardfs/extensions/1057/xwd
+ mkdir /config/sdcardfs/extensions/1055/aac
+ mkdir /config/sdcardfs/extensions/1055/aac
+ mkdir /config/sdcardfs/extensions/1055/amr
+ mkdir /config/sdcardfs/extensions/1055/awb
+ mkdir /config/sdcardfs/extensions/1055/snd
+ mkdir /config/sdcardfs/extensions/1055/flac
+ mkdir /config/sdcardfs/extensions/1055/flac
+ mkdir /config/sdcardfs/extensions/1055/mp3
+ mkdir /config/sdcardfs/extensions/1055/mpga
+ mkdir /config/sdcardfs/extensions/1055/mpega
+ mkdir /config/sdcardfs/extensions/1055/mp2
+ mkdir /config/sdcardfs/extensions/1055/m4a
+ mkdir /config/sdcardfs/extensions/1055/aif
+ mkdir /config/sdcardfs/extensions/1055/aiff
+ mkdir /config/sdcardfs/extensions/1055/aifc
+ mkdir /config/sdcardfs/extensions/1055/gsm
+ mkdir /config/sdcardfs/extensions/1055/mka
+ mkdir /config/sdcardfs/extensions/1055/m3u
+ mkdir /config/sdcardfs/extensions/1055/wma
+ mkdir /config/sdcardfs/extensions/1055/wax
+ mkdir /config/sdcardfs/extensions/1055/ra
+ mkdir /config/sdcardfs/extensions/1055/rm
+ mkdir /config/sdcardfs/extensions/1055/ram
+ mkdir /config/sdcardfs/extensions/1055/ra
+ mkdir /config/sdcardfs/extensions/1055/pls
+ mkdir /config/sdcardfs/extensions/1055/sd2
+ mkdir /config/sdcardfs/extensions/1055/wav
+ mkdir /config/sdcardfs/extensions/1055/ogg
+ mkdir /config/sdcardfs/extensions/1055/oga
diff --git a/cmds/installd/matchgen.py b/cmds/installd/matchgen.py
index b37352b..131487d 100644
--- a/cmds/installd/matchgen.py
+++ b/cmds/installd/matchgen.py
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import collections
+import collections, sys
TYPES = {
"AID_MEDIA_AUDIO": ["aac","aac","amr","awb","snd","flac","flac","mp3","mpga","mpega","mp2","m4a","aif","aiff","aifc","gsm","mka","m3u","wma","wax","ra","rm","ram","ra","pls","sd2","wav","ogg","oga"],
@@ -22,6 +22,19 @@
"AID_MEDIA_IMAGE": ["bmp","gif","jpg","jpeg","jpe","pcx","png","svg","svgz","tiff","tif","wbmp","webp","dng","cr2","ras","art","jng","nef","nrw","orf","rw2","pef","psd","pnm","pbm","pgm","ppm","srw","arw","rgb","xbm","xpm","xwd"]
}
+if "--rc" in sys.argv:
+ print "on early-boot"
+ print " mkdir /config/sdcardfs/extensions/1055"
+ print " mkdir /config/sdcardfs/extensions/1056"
+ print " mkdir /config/sdcardfs/extensions/1057"
+ for gid, exts in TYPES.iteritems():
+ if gid is "AID_MEDIA_AUDIO": gid = "1055"
+ if gid is "AID_MEDIA_VIDEO": gid = "1056"
+ if gid is "AID_MEDIA_IMAGE": gid = "1057"
+ for ext in exts:
+ print " mkdir /config/sdcardfs/extensions/%s/%s" % (gid, ext)
+ exit()
+
print """/*
* Copyright (C) 2017 The Android Open Source Project
*
diff --git a/opengl/tools/glgen/stubs/jsr239/GLCHeader.cpp b/opengl/tools/glgen/stubs/jsr239/GLCHeader.cpp
index f5506ba..026cb37 100644
--- a/opengl/tools/glgen/stubs/jsr239/GLCHeader.cpp
+++ b/opengl/tools/glgen/stubs/jsr239/GLCHeader.cpp
@@ -131,6 +131,7 @@
pointer = _env->CallStaticLongMethod(nioAccessClass,
getBasePointerID, buffer);
if (pointer != 0L) {
+ *offset = 0;
*array = NULL;
return reinterpret_cast<void *>(pointer);
}
@@ -138,6 +139,7 @@
*array = (jarray) _env->CallStaticObjectMethod(nioAccessClass,
getBaseArrayID, buffer);
if (*array == NULL) {
+ *offset = 0;
return (void*) NULL;
}
*offset = _env->CallStaticIntMethod(nioAccessClass,
diff --git a/services/surfaceflinger/Android.mk b/services/surfaceflinger/Android.mk
index 0ea1407..6f5947a 100644
--- a/services/surfaceflinger/Android.mk
+++ b/services/surfaceflinger/Android.mk
@@ -106,6 +106,7 @@
# [1] https://developer.android.com/studio/profile/systrace.html
# [2] https://developer.android.com/training/testing/performance.html
+# These are left just for non-treble devices
ifneq ($(VSYNC_EVENT_PHASE_OFFSET_NS),)
LOCAL_CFLAGS += -DVSYNC_EVENT_PHASE_OFFSET_NS=$(VSYNC_EVENT_PHASE_OFFSET_NS)
else
@@ -137,6 +138,7 @@
android.dvr.composer@1.0 \
android.hardware.graphics.allocator@2.0 \
android.hardware.graphics.composer@2.1 \
+ android.hardware.configstore@1.0 \
libcutils \
liblog \
libdl \
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index a29c584..bd3836e 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -83,6 +83,8 @@
#include "RenderEngine/RenderEngine.h"
#include <cutils/compiler.h>
+#include <android/hardware/configstore/1.0/ISurfaceFlingerConfigs.h>
+
#define DISPLAY_COUNT 1
/*
@@ -95,6 +97,22 @@
namespace android {
+using namespace android::hardware::configstore::V1_0;
+
+static sp<ISurfaceFlingerConfigs> getConfigs() {
+ static sp<ISurfaceFlingerConfigs> configs
+ = ISurfaceFlingerConfigs::getService();
+ return configs;
+}
+
+static int64_t getVsyncEventPhaseOffsetNs() {
+ int64_t ret = 1000000; // default value
+ getConfigs()->vsyncEventPhaseOffsetNs([&](OptionalInt64 value) {
+ if (value.specified) ret = value.value;
+ });
+ return ret;
+}
+
// This is the phase offset in nanoseconds of the software vsync event
// relative to the vsync event reported by HWComposer. The software vsync
// event is when SurfaceFlinger and Choreographer-based applications run each
@@ -115,7 +133,7 @@
// the latency will end up being an additional vsync period, and animations
// will hiccup. Therefore, this latency should be tuned somewhat
// conservatively (or at least with awareness of the trade-off being made).
-static const int64_t vsyncPhaseOffsetNs = VSYNC_EVENT_PHASE_OFFSET_NS;
+static int64_t vsyncPhaseOffsetNs = getVsyncEventPhaseOffsetNs();
// This is the phase offset at which SurfaceFlinger's composition runs.
static const int64_t sfVsyncPhaseOffsetNs = SF_VSYNC_EVENT_PHASE_OFFSET_NS;
@@ -502,6 +520,8 @@
ALOGI( "SurfaceFlinger's main thread ready to run. "
"Initializing graphics H/W...");
+ ALOGI("Phase offest NS: %" PRId64 "", vsyncPhaseOffsetNs);
+
{ // Autolock scope
Mutex::Autolock _l(mStateLock);
@@ -682,7 +702,7 @@
info.xdpi = xdpi;
info.ydpi = ydpi;
info.fps = 1e9 / hwConfig->getVsyncPeriod();
- info.appVsyncOffset = VSYNC_EVENT_PHASE_OFFSET_NS;
+ info.appVsyncOffset = vsyncPhaseOffsetNs;
// This is how far in advance a buffer must be queued for
// presentation at a given time. If you want a buffer to appear