GPU: Fix transfer buffers not being freed promptly
A previous change removed the command buffer flush when destroying a transfer buffer: https://chromium-review.googlesource.com/c/chromium/src/+/1105466 If we want to free a transfer buffer promptly, we now need to flush separately, and we do. Unfortunately if no commands were issued between the call to DestroyTransferBuffer and the flush, the flush might not execute because the CommandBufferProxy would pass an outdated flush ID to GpuChannelHost::EnsureFlush. The fix is to inform the CommandBufferProxy about the new flush ID when it calls DestroyTransferBuffer. This should fix the memory regressions on the perf waterfall noted in bug 855402. Bug: 855402, 850271, 835353, 828363 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: Id125c5124b26763e692c1fe8067df28761fa6dab Reviewed-on: https://chromium-review.googlesource.com/1121590Reviewed-by:Antoine Labour <piman@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org> Cr-Commit-Position: refs/heads/master@{#572074}
Showing
Please register or sign in to comment