Fix profile hwui onscreen as bars on SkiaVK
Fixes: 242081380 Test: eyeball Change-Id: Ic1b04757e65533ef29182366cd24b6730bb10876
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user