Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b2069786 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "composer: add API to control display idle timer"

parents 839b1e2e a0b56bde
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -42,4 +42,5 @@ enum DisplayCapability {
  AUTO_LOW_LATENCY_MODE = 5,
  SUSPEND = 6,
  DISPLAY_DECORATION = 7,
  DISPLAY_IDLE_TIMER = 8,
}
+1 −0
Original line number Diff line number Diff line
@@ -39,4 +39,5 @@ interface IComposerCallback {
  oneway void onSeamlessPossible(long display);
  oneway void onVsync(long display, long timestamp, int vsyncPeriodNanos);
  oneway void onVsyncPeriodTimingChanged(long display, in android.hardware.graphics.composer3.VsyncPeriodChangeTimeline updatedTimeline);
  oneway void onVsyncIdle(long display);
}
+1 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ interface IComposerClient {
  void setPowerMode(long display, android.hardware.graphics.composer3.PowerMode mode);
  void setReadbackBuffer(long display, in android.hardware.common.NativeHandle buffer, in @nullable ParcelFileDescriptor releaseFence);
  void setVsyncEnabled(long display, boolean enabled);
  void setIdleTimerEnabled(long display, int timeoutMs);
  const int EX_BAD_CONFIG = 1;
  const int EX_BAD_DISPLAY = 2;
  const int EX_BAD_LAYER = 3;
+5 −0
Original line number Diff line number Diff line
@@ -79,4 +79,9 @@ enum DisplayCapability {
     * Indicates that the display supports Composition.DISPLAY_DECORATION.
     */
    DISPLAY_DECORATION = 7,
    /**
     * Indicates that the display supports IComposerClient.setIdleTimerEnabled and
     * IComposerCallback.onVsyncIdle.
     */
    DISPLAY_IDLE_TIMER = 8,
}
+10 −0
Original line number Diff line number Diff line
@@ -86,4 +86,14 @@ interface IComposerCallback {
     */
    oneway void onVsyncPeriodTimingChanged(
            long display, in VsyncPeriodChangeTimeline updatedTimeline);

    /**
     * Notifies the client that the display is idle, the refresh rate changed to a lower setting to
     * preserve power and vsync cadence changed. When a new frame is queued for presentation, the
     * client is expected to enable vsync callbacks to learn the new vsync cadence before sending
     * a new frame.
     *
     * @param display is the display whose vsync cadence changed due to panel idle mode.
     */
    oneway void onVsyncIdle(long display);
}
Loading