Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
pipelines.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_IMPELLER_ENTITY_CONTENTS_PIPELINES_H_
6#define FLUTTER_IMPELLER_ENTITY_CONTENTS_PIPELINES_H_
7
9#include "impeller/entity/advanced_blend.frag.h"
10#include "impeller/entity/advanced_blend.vert.h"
11#include "impeller/entity/border_mask_blur.frag.h"
12#include "impeller/entity/circle.frag.h"
13#include "impeller/entity/circle.vert.h"
14#include "impeller/entity/clip.frag.h"
15#include "impeller/entity/clip.vert.h"
16#include "impeller/entity/color_matrix_color_filter.frag.h"
17#include "impeller/entity/complex_rse.frag.h"
18#include "impeller/entity/conical_gradient_fill_conical.frag.h"
19#include "impeller/entity/conical_gradient_fill_radial.frag.h"
20#include "impeller/entity/conical_gradient_fill_strip.frag.h"
21#include "impeller/entity/conical_gradient_fill_strip_radial.frag.h"
22#include "impeller/entity/conical_gradient_ssbo_fill.frag.h"
23#include "impeller/entity/conical_gradient_uniform_fill_conical.frag.h"
24#include "impeller/entity/conical_gradient_uniform_fill_radial.frag.h"
25#include "impeller/entity/conical_gradient_uniform_fill_strip.frag.h"
26#include "impeller/entity/conical_gradient_uniform_fill_strip_radial.frag.h"
27#include "impeller/entity/fast_gradient.frag.h"
28#include "impeller/entity/fast_gradient.vert.h"
29#include "impeller/entity/filter_position.vert.h"
30#include "impeller/entity/filter_position_uv.vert.h"
31#include "impeller/entity/framebuffer_blend.frag.h"
32#include "impeller/entity/framebuffer_blend.vert.h"
33#include "impeller/entity/gaussian.frag.h"
34#include "impeller/entity/glyph_atlas.frag.h"
35#include "impeller/entity/glyph_atlas.vert.h"
36#include "impeller/entity/gradient_fill.vert.h"
37#include "impeller/entity/line.frag.h"
38#include "impeller/entity/line.vert.h"
39#include "impeller/entity/linear_gradient_fill.frag.h"
40#include "impeller/entity/linear_gradient_ssbo_fill.frag.h"
41#include "impeller/entity/linear_gradient_uniform_fill.frag.h"
42#include "impeller/entity/linear_to_srgb_filter.frag.h"
43#include "impeller/entity/morphology_filter.frag.h"
44#include "impeller/entity/porter_duff_blend.frag.h"
45#include "impeller/entity/porter_duff_blend.vert.h"
46#include "impeller/entity/radial_gradient_fill.frag.h"
47#include "impeller/entity/radial_gradient_ssbo_fill.frag.h"
48#include "impeller/entity/radial_gradient_uniform_fill.frag.h"
49#include "impeller/entity/rrect_blur.frag.h"
50#include "impeller/entity/rrect_like_blur.vert.h"
51#include "impeller/entity/rsuperellipse_blur.frag.h"
52#include "impeller/entity/shadow_vertices.frag.h"
53#include "impeller/entity/shadow_vertices.vert.h"
54#include "impeller/entity/solid_fill.frag.h"
55#include "impeller/entity/solid_fill.vert.h"
56#include "impeller/entity/srgb_to_linear_filter.frag.h"
57#include "impeller/entity/sweep_gradient_fill.frag.h"
58#include "impeller/entity/sweep_gradient_ssbo_fill.frag.h"
59#include "impeller/entity/sweep_gradient_uniform_fill.frag.h"
60#include "impeller/entity/texture_downsample.frag.h"
61#include "impeller/entity/texture_downsample_bounded.frag.h"
62#include "impeller/entity/texture_fill.frag.h"
63#include "impeller/entity/texture_fill.vert.h"
64#include "impeller/entity/texture_fill_strict_src.frag.h"
65#include "impeller/entity/texture_uv_fill.vert.h"
66#include "impeller/entity/tiled_texture_fill.frag.h"
67#include "impeller/entity/uber_sdf.frag.h"
68#include "impeller/entity/vertices_uber_1.frag.h"
69#include "impeller/entity/vertices_uber_2.frag.h"
70#include "impeller/entity/yuv_to_rgb_filter.frag.h"
72
73#ifdef IMPELLER_ENABLE_OPENGLES
74#include "impeller/entity/texture_downsample_gles.frag.h"
75#include "impeller/entity/tiled_texture_fill_external.frag.h"
76#endif // IMPELLER_ENABLE_OPENGLES
77
78// TODO(gaaclarke): These should be split up into different files.
79namespace impeller {
80
81template <typename T>
84
86 RenderPipelineHandle<AdvancedBlendVertexShader,
87 AdvancedBlendFragmentShader>;
88
90 RenderPipelineHandle<FramebufferBlendVertexShader,
91 FramebufferBlendFragmentShader>;
92
93// clang-format off
168// clang-format on
169
170#ifdef IMPELLER_ENABLE_OPENGLES
171
172// Web doesn't support external texture OpenGL extensions
173#if !defined(FML_OS_EMSCRIPTEN)
174using TiledTextureExternalPipeline =
175 RenderPipelineHandle<TextureFillVertexShader,
176 TiledTextureFillExternalFragmentShader>;
177using TiledTextureUvExternalPipeline =
178 RenderPipelineHandle<TextureUvFillVertexShader,
179 TiledTextureFillExternalFragmentShader>;
180#endif
181
182using TextureDownsampleGlesPipeline =
183 RenderPipelineHandle<TextureFillVertexShader,
184 TextureDownsampleGlesFragmentShader>;
185#endif // IMPELLER_ENABLE_OPENGLES
186} // namespace impeller
187
188#endif // FLUTTER_IMPELLER_ENTITY_CONTENTS_PIPELINES_H_
RenderPipelineHandle< PorterDuffBlendVertexShader, VerticesUber1FragmentShader > VerticesUber1Shader
Definition pipelines.h:163
AdvancedBlendPipelineHandle BlendExclusionPipeline
Definition pipelines.h:99
AdvancedBlendPipelineHandle BlendLuminosityPipeline
Definition pipelines.h:103
FramebufferBlendPipelineHandle FramebufferBlendLightenPipeline
Definition pipelines.h:131
FramebufferBlendPipelineHandle FramebufferBlendExclusionPipeline
Definition pipelines.h:128
RenderPipelineHandle< CircleVertexShader, UberSdfFragmentShader > UberSDFPipeline
Definition pipelines.h:165
GradientPipelineHandle< LinearGradientFillFragmentShader > LinearGradientFillPipeline
Definition pipelines.h:141
RenderPipelineHandle< FilterPositionUvVertexShader, BorderMaskBlurFragmentShader > BorderMaskBlurPipeline
Definition pipelines.h:109
RenderPipelineHandle< LineVertexShader, LineFragmentShader > LinePipeline
Definition pipelines.h:140
GradientPipelineHandle< SweepGradientSsboFillFragmentShader > SweepGradientSSBOFillPipeline
Definition pipelines.h:156
RenderPipelineHandle< FilterPositionVertexShader, YuvToRgbFilterFragmentShader > YUVToRGBFilterPipeline
Definition pipelines.h:167
GradientPipelineHandle< LinearGradientUniformFillFragmentShader > LinearGradientUniformFillPipeline
Definition pipelines.h:143
AdvancedBlendPipelineHandle BlendHardLightPipeline
Definition pipelines.h:100
AdvancedBlendPipelineHandle BlendColorPipeline
Definition pipelines.h:96
FramebufferBlendPipelineHandle FramebufferBlendSoftLightPipeline
Definition pipelines.h:137
GradientPipelineHandle< RadialGradientFillFragmentShader > RadialGradientFillPipeline
Definition pipelines.h:147
RenderPipelineHandle< FilterPositionUvVertexShader, MorphologyFilterFragmentShader > MorphologyFilterPipeline
Definition pipelines.h:145
RenderPipelineHandle< GlyphAtlasVertexShader, GlyphAtlasFragmentShader > GlyphAtlasPipeline
Definition pipelines.h:139
AdvancedBlendPipelineHandle BlendDifferencePipeline
Definition pipelines.h:98
AdvancedBlendPipelineHandle BlendScreenPipeline
Definition pipelines.h:107
AdvancedBlendPipelineHandle BlendHuePipeline
Definition pipelines.h:101
GradientPipelineHandle< ConicalGradientUniformFillStripFragmentShader > ConicalGradientUniformFillStripPipeline
Definition pipelines.h:120
GradientPipelineHandle< ConicalGradientUniformFillConicalFragmentShader > ConicalGradientUniformFillConicalPipeline
Definition pipelines.h:118
GradientPipelineHandle< ConicalGradientFillStripFragmentShader > ConicalGradientFillStripPipeline
Definition pipelines.h:115
FramebufferBlendPipelineHandle FramebufferBlendColorDodgePipeline
Definition pipelines.h:124
AdvancedBlendPipelineHandle BlendOverlayPipeline
Definition pipelines.h:105
GradientPipelineHandle< ConicalGradientFillConicalFragmentShader > ConicalGradientFillConicalPipeline
Definition pipelines.h:113
RenderPipelineHandle< PorterDuffBlendVertexShader, PorterDuffBlendFragmentShader > PorterDuffBlendPipeline
Definition pipelines.h:146
RenderPipelineHandle< CircleVertexShader, CircleFragmentShader > CirclePipeline
Definition pipelines.h:110
RenderPipelineHandle< CircleVertexShader, ComplexRseFragmentShader > ComplexRSEPipeline
Definition pipelines.h:166
FramebufferBlendPipelineHandle FramebufferBlendDarkenPipeline
Definition pipelines.h:126
RenderPipelineHandle< SolidFillVertexShader, SolidFillFragmentShader > SolidFillPipeline
Definition pipelines.h:153
RenderPipelineHandle< FilterPositionUvVertexShader, ColorMatrixColorFilterFragmentShader > ColorMatrixColorFilterPipeline
Definition pipelines.h:112
FramebufferBlendPipelineHandle FramebufferBlendHuePipeline
Definition pipelines.h:130
RenderPipelineHandle< AdvancedBlendVertexShader, AdvancedBlendFragmentShader > AdvancedBlendPipelineHandle
Definition pipelines.h:87
GradientPipelineHandle< ConicalGradientFillStripRadialFragmentShader > ConicalGradientFillStripRadialPipeline
Definition pipelines.h:116
RenderPipelineHandle< ShadowVerticesVertexShader, ShadowVerticesFragmentShader > ShadowVerticesShader
Definition pipelines.h:152
AdvancedBlendPipelineHandle BlendDarkenPipeline
Definition pipelines.h:97
FramebufferBlendPipelineHandle FramebufferBlendOverlayPipeline
Definition pipelines.h:134
RenderPipelineHandle< TextureFillVertexShader, TextureDownsampleBoundedFragmentShader > TextureDownsampleBoundedPipeline
Definition pipelines.h:159
GradientPipelineHandle< LinearGradientSsboFillFragmentShader > LinearGradientSSBOFillPipeline
Definition pipelines.h:142
RenderPipelineHandle< FilterPositionVertexShader, LinearToSrgbFilterFragmentShader > LinearToSrgbFilterPipeline
Definition pipelines.h:144
RenderPipelineHandle< FastGradientVertexShader, FastGradientFragmentShader > FastGradientPipeline
Definition pipelines.h:122
FramebufferBlendPipelineHandle FramebufferBlendLuminosityPipeline
Definition pipelines.h:132
RenderPipelineHandle< PorterDuffBlendVertexShader, VerticesUber2FragmentShader > VerticesUber2Shader
Definition pipelines.h:164
FramebufferBlendPipelineHandle FramebufferBlendHardLightPipeline
Definition pipelines.h:129
RenderPipelineHandle< ClipVertexShader, ClipFragmentShader > ClipPipeline
Definition pipelines.h:111
FramebufferBlendPipelineHandle FramebufferBlendColorBurnPipeline
Definition pipelines.h:123
RenderPipelineHandle< TextureUvFillVertexShader, TiledTextureFillFragmentShader > TiledTexturePipeline
Definition pipelines.h:162
RenderPipelineHandle< GradientFillVertexShader, T > GradientPipelineHandle
Definition pipelines.h:83
GradientPipelineHandle< ConicalGradientFillRadialFragmentShader > ConicalGradientFillRadialPipeline
Definition pipelines.h:114
GradientPipelineHandle< ConicalGradientUniformFillStripRadialFragmentShader > ConicalGradientUniformFillStripRadialPipeline
Definition pipelines.h:121
RenderPipelineHandle< TextureFillVertexShader, TextureFillStrictSrcFragmentShader > TextureStrictSrcPipeline
Definition pipelines.h:161
FramebufferBlendPipelineHandle FramebufferBlendScreenPipeline
Definition pipelines.h:136
AdvancedBlendPipelineHandle BlendSaturationPipeline
Definition pipelines.h:106
RenderPipelineHandle< FramebufferBlendVertexShader, FramebufferBlendFragmentShader > FramebufferBlendPipelineHandle
Definition pipelines.h:91
GradientPipelineHandle< ConicalGradientUniformFillRadialFragmentShader > ConicalGradientUniformFillRadialPipeline
Definition pipelines.h:119
RenderPipelineHandle< FilterPositionVertexShader, SrgbToLinearFilterFragmentShader > SrgbToLinearFilterPipeline
Definition pipelines.h:154
GradientPipelineHandle< SweepGradientFillFragmentShader > SweepGradientFillPipeline
Definition pipelines.h:155
GradientPipelineHandle< ConicalGradientSsboFillFragmentShader > ConicalGradientSSBOFillPipeline
Definition pipelines.h:117
AdvancedBlendPipelineHandle BlendSoftLightPipeline
Definition pipelines.h:108
AdvancedBlendPipelineHandle BlendMultiplyPipeline
Definition pipelines.h:104
RenderPipelineHandle< RrectLikeBlurVertexShader, RrectBlurFragmentShader > RRectBlurPipeline
Definition pipelines.h:150
RenderPipelineHandle< FilterPositionUvVertexShader, GaussianFragmentShader > GaussianBlurPipeline
Definition pipelines.h:138
FramebufferBlendPipelineHandle FramebufferBlendSaturationPipeline
Definition pipelines.h:135
GradientPipelineHandle< RadialGradientUniformFillFragmentShader > RadialGradientUniformFillPipeline
Definition pipelines.h:149
GradientPipelineHandle< SweepGradientUniformFillFragmentShader > SweepGradientUniformFillPipeline
Definition pipelines.h:157
FramebufferBlendPipelineHandle FramebufferBlendDifferencePipeline
Definition pipelines.h:127
AdvancedBlendPipelineHandle BlendColorBurnPipeline
Definition pipelines.h:94
RenderPipelineHandle< TextureFillVertexShader, TextureFillFragmentShader > TexturePipeline
Definition pipelines.h:160
FramebufferBlendPipelineHandle FramebufferBlendMultiplyPipeline
Definition pipelines.h:133
FramebufferBlendPipelineHandle FramebufferBlendColorPipeline
Definition pipelines.h:125
AdvancedBlendPipelineHandle BlendColorDodgePipeline
Definition pipelines.h:95
RenderPipelineHandle< RrectLikeBlurVertexShader, RsuperellipseBlurFragmentShader > RSuperellipseBlurPipeline
Definition pipelines.h:151
RenderPipelineHandle< TextureFillVertexShader, TextureDownsampleFragmentShader > TextureDownsamplePipeline
Definition pipelines.h:158
GradientPipelineHandle< RadialGradientSsboFillFragmentShader > RadialGradientSSBOFillPipeline
Definition pipelines.h:148
AdvancedBlendPipelineHandle BlendLightenPipeline
Definition pipelines.h:102