| // defines built-in interfaces supported by SkiaSL geometry shaders |
| |
| layout(builtin=10002) in sk_PerVertex { |
| layout(builtin=0) float4 sk_Position; |
| layout(builtin=1) float sk_PointSize; |
| } sk_in[]; |
| |
| layout(builtin=10007) out sk_PerVertex { |
| layout(builtin=0) float4 sk_Position; |
| layout(builtin=1) float sk_PointSize; |
| }; |
| |
| // sk_InvocationID exists, but is declared programmatically (to support a workaround) |
| // layout(builtin=8) in int sk_InvocationID; |
| |
| sk_has_side_effects void EmitStreamVertex(int stream); |
| sk_has_side_effects void EndStreamPrimitive(int stream); |
| sk_has_side_effects void EmitVertex(); |
| sk_has_side_effects void EndPrimitive(); |