SKIP: FAILED

<dawn>/src/tint/lang/msl/writer/printer/printer.cc:679 internal compiler error: %b1 = block {  # root
  %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read_write>, read> = var @binding_point(1, 0)
}

%textureStore_4e2b3a = func():void -> %b2 {
  %b2 = block {
    %arg_1:ptr<function, vec2<i32>, read_write> = var, vec2<i32>(1i)
    %arg_2:ptr<function, i32, read_write> = var, 1i
    %arg_3:ptr<function, vec4<f32>, read_write> = var, vec4<f32>(1.0f)
    %6:texture_storage_2d_array<rg32float, read_write> = load %arg_0
    %7:vec2<i32> = load %arg_1
    %8:i32 = load %arg_2
    %9:vec4<f32> = load %arg_3
    %10:void = textureStore %6, %7, %8, %9
    ret
  }
}
%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
  %b3 = block {
    %12:void = call %textureStore_4e2b3a
    ret vec4<f32>(0.0f)
  }
}
%fragment_main = @fragment func():void -> %b4 {
  %b4 = block {
    %14:void = call %textureStore_4e2b3a
    ret
  }
}
%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
  %b5 = block {
    %16:void = call %textureStore_4e2b3a
    ret
  }
}

invalid access control for storage texture
********************************************************************
*  The tint shader compiler has encountered an unexpected error.   *
*                                                                  *
*  Please help us fix this issue by submitting a bug report at     *
*  crbug.com/tint with the source program that triggered the bug.  *
********************************************************************
