SF: Track display info required for frontend updates
Instead of recreating display info every time we need to update
input, keep track of a subset of display info that is required
for both input updates and geometry updates.
The layer stack to display info is updated every time display
state changes.
Bug: 238781169
Test: presubmit
Change-Id: I965d319bf1e10cf891c62526e309ae603e267dea
diff --git a/services/surfaceflinger/DisplayDevice.h b/services/surfaceflinger/DisplayDevice.h
index 1602a71..afa13e5 100644
--- a/services/surfaceflinger/DisplayDevice.h
+++ b/services/surfaceflinger/DisplayDevice.h
@@ -45,11 +45,11 @@
#include "DisplayHardware/DisplayMode.h"
#include "DisplayHardware/Hal.h"
#include "DisplayHardware/PowerAdvisor.h"
+#include "FrontEnd/FrontEndDisplayInfo.h"
#include "Scheduler/RefreshRateSelector.h"
#include "ThreadContext.h"
#include "TracedOrdinal.h"
#include "Utils/Dumper.h"
-
namespace android {
class Fence;
@@ -167,14 +167,7 @@
void setDisplayName(const std::string& displayName);
const std::string& getDisplayName() const { return mDisplayName; }
- struct InputInfo {
- gui::DisplayInfo info;
- ui::Transform transform;
- bool receivesInput;
- bool isSecure;
- };
-
- InputInfo getInputInfo() const;
+ surfaceflinger::FrontEndDisplayInfo getFrontEndInfo() const;
/* ------------------------------------------------------------------------
* Display power mode management.