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

Commit c30836d8 authored by John Reck's avatar John Reck
Browse files

Fix profile hwui onscreen as bars on SkiaVK

Fixes: 242081380
Test: eyeball
Change-Id: Ic1b04757e65533ef29182366cd24b6730bb10876
parent ec5edadf
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -112,7 +112,7 @@ IRenderPipeline::DrawResult SkiaOpenGLPipeline::draw(
    if (CC_UNLIKELY(Properties::showDirtyRegions ||
                    ProfileType::None != Properties::getProfileType())) {
        SkCanvas* profileCanvas = surface->getCanvas();
        SkiaProfileRenderer profileRenderer(profileCanvas);
        SkiaProfileRenderer profileRenderer(profileCanvas, frame.width(), frame.height());
        profiler->draw(profileRenderer);
    }

+0 −8
Original line number Diff line number Diff line
@@ -33,13 +33,5 @@ void SkiaProfileRenderer::drawRects(const float* rects, int count, const SkPaint
    }
}

uint32_t SkiaProfileRenderer::getViewportWidth() {
    return mCanvas->imageInfo().width();
}

uint32_t SkiaProfileRenderer::getViewportHeight() {
    return mCanvas->imageInfo().height();
}

} /* namespace uirenderer */
} /* namespace android */
+6 −3
Original line number Diff line number Diff line
@@ -23,18 +23,21 @@ namespace uirenderer {

class SkiaProfileRenderer : public IProfileRenderer {
public:
    explicit SkiaProfileRenderer(SkCanvas* canvas) : mCanvas(canvas) {}
    explicit SkiaProfileRenderer(SkCanvas* canvas, uint32_t width, uint32_t height)
            : mCanvas(canvas), mWidth(width), mHeight(height) {}

    void drawRect(float left, float top, float right, float bottom, const SkPaint& paint) override;
    void drawRects(const float* rects, int count, const SkPaint& paint) override;
    uint32_t getViewportWidth() override;
    uint32_t getViewportHeight() override;
    uint32_t getViewportWidth() override { return mWidth; }
    uint32_t getViewportHeight() override { return mHeight; }

    virtual ~SkiaProfileRenderer() {}

private:
    // Does not have ownership.
    SkCanvas* mCanvas;
    uint32_t mWidth;
    uint32_t mHeight;
};

} /* namespace uirenderer */
+3 −1
Original line number Diff line number Diff line
@@ -88,7 +88,9 @@ IRenderPipeline::DrawResult SkiaVulkanPipeline::draw(
    if (CC_UNLIKELY(Properties::showDirtyRegions ||
                    ProfileType::None != Properties::getProfileType())) {
        SkCanvas* profileCanvas = backBuffer->getCanvas();
        SkiaProfileRenderer profileRenderer(profileCanvas);
        SkAutoCanvasRestore saver(profileCanvas, true);
        profileCanvas->concat(mVkSurface->getCurrentPreTransform());
        SkiaProfileRenderer profileRenderer(profileCanvas, frame.width(), frame.height());
        profiler->draw(profileRenderer);
    }