diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index d003b81..acd0666 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -73,66 +73,14 @@
         // A symbolic link to this build directory is created at 'out/active'
         // which is used to track the active build directory.
         {
-            "label": "gn gen",
+            "label": "setup build",
             "type": "shell",
-            "linux": {
-                "command": "./tools/setup-build",
-                "args": [
-                    "gn",
-                    "${input:buildType}",
-                ],
-            },
-            "osx": {
-                "command": "./tools/setup-build",
-                "args": [
-                    "gn",
-                    "${input:buildType}",
-                ],
-            },
-            "windows": {
-                "command": "/C",
-                "args": [
-                    "(IF \"${input:buildType}\" == \"Debug\" ( gn gen \"out\\${input:buildType}\" --args=is_debug=true ) ELSE ( gn gen \"out\\${input:buildType}\" --args=is_debug=false )) && (IF EXIST \"out\\active\" rmdir \"out\\active\" /q /s) && (mklink /j \"out\\active\" \"out\\${input:buildType}\")",
-                ],
-                "options": {
-                    "shell": {
-                        "executable": "cmd"
-                    },
-                }
-            },
-            "options": {
-                "cwd": "${workspaceRoot}"
-            },
-            "problemMatcher": [],
-        },
-        {
-            "label": "cmake gen",
-            "type": "shell",
-            "linux": {
-                "command": "./tools/setup-build",
-                "args": [
-                    "cmake",
-                    "${input:buildType}",
-                ],
-            },
-            "osx": {
-                "command": "./tools/setup-build",
-                "args": [
-                    "cmake",
-                    "${input:buildType}",
-                ],
-            },
-            "windows": {
-                "command": "/C",
-                "args": [
-                    "echo TODO",
-                ],
-                "options": {
-                    "shell": {
-                        "executable": "cmd"
-                    },
-                }
-            },
+            "command": "./tools/setup-build",
+            "args": [
+                "${input:buildSystem}",
+                "${input:buildType}",
+                "${input:buildArch}",
+            ],
             "options": {
                 "cwd": "${workspaceRoot}"
             },
@@ -177,20 +125,25 @@
         {
             "label": "push",
             "type": "shell",
-            "command": "git",
-            "args": [
-                "push",
-                "origin",
-                "HEAD:refs/for/main"
-            ],
+            "command": "./tools/push-to-gerrit",
             "options": {
                 "cwd": "${workspaceRoot}"
             },
             "problemMatcher": [],
-        }
+        },
     ],
     "inputs": [
         {
+            "id": "buildSystem",
+            "type": "pickString",
+            "options": [
+                "cmake",
+                "gn",
+            ],
+            "default": "gn",
+            "description": "The build system",
+        },
+        {
             "id": "buildType",
             "type": "pickString",
             "options": [
@@ -200,5 +153,15 @@
             "default": "Debug",
             "description": "The type of build",
         },
+        {
+            "id": "buildArch",
+            "type": "pickString",
+            "options": [
+                "native",
+                "x86",
+            ],
+            "default": "native",
+            "description": "The build architecture",
+        },
     ]
 }
diff --git a/tools/push-to-gerrit b/tools/push-to-gerrit
new file mode 100755
index 0000000..1bf611d
--- /dev/null
+++ b/tools/push-to-gerrit
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+# Copyright 2023 The Tint Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -e # Fail on any error.
+
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )"
+
+git push origin HEAD:refs/for/main
+
diff --git a/tools/setup-build b/tools/setup-build
index 76ec76c..817b363 100755
--- a/tools/setup-build
+++ b/tools/setup-build
@@ -16,67 +16,169 @@
 set -e # Fail on any error.
 
 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )"
-ROOT_DIR="$( cd "${SCRIPT_DIR}/.." >/dev/null 2>&1 && pwd )"
-BUILD_SYSTEM=$(echo "$1" | tr '[:upper:]' '[:lower:]') # lowercase
-BUILD_TYPE=$(echo "$2" | tr '[:upper:]' '[:lower:]') # lowercase
-BUILD_DIR="${BUILD_SYSTEM}-${BUILD_TYPE}"
+ROOT_DIR="$( cd "$SCRIPT_DIR/.." >/dev/null 2>&1 && pwd )"
+
+POSSIBLE_BUILD_SYSTEMS="[gn|cmake]"
+POSSIBLE_BUILD_TYPES="[debug|release]"
+POSSIBLE_BUILD_ARCHS="[native|x86]"
+
+BUILD_SYSTEM=""
+BUILD_TYPE=""
+BUILD_ARCH=""
 
 function show_usage() {
-  echo "setup-build [gn|cmake] [debug|release]"
+  echo "setup-build $POSSIBLE_BUILD_SYSTEMS $POSSIBLE_BUILD_TYPES $POSSIBLE_BUILD_ARCHS"
   echo
   echo "creates a build directory in <dawn>/out using either GN or CMake, then"
   echo "updates the '<dawn>/out/active' symlink to point to the build directory"
+  if [[ ! -z "$1" ]]; then
+    echo
+    echo "$1"
+  fi
   exit 1
 }
 
+function set_build_system() {
+  if [[ ! -z "$BUILD_SYSTEM" ]]; then
+    echo "conflicting build systems $BUILD_SYSTEM and $1"
+    exit 1
+  fi
+  BUILD_SYSTEM=$1
+}
+
+function set_build_type() {
+  if [[ ! -z "$BUILD_TYPE" ]]; then
+    echo "conflicting build types $BUILD_TYPE and $1"
+    exit 1
+  fi
+  BUILD_TYPE=$1
+}
+
+function set_build_arch() {
+  if [[ ! -z "$BUILD_ARCH" ]]; then
+    echo "conflicting build architectures $BUILD_ARCH and $1"
+    exit 1
+  fi
+  BUILD_ARCH=$1
+}
+
+for arg in "$@"; do
+  lowered_arg=$(echo "$arg" | tr '[:upper:]' '[:lower:]') # lowercase
+  case $lowered_arg in
+    "gn")
+      set_build_system $lowered_arg
+    ;;
+    "cmake")
+      set_build_system $lowered_arg
+    ;;
+    "debug")
+      set_build_type $lowered_arg
+    ;;
+    "release")
+      set_build_type $lowered_arg
+    ;;
+    "x86")
+      set_build_arch $lowered_arg
+    ;;
+    "native")
+    ;;
+    "--help" | "-help" | "-h")
+      show_usage
+    ;;
+    *)
+      show_usage "unknown argument '$arg'"
+    ;;
+  esac
+done
+
+if [[ -z "$BUILD_SYSTEM" ]]; then
+  show_usage "build system $POSSIBLE_BUILD_SYSTEMS is required"
+fi
+
+if [[ -z "$BUILD_TYPE" ]]; then
+  show_usage "build type $POSSIBLE_BUILD_TYPES required"
+fi
+
+BUILD_DIR="$BUILD_SYSTEM-$BUILD_TYPE"
+if [[ ! -z "$BUILD_ARCH" ]]; then
+  BUILD_DIR+="-$BUILD_ARCH"
+fi
+
 function generate() {
-  CMD=$1
   pushd "$ROOT_DIR" > /dev/null
     mkdir -p "out/$BUILD_DIR"
     rm -fr "out/active" || true
     ln -s "$BUILD_DIR" "out/active"
-    ${CMD}
+    "$@"
   popd > /dev/null
 }
 
 case $BUILD_SYSTEM in
   "gn")
+    GN_ARGS=""
     case $BUILD_TYPE in
       "debug")
-        generate "gn gen out/active --args=is_debug=true"
+        GN_ARGS+="is_debug=true"
       ;;
       "release")
-        generate "gn gen out/active --args=is_debug=false"
+        GN_ARGS+="is_debug=false"
       ;;
       *)
-        echo "invalid build type '${BUILD_TYPE}'"
-        show_usage
+        show_usage "invalid build type '$BUILD_TYPE'"
       ;;
     esac
+    case $BUILD_ARCH in
+      "")
+      ;;
+      "x86")
+        GN_ARGS+=" target_cpu=\"x86\""
+      ;;
+      *)
+        show_usage "invalid build architecture '$BUILD_ARCH'"
+      ;;
+    esac
+    generate "gn" "gen" "out/active" "--args=$GN_ARGS"
   ;;
   "cmake")
-    CMAKE_FLAGS=""
+    CMAKE_FLAGS=()
+    CMAKE_FLAGS+=("-DTINT_BUILD_GLSL_WRITER=1")
+    CMAKE_FLAGS+=("-DTINT_BUILD_HLSL_WRITER=1")
+    CMAKE_FLAGS+=("-DTINT_BUILD_MSL_WRITER=1")
+    CMAKE_FLAGS+=("-DTINT_BUILD_SPV_WRITER=1")
+    CMAKE_FLAGS+=("-DTINT_BUILD_WGSL_WRITER=1")
     if [[ -x $(command -v ccache) ]]; then
-      CMAKE_FLAGS+="-DCMAKE_CXX_COMPILER_LAUNCHER=ccache"
+      CMAKE_FLAGS+=("-DCMAKE_CXX_COMPILER_LAUNCHER=ccache")
     fi
     case $BUILD_TYPE in
       "debug")
-        generate "cmake -S . -B out/active -GNinja -DCMAKE_BUILD_TYPE=Debug ${CMAKE_FLAGS}"
+        CMAKE_FLAGS+=("-DCMAKE_BUILD_TYPE=Debug")
       ;;
       "release")
-        generate "cmake -S . -B out/active -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo ${CMAKE_FLAGS}"
+        CMAKE_FLAGS+=("-DCMAKE_BUILD_TYPE=RelWithDebInfo")
       ;;
       *)
-        echo "invalid build type '${BUILD_TYPE}'"
-        show_usage
+        show_usage "invalid build type '$BUILD_TYPE'"
       ;;
     esac
-  ;;
-  "--help" | "-help" | "-h")
-    show_usage
+    case $BUILD_ARCH in
+      "")
+      ;;
+      "x86")
+        CMAKE_FLAGS+=("-DCMAKE_CXX_FLAGS=-m32")
+        CMAKE_FLAGS+=("-DCMAKE_C_FLAGS=-m32")
+      ;;
+      *)
+        show_usage "invalid build architecture '$BUILD_ARCH'"
+      ;;
+    esac
+    generate "cmake"             \
+             "-S" "."            \
+             "-B" "out/active"   \
+             "-GNinja"           \
+             "${CMAKE_FLAGS[@]}"
   ;;
   *)
-    echo "invalid build system '${BUILD_SYSTEM}'"
+    echo "invalid build system '$BUILD_SYSTEM'"
     show_usage
   ;;
 esac
