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

Commit 27609c37 authored by Leon Scroggins's avatar Leon Scroggins
Browse files

Revert "Add eLayerIsDisplayDecoration flag"

Revert submission 16511727-wm_DISPLAY_DECORATION

Reason for revert: b/211835607
Reverted Changes:
I1da3199ba:Allow changing composition from DISPLAY_DECORATION...
I1fae74b36:Update documentation for DISPLAY_DECORATION
I1da03a88f:Add eLayerIsDisplayDecoration flag
I7f22dfd03:Add/plumb SurfaceControl.DISPLAY_DECORATION

Change-Id: I449e1bb74e0d197661033bf114a25ae6ec04e418
parent c3e9a90b
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -1104,8 +1104,7 @@ SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setFlags
    }
    }
    if ((mask & layer_state_t::eLayerOpaque) || (mask & layer_state_t::eLayerHidden) ||
    if ((mask & layer_state_t::eLayerOpaque) || (mask & layer_state_t::eLayerHidden) ||
        (mask & layer_state_t::eLayerSecure) || (mask & layer_state_t::eLayerSkipScreenshot) ||
        (mask & layer_state_t::eLayerSecure) || (mask & layer_state_t::eLayerSkipScreenshot) ||
        (mask & layer_state_t::eEnableBackpressure) ||
        (mask & layer_state_t::eEnableBackpressure)) {
        (mask & layer_state_t::eLayerIsDisplayDecoration)) {
        s->what |= layer_state_t::eFlagsChanged;
        s->what |= layer_state_t::eFlagsChanged;
    }
    }
    s->flags &= ~mask;
    s->flags &= ~mask;
+0 −1
Original line number Original line Diff line number Diff line
@@ -109,7 +109,6 @@ struct layer_state_t {
        // set. This blocks the client until all the buffers have been presented. If the buffers
        // set. This blocks the client until all the buffers have been presented. If the buffers
        // have presentation timestamps, then we may drop buffers.
        // have presentation timestamps, then we may drop buffers.
        eEnableBackpressure = 0x100, // ENABLE_BACKPRESSURE
        eEnableBackpressure = 0x100, // ENABLE_BACKPRESSURE
        eLayerIsDisplayDecoration = 0x200,  // DISPLAY_DECORATION
    };
    };


    enum {
    enum {
+0 −3
Original line number Original line Diff line number Diff line
@@ -295,9 +295,6 @@ void BufferLayer::preparePerFrameCompositionState() {
        compositionState->compositionType =
        compositionState->compositionType =
                aidl::android::hardware::graphics::composer3::Composition::SIDEBAND;
                aidl::android::hardware::graphics::composer3::Composition::SIDEBAND;
        return;
        return;
    } else if ((mDrawingState.flags & layer_state_t::eLayerIsDisplayDecoration) != 0) {
        compositionState->compositionType =
                aidl::android::hardware::graphics::composer3::Composition::DISPLAY_DECORATION;
    } else {
    } else {
        // Normal buffer layers
        // Normal buffer layers
        compositionState->hdrMetadata = mBufferInfo.mHdrMetadata;
        compositionState->hdrMetadata = mBufferInfo.mHdrMetadata;
+2 −22
Original line number Original line Diff line number Diff line
@@ -269,7 +269,6 @@ bool validateCompositionDataspace(Dataspace dataspace) {
enum Permission {
enum Permission {
    ACCESS_SURFACE_FLINGER = 0x1,
    ACCESS_SURFACE_FLINGER = 0x1,
    ROTATE_SURFACE_FLINGER = 0x2,
    ROTATE_SURFACE_FLINGER = 0x2,
    INTERNAL_SYSTEM_WINDOW = 0x4,
};
};


struct IdleTimerConfig {
struct IdleTimerConfig {
@@ -317,7 +316,6 @@ const String16 sReadFramebuffer("android.permission.READ_FRAME_BUFFER");
const String16 sControlDisplayBrightness("android.permission.CONTROL_DISPLAY_BRIGHTNESS");
const String16 sControlDisplayBrightness("android.permission.CONTROL_DISPLAY_BRIGHTNESS");
const String16 sDump("android.permission.DUMP");
const String16 sDump("android.permission.DUMP");
const String16 sCaptureBlackoutContent("android.permission.CAPTURE_BLACKOUT_CONTENT");
const String16 sCaptureBlackoutContent("android.permission.CAPTURE_BLACKOUT_CONTENT");
const String16 sInternalSystemWindow("android.permission.INTERNAL_SYSTEM_WINDOW");


const char* KERNEL_IDLE_TIMER_PROP = "graphics.display.kernel_idle_timer.enabled";
const char* KERNEL_IDLE_TIMER_PROP = "graphics.display.kernel_idle_timer.enabled";


@@ -360,13 +358,6 @@ bool callingThreadHasRotateSurfaceFlingerAccess() {
            PermissionCache::checkPermission(sRotateSurfaceFlinger, pid, uid);
            PermissionCache::checkPermission(sRotateSurfaceFlinger, pid, uid);
}
}


bool callingThreadHasInternalSystemWindowAccess() {
    IPCThreadState* ipc = IPCThreadState::self();
    const int pid = ipc->getCallingPid();
    const int uid = ipc->getCallingUid();
    return PermissionCache::checkPermission(sInternalSystemWindow, pid, uid);
}

SurfaceFlinger::SurfaceFlinger(Factory& factory, SkipInitializationTag)
SurfaceFlinger::SurfaceFlinger(Factory& factory, SkipInitializationTag)
      : mFactory(factory),
      : mFactory(factory),
        mPid(getpid()),
        mPid(getpid()),
@@ -3819,10 +3810,6 @@ status_t SurfaceFlinger::setTransactionState(
        permissions |= Permission::ROTATE_SURFACE_FLINGER;
        permissions |= Permission::ROTATE_SURFACE_FLINGER;
    }
    }


    if (callingThreadHasInternalSystemWindowAccess()) {
        permissions |= Permission::INTERNAL_SYSTEM_WINDOW;
    }

    if (!(permissions & Permission::ACCESS_SURFACE_FLINGER) &&
    if (!(permissions & Permission::ACCESS_SURFACE_FLINGER) &&
        (flags & (eEarlyWakeupStart | eEarlyWakeupEnd))) {
        (flags & (eEarlyWakeupStart | eEarlyWakeupEnd))) {
        ALOGE("Only WindowManager is allowed to use eEarlyWakeup[Start|End] flags");
        ALOGE("Only WindowManager is allowed to use eEarlyWakeup[Start|End] flags");
@@ -4160,15 +4147,8 @@ uint32_t SurfaceFlinger::setClientStateLocked(const FrameTimelineInfo& frameTime
            flags |= eTraversalNeeded;
            flags |= eTraversalNeeded;
    }
    }
    if (what & layer_state_t::eFlagsChanged) {
    if (what & layer_state_t::eFlagsChanged) {
        auto changedFlags = s.flags;
        if (layer->setFlags(s.flags, s.mask))
        if (changedFlags & layer_state_t::eLayerIsDisplayDecoration) {
            flags |= eTraversalNeeded;
            if ((permissions & Permission::INTERNAL_SYSTEM_WINDOW) == 0) {
                changedFlags &= ~layer_state_t::eLayerIsDisplayDecoration;
                ALOGE("Attempt to use eLayerIsDisplayDecoration without permission "
                      "INTERNAL_SYSTEM_WINDOW!");
            }
        }
        if (layer->setFlags(changedFlags, s.mask)) flags |= eTraversalNeeded;
    }
    }
    if (what & layer_state_t::eCornerRadiusChanged) {
    if (what & layer_state_t::eCornerRadiusChanged) {
        if (layer->setCornerRadius(s.cornerRadius))
        if (layer->setCornerRadius(s.cornerRadius))