diff options
| author | 2020-08-19 20:02:44 -0700 | |
|---|---|---|
| committer | 2020-08-20 03:13:56 +0000 | |
| commit | 5d4e24edaaec4a23019f659dfd6e26abe081aac9 (patch) | |
| tree | 3d350bf967570435f556d2e6d7a1c09b35ff91fc | |
| parent | 26afdce91e27dbbb0b670dce6b1b5fae0a002c91 (diff) | |
CE: Default-Initialize shadowRadius and a timestamp
The unit tests in particular assume that all values are initialzed to
some reasonable default.
The OutputTest takesEarlyOutIfLayerHasEmptyVisibleRegion was aborting on
an integer overflow inside Rect::inset() because an uninitialized
shadowRadius was being converted to -INT32_MIN.
The OutputTest gathersClientCompositionRequests() was sometimes failing because it
assumes that the timestamp is set to zero by default, and is set to a
(nonzero) value by the code under test.
With both these fixes, the CompositionEngine tests pass.
Test: atest libcompositionengine_test
Bug: None
Change-Id: I7ff56a0f24f6d5960493b18458f52766f955151d
2 files changed, 2 insertions, 2 deletions
diff --git a/services/surfaceflinger/CompositionEngine/include/compositionengine/LayerFECompositionState.h b/services/surfaceflinger/CompositionEngine/include/compositionengine/LayerFECompositionState.h index 8a9763bbeb..b4ed92f965 100644 --- a/services/surfaceflinger/CompositionEngine/include/compositionengine/LayerFECompositionState.h +++ b/services/surfaceflinger/CompositionEngine/include/compositionengine/LayerFECompositionState.h @@ -116,7 +116,7 @@ struct LayerFECompositionState { FloatRect geomLayerBounds; // length of the shadow in screen space - float shadowRadius; + float shadowRadius{0.f}; /* * Geometry state diff --git a/services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h b/services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h index 75394fadb7..d2b38d1815 100644 --- a/services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h +++ b/services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h @@ -110,7 +110,7 @@ struct OutputLayerCompositionState { void dump(std::string& result) const; // Timestamp for when the layer is queued for client composition - nsecs_t clientCompositionTimestamp; + nsecs_t clientCompositionTimestamp{0}; }; } // namespace compositionengine::impl |