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

Commit bc41c5fb authored by ramindani's avatar ramindani
Browse files

[Composer-HAL-AIDL] Adds vrr interface configuration

Test: atest VtsHalGraphicsComposer3_TargetTest
BUG: 287517352
BUG: 284881912
Change-Id: I71ed35acb18a00009cd23afe47f5c48494d08c0c
parent a7651ff2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -45,4 +45,5 @@ parcelable DisplayCommand {
  boolean acceptDisplayChanges;
  boolean presentDisplay;
  boolean presentOrValidateDisplay;
  int frameIntervalNs;
}
+1 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ parcelable DisplayConfiguration {
  @nullable android.hardware.graphics.composer3.DisplayConfiguration.Dpi dpi;
  int configGroup;
  int vsyncPeriod;
  @nullable android.hardware.graphics.composer3.VrrConfig vrrConfig;
  parcelable Dpi {
    float x;
    float y;
+2 −1
Original line number Diff line number Diff line
@@ -82,7 +82,8 @@ interface IComposerClient {
  android.hardware.graphics.common.HdrConversionCapability[] getHdrConversionCapabilities();
  android.hardware.graphics.common.Hdr setHdrConversionStrategy(in android.hardware.graphics.common.HdrConversionStrategy conversionStrategy);
  void setRefreshRateChangedCallbackDebugEnabled(long display, boolean enabled);
  android.hardware.graphics.composer3.DisplayConfiguration[] getDisplayConfigurations(long display);
  android.hardware.graphics.composer3.DisplayConfiguration[] getDisplayConfigurations(long display, int maxFrameIntervalNs);
  oneway void notifyExpectedPresent(long display, in android.hardware.graphics.composer3.ClockMonotonicTimestamp expectedPresentTime, int frameIntervalNs);
  const int EX_BAD_CONFIG = 1;
  const int EX_BAD_DISPLAY = 2;
  const int EX_BAD_LAYER = 3;
+48 −0
Original line number Diff line number Diff line
/**
 * Copyright 2023, The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
///////////////////////////////////////////////////////////////////////////////

// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
//     the interface (from the latest frozen version), the build system will
//     prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.

package android.hardware.graphics.composer3;
@VintfStability
parcelable VrrConfig {
  int minFrameIntervalNs;
  @nullable android.hardware.graphics.composer3.VrrConfig.FrameIntervalPowerHint[] frameIntervalPowerHints;
  @nullable android.hardware.graphics.composer3.VrrConfig.NotifyExpectedPresentConfig notifyExpectedPresentConfig;
  parcelable FrameIntervalPowerHint {
    int frameIntervalNs;
    int averageRefreshPeriodNs;
  }
  parcelable NotifyExpectedPresentConfig {
    int notifyExpectedPresentHeadsUpNs;
    int notifyExpectedPresentTimeoutNs;
  }
}
+11 −0
Original line number Diff line number Diff line
@@ -174,4 +174,15 @@ parcelable DisplayCommand {
     * or perform a VALIDATE_DISPLAY action instead.
     */
    boolean presentOrValidateDisplay;

    /**
     * If a value greater than 0 is set, it provides a hint about the next frame(s)
     * cadence. This parameter represents the time in nanoseconds of when to expect the
     * next frames to arrive. For example. frameIntervalNs=33333333 indicates that the
     * cadence of the next frames is 30Hz.
     *
     * The implementation should take the necessary steps to present the next frames as
     * close as possible to the cadence.
     */
    int frameIntervalNs;
}
Loading