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

Commit 1e5156e6 authored by Nader Jawad's avatar Nader Jawad Committed by Automerger Merge Worker
Browse files

Merge "Updated SkiaGLRenderEngine stretch logic" into sc-dev am: 5c234abd am: e2e4dcbb

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/14489964

Change-Id: Ie1b18541d73a16ff897bd7dda36e6ac9522aac5e
parents b3e17458 e2e4dcbb
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -564,10 +564,10 @@ sk_sp<SkShader> SkiaGLRenderEngine::createRuntimeEffectShader(
    // which gets similar results for most surfaces
    // Determine later on if we need to leverage the stertch shader within
    // surface flinger
    if (stretchEffect.hasEffect() && /* DISABLES CODE */ (false)) {
    if (stretchEffect.hasEffect()) {
        const auto targetBuffer = layer->source.buffer.buffer;
        const auto graphicsBuffer = targetBuffer ? targetBuffer->getBuffer() : nullptr;
        if (graphicsBuffer && shader) {
        const auto graphicBuffer = targetBuffer ? targetBuffer->getBuffer() : nullptr;
        if (graphicBuffer && shader) {
            shader = mStretchShaderFactory.createSkShader(shader, stretchEffect);
        }
    }
+5 −4
Original line number Diff line number Diff line
@@ -120,14 +120,15 @@ private:

    // Identifier used or various mappings of layers to various
    // textures or shaders
    using LayerId = uint64_t;
    using GraphicBufferId = uint64_t;

    // Number of external holders of ExternalTexture references, per GraphicBuffer ID.
    std::unordered_map<LayerId, int32_t> mGraphicBufferExternalRefs GUARDED_BY(mRenderingMutex);
    std::unordered_map<GraphicBufferId, int32_t> mGraphicBufferExternalRefs
            GUARDED_BY(mRenderingMutex);
    // Cache of GL textures that we'll store per GraphicBuffer ID, sliced by GPU context.
    std::unordered_map<LayerId, std::shared_ptr<AutoBackendTexture::LocalRef>> mTextureCache
    std::unordered_map<GraphicBufferId, std::shared_ptr<AutoBackendTexture::LocalRef>> mTextureCache
            GUARDED_BY(mRenderingMutex);
    std::unordered_map<LayerId, std::shared_ptr<AutoBackendTexture::LocalRef>>
    std::unordered_map<GraphicBufferId, std::shared_ptr<AutoBackendTexture::LocalRef>>
            mProtectedTextureCache GUARDED_BY(mRenderingMutex);
    std::unordered_map<LinearEffect, sk_sp<SkRuntimeEffect>, LinearEffectHasher> mRuntimeEffects;