Initialize a present fence in case of failure
Speculative fix for b/304586546. By inspection, we've found this is a
case where SF does not initialize a present fence. If HWC does not
replace it with a real one, this could lead to a crash later.
Bug: 304586546
Test: make
Change-Id: I770f2feb21721de30d0e8f099a365665f81bf0d3
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
index 1d9f9ce..8a10273 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
@@ -545,7 +545,7 @@
}
if (canSkipValidate) {
- sp<Fence> outPresentFence;
+ sp<Fence> outPresentFence = Fence::NO_FENCE;
uint32_t state = UINT32_MAX;
error = hwcDisplay->presentOrValidate(expectedPresentTime, &numTypes, &numRequests,
&outPresentFence, &state);