| Index: cc/resources/tile_priority.h
|
| diff --git a/cc/resources/tile_priority.h b/cc/resources/tile_priority.h
|
| index f8ac9c6c7b0e7a148e929b10a6ab8fbe0392cd24..4c5b79d7c07deb4ede3debb1280f1baec03c0232 100644
|
| --- a/cc/resources/tile_priority.h
|
| +++ b/cc/resources/tile_priority.h
|
| @@ -46,14 +46,17 @@ 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()) {}
|
|
|
| TilePriority(TileResolution resolution,
|
| + bool is_occluded,
|
| PriorityBin bin,
|
| float distance_to_visible)
|
| : resolution(resolution),
|
| required_for_activation(false),
|
| + is_occluded(is_occluded),
|
| priority_bin(bin),
|
| distance_to_visible(distance_to_visible) {}
|
|
|
| @@ -70,6 +73,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 +94,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 +110,7 @@ struct CC_EXPORT TilePriority {
|
|
|
| TileResolution resolution;
|
| bool required_for_activation;
|
| + bool is_occluded;
|
| PriorityBin priority_bin;
|
| float distance_to_visible;
|
| };
|
|
|