Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
ShaderCapsTestFactory Class Reference
Inheritance diagram for ShaderCapsTestFactory:
SkSL::ShaderCapsFactory

Static Public Member Functions

static const SkSL::ShaderCapsAddAndTrueToLoopCondition ()
 
static const SkSL::ShaderCapsCannotUseFractForNegativeValues ()
 
static const SkSL::ShaderCapsCannotUseFragCoord ()
 
static const SkSL::ShaderCapsCannotUseMinAndAbsTogether ()
 
static const SkSL::ShaderCapsCannotUseVoidInSequenceExpressions ()
 
static const SkSL::ShaderCapsDualSourceBlending ()
 
static const SkSL::ShaderCapsEmulateAbsIntFunction ()
 
static const SkSL::ShaderCapsFramebufferFetchSupport ()
 
static const SkSL::ShaderCapsMustDeclareFragmentFrontFacing ()
 
static const SkSL::ShaderCapsMustForceNegatedAtanParamToFloat ()
 
static const SkSL::ShaderCapsMustForceNegatedLdexpParamToMultiply ()
 
static const SkSL::ShaderCapsMustGuardDivisionEvenAfterExplicitZeroCheck ()
 
static const SkSL::ShaderCapsNoBuiltinDeterminantSupport ()
 
static const SkSL::ShaderCapsNoBuiltinFMASupport ()
 
static const SkSL::ShaderCapsNoExternalTextureSupport ()
 
static const SkSL::ShaderCapsRemovePowWithConstantExponent ()
 
static const SkSL::ShaderCapsRewriteDoWhileLoops ()
 
static const SkSL::ShaderCapsRewriteMatrixComparisons ()
 
static const SkSL::ShaderCapsRewriteMatrixVectorMultiply ()
 
static const SkSL::ShaderCapsRewriteSwitchStatements ()
 
static const SkSL::ShaderCapsSampleMaskSupport ()
 
static const SkSL::ShaderCapsShaderDerivativeExtensionString ()
 
static const SkSL::ShaderCapsUnfoldShortCircuitAsTernary ()
 
static const SkSL::ShaderCapsUsesPrecisionModifiers ()
 
static const SkSL::ShaderCapsVersion110 ()
 
static const SkSL::ShaderCapsVersion450Core ()
 
- Static Public Member Functions inherited from SkSL::ShaderCapsFactory
static const ShaderCapsDefault ()
 
static const ShaderCapsStandalone ()
 

Additional Inherited Members

- Static Protected Member Functions inherited from SkSL::ShaderCapsFactory
static std::unique_ptr< ShaderCapsMakeShaderCaps ()
 

Detailed Description

Definition at line 82 of file Main.cpp.

Member Function Documentation

◆ AddAndTrueToLoopCondition()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::AddAndTrueToLoopCondition ( )
inlinestatic

Definition at line 84 of file Main.cpp.

84 {
85 static const SkSL::ShaderCaps* sCaps = []{
86 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
87 caps->fVersionDeclString = "#version 400";
88 caps->fAddAndTrueToLoopCondition = true;
89 return caps.release();
90 }();
91 return sCaps;
92 }
static std::unique_ptr< ShaderCaps > MakeShaderCaps()
Definition SkSLUtil.cpp:25

◆ CannotUseFractForNegativeValues()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::CannotUseFractForNegativeValues ( )
inlinestatic

Definition at line 94 of file Main.cpp.

94 {
95 static const SkSL::ShaderCaps* sCaps = [] {
96 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
97 caps->fVersionDeclString = "#version 400";
98 caps->fCanUseFractForNegativeValues = false;
99 return caps.release();
100 }();
101 return sCaps;
102 }

◆ CannotUseFragCoord()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::CannotUseFragCoord ( )
inlinestatic

Definition at line 104 of file Main.cpp.

104 {
105 static const SkSL::ShaderCaps* sCaps = [] {
106 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
107 caps->fVersionDeclString = "#version 400";
108 caps->fCanUseFragCoord = false;
109 return caps.release();
110 }();
111 return sCaps;
112 }

◆ CannotUseMinAndAbsTogether()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::CannotUseMinAndAbsTogether ( )
inlinestatic

Definition at line 114 of file Main.cpp.

114 {
115 static const SkSL::ShaderCaps* sCaps = [] {
116 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
117 caps->fVersionDeclString = "#version 400";
118 caps->fCanUseMinAndAbsTogether = false;
119 return caps.release();
120 }();
121 return sCaps;
122 }

◆ CannotUseVoidInSequenceExpressions()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::CannotUseVoidInSequenceExpressions ( )
inlinestatic

Definition at line 124 of file Main.cpp.

124 {
125 static const SkSL::ShaderCaps* sCaps = [] {
126 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
127 caps->fCanUseVoidInSequenceExpressions = false;
128 return caps.release();
129 }();
130 return sCaps;
131 }

◆ DualSourceBlending()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::DualSourceBlending ( )
inlinestatic

Definition at line 134 of file Main.cpp.

134 {
135 static const SkSL::ShaderCaps* sCaps = [] {
136 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
137 caps->fDualSourceBlendingSupport = true;
138 return caps.release();
139 }();
140 return sCaps;
141 }

◆ EmulateAbsIntFunction()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::EmulateAbsIntFunction ( )
inlinestatic

Definition at line 143 of file Main.cpp.

143 {
144 static const SkSL::ShaderCaps* sCaps = [] {
145 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
146 caps->fVersionDeclString = "#version 400";
147 caps->fEmulateAbsIntFunction = true;
148 return caps.release();
149 }();
150 return sCaps;
151 }

◆ FramebufferFetchSupport()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::FramebufferFetchSupport ( )
inlinestatic

Definition at line 153 of file Main.cpp.

153 {
154 static const SkSL::ShaderCaps* sCaps = [] {
155 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
156 caps->fFBFetchSupport = true;
157 caps->fFBFetchColorName = "FramebufferFragColor"; // a nice, backend-neutral name
158 return caps.release();
159 }();
160 return sCaps;
161 }

◆ MustDeclareFragmentFrontFacing()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::MustDeclareFragmentFrontFacing ( )
inlinestatic

Definition at line 163 of file Main.cpp.

163 {
164 static const SkSL::ShaderCaps* sCaps = [] {
165 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
166 caps->fMustDeclareFragmentFrontFacing = true;
167 return caps.release();
168 }();
169 return sCaps;
170 }

◆ MustForceNegatedAtanParamToFloat()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::MustForceNegatedAtanParamToFloat ( )
inlinestatic

Definition at line 172 of file Main.cpp.

172 {
173 static const SkSL::ShaderCaps* sCaps = [] {
174 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
175 caps->fVersionDeclString = "#version 400";
176 caps->fMustForceNegatedAtanParamToFloat = true;
177 return caps.release();
178 }();
179 return sCaps;
180 }

◆ MustForceNegatedLdexpParamToMultiply()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::MustForceNegatedLdexpParamToMultiply ( )
inlinestatic

Definition at line 182 of file Main.cpp.

182 {
183 static const SkSL::ShaderCaps* sCaps = [] {
184 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
185 caps->fVersionDeclString = "#version 400";
186 caps->fMustForceNegatedLdexpParamToMultiply = true;
187 return caps.release();
188 }();
189 return sCaps;
190 }

◆ MustGuardDivisionEvenAfterExplicitZeroCheck()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::MustGuardDivisionEvenAfterExplicitZeroCheck ( )
inlinestatic

Definition at line 192 of file Main.cpp.

192 {
193 static const SkSL::ShaderCaps* sCaps = [] {
194 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
195 caps->fMustGuardDivisionEvenAfterExplicitZeroCheck = true;
196 return caps.release();
197 }();
198 return sCaps;
199 }

◆ NoBuiltinDeterminantSupport()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::NoBuiltinDeterminantSupport ( )
inlinestatic

Definition at line 201 of file Main.cpp.

201 {
202 static const SkSL::ShaderCaps* sCaps = [] {
203 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
204 caps->fVersionDeclString = "#version 400";
205 caps->fBuiltinDeterminantSupport = false;
206 return caps.release();
207 }();
208 return sCaps;
209 }

◆ NoBuiltinFMASupport()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::NoBuiltinFMASupport ( )
inlinestatic

Definition at line 211 of file Main.cpp.

211 {
212 static const SkSL::ShaderCaps* sCaps = [] {
213 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
214 caps->fVersionDeclString = "#version 400";
215 caps->fBuiltinFMASupport = false;
216 return caps.release();
217 }();
218 return sCaps;
219 }

◆ NoExternalTextureSupport()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::NoExternalTextureSupport ( )
inlinestatic

Definition at line 221 of file Main.cpp.

221 {
222 static const SkSL::ShaderCaps* sCaps = [] {
223 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
224 caps->fVersionDeclString = "#version 400";
225 caps->fExternalTextureSupport = false;
226 return caps.release();
227 }();
228 return sCaps;
229 }

◆ RemovePowWithConstantExponent()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::RemovePowWithConstantExponent ( )
inlinestatic

Definition at line 231 of file Main.cpp.

231 {
232 static const SkSL::ShaderCaps* sCaps = [] {
233 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
234 caps->fVersionDeclString = "#version 400";
235 caps->fRemovePowWithConstantExponent = true;
236 return caps.release();
237 }();
238 return sCaps;
239 }

◆ RewriteDoWhileLoops()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::RewriteDoWhileLoops ( )
inlinestatic

Definition at line 241 of file Main.cpp.

241 {
242 static const SkSL::ShaderCaps* sCaps = [] {
243 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
244 caps->fVersionDeclString = "#version 400";
245 caps->fRewriteDoWhileLoops = true;
246 return caps.release();
247 }();
248 return sCaps;
249 }

◆ RewriteMatrixComparisons()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::RewriteMatrixComparisons ( )
inlinestatic

Definition at line 251 of file Main.cpp.

251 {
252 static const SkSL::ShaderCaps* sCaps = [] {
253 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
254 caps->fRewriteMatrixComparisons = true;
255 caps->fUsesPrecisionModifiers = true;
256 return caps.release();
257 }();
258 return sCaps;
259 }

◆ RewriteMatrixVectorMultiply()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::RewriteMatrixVectorMultiply ( )
inlinestatic

Definition at line 261 of file Main.cpp.

261 {
262 static const SkSL::ShaderCaps* sCaps = [] {
263 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
264 caps->fVersionDeclString = "#version 400";
265 caps->fRewriteMatrixVectorMultiply = true;
266 return caps.release();
267 }();
268 return sCaps;
269 }

◆ RewriteSwitchStatements()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::RewriteSwitchStatements ( )
inlinestatic

Definition at line 271 of file Main.cpp.

271 {
272 static const SkSL::ShaderCaps* sCaps = [] {
273 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
274 caps->fVersionDeclString = "#version 400";
275 caps->fRewriteSwitchStatements = true;
276 return caps.release();
277 }();
278 return sCaps;
279 }

◆ SampleMaskSupport()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::SampleMaskSupport ( )
inlinestatic

Definition at line 281 of file Main.cpp.

281 {
282 static const SkSL::ShaderCaps* sCaps = [] {
283 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
284 caps->fVersionDeclString = "#version 400";
285 caps->fShaderDerivativeSupport = true;
286 caps->fSampleMaskSupport = true;
287 return caps.release();
288 }();
289 return sCaps;
290 }

◆ ShaderDerivativeExtensionString()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::ShaderDerivativeExtensionString ( )
inlinestatic

Definition at line 292 of file Main.cpp.

292 {
293 static const SkSL::ShaderCaps* sCaps = [] {
294 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
295 caps->fVersionDeclString = "#version 400";
296 caps->fShaderDerivativeSupport = true;
297 caps->fShaderDerivativeExtensionString = "GL_OES_standard_derivatives";
298 caps->fUsesPrecisionModifiers = true;
299 return caps.release();
300 }();
301 return sCaps;
302 }

◆ UnfoldShortCircuitAsTernary()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::UnfoldShortCircuitAsTernary ( )
inlinestatic

Definition at line 304 of file Main.cpp.

304 {
305 static const SkSL::ShaderCaps* sCaps = [] {
306 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
307 caps->fVersionDeclString = "#version 400";
308 caps->fUnfoldShortCircuitAsTernary = true;
309 return caps.release();
310 }();
311 return sCaps;
312 }

◆ UsesPrecisionModifiers()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::UsesPrecisionModifiers ( )
inlinestatic

Definition at line 314 of file Main.cpp.

314 {
315 static const SkSL::ShaderCaps* sCaps = [] {
316 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
317 caps->fVersionDeclString = "#version 400";
318 caps->fUsesPrecisionModifiers = true;
319 return caps.release();
320 }();
321 return sCaps;
322 }

◆ Version110()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::Version110 ( )
inlinestatic

Definition at line 324 of file Main.cpp.

324 {
325 static const SkSL::ShaderCaps* sCaps = [] {
326 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
327 caps->fVersionDeclString = "#version 110";
328 caps->fGLSLGeneration = SkSL::GLSLGeneration::k110;
329 return caps.release();
330 }();
331 return sCaps;
332 }

◆ Version450Core()

static const SkSL::ShaderCaps * ShaderCapsTestFactory::Version450Core ( )
inlinestatic

Definition at line 334 of file Main.cpp.

334 {
335 static const SkSL::ShaderCaps* sCaps = [] {
336 std::unique_ptr<SkSL::ShaderCaps> caps = MakeShaderCaps();
337 caps->fVersionDeclString = "#version 450 core";
338 return caps.release();
339 }();
340 return sCaps;
341 }

The documentation for this class was generated from the following file: