Bug 1679482 - Don't compute external surface dependencies when not using the Draw compositor. r=gw

Differential Revision: https://phabricator.services.mozilla.com/D98272
This commit is contained in:
Matt Woodrow 2020-12-02 23:51:34 +00:00
Родитель 5f271e5e7a
Коммит 8e7853b5d8
1 изменённых файлов: 17 добавлений и 11 удалений

Просмотреть файл

@ -653,17 +653,23 @@ impl CompositeState {
// Get a new z_id for each compositor surface, to ensure correct ordering
// when drawing with the simple (Draw) compositor.
let external_surface_index = self.compute_external_surface_dependencies(
&external_surface,
&image_dependencies,
required_plane_count,
resource_cache,
gpu_cache,
deferred_resolves,
);
if external_surface_index == ResolvedExternalSurfaceIndex::INVALID {
continue;
}
let external_surface_index = match self.compositor_kind {
CompositorKind::Draw { .. } => {
let external_surface_index = self.compute_external_surface_dependencies(
&external_surface,
&image_dependencies,
required_plane_count,
resource_cache,
gpu_cache,
deferred_resolves,
);
if external_surface_index == ResolvedExternalSurfaceIndex::INVALID {
continue;
}
external_surface_index
},
_ => ResolvedExternalSurfaceIndex::INVALID,
};
let tile = CompositeTile {
surface: CompositeTileSurface::ExternalSurface { external_surface_index },