OSDN Git Service

sf: Defer DispSync initialization
authorSaurabh Shah <saurshah@codeaurora.org>
Thu, 13 Jul 2017 17:45:07 +0000 (10:45 -0700)
committerDan Stoza <stoza@google.com>
Wed, 19 Jul 2017 17:15:24 +0000 (10:15 -0700)
commitf41745301d5ecfa680dcef3a1948a8a321f80509
treeff8f46802b81d7fc089d359caf210dc1878c6de6
parent75b8f3ccf94d87417786c7e6ab698418226718ff
sf: Defer DispSync initialization

Some DispSync members are initialized based on uninitialized static
members of sf, that are in turn initialized in sf constructor. Fix
the sequence by deferring DispSync initialization.

Current sequence:
sf constructor|-> DispSync constructor -> Access static sf members
              |-> Initialize sf static members

New sequence:
sf constructor|-> DispSync constructor
              |-> Initialize sf static members
              |-> DispSync init -> Access static sf members

Bug: 63671437
Test: "present fences are ignored" not present in SF dumpsys
Change-Id: I618d2bbbbd4e39fc382e67f85dd8d637dd82cf38
services/surfaceflinger/DispSync.cpp
services/surfaceflinger/DispSync.h
services/surfaceflinger/SurfaceFlinger.cpp