diff --git a/src/dawn/native/opengl/ShaderModuleGL.cpp b/src/dawn/native/opengl/ShaderModuleGL.cpp
index 7fe1da0..7f583a4 100644
--- a/src/dawn/native/opengl/ShaderModuleGL.cpp
+++ b/src/dawn/native/opengl/ShaderModuleGL.cpp
@@ -294,8 +294,8 @@
                 tintOptions.binding_map[use] = info->GetName();
             }
 
-            tintOptions.binding_points = std::move(r.glBindings);
-            tintOptions.allow_collisions = true;
+            tintOptions.binding_remapper_options.binding_points = std::move(r.glBindings);
+            tintOptions.binding_remapper_options.allow_collisions = true;
             tintOptions.texture_builtins_from_uniform = r.textureBuiltinsFromUniform;
 
             auto result = tint::glsl::writer::Generate(program, tintOptions, r.entryPointName);
diff --git a/src/tint/lang/glsl/writer/ast_printer/ast_printer.cc b/src/tint/lang/glsl/writer/ast_printer/ast_printer.cc
index f5ada94..89387ae 100644
--- a/src/tint/lang/glsl/writer/ast_printer/ast_printer.cc
+++ b/src/tint/lang/glsl/writer/ast_printer/ast_printer.cc
@@ -244,7 +244,9 @@
     manager.Add<CombineSamplers>();
 
     data.Add<ast::transform::BindingRemapper::Remappings>(
-        options.binding_points, options.access_controls, options.allow_collisions);
+        options.binding_remapper_options.binding_points,
+        options.binding_remapper_options.access_controls,
+        options.binding_remapper_options.allow_collisions);
     manager.Add<ast::transform::BindingRemapper>();
 
     manager.Add<ast::transform::PromoteInitializersToLet>();
diff --git a/src/tint/lang/glsl/writer/common/options.h b/src/tint/lang/glsl/writer/common/options.h
index 59d3208..1fe8e43 100644
--- a/src/tint/lang/glsl/writer/common/options.h
+++ b/src/tint/lang/glsl/writer/common/options.h
@@ -19,6 +19,7 @@
 #include <string>
 #include <unordered_map>
 
+#include "src/tint/api/options/binding_remapper.h"
 #include "src/tint/api/options/external_texture.h"
 #include "src/tint/api/options/texture_builtins_from_uniform.h"
 #include "src/tint/lang/core/access.h"
@@ -47,24 +48,15 @@
     /// The binding point to use for placeholder samplers.
     BindingPoint placeholder_binding_point;
 
-    /// A map of old binding point to new binding point for the BindingRemapper
-    /// transform
-    std::unordered_map<BindingPoint, BindingPoint> binding_points;
-
-    /// A map of old binding point to new access control for the BindingRemapper
-    /// transform
-    std::unordered_map<BindingPoint, core::Access> access_controls;
-
     /// Set to `true` to disable software robustness that prevents out-of-bounds accesses.
     bool disable_robustness = false;
 
-    /// If true, then validation will be disabled for binding point collisions
-    /// generated by the BindingRemapper transform
-    bool allow_collisions = false;
-
     /// Set to `true` to disable workgroup memory zero initialization
     bool disable_workgroup_init = false;
 
+    /// Options used in the bindings remapper
+    BindingRemapperOptions binding_remapper_options = {};
+
     /// Options used in the binding mappings for external textures
     ExternalTextureOptions external_texture_options = {};
 
@@ -79,11 +71,9 @@
     /// Reflect the fields of this class so that it can be used by tint::ForeachField()
     TINT_REFLECT(binding_map,
                  placeholder_binding_point,
-                 binding_points,
-                 access_controls,
                  disable_robustness,
-                 allow_collisions,
                  disable_workgroup_init,
+                 binding_remapper_options,
                  external_texture_options,
                  texture_builtins_from_uniform,
                  version);
