summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lloyd Pique <lpique@google.com> 2020-08-19 20:02:44 -0700
committer Lloyd Pique <lpique@google.com> 2020-08-20 03:13:56 +0000
commit5d4e24edaaec4a23019f659dfd6e26abe081aac9 (patch)
tree3d350bf967570435f556d2e6d7a1c09b35ff91fc
parent26afdce91e27dbbb0b670dce6b1b5fae0a002c91 (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
-rw-r--r--services/surfaceflinger/CompositionEngine/include/compositionengine/LayerFECompositionState.h2
-rw-r--r--services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h2
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