1#version 450 2#extension GL_ARB_gpu_shader_int64 : require 3#extension GL_EXT_buffer_reference : require 4layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; 5 6layout(buffer_reference) buffer Node; 7layout(buffer_reference, std430) buffer Node 8{ 9 layout(offset = 0) int value; 10 layout(offset = 16) Node next; 11 layout(offset = 32) Node prev; 12}; 13 14layout(set = 0, binding = 0, std430) restrict buffer LinkedList 15{ 16 Node head1; 17 Node head2; 18} _50; 19 20void main() 21{ 22 Node _114; 23 if (gl_WorkGroupID.x < 4u) 24 { 25 _114 = _50.head1; 26 } 27 else 28 { 29 _114 = _50.head2; 30 } 31 _114.next.value = _50.head1.value + _50.head2.value; 32 _50.head1.value = 20; 33 _50.head1.value = _50.head2.value * 10; 34} 35 36