Flutter Engine
The Flutter Engine
SkSLRasterPipelineCodeGenerator.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 SKSL_RASTERPIPELINECODEGENERATOR
9#define SKSL_RASTERPIPELINECODEGENERATOR
10
12#include <memory>
13
14namespace SkSL {
15
16class FunctionDefinition;
17struct Program;
18class DebugTracePriv;
19namespace RP { class Program; }
20
21// Convert 'function' to Raster Pipeline stages, for use by blends, shaders, and color filters.
22// The arguments to the function are passed in registers:
23// -- coordinates in src.rg for shaders
24// -- color in src.rgba for color filters
25// -- src/dst in src.rgba and dst.rgba for blenders
26std::unique_ptr<RP::Program> MakeRasterPipelineProgram(const Program& program,
27 const FunctionDefinition& function,
28 DebugTracePriv* debugTrace = nullptr,
29 bool writeTraceOps = false);
30
31} // namespace SkSL
32
33#endif
Dart_NativeFunction function
Definition: fuchsia.cc:51
std::unique_ptr< RP::Program > MakeRasterPipelineProgram(const SkSL::Program &program, const FunctionDefinition &function, DebugTracePriv *debugTrace, bool writeTraceOps)