New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 782098 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Nov 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

LayerTreeFrameSinkHolder releases buffers currently in use

Project Member Reported by reve...@chromium.org, Nov 7 2017

Issue description

This can happen when a window is being resized.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8e0435728fce61f31de02d17a665d0a18c0172ed

commit 8e0435728fce61f31de02d17a665d0a18c0172ed
Author: David Reveman <reveman@chromium.org>
Date: Tue Nov 07 05:22:59 2017

exo: Fix buffer release handling when window is changing size.

Normally resources in last frame are not released by the frame
sink but if the window size changes then that will cause the
frame sink id to change and trigger a release of all old resources.
This is incorrect behavior as the resource is still in use by
the new frame sink.

Fix this problem by keeping track of the last submitted resources
and avoid releasing them.

This also removes an unused parameter from SurfaceTreeHost ctor.

Bug:  782098 
Test: exo_unittests --gtest_filter=BufferTest.SurfaceTreeHostLastFrame
Change-Id: I5e08fe7a0b8a6c2cfb0c60f5eb30cf33fbe8fb42
Reviewed-on: https://chromium-review.googlesource.com/756374
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514402}
[modify] https://crrev.com/8e0435728fce61f31de02d17a665d0a18c0172ed/components/exo/buffer_unittest.cc
[modify] https://crrev.com/8e0435728fce61f31de02d17a665d0a18c0172ed/components/exo/layer_tree_frame_sink_holder.cc
[modify] https://crrev.com/8e0435728fce61f31de02d17a665d0a18c0172ed/components/exo/layer_tree_frame_sink_holder.h
[modify] https://crrev.com/8e0435728fce61f31de02d17a665d0a18c0172ed/components/exo/notification_surface.cc
[modify] https://crrev.com/8e0435728fce61f31de02d17a665d0a18c0172ed/components/exo/pointer.cc
[modify] https://crrev.com/8e0435728fce61f31de02d17a665d0a18c0172ed/components/exo/shell_surface.cc
[modify] https://crrev.com/8e0435728fce61f31de02d17a665d0a18c0172ed/components/exo/surface_tree_host.cc
[modify] https://crrev.com/8e0435728fce61f31de02d17a665d0a18c0172ed/components/exo/surface_tree_host.h

Status: Fixed (was: Started)

Sign in to add a comment