#version 310 es
precision mediump float;

struct S {
  mat4x3 matrix;
  vec3 vector;
};

layout(binding = 0) uniform S_1 {
  mat4x3 matrix;
  vec3 vector;
} data;

void tint_symbol() {
  vec4 x = (data.vector * data.matrix);
  return;
}

void main() {
  tint_symbol();
}

