blob: 8aed48e634b98fef2b236381cf2d781d28273be3 [file] [log] [blame]
Ethan Nicholas762466e2017-06-29 10:03:38 -04001STRINGIFY(
2
3// defines built-in interfaces supported by SkiaSL fragment shaders
4
Ethan Nicholasf7b88202017-09-18 14:10:39 -04005layout(builtin=15) in highfloat4 sk_FragCoord;
6layout(builtin=3) highfloat sk_ClipDistance[1];
Ethan Nicholas762466e2017-06-29 10:03:38 -04007
8// 9999 is a temporary value that causes us to ignore these declarations beyond
9// adding them to the symbol table. This works fine in GLSL (where they do not
10// require any further handling) but will fail in SPIR-V. We'll have a better
11// solution for this soon.
Ethan Nicholasf7b88202017-09-18 14:10:39 -040012layout(builtin=9999) highfloat4 gl_LastFragData[1];
13layout(builtin=9999) half4 gl_LastFragColor;
14layout(builtin=9999) half4 gl_LastFragColorARM;
Ethan Nicholas762466e2017-06-29 10:03:38 -040015layout(builtin=9999) int gl_SampleMaskIn[1];
16layout(builtin=9999) out int gl_SampleMask[1];
Ethan Nicholasf7b88202017-09-18 14:10:39 -040017layout(builtin=9999) half4 gl_SecondaryFragColorEXT;
Ethan Nicholas762466e2017-06-29 10:03:38 -040018
Ethan Nicholasf7b88202017-09-18 14:10:39 -040019layout(builtin=10003) half4 sk_InColor;
20layout(builtin=10004) out half4 sk_OutColor;
21layout(builtin=10005) highfloat2[] sk_TransformedCoords2D;
Ethan Nicholas762466e2017-06-29 10:03:38 -040022layout(builtin=10006) sampler2D[] sk_TextureSamplers;
Ethan Nicholas68990be2017-07-13 09:36:52 -040023
Ethan Nicholasf7b88202017-09-18 14:10:39 -040024half4 COLORSPACE(half4 color, colorSpaceXform colorSpace);
Ethan Nicholas762466e2017-06-29 10:03:38 -040025)