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

Commit 01959f65 authored by Romain Guy's avatar Romain Guy Committed by Android (Google) Code Review
Browse files

Merge "Remove unnecessary return and add bitmap generation ID tracking."

parents 1dc623e3 fe880947
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