blob: 8000163c11b6ea155957a7167f3c2717c394ab2f [file] [log] [blame]
// 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;
struct IndirectDispatchArgs {
int x, y, z;
};
$pure half4 textureRead($readableTexture2D t, uint2 pos);
void textureWrite($writableTexture2D t, uint2 pos, half4 color);
$pure uint textureWidth($genTexture2D t);
$pure uint textureHeight($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();