From 0f53e10c07ddfb0a95a8ef13d4f5ec91606dd5ed Mon Sep 17 00:00:00 2001 From: Leon Scroggins III Date: Tue, 5 May 2020 15:53:29 -0400 Subject: [PATCH] Switch Java calls to enableZ and disableZ; remove isRecordingFor Bug: 155422223 Test: make insertInOrderBarrier and insertReorderBarrier are @hide and deprecated. Remove them and update all callers to enableZ and disableZ, which are already public. Update native code to refer to enableZ instead of insertReorderBarrier. In addition, remove @hide Canvas#isRecordingFor. This method was originally used to prevent a single RenderNode from being in two display lists. This is now supported, so there's no reason to avoid it. The one caller used it to determine whether to reorder drawing its child Views (which, as the comment says, makes sense to determine based on whether the Canvas isHardwareAccelerated) and whether to call insertReorderBarrier/insertInOrderBarrier (now enableZ/disableZ). In the latter case, there is no need for a conditional, since enableZ/disableZ only work on a hardware Canvas. Change-Id: Ib216a19d6aeff40b2e23532bacd62d1795c2ab27 --- .../graphics/perftests/CanvasPerfTest.java | 4 ++-- core/java/android/view/GhostView.java | 4 ++-- core/java/android/view/ViewGroup.java | 8 +++---- core/java/android/view/ViewOverlay.java | 4 ++-- graphics/java/android/graphics/Canvas.java | 19 ---------------- .../android/graphics/RecordingCanvas.java | 12 +++------- libs/hwui/SkiaCanvas.h | 4 ++-- libs/hwui/hwui/Canvas.h | 2 +- .../android_graphics_DisplayListCanvas.cpp | 6 ++--- .../pipeline/skia/SkiaRecordingCanvas.cpp | 8 +++---- libs/hwui/pipeline/skia/SkiaRecordingCanvas.h | 2 +- .../common/scenes/MagnifierAnimation.cpp | 4 ++-- .../tests/common/scenes/RecentsAnimation.cpp | 4 ++-- .../tests/common/scenes/RectGridAnimation.cpp | 4 ++-- .../scenes/RoundRectClippingAnimation.cpp | 4 ++-- .../common/scenes/ShadowGrid2Animation.cpp | 4 ++-- .../common/scenes/ShadowGridAnimation.cpp | 4 ++-- .../common/scenes/ShadowShaderAnimation.cpp | 4 ++-- libs/hwui/tests/common/scenes/TvApp.cpp | 4 ++-- .../microbench/DisplayListCanvasBench.cpp | 4 ++-- .../tests/unit/RenderNodeDrawableTests.cpp | 22 +++++++++---------- 21 files changed, 52 insertions(+), 79 deletions(-) diff --git a/apct-tests/perftests/core/src/android/graphics/perftests/CanvasPerfTest.java b/apct-tests/perftests/core/src/android/graphics/perftests/CanvasPerfTest.java index 9f093052ebb2a..f84a0d037ca5f 100644 --- a/apct-tests/perftests/core/src/android/graphics/perftests/CanvasPerfTest.java +++ b/apct-tests/perftests/core/src/android/graphics/perftests/CanvasPerfTest.java @@ -54,11 +54,11 @@ public class CanvasPerfTest { canvas = node.start(200, 200); int save = canvas.save(); canvas.clipRect(1, 1, 199, 199); - canvas.insertReorderBarrier(); + canvas.enableZ(); for (int i = 0; i < 5; i++) { canvas.drawRenderNode(child); } - canvas.insertInorderBarrier(); + canvas.disableZ(); canvas.restoreToCount(save); node.end(canvas); } diff --git a/core/java/android/view/GhostView.java b/core/java/android/view/GhostView.java index a72832760f961..46d3c64c46d69 100644 --- a/core/java/android/view/GhostView.java +++ b/core/java/android/view/GhostView.java @@ -54,9 +54,9 @@ public class GhostView extends View { mView.mRecreateDisplayList = true; RenderNode renderNode = mView.updateDisplayListIfDirty(); if (renderNode.hasDisplayList()) { - dlCanvas.insertReorderBarrier(); // enable shadow for this rendernode + dlCanvas.enableZ(); // enable shadow for this rendernode dlCanvas.drawRenderNode(renderNode); - dlCanvas.insertInorderBarrier(); // re-disable reordering/shadows + dlCanvas.disableZ(); // re-disable reordering/shadows } } } diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index e34e84c977ea9..05babe939ec3b 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -4105,13 +4105,11 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager @Override protected void dispatchDraw(Canvas canvas) { - boolean usingRenderNodeProperties = canvas.isRecordingFor(mRenderNode); final int childrenCount = mChildrenCount; final View[] children = mChildren; int flags = mGroupFlags; if ((flags & FLAG_RUN_ANIMATION) != 0 && canAnimate()) { - final boolean buildCache = !isHardwareAccelerated(); for (int i = 0; i < childrenCount; i++) { final View child = children[i]; if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE) { @@ -4152,12 +4150,12 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager boolean more = false; final long drawingTime = getDrawingTime(); - if (usingRenderNodeProperties) canvas.insertReorderBarrier(); + canvas.enableZ(); final int transientCount = mTransientIndices == null ? 0 : mTransientIndices.size(); int transientIndex = transientCount != 0 ? 0 : -1; // Only use the preordered list if not HW accelerated, since the HW pipeline will do the // draw reordering internally - final ArrayList preorderedList = usingRenderNodeProperties + final ArrayList preorderedList = isHardwareAccelerated() ? null : buildOrderedChildList(); final boolean customOrder = preorderedList == null && isChildrenDrawingOrderEnabled(); @@ -4204,7 +4202,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager more |= drawChild(canvas, child, drawingTime); } } - if (usingRenderNodeProperties) canvas.insertInorderBarrier(); + canvas.disableZ(); if (isShowingLayoutBounds()) { onDebugDraw(canvas); diff --git a/core/java/android/view/ViewOverlay.java b/core/java/android/view/ViewOverlay.java index 7830c57e53ecd..274f1eddee95a 100644 --- a/core/java/android/view/ViewOverlay.java +++ b/core/java/android/view/ViewOverlay.java @@ -249,11 +249,11 @@ public class ViewOverlay { * This means that we need to insert reorder barriers manually though, so that children * of the OverlayViewGroup can cast shadows and Z reorder with each other. */ - canvas.insertReorderBarrier(); + canvas.enableZ(); super.dispatchDraw(canvas); - canvas.insertInorderBarrier(); + canvas.disableZ(); final int numDrawables = (mDrawables == null) ? 0 : mDrawables.size(); for (int i = 0; i < numDrawables; ++i) { mDrawables.get(i).draw(canvas); diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java index d949444d44d62..1c4aa15765992 100644 --- a/graphics/java/android/graphics/Canvas.java +++ b/graphics/java/android/graphics/Canvas.java @@ -62,9 +62,6 @@ public class Canvas extends BaseCanvas { return mNativeCanvasWrapper; } - /** @hide */ - public boolean isRecordingFor(Object o) { return false; } - // may be null @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 117521088) private Bitmap mBitmap; @@ -204,22 +201,6 @@ public class Canvas extends BaseCanvas { mBitmap = bitmap; } - /** - * @deprecated use {@link #enableZ()} instead - * @hide */ - @Deprecated - public void insertReorderBarrier() { - enableZ(); - } - - /** - * @deprecated use {@link #disableZ()} instead - * @hide */ - @Deprecated - public void insertInorderBarrier() { - disableZ(); - } - /** *

Enables Z support which defaults to disabled. This allows for RenderNodes drawn with * {@link #drawRenderNode(RenderNode)} to be re-arranged based off of their diff --git a/graphics/java/android/graphics/RecordingCanvas.java b/graphics/java/android/graphics/RecordingCanvas.java index c0e0a24583ec5..75731d14ec37e 100644 --- a/graphics/java/android/graphics/RecordingCanvas.java +++ b/graphics/java/android/graphics/RecordingCanvas.java @@ -80,12 +80,6 @@ public final class RecordingCanvas extends DisplayListCanvas { return nFinishRecording(mNativeCanvasWrapper); } - /** @hide */ - @Override - public boolean isRecordingFor(Object o) { - return o == mNode; - } - /////////////////////////////////////////////////////////////////////////// // Constructors /////////////////////////////////////////////////////////////////////////// @@ -147,12 +141,12 @@ public final class RecordingCanvas extends DisplayListCanvas { @Override public void enableZ() { - nInsertReorderBarrier(mNativeCanvasWrapper, true); + nEnableZ(mNativeCanvasWrapper, true); } @Override public void disableZ() { - nInsertReorderBarrier(mNativeCanvasWrapper, false); + nEnableZ(mNativeCanvasWrapper, false); } /////////////////////////////////////////////////////////////////////////// @@ -302,7 +296,7 @@ public final class RecordingCanvas extends DisplayListCanvas { @CriticalNative private static native int nGetMaximumTextureHeight(); @CriticalNative - private static native void nInsertReorderBarrier(long renderer, boolean enableReorder); + private static native void nEnableZ(long renderer, boolean enableZ); @CriticalNative private static native long nFinishRecording(long renderer); @CriticalNative diff --git a/libs/hwui/SkiaCanvas.h b/libs/hwui/SkiaCanvas.h index 1eb089d8764cd..260a7e407433c 100644 --- a/libs/hwui/SkiaCanvas.h +++ b/libs/hwui/SkiaCanvas.h @@ -57,8 +57,8 @@ public: LOG_ALWAYS_FATAL("SkiaCanvas does not produce a DisplayList"); return nullptr; } - virtual void insertReorderBarrier(bool enableReorder) override { - LOG_ALWAYS_FATAL("SkiaCanvas does not support reordering barriers"); + virtual void enableZ(bool enableZ) override { + LOG_ALWAYS_FATAL("SkiaCanvas does not support enableZ"); } virtual void setBitmap(const SkBitmap& bitmap) override; diff --git a/libs/hwui/hwui/Canvas.h b/libs/hwui/hwui/Canvas.h index 27dfed305a94f..48cf9a96e3ca4 100644 --- a/libs/hwui/hwui/Canvas.h +++ b/libs/hwui/hwui/Canvas.h @@ -144,7 +144,7 @@ public: virtual void resetRecording(int width, int height, uirenderer::RenderNode* renderNode = nullptr) = 0; virtual uirenderer::DisplayList* finishRecording() = 0; - virtual void insertReorderBarrier(bool enableReorder) = 0; + virtual void enableZ(bool enableZ) = 0; bool isHighContrastText() const { return uirenderer::Properties::enableHighContrastText; } diff --git a/libs/hwui/jni/android_graphics_DisplayListCanvas.cpp b/libs/hwui/jni/android_graphics_DisplayListCanvas.cpp index 54822f1f07e27..e064cc8ff548b 100644 --- a/libs/hwui/jni/android_graphics_DisplayListCanvas.cpp +++ b/libs/hwui/jni/android_graphics_DisplayListCanvas.cpp @@ -124,10 +124,10 @@ static jint android_view_DisplayListCanvas_getMaxTextureSize(CRITICAL_JNI_PARAMS #endif } -static void android_view_DisplayListCanvas_insertReorderBarrier(CRITICAL_JNI_PARAMS_COMMA jlong canvasPtr, +static void android_view_DisplayListCanvas_enableZ(CRITICAL_JNI_PARAMS_COMMA jlong canvasPtr, jboolean reorderEnable) { Canvas* canvas = reinterpret_cast(canvasPtr); - canvas->insertReorderBarrier(reorderEnable); + canvas->enableZ(reorderEnable); } static jlong android_view_DisplayListCanvas_finishRecording(CRITICAL_JNI_PARAMS_COMMA jlong canvasPtr) { @@ -194,7 +194,7 @@ static JNINativeMethod gMethods[] = { { "nResetDisplayListCanvas", "(JJII)V", (void*) android_view_DisplayListCanvas_resetDisplayListCanvas }, { "nGetMaximumTextureWidth", "()I", (void*) android_view_DisplayListCanvas_getMaxTextureSize }, { "nGetMaximumTextureHeight", "()I", (void*) android_view_DisplayListCanvas_getMaxTextureSize }, - { "nInsertReorderBarrier", "(JZ)V", (void*) android_view_DisplayListCanvas_insertReorderBarrier }, + { "nEnableZ", "(JZ)V", (void*) android_view_DisplayListCanvas_enableZ }, { "nFinishRecording", "(J)J", (void*) android_view_DisplayListCanvas_finishRecording }, { "nDrawRenderNode", "(JJ)V", (void*) android_view_DisplayListCanvas_drawRenderNode }, { "nDrawTextureLayer", "(JJ)V", (void*) android_view_DisplayListCanvas_drawTextureLayer }, diff --git a/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp b/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp index d67cf8c9c73fe..88c1d0e63c092 100644 --- a/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp +++ b/libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp @@ -57,7 +57,7 @@ void SkiaRecordingCanvas::initDisplayList(uirenderer::RenderNode* renderNode, in uirenderer::DisplayList* SkiaRecordingCanvas::finishRecording() { // close any existing chunks if necessary - insertReorderBarrier(false); + enableZ(false); mRecorder.restoreToCount(1); return mDisplayList.release(); } @@ -85,8 +85,8 @@ void SkiaRecordingCanvas::drawCircle(uirenderer::CanvasPropertyPrimitive* x, drawDrawable(mDisplayList->allocateDrawable(x, y, radius, paint)); } -void SkiaRecordingCanvas::insertReorderBarrier(bool enableReorder) { - if (mCurrentBarrier && enableReorder) { +void SkiaRecordingCanvas::enableZ(bool enableZ) { + if (mCurrentBarrier && enableZ) { // Already in a re-order section, nothing to do return; } @@ -98,7 +98,7 @@ void SkiaRecordingCanvas::insertReorderBarrier(bool enableReorder) { mCurrentBarrier = nullptr; drawDrawable(drawable); } - if (enableReorder) { + if (enableZ) { mCurrentBarrier = mDisplayList->allocateDrawable(mDisplayList.get()); drawDrawable(mCurrentBarrier); diff --git a/libs/hwui/pipeline/skia/SkiaRecordingCanvas.h b/libs/hwui/pipeline/skia/SkiaRecordingCanvas.h index bd5274c94e75e..1a976a6c87921 100644 --- a/libs/hwui/pipeline/skia/SkiaRecordingCanvas.h +++ b/libs/hwui/pipeline/skia/SkiaRecordingCanvas.h @@ -69,7 +69,7 @@ public: virtual void drawVectorDrawable(VectorDrawableRoot* vectorDrawable) override; - virtual void insertReorderBarrier(bool enableReorder) override; + virtual void enableZ(bool enableZ) override; virtual void drawLayer(uirenderer::DeferredLayerUpdater* layerHandle) override; virtual void drawRenderNode(uirenderer::RenderNode* renderNode) override; virtual void callDrawGLFunction(Functor* functor, diff --git a/libs/hwui/tests/common/scenes/MagnifierAnimation.cpp b/libs/hwui/tests/common/scenes/MagnifierAnimation.cpp index f4fce277454d7..edadf78db0513 100644 --- a/libs/hwui/tests/common/scenes/MagnifierAnimation.cpp +++ b/libs/hwui/tests/common/scenes/MagnifierAnimation.cpp @@ -56,9 +56,9 @@ public: (float)magnifier->height(), 0, 0, (float)props.getWidth(), (float)props.getHeight(), nullptr); }); - canvas.insertReorderBarrier(true); + canvas.enableZ(true); canvas.drawRenderNode(zoomImageView.get()); - canvas.insertReorderBarrier(false); + canvas.enableZ(false); } void doFrame(int frameNr) override { diff --git a/libs/hwui/tests/common/scenes/RecentsAnimation.cpp b/libs/hwui/tests/common/scenes/RecentsAnimation.cpp index 3480a0f18407e..1c2507867f6e2 100644 --- a/libs/hwui/tests/common/scenes/RecentsAnimation.cpp +++ b/libs/hwui/tests/common/scenes/RecentsAnimation.cpp @@ -36,7 +36,7 @@ public: int cardsize = std::min(width, height) - dp(64); renderer.drawColor(Color::White, SkBlendMode::kSrcOver); - renderer.insertReorderBarrier(true); + renderer.enableZ(true); int x = dp(32); for (int i = 0; i < 4; i++) { @@ -52,7 +52,7 @@ public: mCards.push_back(card); } - renderer.insertReorderBarrier(false); + renderer.enableZ(false); } void doFrame(int frameNr) override { diff --git a/libs/hwui/tests/common/scenes/RectGridAnimation.cpp b/libs/hwui/tests/common/scenes/RectGridAnimation.cpp index 80b5cc1910897..f37bcbc3ee1bc 100644 --- a/libs/hwui/tests/common/scenes/RectGridAnimation.cpp +++ b/libs/hwui/tests/common/scenes/RectGridAnimation.cpp @@ -29,7 +29,7 @@ public: sp card; void createContent(int width, int height, Canvas& canvas) override { canvas.drawColor(0xFFFFFFFF, SkBlendMode::kSrcOver); - canvas.insertReorderBarrier(true); + canvas.enableZ(true); card = TestUtils::createNode(50, 50, 250, 250, [](RenderProperties& props, Canvas& canvas) { canvas.drawColor(0xFFFF00FF, SkBlendMode::kSrcOver); @@ -47,7 +47,7 @@ public: }); canvas.drawRenderNode(card.get()); - canvas.insertReorderBarrier(false); + canvas.enableZ(false); } void doFrame(int frameNr) override { int curFrame = frameNr % 150; diff --git a/libs/hwui/tests/common/scenes/RoundRectClippingAnimation.cpp b/libs/hwui/tests/common/scenes/RoundRectClippingAnimation.cpp index 314e922e9f38b..163745b04ed2c 100644 --- a/libs/hwui/tests/common/scenes/RoundRectClippingAnimation.cpp +++ b/libs/hwui/tests/common/scenes/RoundRectClippingAnimation.cpp @@ -27,7 +27,7 @@ public: std::vector > cards; void createContent(int width, int height, Canvas& canvas) override { canvas.drawColor(0xFFFFFFFF, SkBlendMode::kSrcOver); - canvas.insertReorderBarrier(true); + canvas.enableZ(true); int ci = 0; for (int x = 0; x < width; x += mSpacing) { @@ -45,7 +45,7 @@ public: } } - canvas.insertReorderBarrier(false); + canvas.enableZ(false); } void doFrame(int frameNr) override { int curFrame = frameNr % 50; diff --git a/libs/hwui/tests/common/scenes/ShadowGrid2Animation.cpp b/libs/hwui/tests/common/scenes/ShadowGrid2Animation.cpp index bdc991ba1890c..c13e80e8c204c 100644 --- a/libs/hwui/tests/common/scenes/ShadowGrid2Animation.cpp +++ b/libs/hwui/tests/common/scenes/ShadowGrid2Animation.cpp @@ -29,7 +29,7 @@ public: std::vector > cards; void createContent(int width, int height, Canvas& canvas) override { canvas.drawColor(0xFFFFFFFF, SkBlendMode::kSrcOver); - canvas.insertReorderBarrier(true); + canvas.enableZ(true); for (int x = dp(8); x < (width - dp(58)); x += dp(58)) { for (int y = dp(8); y < (height - dp(58)); y += dp(58)) { @@ -39,7 +39,7 @@ public: } } - canvas.insertReorderBarrier(false); + canvas.enableZ(false); } void doFrame(int frameNr) override { int curFrame = frameNr % 150; diff --git a/libs/hwui/tests/common/scenes/ShadowGridAnimation.cpp b/libs/hwui/tests/common/scenes/ShadowGridAnimation.cpp index a12fd4d692809..772b98e322208 100644 --- a/libs/hwui/tests/common/scenes/ShadowGridAnimation.cpp +++ b/libs/hwui/tests/common/scenes/ShadowGridAnimation.cpp @@ -29,7 +29,7 @@ public: std::vector > cards; void createContent(int width, int height, Canvas& canvas) override { canvas.drawColor(0xFFFFFFFF, SkBlendMode::kSrcOver); - canvas.insertReorderBarrier(true); + canvas.enableZ(true); for (int x = dp(16); x < (width - dp(116)); x += dp(116)) { for (int y = dp(16); y < (height - dp(116)); y += dp(116)) { @@ -39,7 +39,7 @@ public: } } - canvas.insertReorderBarrier(false); + canvas.enableZ(false); } void doFrame(int frameNr) override { int curFrame = frameNr % 150; diff --git a/libs/hwui/tests/common/scenes/ShadowShaderAnimation.cpp b/libs/hwui/tests/common/scenes/ShadowShaderAnimation.cpp index 9f599100200ea..0019da5fd80bd 100644 --- a/libs/hwui/tests/common/scenes/ShadowShaderAnimation.cpp +++ b/libs/hwui/tests/common/scenes/ShadowShaderAnimation.cpp @@ -29,7 +29,7 @@ public: std::vector > cards; void createContent(int width, int height, Canvas& canvas) override { canvas.drawColor(0xFFFFFFFF, SkBlendMode::kSrcOver); - canvas.insertReorderBarrier(true); + canvas.enableZ(true); int outset = 50; for (int i = 0; i < 10; i++) { @@ -39,7 +39,7 @@ public: cards.push_back(card); } - canvas.insertReorderBarrier(false); + canvas.enableZ(false); } void doFrame(int frameNr) override { int curFrame = frameNr % 10; diff --git a/libs/hwui/tests/common/scenes/TvApp.cpp b/libs/hwui/tests/common/scenes/TvApp.cpp index bac887053d2f8..1b0a07a98b3f6 100644 --- a/libs/hwui/tests/common/scenes/TvApp.cpp +++ b/libs/hwui/tests/common/scenes/TvApp.cpp @@ -67,7 +67,7 @@ public: mBg = createBitmapNode(canvas, 0xFF9C27B0, 0, 0, width, height); canvas.drawRenderNode(mBg.get()); - canvas.insertReorderBarrier(true); + canvas.enableZ(true); mSingleBitmap = mAllocator(dp(160), dp(120), kRGBA_8888_SkColorType, [](SkBitmap& skBitmap) { skBitmap.eraseColor(0xFF0000FF); }); @@ -80,7 +80,7 @@ public: mCards.push_back(card); } } - canvas.insertReorderBarrier(false); + canvas.enableZ(false); } void doFrame(int frameNr) override { diff --git a/libs/hwui/tests/microbench/DisplayListCanvasBench.cpp b/libs/hwui/tests/microbench/DisplayListCanvasBench.cpp index 4ce6c32470ea5..d393c693c774a 100644 --- a/libs/hwui/tests/microbench/DisplayListCanvasBench.cpp +++ b/libs/hwui/tests/microbench/DisplayListCanvasBench.cpp @@ -133,14 +133,14 @@ void BM_DisplayListCanvas_basicViewGroupDraw(benchmark::State& benchState) { int clipRestoreCount = canvas->save(SaveFlags::MatrixClip); canvas->clipRect(1, 1, 199, 199, SkClipOp::kIntersect); - canvas->insertReorderBarrier(true); + canvas->enableZ(true); // Draw child loop for (int i = 0; i < benchState.range(0); i++) { canvas->drawRenderNode(child.get()); } - canvas->insertReorderBarrier(false); + canvas->enableZ(false); canvas->restoreToCount(clipRestoreCount); delete canvas->finishRecording(); diff --git a/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp b/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp index e207da3ddfb62..7aa6be8722cf6 100644 --- a/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp +++ b/libs/hwui/tests/unit/RenderNodeDrawableTests.cpp @@ -108,27 +108,27 @@ protected: TEST(RenderNodeDrawable, zReorder) { auto parent = TestUtils::createSkiaNode(0, 0, 100, 100, [](RenderProperties& props, SkiaRecordingCanvas& canvas) { - canvas.insertReorderBarrier(true); - canvas.insertReorderBarrier(false); + canvas.enableZ(true); + canvas.enableZ(false); drawOrderedNode(&canvas, 0, 10.0f); // in reorder=false at this point, so played inorder drawOrderedRect(&canvas, 1); - canvas.insertReorderBarrier(true); + canvas.enableZ(true); drawOrderedNode(&canvas, 6, 2.0f); drawOrderedRect(&canvas, 3); drawOrderedNode(&canvas, 4, 0.0f); drawOrderedRect(&canvas, 5); drawOrderedNode(&canvas, 2, -2.0f); drawOrderedNode(&canvas, 7, 2.0f); - canvas.insertReorderBarrier(false); + canvas.enableZ(false); drawOrderedRect(&canvas, 8); drawOrderedNode(&canvas, 9, -10.0f); // in reorder=false at this point, so played inorder - canvas.insertReorderBarrier(true); // reorder a node ahead of drawrect op + canvas.enableZ(true); // reorder a node ahead of drawrect op drawOrderedRect(&canvas, 11); drawOrderedNode(&canvas, 10, -1.0f); - canvas.insertReorderBarrier(false); - canvas.insertReorderBarrier(true); // test with two empty reorder sections - canvas.insertReorderBarrier(true); - canvas.insertReorderBarrier(false); + canvas.enableZ(false); + canvas.enableZ(true); // test with two empty reorder sections + canvas.enableZ(true); + canvas.enableZ(false); drawOrderedRect(&canvas, 12); }); @@ -1142,7 +1142,7 @@ TEST(ReorderBarrierDrawable, testShadowMatrix) { 0, 0, CANVAS_WIDTH, CANVAS_HEIGHT, [](RenderProperties& props, SkiaRecordingCanvas& canvas) { canvas.translate(TRANSLATE_X, TRANSLATE_Y); - canvas.insertReorderBarrier(true); + canvas.enableZ(true); auto node = TestUtils::createSkiaNode( CASTER_X, CASTER_Y, CASTER_X + CASTER_WIDTH, CASTER_Y + CASTER_HEIGHT, @@ -1152,7 +1152,7 @@ TEST(ReorderBarrierDrawable, testShadowMatrix) { props.mutableOutline().setShouldClip(true); }); canvas.drawRenderNode(node.get()); - canvas.insertReorderBarrier(false); + canvas.enableZ(false); }); // create a canvas not backed by any device/pixels, but with dimensions to avoid quick rejection