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

Commit fa396615 authored by Lucas Dupin's avatar Lucas Dupin Committed by Automerger Merge Worker
Browse files

Merge "Reallocate blur textures if they don't fit" into rvc-dev am: fab6297a...

Merge "Reallocate blur textures if they don't fit" into rvc-dev am: fab6297a am: fbba9b13 am: 57957b1c

Change-Id: Ic17a884c6a0a6ccd2cef730962affd453c023c43
parents c27ccab0 57957b1c
Loading
Loading
Loading
Loading
+4 −2
Original line number Original line Diff line number Diff line
@@ -69,7 +69,10 @@ status_t BlurFilter::setAsDrawTarget(const DisplaySettings& display, uint32_t ra
    ATRACE_NAME("BlurFilter::setAsDrawTarget");
    ATRACE_NAME("BlurFilter::setAsDrawTarget");
    mRadius = radius;
    mRadius = radius;


    if (!mTexturesAllocated) {
    if (mDisplayWidth < display.physicalDisplay.width() ||
        mDisplayHeight < display.physicalDisplay.height()) {
        ATRACE_NAME("BlurFilter::allocatingTextures");

        mDisplayWidth = display.physicalDisplay.width();
        mDisplayWidth = display.physicalDisplay.width();
        mDisplayHeight = display.physicalDisplay.height();
        mDisplayHeight = display.physicalDisplay.height();
        mCompositionFbo.allocateBuffers(mDisplayWidth, mDisplayHeight);
        mCompositionFbo.allocateBuffers(mDisplayWidth, mDisplayHeight);
@@ -78,7 +81,6 @@ status_t BlurFilter::setAsDrawTarget(const DisplaySettings& display, uint32_t ra
        const uint32_t fboHeight = floorf(mDisplayHeight * kFboScale);
        const uint32_t fboHeight = floorf(mDisplayHeight * kFboScale);
        mPingFbo.allocateBuffers(fboWidth, fboHeight);
        mPingFbo.allocateBuffers(fboWidth, fboHeight);
        mPongFbo.allocateBuffers(fboWidth, fboHeight);
        mPongFbo.allocateBuffers(fboWidth, fboHeight);
        mTexturesAllocated = true;


        if (mPingFbo.getStatus() != GL_FRAMEBUFFER_COMPLETE) {
        if (mPingFbo.getStatus() != GL_FRAMEBUFFER_COMPLETE) {
            ALOGE("Invalid ping buffer");
            ALOGE("Invalid ping buffer");
+2 −3
Original line number Original line Diff line number Diff line
@@ -67,11 +67,10 @@ private:
    // Frame buffers holding the blur passes.
    // Frame buffers holding the blur passes.
    GLFramebuffer mPingFbo;
    GLFramebuffer mPingFbo;
    GLFramebuffer mPongFbo;
    GLFramebuffer mPongFbo;
    uint32_t mDisplayWidth;
    uint32_t mDisplayWidth = 0;
    uint32_t mDisplayHeight;
    uint32_t mDisplayHeight = 0;
    // Buffer holding the final blur pass.
    // Buffer holding the final blur pass.
    GLFramebuffer* mLastDrawTarget;
    GLFramebuffer* mLastDrawTarget;
    bool mTexturesAllocated = false;


    // VBO containing vertex and uv data of a fullscreen triangle.
    // VBO containing vertex and uv data of a fullscreen triangle.
    GLVertexBuffer mMeshBuffer;
    GLVertexBuffer mMeshBuffer;