diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-10-07 14:13:40 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-10-07 14:13:40 +0000 |
commit | 3b8470fc7d267536b06bd1f772a05aaeb469aa0f (patch) | |
tree | 3e7f9d545e51615cfd343fb0c8eca6f6724f8a9a | |
parent | 638da54a6d82541516a27dd83855ec3a381e04f1 (diff) | |
parent | 1f557dfea71415a8f5e8282870f05e0a076e0e2f (diff) | |
download | skia-3b8470fc7d267536b06bd1f772a05aaeb469aa0f.tar.gz |
Snap for 7802582 from 1f557dfea71415a8f5e8282870f05e0a076e0e2f to mainline-art-releaseandroid-mainline-12.0.0_r98android-mainline-12.0.0_r69android-mainline-12.0.0_r42android-mainline-12.0.0_r22android-mainline-12.0.0_r115android12-mainline-art-release
Change-Id: I06a8a2fba93bd003fa3da9fa759ee0b1c88a6f20
-rw-r--r-- | src/core/SkCanvas.cpp | 2 | ||||
-rw-r--r-- | src/gpu/SkGpuDevice.cpp | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index 833df7470f..bcfb5f9914 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -2364,7 +2364,7 @@ void SkCanvas::onDrawDrawable(SkDrawable* dr, const SkMatrix* matrix) { // drawable bounds are no longer reliable (e.g. android displaylist) // so don't use them for quick-reject this->predrawNotify(); - this->baseDevice()->drawDrawable(dr, matrix, this); + this->topDevice()->drawDrawable(dr, matrix, this); } void SkCanvas::onDrawAtlas2(const SkImage* atlas, const SkRSXform xform[], const SkRect tex[], diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp index fc6a8623d7..ffcfe53b52 100644 --- a/src/gpu/SkGpuDevice.cpp +++ b/src/gpu/SkGpuDevice.cpp @@ -950,13 +950,14 @@ void SkGpuDevice::drawDrawable(SkDrawable* drawable, const SkMatrix* matrix, SkC GrBackendApi api = this->recordingContext()->backend(); if (GrBackendApi::kVulkan == api) { - const SkMatrix& ctm = canvas->getLocalToDeviceAs3x3(); + const SkMatrix& ctm = this->localToDevice(); const SkMatrix& combinedMatrix = matrix ? SkMatrix::Concat(ctm, *matrix) : ctm; std::unique_ptr<SkDrawable::GpuDrawHandler> gpuDraw = - drawable->snapGpuDrawHandler(api, combinedMatrix, canvas->getDeviceClipBounds(), + drawable->snapGpuDrawHandler(api, combinedMatrix, this->devClipBounds(), this->imageInfo()); if (gpuDraw) { - fSurfaceDrawContext->drawDrawable(std::move(gpuDraw), drawable->getBounds()); + fSurfaceDrawContext->drawDrawable( + std::move(gpuDraw), combinedMatrix.mapRect(drawable->getBounds())); return; } } |