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

Commit 89270bc7 authored by Jerry Chang's avatar Jerry Chang Committed by Android (Google) Code Review
Browse files

Merge "VRR: Allowlist for small area detection" into udc-qpr-dev

parents a08618c0 00886f49
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -2750,6 +2750,20 @@ status_t SurfaceComposerClient::setOverrideFrameRate(uid_t uid, float frameRate)
    return statusTFromBinderStatus(status);
}

status_t SurfaceComposerClient::updateSmallAreaDetection(std::vector<int32_t>& uids,
                                                         std::vector<float>& thresholds) {
    binder::Status status =
            ComposerServiceAIDL::getComposerService()->updateSmallAreaDetection(uids, thresholds);
    return statusTFromBinderStatus(status);
}

status_t SurfaceComposerClient::setSmallAreaDetectionThreshold(uid_t uid, float threshold) {
    binder::Status status =
            ComposerServiceAIDL::getComposerService()->setSmallAreaDetectionThreshold(uid,
                                                                                      threshold);
    return statusTFromBinderStatus(status);
}

void SurfaceComposerClient::setAutoLowLatencyMode(const sp<IBinder>& display, bool on) {
    ComposerServiceAIDL::getComposerService()->setAutoLowLatencyMode(display, on);
}
+9 −0
Original line number Diff line number Diff line
@@ -481,6 +481,15 @@ interface ISurfaceComposer {
     */
    void setOverrideFrameRate(int uid, float frameRate);

    oneway void updateSmallAreaDetection(in int[] uids, in float[] thresholds);

    /**
     * Set the small area detection threshold for a specified uid by SmallAreaDetectionController.
     * Passing the threshold and uid to SurfaceFlinger to update the uid-threshold mapping
     * in the scheduler.
     */
    oneway void setSmallAreaDetectionThreshold(int uid, float threshold);

    /**
     * Gets priority of the RenderEngine in SurfaceFlinger.
     */
+3 −0
Original line number Diff line number Diff line
@@ -151,6 +151,9 @@ public:
    MOCK_METHOD(binder::Status, getDisplayDecorationSupport,
                (const sp<IBinder>&, std::optional<gui::DisplayDecorationSupport>*), (override));
    MOCK_METHOD(binder::Status, setOverrideFrameRate, (int32_t, float), (override));
    MOCK_METHOD(binder::Status, updateSmallAreaDetection,
                (const std::vector<int32_t>&, const std::vector<float>&), (override));
    MOCK_METHOD(binder::Status, setSmallAreaDetectionThreshold, (int32_t, float), (override));
    MOCK_METHOD(binder::Status, getGpuContextPriority, (int32_t*), (override));
    MOCK_METHOD(binder::Status, getMaxAcquiredBufferCount, (int32_t*), (override));
    MOCK_METHOD(binder::Status, addWindowInfosListener,
+10 −0
Original line number Diff line number Diff line
@@ -203,6 +203,16 @@ public:
    // by GameManager.
    static status_t setOverrideFrameRate(uid_t uid, float frameRate);

    // Update the small area detection whole uid-threshold mappings by same size uid and threshold
    // vector.
    // Ref:setSmallAreaDetectionThreshold.
    static status_t updateSmallAreaDetection(std::vector<int32_t>& uids,
                                             std::vector<float>& thresholds);

    // Sets the small area detection threshold to particular apps (uid). Passing value 0 means
    // to disable small area detection to the app.
    static status_t setSmallAreaDetectionThreshold(uid_t uid, float threshold);

    // Switches on/off Auto Low Latency Mode on the connected display. This should only be
    // called if the connected display supports Auto Low Latency Mode as reported by
    // #getAutoLowLatencyModeSupport
+9 −0
Original line number Diff line number Diff line
@@ -993,6 +993,15 @@ public:
        return binder::Status::ok();
    }

    binder::Status updateSmallAreaDetection(const std::vector<int32_t>& /*uids*/,
                                            const std::vector<float>& /*thresholds*/) {
        return binder::Status::ok();
    }

    binder::Status setSmallAreaDetectionThreshold(int32_t /*uid*/, float /*threshold*/) {
        return binder::Status::ok();
    }

    binder::Status getGpuContextPriority(int32_t* /*outPriority*/) override {
        return binder::Status::ok();
    }
Loading