yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
08f27157
main
1#version 450 2 3#extension GL_EXT_abort : require 4 5layout(local_size_x = 1) in; 6 7layout(set = 0, binding = 0) buffer Output { 8 uint value; 9} outputBuffer; 10 11 12uint abortOne() 13{ 14 outputBuffer.value = 1; 15 abortEXT("abortOne:%d", outputBuffer.value); 16 return outputBuffer.value; 17} 18 19void abortTwo() 20{ 21 outputBuffer.value = 2; 22 if (gl_GlobalInvocationID.x == 1) 23 { 24 abortEXT("abortTwo"); 25 outputBuffer.value = 3; 26 } 27 return; 28} 29 30void abortThree() 31{ 32 abortEXT(); 33 outputBuffer.value = 4; 34 return; 35} 36 37void abortFour() 38{ 39 for (int i=0; i < 3; i++) 40 abortEXT("Iteration exceeded limit: in invocation %i %u", i, gl_GlobalInvocationID.x); 41 return; 42} 43 44void abortFive() 45{ 46 abortEXT("", outputBuffer.value); 47 return; 48} 49 50void main() { 51 outputBuffer.value = 0; 52 53 abortEXT(); 54 55 abortOne(); 56 abortTwo(); 57 abortThree(); 58 abortFour(); 59 abortFive(); 60 61 abortEXT(); 62}