/* * Copyright 2022 Google LLC * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef skgpu_graphite_RendererProvider_DEFINED #define skgpu_graphite_RendererProvider_DEFINED #include "include/core/SkPathTypes.h" #include "include/core/SkVertices.h" #include "src/gpu/AtlasTypes.h" #include "src/gpu/graphite/Renderer.h" #include <vector> namespace skgpu::graphite { class Caps; class StaticBufferManager; #ifdef SK_ENABLE_VELLO_SHADERS class VelloRenderer; #endif /** * Graphite defines a limited set of renderers in order to increase the likelihood of batching * across draw calls, and reducing the number of shader permutations required. These Renderers are * stateless singletons and remain alive for the life of the Context and its Recorders. * * Because Renderers are immutable and the defined Renderers are created at context initialization, * RendererProvider is trivially thread-safe. */ class RendererProvider { … }; } // namespace skgpu::graphite #endif // skgpu_graphite_RendererProvider_DEFINED