1 STRINGIFY( 2 3 // defines built-in interfaces supported by SkiaSL fragment shaders 4 5 // See "enum SpvBuiltIn_" in ./spirv.h 6 layout(builtin=15) in float4 sk_FragCoord; 7 layout(builtin=17) in bool sk_Clockwise; // Similar to gl_FrontFacing, but defined in device space. 8 layout(builtin=3) float sk_ClipDistance[1]; 9 10 // 9999 is a temporary value that causes us to ignore these declarations beyond 11 // adding them to the symbol table. This works fine in GLSL (where they do not 12 // require any further handling) but will fail in SPIR-V. We'll have a better 13 // solution for this soon. 14 layout(builtin=9999) int gl_SampleMaskIn[1]; 15 layout(builtin=9999) out int gl_SampleMask[1]; 16 layout(builtin=9999) out half4 gl_SecondaryFragColorEXT; 17 18 layout(location=0,index=0,builtin=10001) out half4 sk_FragColor; 19 layout(builtin=10008) half4 sk_LastFragColor; 20 layout(builtin=10011) half sk_Width; 21 layout(builtin=10012) half sk_Height; 22 23 ) 24