skia2/tests/sksl/runtime
Brian Osman c2d42fe243 Add #version directive to SkSL
ProgramSettings now has a fRequiredVersion, based on the #version
directive (if any). There is plenty more to do, and this is an
intermediate state where the "fEnforceES2Restrictions" bool still
exists. Eventually, that will go away, or change into a check between
the required version and the SkCapabilities supplied (also in
ProgramSettings).

As a proof-of-concept, this migrates some use-cases to insert the new
version directive, and unlock ES3 features in some tests and benches.

Bug: skia:11209
Change-Id: I964975931039588d7a302bfedd09246e3d4a79d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540037
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-05-17 15:42:31 +00:00
..
AllowNarrowingConversions.skvm
AllowNarrowingConversions.stage
ArrayIndexing.skvm
ArrayIndexing.stage
ArrayNarrowingConversions.skvm
ArrayNarrowingConversions.stage
Blend.skvm
Blend.stage
ChildEffects.skvm Update opcode canonicalization logic in SkVM. 2022-03-24 19:14:51 +00:00
ChildEffects.stage
Commutative.skvm Add #version directive to SkSL 2022-05-17 15:42:31 +00:00
Commutative.stage
ConstPreservation.skvm
ConstPreservation.stage
ConversionConstructors.skvm Move runtime effect uniform type checking into the compiler 2022-04-22 20:54:26 +00:00
ConversionConstructors.stage Move runtime effect uniform type checking into the compiler 2022-04-22 20:54:26 +00:00
GlobalVariables.skvm
GlobalVariables.stage
GLSLTypeNames.skvm Move runtime effect uniform type checking into the compiler 2022-04-22 20:54:26 +00:00
GLSLTypeNames.stage Move runtime effect uniform type checking into the compiler 2022-04-22 20:54:26 +00:00
LargeProgram_BlocklessLoops.skvm
LargeProgram_BlocklessLoops.stage
LargeProgram_FlatLoop.skvm
LargeProgram_FlatLoop.stage
LargeProgram_Functions.skvm
LargeProgram_Functions.stage
LargeProgram_NestedLoops.skvm
LargeProgram_NestedLoops.stage
LargeProgram_SplitLoops.skvm
LargeProgram_SplitLoops.stage
LargeProgram_StackDepth.skvm
LargeProgram_StackDepth.stage Distinguish between unscoped blocks and compound statements. 2022-04-11 14:34:07 +00:00
LargeProgram_ZeroIterFor.skvm
LargeProgram_ZeroIterFor.stage
LoopFloat.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
LoopFloat.stage
LoopInt.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
LoopInt.stage
MultipleCallsInOneStatement.skvm
MultipleCallsInOneStatement.stage
PrecisionQualifiers.skvm
PrecisionQualifiers.stage
QualifierOrder.skvm
QualifierOrder.stage
RecursiveComparison_Arrays.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
RecursiveComparison_Arrays.stage
RecursiveComparison_Structs.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
RecursiveComparison_Structs.stage
RecursiveComparison_Types.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
RecursiveComparison_Types.stage
RecursiveComparison_Vectors.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
RecursiveComparison_Vectors.stage
SampleWithExplicitCoord.skvm
SampleWithExplicitCoord.stage
Switch.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
Switch.stage
SwitchDefaultOnly.skvm
SwitchDefaultOnly.stage
SwitchWithFallthrough.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
SwitchWithFallthrough.stage
SwitchWithLoops.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
SwitchWithLoops.stage
VectorIndexing.skvm
VectorIndexing.stage