Improve handling of hwcomposer with unsupported present fences

An implementation such as HWC2OnFbAdapter always returns -1 for the
present fence. FrameTimeline should not ignore invalid fences in
mPendingPresentFences, since in this case every fence is invalid,
resulting in resource leaks. Similarly, PresentLatencyTracker should not
be used if HWC doesn't support present fences.

Test: no logspam running on starnix (fuchsia), which uses framebuffer
Test: booted emulator, no behavior change
Test: booted panther, no behavior change
Change-Id: I4a11edc443a1cd3a395fc8f97b93a5474d11fe31
diff --git a/services/surfaceflinger/FrameTimeline/FrameTimeline.cpp b/services/surfaceflinger/FrameTimeline/FrameTimeline.cpp
index cd1ba70..27a099c 100644
--- a/services/surfaceflinger/FrameTimeline/FrameTimeline.cpp
+++ b/services/surfaceflinger/FrameTimeline/FrameTimeline.cpp
@@ -1175,7 +1175,7 @@
 std::optional<size_t> FrameTimeline::getFirstSignalFenceIndex() const {
     for (size_t i = 0; i < mPendingPresentFences.size(); i++) {
         const auto& [fence, _] = mPendingPresentFences[i];
-        if (fence && fence->isValid() && fence->getSignalTime() != Fence::SIGNAL_TIME_PENDING) {
+        if (fence && fence->getSignalTime() != Fence::SIGNAL_TIME_PENDING) {
             return i;
         }
     }