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

Commit 89a5dc51 authored by Nathaniel Nifong's avatar Nathaniel Nifong
Browse files

Do not clip draw commands during recording of SKP files

Test: Confirmed drawing is unaffected on pixel 3, confirmed all commands are recorded.

Change-Id: Ib543730c321f5082d9a2331241873f9b2e8289c8
Bug: skia:9758
parent f85aaad6
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -458,9 +458,15 @@ void SkiaPipeline::renderFrameImpl(const SkRect& clip,
                                   const SkMatrix& preTransform) {
    SkAutoCanvasRestore saver(canvas, true);
    auto clipRestriction = preTransform.mapRect(clip).roundOut();
    canvas->androidFramework_setDeviceClipRestriction(clipRestriction);
    if (CC_UNLIKELY(mCaptureMode == CaptureMode::SingleFrameSKP
         || mCaptureMode == CaptureMode::MultiFrameSKP)) {
        canvas->drawAnnotation(SkRect::Make(clipRestriction), "AndroidDeviceClipRestriction",
            nullptr);
    } else {
        // clip drawing to dirty region only when not recording SKP files (which should contain all
        // draw ops on every frame)
        canvas->androidFramework_setDeviceClipRestriction(clipRestriction);
    }
    canvas->concat(preTransform);

    // STOPSHIP: Revert, temporary workaround to clear always F16 frame buffer for b/74976293