Index: Source/platform/graphics/CompositingReasons.h |
diff --git a/Source/platform/graphics/CompositingReasons.h b/Source/platform/graphics/CompositingReasons.h |
index 513be298323dcc2168b0fc5615a7205fd3245c7a..fc3c8dd22a626c802f3111ab3b76d0cc6d44e529 100644 |
--- a/Source/platform/graphics/CompositingReasons.h |
+++ b/Source/platform/graphics/CompositingReasons.h |
@@ -117,6 +117,18 @@ const uint64_t CompositingReasonComboSquashableReasons = |
typedef uint64_t CompositingReasons; |
+// Any reasons other than overlap or assumed overlap will require the layer to be separately compositing. |
+inline bool requiresCompositing(CompositingReasons reasons) |
+{ |
+ return reasons & ~CompositingReasonComboSquashableReasons; |
+} |
+ |
+// If the layer has overlap or assumed overlap, but no other reasons, then it should be squashed. |
+inline bool requiresSquashing(CompositingReasons reasons) |
+{ |
+ return !requiresCompositing(reasons) && (reasons & CompositingReasonComboSquashableReasons); |
+} |
+ |
struct CompositingReasonStringMap { |
CompositingReasons reason; |
const char* shortName; |