| // defines built-in interfaces supported by SkSL compute shaders |
| |
| layout(builtin=24) in uint3 sk_NumWorkgroups; |
| layout(builtin=26) in uint3 sk_WorkgroupID; |
| layout(builtin=27) in uint3 sk_LocalInvocationID; |
| layout(builtin=28) in uint3 sk_GlobalInvocationID; |
| layout(builtin=29) in uint sk_LocalInvocationIndex; |
| |
| $pure half4 read($readableTexture2D t, uint2 pos); |
| void write($writableTexture2D t, uint2 pos, half4 color); |
| |
| $pure uint width($genTexture2D t); |
| $pure uint height($genTexture2D t); |
| |
| // Control-barrier with memory-ordering constraints applied to |
| // workgroup shared memory only. |
| void workgroupBarrier(); |
| |
| // Control-barrier with memory-ordering constraints applied to |
| // uniform and storage-buffer memory. |
| void storageBarrier(); |