blob: 6d535d26a30eab1ace0a9003adbd2b2a2a349936 [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 Nicholas5226b772018-05-03 16:20:41 -04009} sk_in[1];
Ethan Nicholas52cad152017-02-16 16:37:32 -050010
Ethan Nicholas16c11962018-03-16 12:20:54 -040011layout(builtin=10007) out 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
Ethan Nicholasd1d52562018-03-20 16:30:34 -040017layout(builtin=8) in int sk_InvocationID;
Ethan Nicholas52cad152017-02-16 16:37:32 -050018
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)