| Index: src/sksl/README
|
| diff --git a/src/sksl/README b/src/sksl/README
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1427c219267a8490fd25e4d0ee70f32bf5027197
|
| --- /dev/null
|
| +++ b/src/sksl/README
|
| @@ -0,0 +1,35 @@
|
| +Overview
|
| +========
|
| +
|
| +SkSL ("Skia Shading Language") is a variant of GLSL which is used as Skia's
|
| +internal shading language. SkSL is, at its heart, a single standardized version
|
| +of GLSL which avoids all of the various version and dialect differences found
|
| +in GLSL "in the wild", but it does bring a few of its own changes to the table.
|
| +
|
| +Skia uses the SkSL compiler to convert SkSL code to GLSL, GLSL ES, or SPIR-V
|
| +before handing it over to the graphics driver.
|
| +
|
| +Differences from GLSL
|
| +=====================
|
| +
|
| +SkSL is based on GLSL 4.5. For the most part, write SkSL exactly as you would
|
| +desktop GLSL, and the SkSL compiler will take care of version and dialect
|
| +differences (for instance, you always use "in" and "out", and skslc will handle
|
| +translating them to "varying" and "attribute" as appropriate). Be aware of the
|
| +following differences between SkSL and GLSL:
|
| +
|
| +* no #version or "precision" statement is required, and they will be ignored if
|
| + present
|
| +* the output color is sk_FragColor (do not declare it)
|
| +* lowp, mediump, and highp are always permitted (but will only be respected if
|
| + you run on a GLES device)
|
| +* you do not need to include ".0" to make a number a float (meaning that
|
| + "vec2(x, y) * 4" is perfectly legal in SkSL, unlike GLSL where it would often
|
| + have to be expressed "vec2(x, y) * 4.0". There is no performance penalty for
|
| + this, as the number is converted to a float at compile time)
|
| +* type suffixes on numbers (1.0f, 0xFFu) are both unnecessary and unsupported
|
| +* some built-in functions and one or two rarely-used language features are not
|
| + yet supported (sorry!)
|
| +
|
| +SkSL is still under development, and is expected to diverge further from GLSL
|
| +over time.
|
|
|