diff options
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/androidfw/DisplayEventDispatcher.cpp | 3 | ||||
| -rw-r--r-- | libs/androidfw/include/androidfw/DisplayEventDispatcher.h | 2 | ||||
| -rw-r--r-- | libs/hwui/pipeline/skia/RenderNodeDrawable.cpp | 2 | ||||
| -rw-r--r-- | libs/hwui/renderthread/CacheManager.cpp | 1 | ||||
| -rw-r--r-- | libs/input/PointerController.cpp | 6 |
5 files changed, 10 insertions, 4 deletions
diff --git a/libs/androidfw/DisplayEventDispatcher.cpp b/libs/androidfw/DisplayEventDispatcher.cpp index 3b9a348047ba..660614895603 100644 --- a/libs/androidfw/DisplayEventDispatcher.cpp +++ b/libs/androidfw/DisplayEventDispatcher.cpp @@ -135,6 +135,9 @@ bool DisplayEventDispatcher::processPendingEvents( case DisplayEventReceiver::DISPLAY_EVENT_HOTPLUG: dispatchHotplug(ev.header.timestamp, ev.header.displayId, ev.hotplug.connected); break; + case DisplayEventReceiver::DISPLAY_EVENT_CONFIG_CHANGED: + dispatchConfigChanged(ev.header.timestamp, ev.header.displayId, ev.config.configId); + break; default: ALOGW("dispatcher %p ~ ignoring unknown event type %#x", this, ev.header.type); break; diff --git a/libs/androidfw/include/androidfw/DisplayEventDispatcher.h b/libs/androidfw/include/androidfw/DisplayEventDispatcher.h index d2addba61679..5381c0174cb0 100644 --- a/libs/androidfw/include/androidfw/DisplayEventDispatcher.h +++ b/libs/androidfw/include/androidfw/DisplayEventDispatcher.h @@ -40,6 +40,8 @@ private: virtual void dispatchVsync(nsecs_t timestamp, PhysicalDisplayId displayId, uint32_t count) = 0; virtual void dispatchHotplug(nsecs_t timestamp, PhysicalDisplayId displayId, bool connected) = 0; + virtual void dispatchConfigChanged(nsecs_t timestamp, PhysicalDisplayId displayId, + int32_t configId) = 0; virtual int handleEvent(int receiveFd, int events, void* data); bool processPendingEvents(nsecs_t* outTimestamp, PhysicalDisplayId* outDisplayId, diff --git a/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp b/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp index df1537e2d824..1bd30eb5371b 100644 --- a/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp +++ b/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp @@ -161,7 +161,7 @@ void RenderNodeDrawable::forceDraw(SkCanvas* canvas) { SkAutoCanvasRestore acr2(canvas, shouldClip); canvas->setMatrix(mProjectedDisplayList->mParentMatrix); if (shouldClip) { - clipOutline(*mProjectedDisplayList->mProjectedOutline, canvas, nullptr); + canvas->clipPath(*mProjectedDisplayList->mProjectedOutline->getPath()); } drawBackwardsProjectedNodes(canvas, *mProjectedDisplayList); } diff --git a/libs/hwui/renderthread/CacheManager.cpp b/libs/hwui/renderthread/CacheManager.cpp index 6da80628be60..6c04232ab7f5 100644 --- a/libs/hwui/renderthread/CacheManager.cpp +++ b/libs/hwui/renderthread/CacheManager.cpp @@ -117,6 +117,7 @@ void CacheManager::configureContext(GrContextOptions* contextOptions, const void auto& cache = skiapipeline::ShaderCache::get(); cache.initShaderDiskCache(identity, size); contextOptions->fPersistentCache = &cache; + contextOptions->fGpuPathRenderers &= ~GpuPathRenderers::kCoverageCounting; } void CacheManager::trimMemory(TrimMemoryMode mode) { diff --git a/libs/input/PointerController.cpp b/libs/input/PointerController.cpp index 733b866d9c4c..abf083789c23 100644 --- a/libs/input/PointerController.cpp +++ b/libs/input/PointerController.cpp @@ -759,11 +759,11 @@ void PointerController::fadeOutAndReleaseAllSpotsLocked() { void PointerController::loadResourcesLocked() REQUIRES(mLock) { mPolicy->loadPointerResources(&mResources, mLocked.viewport.displayId); + mPolicy->loadPointerIcon(&mLocked.pointerIcon, mLocked.viewport.displayId); + mLocked.additionalMouseResources.clear(); + mLocked.animationResources.clear(); if (mLocked.presentation == PRESENTATION_POINTER) { - mLocked.additionalMouseResources.clear(); - mLocked.animationResources.clear(); - mPolicy->loadPointerIcon(&mLocked.pointerIcon, mLocked.viewport.displayId); mPolicy->loadAdditionalMouseResources(&mLocked.additionalMouseResources, &mLocked.animationResources, mLocked.viewport.displayId); } |