1#include "types.glsl"
 2
 3#extension GL_EXT_shader_16bit_storage : require
 4
 5#include "rte.glsl"
 6#include "rope_params.glsl"
 7
 8layout(local_size_x = 1, local_size_y = 256, local_size_z = 1) in;
 9
10layout (binding = 0) readonly buffer X {A_TYPE rope_data_a[];};
11layout (binding = 1) readonly buffer Y {int rope_data_pos[];};
12layout (binding = 2) readonly buffer Z {float rope_data_ff[];};
13layout (binding = 3) writeonly buffer D {ROPE_D_TYPE rope_data_d[];};
14layout (binding = 4) readonly buffer I {uvec2 rope_data_i[];}; // indices for set_rows
15
16
17layout (push_constant) uniform parameter {
18    rope_params pc;
19};
20