blob: 1ce5265c19da5614797eff2fe173ff47978e444a [file] [log] [blame]
Ethan Nicholas79707652017-11-16 11:20:11 -05001STRINGIFY(
Ethan Nicholas52cad152017-02-16 16:37:32 -05002
3// defines built-in interfaces supported by SkiaSL geometry shaders
4
5layout(builtin=10002) in sk_PerVertex {
Ethan Nicholasbed683a2017-09-26 14:23:59 -04006 layout(builtin=0) float4 sk_Position;
7 layout(builtin=1) float sk_PointSize;
Ethan Nicholasb6ba82c2018-01-17 15:21:50 -05008 layout(builtin=3) float sk_ClipDistance[1];
Ethan Nicholas52cad152017-02-16 16:37:32 -05009} sk_in[];
10
11out sk_PerVertex {
Ethan Nicholasbed683a2017-09-26 14:23:59 -040012 layout(builtin=0) float4 sk_Position;
13 layout(builtin=1) float sk_PointSize;
Ethan Nicholasb6ba82c2018-01-17 15:21:50 -050014 layout(builtin=3) float sk_ClipDistance[1];
Ethan Nicholas52cad152017-02-16 16:37:32 -050015};
16
17layout(builtin=8) int sk_InvocationID;
18
Ethan Nicholascb670962017-04-20 19:31:52 -040019sk_has_side_effects void EmitStreamVertex(int stream);
20sk_has_side_effects void EndStreamPrimitive(int stream);
21sk_has_side_effects void EmitVertex();
22sk_has_side_effects void EndPrimitive();
Ethan Nicholas52cad152017-02-16 16:37:32 -050023
Ethan Nicholas79707652017-11-16 11:20:11 -050024)