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