2 * Copyright 2021 Google LLC
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
8 #ifndef skgpu_graphite_GraphicsPipeline_DEFINED
9 #define skgpu_graphite_GraphicsPipeline_DEFINED
11 #include "src/gpu/graphite/Resource.h"
13 namespace skgpu::graphite {
16 * GraphicsPipeline corresponds to a backend specific pipeline used for rendering (vs. compute),
17 * e.g. MTLRenderPipelineState (Metal),
18 * CreateRenderPipeline (Dawn),
19 * CreateGraphicsPipelineState (D3D12),
20 * or VkGraphicsPipelineCreateInfo (Vulkan).
22 * A GraphicsPipeline is created from the combination of a GraphicsPipelineDesc (representing draw
23 * specific configuration) and a RenderPassDesc (representing the target of the draw).
25 class GraphicsPipeline : public Resource {
27 ~GraphicsPipeline() override;
30 GraphicsPipeline(const Gpu*);
35 } // namespace skgpu::graphite
37 #endif // skgpu_graphite_GraphicsPipeline_DEFINED