Index: cc/resources/tile_priority.h |
diff --git a/cc/resources/tile_priority.h b/cc/resources/tile_priority.h |
index f8ac9c6c7b0e7a148e929b10a6ab8fbe0392cd24..318885fbe5209ba9d57b9bfca89dec0af5353549 100644 |
--- a/cc/resources/tile_priority.h |
+++ b/cc/resources/tile_priority.h |
@@ -46,6 +46,7 @@ struct CC_EXPORT TilePriority { |
TilePriority() |
: resolution(NON_IDEAL_RESOLUTION), |
required_for_activation(false), |
+ is_occluded(false), |
priority_bin(EVENTUALLY), |
distance_to_visible(std::numeric_limits<float>::infinity()) {} |
@@ -54,6 +55,7 @@ struct CC_EXPORT TilePriority { |
float distance_to_visible) |
: resolution(resolution), |
required_for_activation(false), |
+ is_occluded(false), |
priority_bin(bin), |
distance_to_visible(distance_to_visible) {} |
@@ -70,6 +72,8 @@ struct CC_EXPORT TilePriority { |
required_for_activation = |
active.required_for_activation || pending.required_for_activation; |
+ is_occluded = active.is_occluded && pending.is_occluded; |
+ |
if (active.priority_bin < pending.priority_bin) { |
priority_bin = active.priority_bin; |
distance_to_visible = active.distance_to_visible; |
@@ -89,7 +93,8 @@ struct CC_EXPORT TilePriority { |
return resolution == other.resolution && |
priority_bin == other.priority_bin && |
distance_to_visible == other.distance_to_visible && |
- required_for_activation == other.required_for_activation; |
+ required_for_activation == other.required_for_activation && |
+ is_occluded == other.is_occluded; |
} |
bool operator !=(const TilePriority& other) const { |
@@ -104,6 +109,7 @@ struct CC_EXPORT TilePriority { |
TileResolution resolution; |
bool required_for_activation; |
+ bool is_occluded; |
PriorityBin priority_bin; |
float distance_to_visible; |
}; |