spirv-webgpu-transform 0.1.6

Transform SPIRV to be webgpu friendly
Documentation
#version 440

layout(location = 0) out vec4 o_color;
layout(location = 0) in vec2 i_tex_coord;
layout(location = 1) in vec3 i_tex_coord_3d;

layout(set = 0, binding = 0) uniform sampler2D u_tex1;
layout(set = 0, binding = 1) uniform sampler2D u_tex2;

layout(set = 0, binding = 2) uniform sampler u_sam;
layout(set = 0, binding = 3) uniform texture2D u_tex;

layout(set = 0, binding = 4) uniform sampler2DArray u_tex_array;

void test_b(sampler2D b0, sampler2DArray b1) {
    vec4 res2 = texture(b0, i_tex_coord);
    o_color = res2;

    vec4 res3 = texture(b1, i_tex_coord_3d);
    o_color = res3;
}

void test_a(sampler2D a0, sampler2DArray a1) {
    test_b(a0, a1);
}

void main() {
    vec4 res1 = texture(u_tex1, i_tex_coord);
    vec4 res2 = texture(sampler2D(u_tex, u_sam), i_tex_coord);

    test_a(u_tex1, u_tex_array);
}