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

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

Merge "Use max acquired buffer setting to configStore"

parents 2bc8225a 1971b63a
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -64,10 +64,6 @@ else
        DisplayHardware/HWComposer_hwc1.cpp
endif

ifneq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),)
    LOCAL_CFLAGS += -DNUM_FRAMEBUFFER_SURFACE_BUFFERS=$(NUM_FRAMEBUFFER_SURFACE_BUFFERS)
endif

LOCAL_CFLAGS += -fvisibility=hidden -Werror=format

LOCAL_HEADER_LIBRARIES := \
+2 −3
Original line number Diff line number Diff line
@@ -64,9 +64,8 @@ static constexpr bool kEGLAndroidSwapRectangle = false;
using namespace android::hardware::configstore;
using namespace android::hardware::configstore::V1_0;

static bool useTripleFramebuffer = getBool<
        ISurfaceFlingerConfigs,
        &ISurfaceFlingerConfigs::useTripleFramebuffer>(false);
static bool useTripleFramebuffer = getInt64< ISurfaceFlingerConfigs,
        &ISurfaceFlingerConfigs::maxFrameBufferAcquiredBuffers>(2) == 3;

#if !defined(EGL_EGLEXT_PROTOTYPES) || !defined(EGL_ANDROID_swap_rectangle)
// Dummy implementation in case it is missing.
+3 −5
Original line number Diff line number Diff line
@@ -40,10 +40,7 @@

#include "FramebufferSurface.h"
#include "HWComposer.h"

#ifndef NUM_FRAMEBUFFER_SURFACE_BUFFERS
#define NUM_FRAMEBUFFER_SURFACE_BUFFERS (2)
#endif
#include "../SurfaceFlinger.h"

// ----------------------------------------------------------------------------
namespace android {
@@ -88,7 +85,8 @@ FramebufferSurface::FramebufferSurface(HWComposer& hwc, int disp,
    mConsumer->setDefaultBufferFormat(mHwc.getFormat(disp));
    mConsumer->setDefaultBufferSize(mHwc.getWidth(disp), mHwc.getHeight(disp));
#endif
    mConsumer->setMaxAcquiredBufferCount(NUM_FRAMEBUFFER_SURFACE_BUFFERS - 1);
    mConsumer->setMaxAcquiredBufferCount(
            SurfaceFlinger::maxFrameBufferAcquiredBuffers - 1);
}

status_t FramebufferSurface::beginFrame(bool /*mustRecompose*/) {
+6 −0
Original line number Diff line number Diff line
@@ -118,6 +118,7 @@ bool SurfaceFlinger::useHwcForRgbToYuv;
uint64_t SurfaceFlinger::maxVirtualDisplaySize;
bool SurfaceFlinger::hasSyncFramework;
bool SurfaceFlinger::useVrFlinger;
int64_t SurfaceFlinger::maxFrameBufferAcquiredBuffers;

SurfaceFlinger::SurfaceFlinger()
    :   BnSurfaceComposer(),
@@ -185,6 +186,9 @@ SurfaceFlinger::SurfaceFlinger()
    useVrFlinger = getBool< ISurfaceFlingerConfigs,
            &ISurfaceFlingerConfigs::useVrFlinger>(false);

    maxFrameBufferAcquiredBuffers = getInt64< ISurfaceFlingerConfigs,
            &ISurfaceFlingerConfigs::maxFrameBufferAcquiredBuffers>(2);

    // debugging stuff...
    char value[PROPERTY_VALUE_MAX];

@@ -3226,6 +3230,8 @@ void SurfaceFlinger::appendSfConfigString(String8& result) const
    result.appendFormat(" FORCE_HWC_FOR_RBG_TO_YUV=%d", useHwcForRgbToYuv);
    result.appendFormat(" MAX_VIRT_DISPLAY_DIM=%" PRIu64, maxVirtualDisplaySize);
    result.appendFormat(" RUNNING_WITHOUT_SYNC_FRAMEWORK=%d", !hasSyncFramework);
    result.appendFormat(" NUM_FRAMEBUFFER_SURFACE_BUFFERS=%" PRId64,
                        maxFrameBufferAcquiredBuffers);
    result.append("]");
}

+4 −0
Original line number Diff line number Diff line
@@ -147,6 +147,10 @@ public:
    // Equal to min(max_height, max_width).
    static uint64_t maxVirtualDisplaySize;

    // Controls the number of buffers SurfaceFlinger will allocate for use in
    // FramebufferSurface
    static int64_t maxFrameBufferAcquiredBuffers;

    static char const* getServiceName() ANDROID_API {
        return "SurfaceFlinger";
    }
Loading