1 /* 2 * Copyright 2022 Google LLC 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef skgpu_graphite_VulkanGraphiteUtils_DEFINED 9 #define skgpu_graphite_VulkanGraphiteUtils_DEFINED 10 11 #include <memory> 12 13 #include "include/private/base/SkAPI.h" 14 15 // NOTE: Because there is already a VulkanBackendContext header shared between Ganesh and Graphite, 16 // this is named VulkanGraphiteContext.h to supply just the factory function (differing from the 17 // public headers exposed by other backends). 18 namespace skgpu { struct VulkanBackendContext; } 19 20 namespace skgpu::graphite { 21 22 class Context; 23 struct ContextOptions; 24 25 namespace ContextFactory { 26 SK_API std::unique_ptr<Context> MakeVulkan(const VulkanBackendContext&, const ContextOptions&); 27 } // namespace ContextFactory 28 29 } // namespace skgpu::graphite 30 31 #endif // skgpu_graphite_VulkanGraphiteUtils_DEFINED 32