Loading cmds/surfacereplayer/proto/src/trace.proto +5 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ message SurfaceChange { RelativeParentChange relative_parent = 18; DetachChildrenChange detach_children = 19; ReparentChildrenChange reparent_children = 20; ShadowRadiusChange shadow_radius = 22; } } Loading Loading @@ -199,3 +200,7 @@ message RelativeParentChange { message DetachChildrenChange { required bool detach_children = 1; } message ShadowRadiusChange { required float radius = 1; } No newline at end of file cmds/surfacereplayer/replayer/Replayer.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -424,6 +424,9 @@ status_t Replayer::doSurfaceTransaction( case SurfaceChange::SurfaceChangeCase::kDetachChildren: setDetachChildrenChange(transaction, change.id(), change.detach_children()); break; case SurfaceChange::SurfaceChangeCase::kShadowRadius: setShadowRadiusChange(transaction, change.id(), change.shadow_radius()); break; default: status = 1; break; Loading Loading @@ -724,3 +727,8 @@ void Replayer::setReparentChildrenChange(SurfaceComposerClient::Transaction& t, } t.reparentChildren(mLayers[id], mLayers[c.parent_id()]->getHandle()); } void Replayer::setShadowRadiusChange(SurfaceComposerClient::Transaction& t, layer_id id, const ShadowRadiusChange& c) { t.setShadowRadius(mLayers[id], c.radius()); } cmds/surfacereplayer/replayer/Replayer.h +2 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,8 @@ class Replayer { layer_id id, const DetachChildrenChange& c); void setReparentChildrenChange(SurfaceComposerClient::Transaction& t, layer_id id, const ReparentChildrenChange& c); void setShadowRadiusChange(SurfaceComposerClient::Transaction& t, layer_id id, const ShadowRadiusChange& c); void setDisplaySurface(SurfaceComposerClient::Transaction& t, display_id id, const DispSurfaceChange& dsc); Loading services/surfaceflinger/Layer.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -1937,6 +1937,9 @@ void Layer::writeToProtoDrawingState(LayerProto* layerInfo, uint32_t traceFlags) [&]() { return layerInfo->mutable_source_bounds(); }); LayerProtoHelper::writeToProto(mScreenBounds, [&]() { return layerInfo->mutable_screen_bounds(); }); LayerProtoHelper::writeToProto(getRoundedCornerState().cropRect, [&]() { return layerInfo->mutable_corner_radius_crop(); }); layerInfo->set_shadow_radius(mEffectiveShadowRadius); } } Loading services/surfaceflinger/SurfaceInterceptor.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,7 @@ void SurfaceInterceptor::addInitialSurfaceStateLocked(Increment* increment, addRelativeParentLocked(transaction, layerId, getLayerIdFromWeakRef(layer->mCurrentState.zOrderRelativeOf), layer->mCurrentState.z); addShadowRadiusLocked(transaction, layerId, layer->mCurrentState.shadowRadius); } void SurfaceInterceptor::addInitialDisplayStateLocked(Increment* increment, Loading Loading @@ -368,6 +369,13 @@ void SurfaceInterceptor::addRelativeParentLocked(Transaction* transaction, int32 overrideChange->set_z(z); } void SurfaceInterceptor::addShadowRadiusLocked(Transaction* transaction, int32_t layerId, float shadowRadius) { SurfaceChange* change(createSurfaceChangeLocked(transaction, layerId)); ShadowRadiusChange* overrideChange(change->mutable_shadow_radius()); overrideChange->set_radius(shadowRadius); } void SurfaceInterceptor::addSurfaceChangesLocked(Transaction* transaction, const layer_state_t& state) { Loading Loading @@ -441,6 +449,9 @@ void SurfaceInterceptor::addSurfaceChangesLocked(Transaction* transaction, addRelativeParentLocked(transaction, layerId, getLayerIdFromHandle(state.relativeLayerHandle), state.z); } if (state.what & layer_state_t::eShadowRadiusChanged) { addShadowRadiusLocked(transaction, layerId, state.shadowRadius); } } void SurfaceInterceptor::addDisplayChangesLocked(Transaction* transaction, Loading Loading
cmds/surfacereplayer/proto/src/trace.proto +5 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ message SurfaceChange { RelativeParentChange relative_parent = 18; DetachChildrenChange detach_children = 19; ReparentChildrenChange reparent_children = 20; ShadowRadiusChange shadow_radius = 22; } } Loading Loading @@ -199,3 +200,7 @@ message RelativeParentChange { message DetachChildrenChange { required bool detach_children = 1; } message ShadowRadiusChange { required float radius = 1; } No newline at end of file
cmds/surfacereplayer/replayer/Replayer.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -424,6 +424,9 @@ status_t Replayer::doSurfaceTransaction( case SurfaceChange::SurfaceChangeCase::kDetachChildren: setDetachChildrenChange(transaction, change.id(), change.detach_children()); break; case SurfaceChange::SurfaceChangeCase::kShadowRadius: setShadowRadiusChange(transaction, change.id(), change.shadow_radius()); break; default: status = 1; break; Loading Loading @@ -724,3 +727,8 @@ void Replayer::setReparentChildrenChange(SurfaceComposerClient::Transaction& t, } t.reparentChildren(mLayers[id], mLayers[c.parent_id()]->getHandle()); } void Replayer::setShadowRadiusChange(SurfaceComposerClient::Transaction& t, layer_id id, const ShadowRadiusChange& c) { t.setShadowRadius(mLayers[id], c.radius()); }
cmds/surfacereplayer/replayer/Replayer.h +2 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,8 @@ class Replayer { layer_id id, const DetachChildrenChange& c); void setReparentChildrenChange(SurfaceComposerClient::Transaction& t, layer_id id, const ReparentChildrenChange& c); void setShadowRadiusChange(SurfaceComposerClient::Transaction& t, layer_id id, const ShadowRadiusChange& c); void setDisplaySurface(SurfaceComposerClient::Transaction& t, display_id id, const DispSurfaceChange& dsc); Loading
services/surfaceflinger/Layer.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -1937,6 +1937,9 @@ void Layer::writeToProtoDrawingState(LayerProto* layerInfo, uint32_t traceFlags) [&]() { return layerInfo->mutable_source_bounds(); }); LayerProtoHelper::writeToProto(mScreenBounds, [&]() { return layerInfo->mutable_screen_bounds(); }); LayerProtoHelper::writeToProto(getRoundedCornerState().cropRect, [&]() { return layerInfo->mutable_corner_radius_crop(); }); layerInfo->set_shadow_radius(mEffectiveShadowRadius); } } Loading
services/surfaceflinger/SurfaceInterceptor.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,7 @@ void SurfaceInterceptor::addInitialSurfaceStateLocked(Increment* increment, addRelativeParentLocked(transaction, layerId, getLayerIdFromWeakRef(layer->mCurrentState.zOrderRelativeOf), layer->mCurrentState.z); addShadowRadiusLocked(transaction, layerId, layer->mCurrentState.shadowRadius); } void SurfaceInterceptor::addInitialDisplayStateLocked(Increment* increment, Loading Loading @@ -368,6 +369,13 @@ void SurfaceInterceptor::addRelativeParentLocked(Transaction* transaction, int32 overrideChange->set_z(z); } void SurfaceInterceptor::addShadowRadiusLocked(Transaction* transaction, int32_t layerId, float shadowRadius) { SurfaceChange* change(createSurfaceChangeLocked(transaction, layerId)); ShadowRadiusChange* overrideChange(change->mutable_shadow_radius()); overrideChange->set_radius(shadowRadius); } void SurfaceInterceptor::addSurfaceChangesLocked(Transaction* transaction, const layer_state_t& state) { Loading Loading @@ -441,6 +449,9 @@ void SurfaceInterceptor::addSurfaceChangesLocked(Transaction* transaction, addRelativeParentLocked(transaction, layerId, getLayerIdFromHandle(state.relativeLayerHandle), state.z); } if (state.what & layer_state_t::eShadowRadiusChanged) { addShadowRadiusLocked(transaction, layerId, state.shadowRadius); } } void SurfaceInterceptor::addDisplayChangesLocked(Transaction* transaction, Loading