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/vertices_uber_1.frag.h"
67#include "impeller/entity/vertices_uber_2.frag.h"
68#include "impeller/entity/yuv_to_rgb_filter.frag.h"
70
71#ifdef IMPELLER_ENABLE_OPENGLES
72#include "impeller/entity/texture_downsample_gles.frag.h"
73#include "impeller/entity/tiled_texture_fill_external.frag.h"
74#endif // IMPELLER_ENABLE_OPENGLES
75
76// TODO(gaaclarke): These should be split up into different files.
77namespace impeller {
78
79template <typename T>
82
84 RenderPipelineHandle<AdvancedBlendVertexShader,
85 AdvancedBlendFragmentShader>;
86
88 RenderPipelineHandle<FramebufferBlendVertexShader,
89 FramebufferBlendFragmentShader>;
90
91// clang-format off
164// clang-format on
165
166#ifdef IMPELLER_ENABLE_OPENGLES
167
168// Web doesn't support external texture OpenGL extensions
169#if !defined(FML_OS_EMSCRIPTEN)
170using TiledTextureExternalPipeline =
171 RenderPipelineHandle<TextureFillVertexShader,
172 TiledTextureFillExternalFragmentShader>;
173using TiledTextureUvExternalPipeline =
174 RenderPipelineHandle<TextureUvFillVertexShader,
175 TiledTextureFillExternalFragmentShader>;
176#endif
177
178using TextureDownsampleGlesPipeline =
179 RenderPipelineHandle<TextureFillVertexShader,
180 TextureDownsampleGlesFragmentShader>;
181#endif // IMPELLER_ENABLE_OPENGLES
182} // namespace impeller
183
184#endif // FLUTTER_IMPELLER_ENTITY_CONTENTS_PIPELINES_H_
RenderPipelineHandle< PorterDuffBlendVertexShader, VerticesUber1FragmentShader > VerticesUber1Shader
Definition pipelines.h:161
AdvancedBlendPipelineHandle BlendExclusionPipeline
Definition pipelines.h:97
AdvancedBlendPipelineHandle BlendLuminosityPipeline
Definition pipelines.h:101
FramebufferBlendPipelineHandle FramebufferBlendLightenPipeline
Definition pipelines.h:129
FramebufferBlendPipelineHandle FramebufferBlendExclusionPipeline
Definition pipelines.h:126
GradientPipelineHandle< LinearGradientFillFragmentShader > LinearGradientFillPipeline
Definition pipelines.h:139
RenderPipelineHandle< FilterPositionUvVertexShader, BorderMaskBlurFragmentShader > BorderMaskBlurPipeline
Definition pipelines.h:107
RenderPipelineHandle< LineVertexShader, LineFragmentShader > LinePipeline
Definition pipelines.h:138
GradientPipelineHandle< SweepGradientSsboFillFragmentShader > SweepGradientSSBOFillPipeline
Definition pipelines.h:154
RenderPipelineHandle< FilterPositionVertexShader, YuvToRgbFilterFragmentShader > YUVToRGBFilterPipeline
Definition pipelines.h:163
GradientPipelineHandle< LinearGradientUniformFillFragmentShader > LinearGradientUniformFillPipeline
Definition pipelines.h:141
AdvancedBlendPipelineHandle BlendHardLightPipeline
Definition pipelines.h:98
AdvancedBlendPipelineHandle BlendColorPipeline
Definition pipelines.h:94
FramebufferBlendPipelineHandle FramebufferBlendSoftLightPipeline
Definition pipelines.h:135
GradientPipelineHandle< RadialGradientFillFragmentShader > RadialGradientFillPipeline
Definition pipelines.h:145
RenderPipelineHandle< FilterPositionUvVertexShader, MorphologyFilterFragmentShader > MorphologyFilterPipeline
Definition pipelines.h:143
RenderPipelineHandle< GlyphAtlasVertexShader, GlyphAtlasFragmentShader > GlyphAtlasPipeline
Definition pipelines.h:137
AdvancedBlendPipelineHandle BlendDifferencePipeline
Definition pipelines.h:96
AdvancedBlendPipelineHandle BlendScreenPipeline
Definition pipelines.h:105
AdvancedBlendPipelineHandle BlendHuePipeline
Definition pipelines.h:99
GradientPipelineHandle< ConicalGradientUniformFillStripFragmentShader > ConicalGradientUniformFillStripPipeline
Definition pipelines.h:118
GradientPipelineHandle< ConicalGradientUniformFillConicalFragmentShader > ConicalGradientUniformFillConicalPipeline
Definition pipelines.h:116
GradientPipelineHandle< ConicalGradientFillStripFragmentShader > ConicalGradientFillStripPipeline
Definition pipelines.h:113
FramebufferBlendPipelineHandle FramebufferBlendColorDodgePipeline
Definition pipelines.h:122
AdvancedBlendPipelineHandle BlendOverlayPipeline
Definition pipelines.h:103
GradientPipelineHandle< ConicalGradientFillConicalFragmentShader > ConicalGradientFillConicalPipeline
Definition pipelines.h:111
RenderPipelineHandle< PorterDuffBlendVertexShader, PorterDuffBlendFragmentShader > PorterDuffBlendPipeline
Definition pipelines.h:144
RenderPipelineHandle< CircleVertexShader, CircleFragmentShader > CirclePipeline
Definition pipelines.h:108
FramebufferBlendPipelineHandle FramebufferBlendDarkenPipeline
Definition pipelines.h:124
RenderPipelineHandle< SolidFillVertexShader, SolidFillFragmentShader > SolidFillPipeline
Definition pipelines.h:151
RenderPipelineHandle< FilterPositionUvVertexShader, ColorMatrixColorFilterFragmentShader > ColorMatrixColorFilterPipeline
Definition pipelines.h:110
FramebufferBlendPipelineHandle FramebufferBlendHuePipeline
Definition pipelines.h:128
RenderPipelineHandle< AdvancedBlendVertexShader, AdvancedBlendFragmentShader > AdvancedBlendPipelineHandle
Definition pipelines.h:85
GradientPipelineHandle< ConicalGradientFillStripRadialFragmentShader > ConicalGradientFillStripRadialPipeline
Definition pipelines.h:114
RenderPipelineHandle< ShadowVerticesVertexShader, ShadowVerticesFragmentShader > ShadowVerticesShader
Definition pipelines.h:150
AdvancedBlendPipelineHandle BlendDarkenPipeline
Definition pipelines.h:95
FramebufferBlendPipelineHandle FramebufferBlendOverlayPipeline
Definition pipelines.h:132
RenderPipelineHandle< TextureFillVertexShader, TextureDownsampleBoundedFragmentShader > TextureDownsampleBoundedPipeline
Definition pipelines.h:157
GradientPipelineHandle< LinearGradientSsboFillFragmentShader > LinearGradientSSBOFillPipeline
Definition pipelines.h:140
RenderPipelineHandle< FilterPositionVertexShader, LinearToSrgbFilterFragmentShader > LinearToSrgbFilterPipeline
Definition pipelines.h:142
RenderPipelineHandle< FastGradientVertexShader, FastGradientFragmentShader > FastGradientPipeline
Definition pipelines.h:120
FramebufferBlendPipelineHandle FramebufferBlendLuminosityPipeline
Definition pipelines.h:130
RenderPipelineHandle< PorterDuffBlendVertexShader, VerticesUber2FragmentShader > VerticesUber2Shader
Definition pipelines.h:162
FramebufferBlendPipelineHandle FramebufferBlendHardLightPipeline
Definition pipelines.h:127
RenderPipelineHandle< ClipVertexShader, ClipFragmentShader > ClipPipeline
Definition pipelines.h:109
FramebufferBlendPipelineHandle FramebufferBlendColorBurnPipeline
Definition pipelines.h:121
RenderPipelineHandle< TextureUvFillVertexShader, TiledTextureFillFragmentShader > TiledTexturePipeline
Definition pipelines.h:160
RenderPipelineHandle< GradientFillVertexShader, T > GradientPipelineHandle
Definition pipelines.h:81
GradientPipelineHandle< ConicalGradientFillRadialFragmentShader > ConicalGradientFillRadialPipeline
Definition pipelines.h:112
GradientPipelineHandle< ConicalGradientUniformFillStripRadialFragmentShader > ConicalGradientUniformFillStripRadialPipeline
Definition pipelines.h:119
RenderPipelineHandle< TextureFillVertexShader, TextureFillStrictSrcFragmentShader > TextureStrictSrcPipeline
Definition pipelines.h:159
FramebufferBlendPipelineHandle FramebufferBlendScreenPipeline
Definition pipelines.h:134
AdvancedBlendPipelineHandle BlendSaturationPipeline
Definition pipelines.h:104
RenderPipelineHandle< FramebufferBlendVertexShader, FramebufferBlendFragmentShader > FramebufferBlendPipelineHandle
Definition pipelines.h:89
GradientPipelineHandle< ConicalGradientUniformFillRadialFragmentShader > ConicalGradientUniformFillRadialPipeline
Definition pipelines.h:117
RenderPipelineHandle< FilterPositionVertexShader, SrgbToLinearFilterFragmentShader > SrgbToLinearFilterPipeline
Definition pipelines.h:152
GradientPipelineHandle< SweepGradientFillFragmentShader > SweepGradientFillPipeline
Definition pipelines.h:153
GradientPipelineHandle< ConicalGradientSsboFillFragmentShader > ConicalGradientSSBOFillPipeline
Definition pipelines.h:115
AdvancedBlendPipelineHandle BlendSoftLightPipeline
Definition pipelines.h:106
AdvancedBlendPipelineHandle BlendMultiplyPipeline
Definition pipelines.h:102
RenderPipelineHandle< RrectLikeBlurVertexShader, RrectBlurFragmentShader > RRectBlurPipeline
Definition pipelines.h:148
RenderPipelineHandle< FilterPositionUvVertexShader, GaussianFragmentShader > GaussianBlurPipeline
Definition pipelines.h:136
FramebufferBlendPipelineHandle FramebufferBlendSaturationPipeline
Definition pipelines.h:133
GradientPipelineHandle< RadialGradientUniformFillFragmentShader > RadialGradientUniformFillPipeline
Definition pipelines.h:147
GradientPipelineHandle< SweepGradientUniformFillFragmentShader > SweepGradientUniformFillPipeline
Definition pipelines.h:155
FramebufferBlendPipelineHandle FramebufferBlendDifferencePipeline
Definition pipelines.h:125
AdvancedBlendPipelineHandle BlendColorBurnPipeline
Definition pipelines.h:92
RenderPipelineHandle< TextureFillVertexShader, TextureFillFragmentShader > TexturePipeline
Definition pipelines.h:158
FramebufferBlendPipelineHandle FramebufferBlendMultiplyPipeline
Definition pipelines.h:131
FramebufferBlendPipelineHandle FramebufferBlendColorPipeline
Definition pipelines.h:123
AdvancedBlendPipelineHandle BlendColorDodgePipeline
Definition pipelines.h:93
RenderPipelineHandle< RrectLikeBlurVertexShader, RsuperellipseBlurFragmentShader > RSuperellipseBlurPipeline
Definition pipelines.h:149
RenderPipelineHandle< TextureFillVertexShader, TextureDownsampleFragmentShader > TextureDownsamplePipeline
Definition pipelines.h:156
GradientPipelineHandle< RadialGradientSsboFillFragmentShader > RadialGradientSSBOFillPipeline
Definition pipelines.h:146
AdvancedBlendPipelineHandle BlendLightenPipeline
Definition pipelines.h:100