Name Description Size
analysis
codegen
dsl
generated
GLSL.std.450.h 4126
ir
lex
README.md # Overview 8010
sksl_compute.sksl 738
sksl_frag.sksl 417
sksl_gpu.sksl 11660
sksl_graphite_frag.sksl 47594
sksl_graphite_vert.sksl 26184
sksl_public.sksl 424
sksl_rt_shader.sksl 40
sksl_shared.sksl 17940
sksl_vert.sksl 252
SkSLAnalysis.cpp 26145
SkSLAnalysis.h Provides utilities for analyzing SkSL statically before it's composed into a full program. 10146
SkSLBuiltinTypes.cpp Initializes the core SkSL types. 14207
SkSLBuiltinTypes.h Contains the built-in, core types for SkSL. 5113
SkSLCompiler.cpp caps= 26236
SkSLCompiler.h Main compiler entry point. The compiler parses the SkSL text directly into a tree of IRNodes, while performing basic optimizations such as constant-folding and dead-code elimination. Then the Program is passed into a CodeGenerator to produce compiled output. See the README for information about SkSL. 7676
SkSLConstantFolder.cpp 39228
SkSLConstantFolder.h Performs constant folding on IR expressions. This simplifies expressions containing compile-time constants, such as replacing `Literal(2) + Literal(2)` with `Literal(4)`. 2468
SkSLContext.cpp 572
SkSLContext.h Contains compiler-wide objects, which currently means the core types. 1193
SkSLErrorReporter.cpp 735
SkSLFileOutputStream.h 1541
SkSLGLSL.h Desktop GLSL 1.10 and ES2 shading language (based on desktop GLSL 1.20) 1017
SkSLInliner.cpp 51135
SkSLInliner.h Converts a FunctionCall in the IR to a set of statements to be injected ahead of the function call, and a replacement expression. Can also detect cases where inlining isn't cleanly possible (e.g. return statements nested inside of a loop construct). The inliner isn't able to guarantee identical-to-GLSL execution order if the inlined function has visible side effects. 4811
SkSLIntrinsicList.cpp 871
SkSLIntrinsicList.h 5113
SkSLLexer.cpp This file was generated by sksllex. Do not edit. ******************* *************************************************************************************** 48367
SkSLLexer.h This file was generated by sksllex. Do not edit. ******************* *************************************************************************************** 3057
SkSLMangler.cpp 2821
SkSLMangler.h Mangles baseName to create a name that is unique within symbolTable. 576
SkSLMemoryLayout.h WGSL and std140 require various types of variables (structs, arrays, and matrices) in the uniform address space to be rounded up to the nearest multiple of 16. This function performs the rounding depending on the given `type` and the current memory layout standard. (For WGSL, see https://www.w3.org/TR/WGSL/#address-space-layout-constraints). 7692
SkSLMemoryPool.h 1014
SkSLModifiersPool.h Deduplicates Modifiers objects and stores them in a shared pool. Modifiers are fairly heavy, and tend to be reused a lot, so deduplication can be a significant win. 797
SkSLModuleLoader.cpp (GenSType) (GenUSType) 19927
SkSLModuleLoader.h 2211
SkSLOperator.cpp 14911
SkSLOutputStream.cpp 1006
SkSLOutputStream.h 1186
SkSLParser.cpp offset= 80348
SkSLParser.h Consumes .sksl text and invokes DSL functions to instantiate the program. 11305
SkSLPool.cpp preallocSize= 2764
SkSLPool.h Efficiently allocates memory in an SkSL program. Optimized for allocate/release performance over memory efficiency. All allocated memory must be released back to the pool before it can be destroyed or recycled. 2609
SkSLPosition.cpp 789
SkSLProgramSettings.h Holds the compiler settings for a program. 7253
SkSLSampleUsage.cpp 754
SkSLString.cpp base= 3230
SkSLStringStream.h 1242
SkSLThreadContext.cpp 3924
SkSLThreadContext.h Thread-safe class that tracks per-thread state associated with SkSL output. 5020
SkSLUtil.cpp 5224
SkSLUtil.h Indicates how GLSL must interact with advanced blend equations. The KHR extension requires special layout qualifiers in the fragment shader. 7602
spirv.h This header is automatically generated by the same tool that creates * the Binary Section of the SPIR-V specification. 28391
tracing
transform