Loading libs/hwui/renderthread/ReliableSurface.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -150,11 +150,11 @@ ANativeWindowBuffer* ReliableSurface::acquireFallbackBuffer(int error) { } AHardwareBuffer_Desc desc = AHardwareBuffer_Desc{ .usage = mUsage, .format = mFormat, .width = 1, .height = 1, .layers = 1, .format = mFormat, .usage = mUsage, .rfu0 = 0, .rfu1 = 0, }; Loading libs/hwui/renderthread/RenderProxy.cpp +12 −11 Original line number Diff line number Diff line Loading @@ -123,7 +123,7 @@ void RenderProxy::setSurfaceControl(ASurfaceControl* surfaceControl) { } void RenderProxy::allocateBuffers() { mRenderThread.queue().post([=]() { mContext->allocateBuffers(); }); mRenderThread.queue().post([this]() { mContext->allocateBuffers(); }); } bool RenderProxy::pause() { Loading @@ -136,15 +136,16 @@ void RenderProxy::setStopped(bool stopped) { void RenderProxy::setLightAlpha(uint8_t ambientShadowAlpha, uint8_t spotShadowAlpha) { mRenderThread.queue().post( [=]() { mContext->setLightAlpha(ambientShadowAlpha, spotShadowAlpha); }); [=, this]() { mContext->setLightAlpha(ambientShadowAlpha, spotShadowAlpha); }); } void RenderProxy::setLightGeometry(const Vector3& lightCenter, float lightRadius) { mRenderThread.queue().post([=]() { mContext->setLightGeometry(lightCenter, lightRadius); }); mRenderThread.queue().post( [=, this]() { mContext->setLightGeometry(lightCenter, lightRadius); }); } void RenderProxy::setOpaque(bool opaque) { mRenderThread.queue().post([=]() { mContext->setOpaque(opaque); }); mRenderThread.queue().post([=, this]() { mContext->setOpaque(opaque); }); } float RenderProxy::setColorMode(ColorMode mode) { Loading @@ -152,9 +153,9 @@ float RenderProxy::setColorMode(ColorMode mode) { // an async call since we already know the return value if (mode == ColorMode::Hdr || mode == ColorMode::Hdr10) { return mRenderThread.queue().runSync( [=]() -> float { return mContext->setColorMode(mode); }); [=, this]() -> float { return mContext->setColorMode(mode); }); } else { mRenderThread.queue().post([=]() { mContext->setColorMode(mode); }); mRenderThread.queue().post([=, this]() { mContext->setColorMode(mode); }); return 1.f; } } Loading @@ -179,7 +180,7 @@ void RenderProxy::destroy() { // destroyCanvasAndSurface() needs a fence as when it returns the // underlying BufferQueue is going to be released from under // the render thread. mRenderThread.queue().runSync([=]() { mContext->destroy(); }); mRenderThread.queue().runSync([this]() { mContext->destroy(); }); } void RenderProxy::destroyFunctor(int functor) { Loading Loading @@ -300,7 +301,7 @@ void RenderProxy::dumpProfileInfo(int fd, int dumpFlags) { } void RenderProxy::resetProfileInfo() { mRenderThread.queue().runSync([=]() { mRenderThread.queue().runSync([this]() { std::lock_guard lock(mRenderThread.getJankDataMutex()); mContext->resetFrameStats(); }); Loading Loading @@ -355,15 +356,15 @@ int RenderProxy::getRenderThreadTid() { } void RenderProxy::addRenderNode(RenderNode* node, bool placeFront) { mRenderThread.queue().post([=]() { mContext->addRenderNode(node, placeFront); }); mRenderThread.queue().post([=, this]() { mContext->addRenderNode(node, placeFront); }); } void RenderProxy::removeRenderNode(RenderNode* node) { mRenderThread.queue().post([=]() { mContext->removeRenderNode(node); }); mRenderThread.queue().post([=, this]() { mContext->removeRenderNode(node); }); } void RenderProxy::drawRenderNode(RenderNode* node) { mRenderThread.queue().runSync([=]() { mContext->prepareAndDraw(node); }); mRenderThread.queue().runSync([=, this]() { mContext->prepareAndDraw(node); }); } void RenderProxy::setContentDrawBounds(int left, int top, int right, int bottom) { Loading libs/hwui/renderthread/RenderThread.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -150,7 +150,7 @@ void RenderThread::frameCallback(int64_t vsyncId, int64_t frameDeadline, int64_t ATRACE_FORMAT("queue mFrameCallbackTask to run after %.2fms", toFloatMillis(runAt - SteadyClock::now()).count()); queue().postAt(toNsecs_t(runAt.time_since_epoch()).count(), [=]() { dispatchFrameCallbacks(); }); [this]() { dispatchFrameCallbacks(); }); } } Loading libs/hwui/tests/unit/CanvasOpTests.cpp +17 −17 Original line number Diff line number Diff line Loading @@ -226,8 +226,8 @@ TEST(CanvasOp, simpleDrawRect) { CanvasOpBuffer buffer; EXPECT_EQ(buffer.size(), 0); buffer.push<Op::DrawRect>({ .rect = SkRect::MakeEmpty(), .paint = SkPaint{}, .rect = SkRect::MakeEmpty() }); CallCountingCanvas canvas; Loading @@ -243,8 +243,8 @@ TEST(CanvasOp, simpleDrawRegionRect) { SkRegion region; region.setRect(SkIRect::MakeWH(12, 50)); buffer.push<Op::DrawRegion>({ .region = region, .paint = SkPaint{}, .region = region }); CallCountingCanvas canvas; Loading @@ -265,8 +265,8 @@ TEST(CanvasOp, simpleDrawRegionPath) { SkRegion region; region.setPath(path, clip); buffer.push<Op::DrawRegion>({ .region = region, .paint = SkPaint{}, .region = region }); CallCountingCanvas canvas; Loading @@ -280,10 +280,10 @@ TEST(CanvasOp, simpleDrawRoundRect) { CanvasOpBuffer buffer; EXPECT_EQ(buffer.size(), 0); buffer.push<Op::DrawRoundRect>({ .paint = SkPaint{}, .rect = SkRect::MakeEmpty(), .rx = 10, .ry = 10 .ry = 10, .paint = SkPaint{}, }); CallCountingCanvas canvas; Loading Loading @@ -612,8 +612,8 @@ TEST(CanvasOp, immediateRendering) { EXPECT_EQ(0, canvas->sumTotalDrawCalls()); ImmediateModeRasterizer rasterizer{canvas}; auto op = CanvasOp<Op::DrawRect>{ .rect = SkRect::MakeEmpty(), .paint = SkPaint{}, .rect = SkRect::MakeEmpty() }; EXPECT_TRUE(CanvasOpTraits::can_draw<decltype(op)>); rasterizer.draw(op); Loading Loading
libs/hwui/renderthread/ReliableSurface.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -150,11 +150,11 @@ ANativeWindowBuffer* ReliableSurface::acquireFallbackBuffer(int error) { } AHardwareBuffer_Desc desc = AHardwareBuffer_Desc{ .usage = mUsage, .format = mFormat, .width = 1, .height = 1, .layers = 1, .format = mFormat, .usage = mUsage, .rfu0 = 0, .rfu1 = 0, }; Loading
libs/hwui/renderthread/RenderProxy.cpp +12 −11 Original line number Diff line number Diff line Loading @@ -123,7 +123,7 @@ void RenderProxy::setSurfaceControl(ASurfaceControl* surfaceControl) { } void RenderProxy::allocateBuffers() { mRenderThread.queue().post([=]() { mContext->allocateBuffers(); }); mRenderThread.queue().post([this]() { mContext->allocateBuffers(); }); } bool RenderProxy::pause() { Loading @@ -136,15 +136,16 @@ void RenderProxy::setStopped(bool stopped) { void RenderProxy::setLightAlpha(uint8_t ambientShadowAlpha, uint8_t spotShadowAlpha) { mRenderThread.queue().post( [=]() { mContext->setLightAlpha(ambientShadowAlpha, spotShadowAlpha); }); [=, this]() { mContext->setLightAlpha(ambientShadowAlpha, spotShadowAlpha); }); } void RenderProxy::setLightGeometry(const Vector3& lightCenter, float lightRadius) { mRenderThread.queue().post([=]() { mContext->setLightGeometry(lightCenter, lightRadius); }); mRenderThread.queue().post( [=, this]() { mContext->setLightGeometry(lightCenter, lightRadius); }); } void RenderProxy::setOpaque(bool opaque) { mRenderThread.queue().post([=]() { mContext->setOpaque(opaque); }); mRenderThread.queue().post([=, this]() { mContext->setOpaque(opaque); }); } float RenderProxy::setColorMode(ColorMode mode) { Loading @@ -152,9 +153,9 @@ float RenderProxy::setColorMode(ColorMode mode) { // an async call since we already know the return value if (mode == ColorMode::Hdr || mode == ColorMode::Hdr10) { return mRenderThread.queue().runSync( [=]() -> float { return mContext->setColorMode(mode); }); [=, this]() -> float { return mContext->setColorMode(mode); }); } else { mRenderThread.queue().post([=]() { mContext->setColorMode(mode); }); mRenderThread.queue().post([=, this]() { mContext->setColorMode(mode); }); return 1.f; } } Loading @@ -179,7 +180,7 @@ void RenderProxy::destroy() { // destroyCanvasAndSurface() needs a fence as when it returns the // underlying BufferQueue is going to be released from under // the render thread. mRenderThread.queue().runSync([=]() { mContext->destroy(); }); mRenderThread.queue().runSync([this]() { mContext->destroy(); }); } void RenderProxy::destroyFunctor(int functor) { Loading Loading @@ -300,7 +301,7 @@ void RenderProxy::dumpProfileInfo(int fd, int dumpFlags) { } void RenderProxy::resetProfileInfo() { mRenderThread.queue().runSync([=]() { mRenderThread.queue().runSync([this]() { std::lock_guard lock(mRenderThread.getJankDataMutex()); mContext->resetFrameStats(); }); Loading Loading @@ -355,15 +356,15 @@ int RenderProxy::getRenderThreadTid() { } void RenderProxy::addRenderNode(RenderNode* node, bool placeFront) { mRenderThread.queue().post([=]() { mContext->addRenderNode(node, placeFront); }); mRenderThread.queue().post([=, this]() { mContext->addRenderNode(node, placeFront); }); } void RenderProxy::removeRenderNode(RenderNode* node) { mRenderThread.queue().post([=]() { mContext->removeRenderNode(node); }); mRenderThread.queue().post([=, this]() { mContext->removeRenderNode(node); }); } void RenderProxy::drawRenderNode(RenderNode* node) { mRenderThread.queue().runSync([=]() { mContext->prepareAndDraw(node); }); mRenderThread.queue().runSync([=, this]() { mContext->prepareAndDraw(node); }); } void RenderProxy::setContentDrawBounds(int left, int top, int right, int bottom) { Loading
libs/hwui/renderthread/RenderThread.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -150,7 +150,7 @@ void RenderThread::frameCallback(int64_t vsyncId, int64_t frameDeadline, int64_t ATRACE_FORMAT("queue mFrameCallbackTask to run after %.2fms", toFloatMillis(runAt - SteadyClock::now()).count()); queue().postAt(toNsecs_t(runAt.time_since_epoch()).count(), [=]() { dispatchFrameCallbacks(); }); [this]() { dispatchFrameCallbacks(); }); } } Loading
libs/hwui/tests/unit/CanvasOpTests.cpp +17 −17 Original line number Diff line number Diff line Loading @@ -226,8 +226,8 @@ TEST(CanvasOp, simpleDrawRect) { CanvasOpBuffer buffer; EXPECT_EQ(buffer.size(), 0); buffer.push<Op::DrawRect>({ .rect = SkRect::MakeEmpty(), .paint = SkPaint{}, .rect = SkRect::MakeEmpty() }); CallCountingCanvas canvas; Loading @@ -243,8 +243,8 @@ TEST(CanvasOp, simpleDrawRegionRect) { SkRegion region; region.setRect(SkIRect::MakeWH(12, 50)); buffer.push<Op::DrawRegion>({ .region = region, .paint = SkPaint{}, .region = region }); CallCountingCanvas canvas; Loading @@ -265,8 +265,8 @@ TEST(CanvasOp, simpleDrawRegionPath) { SkRegion region; region.setPath(path, clip); buffer.push<Op::DrawRegion>({ .region = region, .paint = SkPaint{}, .region = region }); CallCountingCanvas canvas; Loading @@ -280,10 +280,10 @@ TEST(CanvasOp, simpleDrawRoundRect) { CanvasOpBuffer buffer; EXPECT_EQ(buffer.size(), 0); buffer.push<Op::DrawRoundRect>({ .paint = SkPaint{}, .rect = SkRect::MakeEmpty(), .rx = 10, .ry = 10 .ry = 10, .paint = SkPaint{}, }); CallCountingCanvas canvas; Loading Loading @@ -612,8 +612,8 @@ TEST(CanvasOp, immediateRendering) { EXPECT_EQ(0, canvas->sumTotalDrawCalls()); ImmediateModeRasterizer rasterizer{canvas}; auto op = CanvasOp<Op::DrawRect>{ .rect = SkRect::MakeEmpty(), .paint = SkPaint{}, .rect = SkRect::MakeEmpty() }; EXPECT_TRUE(CanvasOpTraits::can_draw<decltype(op)>); rasterizer.draw(op); Loading