diff options
Diffstat (limited to 'src/sksl/sksl_fp.inc')
-rw-r--r-- | src/sksl/sksl_fp.inc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/sksl/sksl_fp.inc b/src/sksl/sksl_fp.inc new file mode 100644 index 0000000000..d407fd08f6 --- /dev/null +++ b/src/sksl/sksl_fp.inc @@ -0,0 +1,25 @@ +STRINGIFY( + +// defines built-in interfaces supported by SkiaSL fragment shaders + +layout(builtin=15) in float4 sk_FragCoord; +layout(builtin=3) float sk_ClipDistance[1]; + +// 9999 is a temporary value that causes us to ignore these declarations beyond +// adding them to the symbol table. This works fine in GLSL (where they do not +// require any further handling) but will fail in SPIR-V. We'll have a better +// solution for this soon. +layout(builtin=9999) float4 gl_LastFragData[1]; +layout(builtin=9999) half4 gl_LastFragColor; +layout(builtin=9999) half4 gl_LastFragColorARM; +layout(builtin=9999) int gl_SampleMaskIn[1]; +layout(builtin=9999) out int gl_SampleMask[1]; +layout(builtin=9999) half4 gl_SecondaryFragColorEXT; + +layout(builtin=10003) half4 sk_InColor; +layout(builtin=10004) out half4 sk_OutColor; +layout(builtin=10005) float2[] sk_TransformedCoords2D; +layout(builtin=10006) sampler2D[] sk_TextureSamplers; + +half4 process(fragmentProcessor fp); +) |