#version 310 es
precision mediump float;

struct UBO {
  int dynamic_idx;
};

layout(binding = 0) uniform UBO_1 {
  int dynamic_idx;
} ubo;

struct Result {
  int tint_symbol;
};

layout(binding = 2) buffer Result_1 {
  int tint_symbol;
} result;

struct SSBO {
  int data[4];
};

layout(binding = 1) buffer SSBO_1 {
  int data[4];
} ssbo;

layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void f() {
  ssbo.data[ubo.dynamic_idx] = 1;
  result.tint_symbol = ssbo.data[3];
  return;
}
void main() {
  f();
}


