Flutter Engine
The Flutter Engine
TessellateCurvesRenderStep.h
Go to the documentation of this file.
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_render_TessellateCurvesRenderStep_DEFINED
9#define skgpu_graphite_render_TessellateCurvesRenderStep_DEFINED
10
13
14namespace skgpu::graphite {
15
16class StaticBufferManager;
17
19public:
20 // TODO: If this takes DepthStencilSettings directly and a way to adjust the flags to specify
21 // that it performs shading, this RenderStep definition can be shared between the stencil and
22 // the convex rendering variants.
23 TessellateCurvesRenderStep(bool evenOdd,
24 bool infinitySupport,
25 StaticBufferManager* bufferManager);
26
28
29 std::string vertexSkSL() const override;
30 void writeVertices(DrawWriter*, const DrawParams&, skvx::ushort2 ssboIndices) const override;
31 void writeUniformsAndTextures(const DrawParams&, PipelineDataGatherer*) const override;
32
33private:
34 // Points to the static buffers holding the fixed indexed vertex template for drawing instances.
35 BindBufferInfo fVertexBuffer;
36 BindBufferInfo fIndexBuffer;
37 bool fInfinitySupport;
38};
39
40} // namespace skgpu::graphite
41
42#endif // skgpu_graphite_render_TessellateCurvesRenderStep_DEFINED
TessellateCurvesRenderStep(bool evenOdd, bool infinitySupport, StaticBufferManager *bufferManager)
void writeUniformsAndTextures(const DrawParams &, PipelineDataGatherer *) const override
void writeVertices(DrawWriter *, const DrawParams &, skvx::ushort2 ssboIndices) const override
Definition: SkVx.h:83