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

Commit d9f824df authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 8326520 from a6506333 to tm-release

Change-Id: I04d62e56877482c0967a7504a1b6f7582f5bc93d
parents 49ee078b a6506333
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -1086,7 +1086,7 @@ macro_rules! declare_binder_enum {
    {
    {
        $( #[$attr:meta] )*
        $( #[$attr:meta] )*
        $enum:ident : [$backing:ty; $size:expr] {
        $enum:ident : [$backing:ty; $size:expr] {
            $( $name:ident = $value:expr, )*
            $( $( #[$value_attr:meta] )* $name:ident = $value:expr, )*
        }
        }
    } => {
    } => {
        $( #[$attr] )*
        $( #[$attr] )*
@@ -1094,7 +1094,7 @@ macro_rules! declare_binder_enum {
        #[allow(missing_docs)]
        #[allow(missing_docs)]
        pub struct $enum(pub $backing);
        pub struct $enum(pub $backing);
        impl $enum {
        impl $enum {
            $( #[allow(missing_docs)] pub const $name: Self = Self($value); )*
            $( $( #[$value_attr] )* #[allow(missing_docs)] pub const $name: Self = Self($value); )*


            #[inline(always)]
            #[inline(always)]
            #[allow(missing_docs)]
            #[allow(missing_docs)]
+4 −5
Original line number Original line Diff line number Diff line
@@ -1421,7 +1421,7 @@ SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setBuffe


SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setBuffer(
SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setBuffer(
        const sp<SurfaceControl>& sc, const sp<GraphicBuffer>& buffer,
        const sp<SurfaceControl>& sc, const sp<GraphicBuffer>& buffer,
        const std::optional<sp<Fence>>& fence, const std::optional<uint64_t>& frameNumber,
        const std::optional<sp<Fence>>& fence, const std::optional<uint64_t>& optFrameNumber,
        ReleaseBufferCallback callback) {
        ReleaseBufferCallback callback) {
    layer_state_t* s = getLayerState(sc);
    layer_state_t* s = getLayerState(sc);
    if (!s) {
    if (!s) {
@@ -1433,10 +1433,9 @@ SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setBuffe


    std::shared_ptr<BufferData> bufferData = std::make_shared<BufferData>();
    std::shared_ptr<BufferData> bufferData = std::make_shared<BufferData>();
    bufferData->buffer = buffer;
    bufferData->buffer = buffer;
    if (frameNumber) {
    uint64_t frameNumber = sc->resolveFrameNumber(optFrameNumber);
        bufferData->frameNumber = *frameNumber;
    bufferData->frameNumber = frameNumber;
    bufferData->flags |= BufferData::BufferDataChange::frameNumberChanged;
    bufferData->flags |= BufferData::BufferDataChange::frameNumberChanged;
    }
    if (fence) {
    if (fence) {
        bufferData->acquireFence = *fence;
        bufferData->acquireFence = *fence;
        bufferData->flags |= BufferData::BufferDataChange::fenceChanged;
        bufferData->flags |= BufferData::BufferDataChange::fenceChanged;
+13 −0
Original line number Original line Diff line number Diff line
@@ -280,5 +280,18 @@ sp<SurfaceControl> SurfaceControl::getParentingLayer() {
    return this;
    return this;
}
}


uint64_t SurfaceControl::resolveFrameNumber(const std::optional<uint64_t>& frameNumber) {
    if (frameNumber.has_value()) {
        auto ret = frameNumber.value();
        // Set the fallback to something far enough ahead that in the unlikely event of mixed
        // "real" frame numbers and fallback frame numbers, we still won't collide in any
        // meaningful capacity
        mFallbackFrameNumber = ret + 100;
        return ret;
    } else {
        return mFallbackFrameNumber++;
    }
}

// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
}; // namespace android
}; // namespace android
+4 −0
Original line number Original line Diff line number Diff line
@@ -19,6 +19,7 @@


#include <stdint.h>
#include <stdint.h>
#include <sys/types.h>
#include <sys/types.h>
#include <optional>


#include <utils/RefBase.h>
#include <utils/RefBase.h>
#include <utils/threads.h>
#include <utils/threads.h>
@@ -98,6 +99,8 @@ public:


    sp<SurfaceControl> getParentingLayer();
    sp<SurfaceControl> getParentingLayer();


    uint64_t resolveFrameNumber(const std::optional<uint64_t>& frameNumber);

private:
private:
    // can't be copied
    // can't be copied
    SurfaceControl& operator = (SurfaceControl& rhs);
    SurfaceControl& operator = (SurfaceControl& rhs);
@@ -124,6 +127,7 @@ private:
    uint32_t mHeight;
    uint32_t mHeight;
    PixelFormat mFormat;
    PixelFormat mFormat;
    uint32_t mCreateFlags;
    uint32_t mCreateFlags;
    uint64_t mFallbackFrameNumber = 100;
};
};


}; // namespace android
}; // namespace android
+5 −1
Original line number Original line Diff line number Diff line
@@ -654,10 +654,14 @@ sk_sp<SkShader> SkiaGLRenderEngine::createRuntimeEffectShader(
        colorTransform *=
        colorTransform *=
                mat4::scale(vec4(parameters.layerDimmingRatio, parameters.layerDimmingRatio,
                mat4::scale(vec4(parameters.layerDimmingRatio, parameters.layerDimmingRatio,
                                 parameters.layerDimmingRatio, 1.f));
                                 parameters.layerDimmingRatio, 1.f));
        const auto targetBuffer = parameters.layer.source.buffer.buffer;
        const auto graphicBuffer = targetBuffer ? targetBuffer->getBuffer() : nullptr;
        const auto hardwareBuffer = graphicBuffer ? graphicBuffer->toAHardwareBuffer() : nullptr;
        return createLinearEffectShader(parameters.shader, effect, runtimeEffect, colorTransform,
        return createLinearEffectShader(parameters.shader, effect, runtimeEffect, colorTransform,
                                        parameters.display.maxLuminance,
                                        parameters.display.maxLuminance,
                                        parameters.display.currentLuminanceNits,
                                        parameters.display.currentLuminanceNits,
                                        parameters.layer.source.buffer.maxLuminanceNits);
                                        parameters.layer.source.buffer.maxLuminanceNits,
                                        hardwareBuffer);
    }
    }
    return parameters.shader;
    return parameters.shader;
}
}
Loading