// defines built-in interfaces supported by SkSL compute shaders

layout(builtin=28) in uint3 sk_ThreadPosition;

$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);

void threadgroupBarrier();
