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

Commit 09dc3020 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

Change-Id: I89edc7dbe9ce5a1388c99f4f026687df7c3274b0
parents 2d4f4d30 fab6297a
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;