2019-04-24 12:12:50 +00:00
|
|
|
#version 450
|
|
|
|
#extension GL_ARB_gpu_shader_int64 : require
|
|
|
|
#extension GL_EXT_buffer_reference : require
|
|
|
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
|
|
|
|
|
|
|
layout(buffer_reference) buffer Node;
|
2021-11-07 14:43:57 +00:00
|
|
|
layout(buffer_reference, buffer_reference_align = 16, std430) buffer Node
|
2019-04-24 12:12:50 +00:00
|
|
|
{
|
|
|
|
layout(offset = 0) int value;
|
|
|
|
layout(offset = 16) Node next;
|
|
|
|
layout(offset = 32) Node prev;
|
|
|
|
};
|
|
|
|
|
|
|
|
layout(set = 0, binding = 0, std430) restrict buffer LinkedList
|
|
|
|
{
|
|
|
|
Node head1;
|
|
|
|
Node head2;
|
|
|
|
} _50;
|
|
|
|
|
|
|
|
void main()
|
|
|
|
{
|
2022-01-05 13:51:36 +00:00
|
|
|
Node _45;
|
2020-05-20 14:27:49 +00:00
|
|
|
Node _114;
|
2019-04-24 12:12:50 +00:00
|
|
|
if (gl_WorkGroupID.x < 4u)
|
|
|
|
{
|
2022-01-05 13:51:36 +00:00
|
|
|
_45 = _50.head1;
|
2020-05-20 14:27:49 +00:00
|
|
|
_114 = _50.head1;
|
2019-04-24 12:12:50 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2022-01-05 13:51:36 +00:00
|
|
|
_45 = _50.head2;
|
2020-05-20 14:27:49 +00:00
|
|
|
_114 = _50.head2;
|
2019-04-24 12:12:50 +00:00
|
|
|
}
|
2022-01-05 13:51:36 +00:00
|
|
|
restrict Node n = _114;
|
|
|
|
Node param = _114.next;
|
|
|
|
Node param_1 = _50.head1;
|
|
|
|
Node param_2 = _50.head2;
|
2020-05-20 14:27:49 +00:00
|
|
|
_114.next.value = _50.head1.value + _50.head2.value;
|
2022-01-05 13:51:36 +00:00
|
|
|
Node param_4 = _50.head1;
|
|
|
|
Node param_3 = _50.head1;
|
|
|
|
n = _50.head1;
|
|
|
|
int v = _50.head2.value;
|
2019-09-18 19:56:51 +00:00
|
|
|
_50.head1.value = 20;
|
|
|
|
_50.head1.value = _50.head2.value * 10;
|
2022-01-05 13:51:36 +00:00
|
|
|
uint64_t _98 = uint64_t(_50.head2.next);
|
|
|
|
uint64_t uptr = _98;
|
|
|
|
Node unode = Node(_98);
|
2019-04-24 12:12:50 +00:00
|
|
|
}
|
|
|
|
|