blob: 056378d9291dc0f80a1b48f005c28c731df143e1 [file] [edit]
#version 450
#extension GL_EXT_abort : require
layout(local_size_x = 1) in;
layout(set = 0, binding = 0) buffer Output {
uint value;
} outputBuffer;
uint abortOne()
{
outputBuffer.value = 1;
abortEXT("abortOne:%d", outputBuffer.value);
return outputBuffer.value;
}
void abortTwo()
{
outputBuffer.value = 2;
if (gl_GlobalInvocationID.x == 1)
{
abortEXT("abortTwo");
outputBuffer.value = 3;
}
return;
}
void abortThree()
{
abortEXT();
outputBuffer.value = 4;
return;
}
void abortFour()
{
for (int i=0; i < 3; i++)
abortEXT("Iteration exceeded limit: in invocation %i %u", i, gl_GlobalInvocationID.x);
return;
}
void abortFive()
{
abortEXT("", outputBuffer.value);
return;
}
void main() {
outputBuffer.value = 0;
abortEXT();
abortOne();
abortTwo();
abortThree();
abortFour();
abortFive();
abortEXT();
}