diff options
| -rw-r--r-- | cmds/dumpstate/dumpstate.cpp | 3 | ||||
| -rw-r--r-- | libs/binder/ndk/ibinder.cpp | 1 | ||||
| -rw-r--r-- | libs/gui/LayerState.cpp | 21 | ||||
| -rw-r--r-- | libs/gui/SurfaceComposerClient.cpp | 9 | ||||
| -rw-r--r-- | libs/gui/include/gui/LayerState.h | 6 | ||||
| -rw-r--r-- | libs/gui/include/gui/SurfaceComposerClient.h | 1 | ||||
| -rw-r--r-- | opengl/libs/EGL/egl_display.cpp | 9 | ||||
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 7 |
8 files changed, 10 insertions, 47 deletions
diff --git a/cmds/dumpstate/dumpstate.cpp b/cmds/dumpstate/dumpstate.cpp index 344011675d..e7029bd0db 100644 --- a/cmds/dumpstate/dumpstate.cpp +++ b/cmds/dumpstate/dumpstate.cpp @@ -1477,6 +1477,8 @@ static Dumpstate::RunStatus dumpstate() { ds.AddDir(WMTRACE_DATA_DIR, false); } + ds.AddDir(SNAPSHOTCTL_LOG_DIR, false); + RUN_SLOW_FUNCTION_WITH_CONSENT_CHECK(ds.DumpstateBoard); /* Migrate the ril_dumpstate to a device specific dumpstate? */ @@ -1605,7 +1607,6 @@ Dumpstate::RunStatus Dumpstate::DumpstateDefaultAfterCritical() { ds.AddDir(RECOVERY_DATA_DIR, true); ds.AddDir(UPDATE_ENGINE_LOG_DIR, true); ds.AddDir(LOGPERSIST_DATA_DIR, false); - ds.AddDir(SNAPSHOTCTL_LOG_DIR, false); if (!PropertiesHelper::IsUserBuild()) { ds.AddDir(PROFILE_DATA_DIR_CUR, true); ds.AddDir(PROFILE_DATA_DIR_REF, true); diff --git a/libs/binder/ndk/ibinder.cpp b/libs/binder/ndk/ibinder.cpp index 75dcdc8389..649faa1c76 100644 --- a/libs/binder/ndk/ibinder.cpp +++ b/libs/binder/ndk/ibinder.cpp @@ -486,7 +486,6 @@ pid_t AIBinder_getCallingPid() { void AIBinder_incStrong(AIBinder* binder) { if (binder == nullptr) { - LOG(ERROR) << __func__ << ": on null binder"; return; } diff --git a/libs/gui/LayerState.cpp b/libs/gui/LayerState.cpp index a9c9b7460b..f7158d0472 100644 --- a/libs/gui/LayerState.cpp +++ b/libs/gui/LayerState.cpp @@ -443,39 +443,18 @@ void layer_state_t::merge(const layer_state_t& other) { // ------------------------------- InputWindowCommands ---------------------------------------- void InputWindowCommands::merge(const InputWindowCommands& other) { - transferTouchFocusCommands - .insert(transferTouchFocusCommands.end(), - std::make_move_iterator(other.transferTouchFocusCommands.begin()), - std::make_move_iterator(other.transferTouchFocusCommands.end())); - syncInputWindows |= other.syncInputWindows; } void InputWindowCommands::clear() { - transferTouchFocusCommands.clear(); syncInputWindows = false; } void InputWindowCommands::write(Parcel& output) const { - output.writeUint32(static_cast<uint32_t>(transferTouchFocusCommands.size())); - for (const auto& transferTouchFocusCommand : transferTouchFocusCommands) { - output.writeStrongBinder(transferTouchFocusCommand.fromToken); - output.writeStrongBinder(transferTouchFocusCommand.toToken); - } - output.writeBool(syncInputWindows); } void InputWindowCommands::read(const Parcel& input) { - size_t count = input.readUint32(); - transferTouchFocusCommands.clear(); - for (size_t i = 0; i < count; i++) { - TransferTouchFocusCommand transferTouchFocusCommand; - transferTouchFocusCommand.fromToken = input.readStrongBinder(); - transferTouchFocusCommand.toToken = input.readStrongBinder(); - transferTouchFocusCommands.emplace_back(transferTouchFocusCommand); - } - syncInputWindows = input.readBool(); } diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp index dc4860ab12..2307fbf56b 100644 --- a/libs/gui/SurfaceComposerClient.cpp +++ b/libs/gui/SurfaceComposerClient.cpp @@ -1290,15 +1290,6 @@ SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setInput return *this; } -SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::transferTouchFocus( - const sp<IBinder>& fromToken, const sp<IBinder>& toToken) { - InputWindowCommands::TransferTouchFocusCommand transferTouchFocusCommand; - transferTouchFocusCommand.fromToken = fromToken; - transferTouchFocusCommand.toToken = toToken; - mInputWindowCommands.transferTouchFocusCommands.emplace_back(transferTouchFocusCommand); - return *this; -} - SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::syncInputWindows() { mInputWindowCommands.syncInputWindows = true; return *this; diff --git a/libs/gui/include/gui/LayerState.h b/libs/gui/include/gui/LayerState.h index 7e3d5d50d3..2b2f7735ba 100644 --- a/libs/gui/include/gui/LayerState.h +++ b/libs/gui/include/gui/LayerState.h @@ -271,12 +271,6 @@ struct DisplayState { }; struct InputWindowCommands { - struct TransferTouchFocusCommand { - sp<IBinder> fromToken; - sp<IBinder> toToken; - }; - - std::vector<TransferTouchFocusCommand> transferTouchFocusCommands; bool syncInputWindows{false}; void merge(const InputWindowCommands& other); diff --git a/libs/gui/include/gui/SurfaceComposerClient.h b/libs/gui/include/gui/SurfaceComposerClient.h index 0cf141d577..2fb9538390 100644 --- a/libs/gui/include/gui/SurfaceComposerClient.h +++ b/libs/gui/include/gui/SurfaceComposerClient.h @@ -507,7 +507,6 @@ public: #ifndef NO_INPUT Transaction& setInputWindowInfo(const sp<SurfaceControl>& sc, const InputWindowInfo& info); - Transaction& transferTouchFocus(const sp<IBinder>& fromToken, const sp<IBinder>& toToken); Transaction& syncInputWindows(); #endif diff --git a/opengl/libs/EGL/egl_display.cpp b/opengl/libs/EGL/egl_display.cpp index 67d69b4d06..a58e87ca3e 100644 --- a/opengl/libs/EGL/egl_display.cpp +++ b/opengl/libs/EGL/egl_display.cpp @@ -158,13 +158,16 @@ static bool addAnglePlatformAttributes(egl_connection_t* const cnx, // NOTE: This is only valid if the backend is OpenGL attrs.push_back(EGL_PLATFORM_ANGLE_EGL_HANDLE_ANGLE); attrs.push_back(vendorEGL); + + // Context virtualization is only available on GL back-end. + // Needed to support threading with GL back-end + attrs.push_back(EGL_PLATFORM_ANGLE_CONTEXT_VIRTUALIZATION_ANGLE); + attrs.push_back(EGL_FALSE); break; default: - ALOGV("%s: Requesting Unknown (%d) ANGLE back-end", __FUNCTION__, cnx->angleBackend); + ALOGE("%s: Requesting Unknown (%d) ANGLE back-end", __FUNCTION__, cnx->angleBackend); break; } - attrs.push_back(EGL_PLATFORM_ANGLE_CONTEXT_VIRTUALIZATION_ANGLE); - attrs.push_back(EGL_FALSE); return true; } diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index ffb8ae925a..6ec521aa56 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -2808,7 +2808,7 @@ void SurfaceFlinger::updateInputWindowInfo() { } void SurfaceFlinger::commitInputWindowCommands() { - mInputWindowCommands = mPendingInputWindowCommands; + mInputWindowCommands.merge(mPendingInputWindowCommands); mPendingInputWindowCommands.clear(); } @@ -3745,10 +3745,6 @@ uint32_t SurfaceFlinger::setClientStateLocked( uint32_t SurfaceFlinger::addInputWindowCommands(const InputWindowCommands& inputWindowCommands) { uint32_t flags = 0; - if (!inputWindowCommands.transferTouchFocusCommands.empty()) { - flags |= eTraversalNeeded; - } - if (inputWindowCommands.syncInputWindows) { flags |= eTraversalNeeded; } @@ -5783,6 +5779,7 @@ void SurfaceFlinger::setInputWindowsFinished() { Mutex::Autolock _l(mStateLock); mPendingSyncInputWindows = false; + mTransactionCV.broadcast(); } |