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

Commit 85ba66b7 authored by Leon Scroggins's avatar Leon Scroggins Committed by Android (Google) Code Review
Browse files

Merge "RE: Add a test verifying we've compiled a min no of shaders" into tm-dev

parents 53766662 45be9185
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -439,7 +439,7 @@ void Cache::primeShaderCache(SkiaRenderEngine* renderengine) {

        const nsecs_t timeAfter = systemTime();
        const float compileTimeMs = static_cast<float>(timeAfter - timeBefore) / 1.0E6;
        const int shadersCompiled = renderengine->reportShadersCompiled();
        const int shadersCompiled = renderengine->reportShadersCompiled() - previousCount;
        ALOGD("Shader cache generated %d shaders in %f ms\n", shadersCompiled, compileTimeMs);
    }
}
+1 −7
Original line number Diff line number Diff line
@@ -296,14 +296,8 @@ void SkiaGLRenderEngine::SkSLCacheMonitor::store(const SkData& key, const SkData
    ATRACE_FORMAT("SF cache: %i shaders", mTotalShadersCompiled);
}

void SkiaGLRenderEngine::assertShadersCompiled(int numShaders) {
    const int cached = mSkSLCacheMonitor.shadersCachedSinceLastCall();
    LOG_ALWAYS_FATAL_IF(cached != numShaders, "Attempted to cache %i shaders; cached %i",
                        numShaders, cached);
}

int SkiaGLRenderEngine::reportShadersCompiled() {
    return mSkSLCacheMonitor.shadersCachedSinceLastCall();
    return mSkSLCacheMonitor.totalShadersCompiled();
}

SkiaGLRenderEngine::SkiaGLRenderEngine(const RenderEngineCreationArgs& args, EGLDisplay display,
+2 −1
Original line number Diff line number Diff line
@@ -61,7 +61,6 @@ public:
    bool supportsProtectedContent() const override;
    void useProtectedContext(bool useProtectedContext) override;
    bool supportsBackgroundBlur() override { return mBlurFilter != nullptr; }
    void assertShadersCompiled(int numShaders) override;
    void onActiveDisplaySizeChanged(ui::Size size) override;
    int reportShadersCompiled() override;

@@ -178,6 +177,8 @@ private:
            return shadersCachedSinceLastCall;
        }

        int totalShadersCompiled() const { return mTotalShadersCompiled; }

    private:
        int mShadersCachedSinceLastCall = 0;
        int mTotalShadersCompiled = 0;
+0 −1
Original line number Diff line number Diff line
@@ -45,7 +45,6 @@ public:
    virtual bool isProtected() const override { return false; } // mInProtectedContext; }
    virtual bool supportsProtectedContent() const override { return false; };
    virtual int getContextPriority() override { return 0; }
    virtual void assertShadersCompiled(int numShaders) {}
    virtual int reportShadersCompiled() { return 0; }
    virtual void setEnableTracing(bool tracingEnabled) override;

+17 −0
Original line number Diff line number Diff line
@@ -3034,6 +3034,23 @@ TEST_P(RenderEngineTest, r8_respects_color_transform_when_device_handles) {
    expectBufferColor(Rect(1, 0, 2, 1), 255, 0, 0, 255); // Still red.
    expectBufferColor(Rect(0, 0, 1, 1), 0,  70, 0, 255);
}

TEST_P(RenderEngineTest, primeShaderCache) {
    if (GetParam()->type() == renderengine::RenderEngine::RenderEngineType::GLES) {
        GTEST_SKIP();
    }

    initializeRenderEngine();

    auto fut = mRE->primeCache();
    if (fut.valid()) {
        fut.wait();
    }

    const int minimumExpectedShadersCompiled = GetParam()->useColorManagement() ? 60 : 30;
    ASSERT_GT(static_cast<skia::SkiaGLRenderEngine*>(mRE.get())->reportShadersCompiled(),
              minimumExpectedShadersCompiled);
}
} // namespace renderengine
} // namespace android