35 GrDirectContext*
gr_context()
const override {
return context_.get(); }
39 const SkISize& size)
override;
43 const SkISize& size)
override;
47 std::vector<std::unique_ptr<SurfaceProducerSurface>> surfaces)
override;
53 return logical_device_->GetHandle();
58 void SubmitSurface(std::unique_ptr<SurfaceProducerSurface> surface);
59 bool TransitionSurfacesToExternal(
60 const std::vector<std::unique_ptr<SurfaceProducerSurface>>& surfaces);
64 zx::time last_produce_time_ = async::Now(async_get_default_dispatcher());
74 std::unique_ptr<vulkan::VulkanApplication> application_;
75 std::unique_ptr<vulkan::VulkanDevice> logical_device_;
76 sk_sp<GrDirectContext> context_;
77 std::unique_ptr<VulkanSurfacePool> surface_pool_;
78 sk_sp<skgpu::VulkanMemoryAllocator> memory_allocator_;