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

Commit fe880947 authored by Romain Guy's avatar Romain Guy
Browse files

Remove unnecessary return and add bitmap generation ID tracking.

Change-Id: Icf5e0635e789f5ea53268c22fad51cf733b5b1a6
parent 364703c6
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -30,6 +30,10 @@ struct Texture {
     * Name of the texture.
     */
    GLuint id;
    /**
     * Generation of the backing bitmap,
     */
    uint32_t generation;
    /**
     * Indicates whether the texture requires blending.
     */
+10 −5
Original line number Diff line number Diff line
@@ -43,6 +43,8 @@ Texture* TextureCache::get(SkBitmap* bitmap) {
        texture = new Texture;
        generateTexture(bitmap, texture);
        mCache.put(bitmap, texture);
    } else if (bitmap->getGenerationID() != texture->generation) {
        generateTexture(bitmap, texture, true);
    }
    return texture;
}
@@ -55,11 +57,14 @@ void TextureCache::clear() {
    mCache.clear();
}

void TextureCache::generateTexture(SkBitmap* bitmap, Texture* texture) {
void TextureCache::generateTexture(SkBitmap* bitmap, Texture* texture, bool regenerate) {
    if (!regenerate) {
        texture->width = bitmap->width();
        texture->height = bitmap->height();

        glGenTextures(1, &texture->id);
    }

    glBindTexture(GL_TEXTURE_2D, texture->id);

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
@@ -80,7 +85,7 @@ void TextureCache::generateTexture(SkBitmap* bitmap, Texture* texture) {
        break;
    }

    return texture;
    glBindTexture(GL_TEXTURE_2D, 0);
}

}; // namespace uirenderer
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ public:
    void clear();

private:
    void generateTexture(SkBitmap* bitmap, Texture* texture);
    void generateTexture(SkBitmap* bitmap, Texture* texture, bool regenerate = false);

    GenerationCache<SkBitmap, Texture> mCache;
}; // class TextureCache