From b35cbca6edeeea565002a866cc409f6d3214b6bc Mon Sep 17 00:00:00 2001 From: Jonah Williams Date: Mon, 6 May 2024 11:59:12 -0700 Subject: [PATCH] [Impeller] fix missing GPU probe. (flutter/engine#52580) Fixes https://github.com/flutter/flutter/issues/147723 The test that covers this is the benchmarks in the framework repo. Unfortunately emulators do not support the APIs needed to execute this code in the engine repo. --- .../backend/vulkan/swapchain/ahb/ahb_swapchain_impl_vk.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_swapchain_impl_vk.cc b/engine/src/flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_swapchain_impl_vk.cc index 767711d6935..b51424ce6dc 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_swapchain_impl_vk.cc +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_swapchain_impl_vk.cc @@ -9,6 +9,7 @@ #include "impeller/renderer/backend/vulkan/barrier_vk.h" #include "impeller/renderer/backend/vulkan/command_buffer_vk.h" #include "impeller/renderer/backend/vulkan/command_encoder_vk.h" +#include "impeller/renderer/backend/vulkan/gpu_tracer_vk.h" #include "impeller/renderer/backend/vulkan/swapchain/ahb/ahb_formats.h" #include "impeller/renderer/backend/vulkan/swapchain/surface_vk.h" #include "impeller/toolkit/android/surface_transaction.h" @@ -130,6 +131,11 @@ bool AHBSwapchainImplVK::Present( return false; } + auto context = transients_->GetContext().lock(); + if (context) { + ContextVK::Cast(*context).GetGPUTracer()->MarkFrameEnd(); + } + if (!texture) { return false; }