diff --git a/engine/src/flutter/shell/platform/fuchsia/flutter/compositor_context.cc b/engine/src/flutter/shell/platform/fuchsia/flutter/compositor_context.cc index 91513883ffc..78d675a70b0 100644 --- a/engine/src/flutter/shell/platform/fuchsia/flutter/compositor_context.cc +++ b/engine/src/flutter/shell/platform/fuchsia/flutter/compositor_context.cc @@ -14,14 +14,15 @@ class ScopedFrame final : public flutter::CompositorContext::ScopedFrame { const SkMatrix& root_surface_transformation, bool instrumentation_enabled, SessionConnection& session_connection) - : flutter::CompositorContext::ScopedFrame(context, - nullptr, - nullptr, - nullptr, - root_surface_transformation, - instrumentation_enabled, - true, - nullptr), + : flutter::CompositorContext::ScopedFrame( + context, + session_connection.vulkan_surface_producer()->gr_context(), + nullptr, + nullptr, + root_surface_transformation, + instrumentation_enabled, + true, + nullptr), session_connection_(session_connection) {} private: @@ -37,7 +38,7 @@ class ScopedFrame final : public flutter::CompositorContext::ScopedFrame { // Preroll the Flutter layer tree. This allows Flutter to perform // pre-paint optimizations. TRACE_EVENT0("flutter", "Preroll"); - layer_tree.Preroll(*this, true /* ignore raster cache */); + layer_tree.Preroll(*this, ignore_raster_cache); } { diff --git a/engine/src/flutter/shell/platform/fuchsia/flutter/session_connection.h b/engine/src/flutter/shell/platform/fuchsia/flutter/session_connection.h index 54ba846ee89..5c7af13c85f 100644 --- a/engine/src/flutter/shell/platform/fuchsia/flutter/session_connection.h +++ b/engine/src/flutter/shell/platform/fuchsia/flutter/session_connection.h @@ -68,6 +68,10 @@ class SessionConnection final { void OnSessionSizeChangeHint(float width_change_factor, float height_change_factor); + VulkanSurfaceProducer* vulkan_surface_producer() { + return surface_producer_.get(); + } + private: const std::string debug_label_; scenic::Session session_wrapper_; diff --git a/engine/src/flutter/shell/platform/fuchsia/flutter/vulkan_surface_producer.h b/engine/src/flutter/shell/platform/fuchsia/flutter/vulkan_surface_producer.h index 5ea1415cf53..efc7275c53e 100644 --- a/engine/src/flutter/shell/platform/fuchsia/flutter/vulkan_surface_producer.h +++ b/engine/src/flutter/shell/platform/fuchsia/flutter/vulkan_surface_producer.h @@ -66,6 +66,8 @@ class VulkanSurfaceProducer final width_change_factor, height_change_factor); } + GrContext* gr_context() { return context_.get(); } + private: // VulkanProvider const vulkan::VulkanProcTable& vk() override { return *vk_.get(); }