| STRINGIFY( |
| |
| // defines built-in interfaces supported by SkiaSL geometry shaders |
| |
| layout(builtin=10002) in sk_PerVertex { |
| layout(builtin=0) vec4 gl_Position; |
| layout(builtin=1) float gl_PointSize; |
| layout(builtin=3) float sk_ClipDistance[]; |
| } sk_in[]; |
| |
| out sk_PerVertex { |
| layout(builtin=0) vec4 gl_Position; |
| layout(builtin=1) float gl_PointSize; |
| layout(builtin=3) float sk_ClipDistance[]; |
| }; |
| |
| layout(builtin=8) 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(); |
| |
| ) |