diff --git a/src/tint/lang/msl/writer/printer/function_test.cc b/src/tint/lang/msl/writer/printer/function_test.cc
index 42956a6..0513a48 100644
--- a/src/tint/lang/msl/writer/printer/function_test.cc
+++ b/src/tint/lang/msl/writer/printer/function_test.cc
@@ -41,5 +41,21 @@
 )");
 }
 
+TEST_F(MslPrinterTest, EntryPointParameterBindingPoint) {
+    auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+    auto* storage = b.FunctionParam("storage", ty.ptr(core::AddressSpace::kStorage, ty.i32()));
+    auto* uniform = b.FunctionParam("uniform", ty.ptr(core::AddressSpace::kUniform, ty.i32()));
+    storage->SetBindingPoint(0, 1);
+    uniform->SetBindingPoint(0, 2);
+    func->SetParams({storage, uniform});
+    func->Block()->Append(b.Return(func));
+
+    ASSERT_TRUE(Generate()) << err_ << output_;
+    EXPECT_EQ(output_, MetalHeader() + R"(
+fragment void foo(device int* storage [[buffer(1)]], const constant int* uniform [[buffer(2)]]) {
+}
+)");
+}
+
 }  // namespace
 }  // namespace tint::msl::writer
diff --git a/src/tint/lang/msl/writer/printer/printer.cc b/src/tint/lang/msl/writer/printer/printer.cc
index 40ffcdf..5b46f4b 100644
--- a/src/tint/lang/msl/writer/printer/printer.cc
+++ b/src/tint/lang/msl/writer/printer/printer.cc
@@ -304,6 +304,20 @@
                     }
                     out << "]]";
                 }
+
+                if (auto binding_point = param->BindingPoint()) {
+                    auto ptr = param->Type()->As<core::type::Pointer>();
+                    TINT_ASSERT(binding_point->group == 0);
+                    switch (ptr->AddressSpace()) {
+                        case core::AddressSpace::kStorage:
+                        case core::AddressSpace::kUniform:
+                            out << " [[buffer(" << binding_point->binding << ")]]";
+                            break;
+                        default:
+                            TINT_UNREACHABLE() << "invalid address space with binding point: "
+                                               << ptr->AddressSpace();
+                    }
+                }
             }
 
             out << ") {";
