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

Commit 510b4b9b 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 am: fa396615

Change-Id: I735763b5692b2129af73e586660b9668b948d831
parents 7dc1bc5d fa396615
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;