33 GrDirectContext*
gr_context()
const override {
return context_.get(); }
37 const SkISize& size)
override;
41 const SkISize& size)
override;
45 std::vector<std::unique_ptr<SurfaceProducerSurface>> surfaces)
override;
51 return logical_device_->GetHandle();
56 void SubmitSurface(std::unique_ptr<SurfaceProducerSurface> surface);
57 bool TransitionSurfacesToExternal(
58 const std::vector<std::unique_ptr<SurfaceProducerSurface>>& surfaces);
62 zx::time last_produce_time_ = async::Now(async_get_default_dispatcher());
72 std::unique_ptr<vulkan::VulkanApplication> application_;
73 std::unique_ptr<vulkan::VulkanDevice> logical_device_;
74 sk_sp<GrDirectContext> context_;
75 std::unique_ptr<VulkanSurfacePool> surface_pool_;
76 sk_sp<skgpu::VulkanMemoryAllocator> memory_allocator_;