diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-11-10 19:59:31 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-11-10 19:59:31 +0000 |
commit | e56fa84231083d35bc12ba3c92c34f75d28fc0c3 (patch) | |
tree | 3e7f9d545e51615cfd343fb0c8eca6f6724f8a9a | |
parent | 9324b5e46869bd833f87722242b1e78a53f9323a (diff) | |
parent | f56de7f354d0619f8faebb115fda7ad1ecf82843 (diff) | |
download | skia-android-platform-12.0.0_r27.tar.gz |
Snap for 7901677 from f56de7f354d0619f8faebb115fda7ad1ecf82843 to sc-platform-releaseandroid-platform-12.0.0_r9android-platform-12.0.0_r8android-platform-12.0.0_r7android-platform-12.0.0_r6android-platform-12.0.0_r5android-platform-12.0.0_r4android-platform-12.0.0_r31android-platform-12.0.0_r30android-platform-12.0.0_r3android-platform-12.0.0_r29android-platform-12.0.0_r28android-platform-12.0.0_r27android-platform-12.0.0_r26android-platform-12.0.0_r25android-platform-12.0.0_r24android-platform-12.0.0_r23android-platform-12.0.0_r22android-platform-12.0.0_r21android-platform-12.0.0_r20android-platform-12.0.0_r2android-platform-12.0.0_r19android-platform-12.0.0_r18android-platform-12.0.0_r17android-platform-12.0.0_r16android-platform-12.0.0_r15android-platform-12.0.0_r14android-platform-12.0.0_r13android-platform-12.0.0_r12android-platform-12.0.0_r11android-platform-12.0.0_r10android12-platform-release
Change-Id: Ia05f57f724aed00b2fbe01cb5e03c827ae4c0b5e
-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; } } |