Rename nxtProcTable and nxtSetProcs to dawn
diff --git a/README.md b/README.md
index 6e3e935..93e911c 100644
--- a/README.md
+++ b/README.md
@@ -84,8 +84,8 @@
 
 Other generators include:
 
-- A C-header with the definition of nxtProcTable that is the “real” underlying NXT API exposed by the backends.
-- Glue code generating nxtProcTable for a backend with simple validation included (enum value checks etc.)
+- A C-header with the definition of dawnProcTable that is the “real” underlying NXT API exposed by the backends.
+- Glue code generating dawnProcTable for a backend with simple validation included (enum value checks etc.)
 - A mock API for testing
 
 ## Structure of the code
diff --git a/examples/SampleUtils.cpp b/examples/SampleUtils.cpp
index 81e840f..3509c56 100644
--- a/examples/SampleUtils.cpp
+++ b/examples/SampleUtils.cpp
@@ -85,11 +85,11 @@
     binding->SetWindow(window);
 
     dawnDevice backendDevice;
-    nxtProcTable backendProcs;
+    dawnProcTable backendProcs;
     binding->GetProcAndDevice(&backendProcs, &backendDevice);
 
     dawnDevice cDevice = nullptr;
-    nxtProcTable procs;
+    dawnProcTable procs;
     switch (cmdBufType) {
         case CmdBufType::None:
             procs = backendProcs;
@@ -105,7 +105,7 @@
                 c2sBuf->SetHandler(wireServer);
 
                 dawnDevice clientDevice;
-                nxtProcTable clientProcs;
+                dawnProcTable clientProcs;
                 wireClient = dawn::wire::NewClientDevice(&clientProcs, &clientDevice, c2sBuf);
                 s2cBuf->SetHandler(wireClient);
 
@@ -115,7 +115,7 @@
             break;
     }
 
-    nxtSetProcs(&procs);
+    dawnSetProcs(&procs);
     procs.deviceSetErrorCallback(cDevice, PrintDeviceError, 0);
     return dawn::Device::Acquire(cDevice);
 }
diff --git a/generator/templates/api.c b/generator/templates/api.c
index 5ee25cc..b1c09f9 100644
--- a/generator/templates/api.c
+++ b/generator/templates/api.c
@@ -14,11 +14,11 @@
 
 #include "dawn/dawn.h"
 
-static nxtProcTable procs;
+static dawnProcTable procs;
 
-static nxtProcTable nullProcs;
+static dawnProcTable nullProcs;
 
-void nxtSetProcs(const nxtProcTable* procs_) {
+void dawnSetProcs(const dawnProcTable* procs_) {
     if (procs_) {
         procs = *procs_;
     } else {
diff --git a/generator/templates/api.h b/generator/templates/api.h
index 2a6628b..c497a29 100644
--- a/generator/templates/api.h
+++ b/generator/templates/api.h
@@ -68,7 +68,7 @@
 
 {% endfor %}
 
-struct nxtProcTable_s {
+struct dawnProcTable_s {
     {% for type in by_category["object"] %}
         {% for method in native_methods(type) %}
             {{as_cProc(type.name, method.name)}} {{as_varName(type.name, method.name)}};
@@ -76,12 +76,12 @@
 
     {% endfor %}
 };
-typedef struct nxtProcTable_s nxtProcTable;
+typedef struct dawnProcTable_s dawnProcTable;
 
-// Stuff below is for convenience and will forward calls to a static nxtProcTable.
+// Stuff below is for convenience and will forward calls to a static dawnProcTable.
 
-// Set which nxtProcTable will be used
-void nxtSetProcs(const nxtProcTable* procs);
+// Set which dawnProcTable will be used
+void dawnSetProcs(const dawnProcTable* procs);
 
 {% for type in by_category["object"] %}
     // Methods of {{type.name.CamelCase()}}
diff --git a/generator/templates/backend/ProcTable.cpp b/generator/templates/backend/ProcTable.cpp
index 65e1791..a1722ad 100644
--- a/generator/templates/backend/ProcTable.cpp
+++ b/generator/templates/backend/ProcTable.cpp
@@ -183,8 +183,8 @@
         {% endfor %}
     }
 
-    nxtProcTable GetNonValidatingProcs() {
-        nxtProcTable table;
+    dawnProcTable GetNonValidatingProcs() {
+        dawnProcTable table;
         {% for type in by_category["object"] %}
             {% for method in native_methods(type) %}
                 table.{{as_varName(type.name, method.name)}} = reinterpret_cast<{{as_cProc(type.name, method.name)}}>(NonValidating{{as_MethodSuffix(type.name, method.name)}});
@@ -193,8 +193,8 @@
         return table;
     }
 
-    nxtProcTable GetValidatingProcs() {
-        nxtProcTable table;
+    dawnProcTable GetValidatingProcs() {
+        dawnProcTable table;
         {% for type in by_category["object"] %}
             {% for method in native_methods(type) %}
                 table.{{as_varName(type.name, method.name)}} = reinterpret_cast<{{as_cProc(type.name, method.name)}}>(Validating{{as_MethodSuffix(type.name, method.name)}});
diff --git a/generator/templates/mock_api.cpp b/generator/templates/mock_api.cpp
index 9c6ac1d..1ea25c3 100644
--- a/generator/templates/mock_api.cpp
+++ b/generator/templates/mock_api.cpp
@@ -38,7 +38,7 @@
 ProcTableAsClass::~ProcTableAsClass() {
 }
 
-void ProcTableAsClass::GetProcTableAndDevice(nxtProcTable* table, dawnDevice* device) {
+void ProcTableAsClass::GetProcTableAndDevice(dawnProcTable* table, dawnDevice* device) {
     *device = GetNewDevice();
 
     {% for type in by_category["object"] %}
diff --git a/generator/templates/mock_api.h b/generator/templates/mock_api.h
index 63e5ec4..ba884fa 100644
--- a/generator/templates/mock_api.h
+++ b/generator/templates/mock_api.h
@@ -27,7 +27,7 @@
     public:
         virtual ~ProcTableAsClass();
 
-        void GetProcTableAndDevice(nxtProcTable* table, dawnDevice* device);
+        void GetProcTableAndDevice(dawnProcTable* table, dawnDevice* device);
 
         // Creates an object that can be returned by a mocked call as in WillOnce(Return(foo)).
         // It returns an object of the write type that isn't equal to any previously returned object.
diff --git a/generator/templates/wire/WireClient.cpp b/generator/templates/wire/WireClient.cpp
index 655eff1..5e22509 100644
--- a/generator/templates/wire/WireClient.cpp
+++ b/generator/templates/wire/WireClient.cpp
@@ -416,8 +416,8 @@
         //    the autogenerated one, and that will have to call Client{{suffix}}
         {% set proxied_commands = ["BufferUnmap"] %}
 
-        nxtProcTable GetProcs() {
-            nxtProcTable table;
+        dawnProcTable GetProcs() {
+            dawnProcTable table;
             {% for type in by_category["object"] %}
                 {% for method in native_methods(type) %}
                     {% set suffix = as_MethodSuffix(type.name, method.name) %}
@@ -664,7 +664,7 @@
 
     }
 
-    CommandHandler* NewClientDevice(nxtProcTable* procs, dawnDevice* device, CommandSerializer* serializer) {
+    CommandHandler* NewClientDevice(dawnProcTable* procs, dawnDevice* device, CommandSerializer* serializer) {
         auto clientDevice = new client::Device(serializer);
 
         *device = reinterpret_cast<dawnDeviceImpl*>(clientDevice);
diff --git a/generator/templates/wire/WireServer.cpp b/generator/templates/wire/WireServer.cpp
index 55c9fd7..25980d8 100644
--- a/generator/templates/wire/WireServer.cpp
+++ b/generator/templates/wire/WireServer.cpp
@@ -205,7 +205,7 @@
 
         class Server : public CommandHandler, public ObjectIdResolver {
             public:
-                Server(dawnDevice device, const nxtProcTable& procs, CommandSerializer* serializer)
+                Server(dawnDevice device, const dawnProcTable& procs, CommandSerializer* serializer)
                     : mProcs(procs), mSerializer(serializer) {
                     //* The client-server knowledge is bootstrapped with device 1.
                     auto* deviceData = mKnownDevice.Allocate(1);
@@ -346,7 +346,7 @@
                 }
 
             private:
-                nxtProcTable mProcs;
+                dawnProcTable mProcs;
                 CommandSerializer* mSerializer = nullptr;
 
                 ServerAllocator mAllocator;
@@ -622,7 +622,7 @@
         }
     }
 
-    CommandHandler* NewServerCommandHandler(dawnDevice device, const nxtProcTable& procs, CommandSerializer* serializer) {
+    CommandHandler* NewServerCommandHandler(dawnDevice device, const dawnProcTable& procs, CommandSerializer* serializer) {
         return new server::Server(device, procs, serializer);
     }
 
diff --git a/src/backend/d3d12/DeviceD3D12.cpp b/src/backend/d3d12/DeviceD3D12.cpp
index a504a5f..7d427c1 100644
--- a/src/backend/d3d12/DeviceD3D12.cpp
+++ b/src/backend/d3d12/DeviceD3D12.cpp
@@ -40,10 +40,10 @@
 
 namespace backend { namespace d3d12 {
 
-    nxtProcTable GetNonValidatingProcs();
-    nxtProcTable GetValidatingProcs();
+    dawnProcTable GetNonValidatingProcs();
+    dawnProcTable GetValidatingProcs();
 
-    void Init(nxtProcTable* procs, dawnDevice* device) {
+    void Init(dawnProcTable* procs, dawnDevice* device) {
         *device = nullptr;
         *procs = GetValidatingProcs();
         *device = reinterpret_cast<dawnDevice>(new Device());
diff --git a/src/backend/metal/DeviceMTL.mm b/src/backend/metal/DeviceMTL.mm
index 1dc51db..2ba726c 100644
--- a/src/backend/metal/DeviceMTL.mm
+++ b/src/backend/metal/DeviceMTL.mm
@@ -35,10 +35,10 @@
 #include <unistd.h>
 
 namespace backend { namespace metal {
-    nxtProcTable GetNonValidatingProcs();
-    nxtProcTable GetValidatingProcs();
+    dawnProcTable GetNonValidatingProcs();
+    dawnProcTable GetValidatingProcs();
 
-    void Init(id<MTLDevice> metalDevice, nxtProcTable* procs, dawnDevice* device) {
+    void Init(id<MTLDevice> metalDevice, dawnProcTable* procs, dawnDevice* device) {
         *device = nullptr;
 
         *procs = GetValidatingProcs();
diff --git a/src/backend/null/NullBackend.cpp b/src/backend/null/NullBackend.cpp
index d2e69da..5aa8ce2 100644
--- a/src/backend/null/NullBackend.cpp
+++ b/src/backend/null/NullBackend.cpp
@@ -20,10 +20,10 @@
 
 namespace backend { namespace null {
 
-    nxtProcTable GetNonValidatingProcs();
-    nxtProcTable GetValidatingProcs();
+    dawnProcTable GetNonValidatingProcs();
+    dawnProcTable GetValidatingProcs();
 
-    void Init(nxtProcTable* procs, dawnDevice* device) {
+    void Init(dawnProcTable* procs, dawnDevice* device) {
         *procs = GetValidatingProcs();
         *device = reinterpret_cast<dawnDevice>(new Device);
     }
diff --git a/src/backend/opengl/DeviceGL.cpp b/src/backend/opengl/DeviceGL.cpp
index a5798a8..121e908 100644
--- a/src/backend/opengl/DeviceGL.cpp
+++ b/src/backend/opengl/DeviceGL.cpp
@@ -32,10 +32,10 @@
 #include "backend/opengl/TextureGL.h"
 
 namespace backend { namespace opengl {
-    nxtProcTable GetNonValidatingProcs();
-    nxtProcTable GetValidatingProcs();
+    dawnProcTable GetNonValidatingProcs();
+    dawnProcTable GetValidatingProcs();
 
-    void Init(void* (*getProc)(const char*), nxtProcTable* procs, dawnDevice* device) {
+    void Init(void* (*getProc)(const char*), dawnProcTable* procs, dawnDevice* device) {
         *device = nullptr;
 
         gladLoadGLLoader(reinterpret_cast<GLADloadproc>(getProc));
diff --git a/src/backend/vulkan/DeviceVk.cpp b/src/backend/vulkan/DeviceVk.cpp
index feda379..9cfb7c6 100644
--- a/src/backend/vulkan/DeviceVk.cpp
+++ b/src/backend/vulkan/DeviceVk.cpp
@@ -52,10 +52,10 @@
 
 namespace backend { namespace vulkan {
 
-    nxtProcTable GetNonValidatingProcs();
-    nxtProcTable GetValidatingProcs();
+    dawnProcTable GetNonValidatingProcs();
+    dawnProcTable GetValidatingProcs();
 
-    void Init(nxtProcTable* procs,
+    void Init(dawnProcTable* procs,
               dawnDevice* device,
               const std::vector<const char*>& requiredInstanceExtensions) {
         *procs = GetValidatingProcs();
diff --git a/src/tests/NXTTest.cpp b/src/tests/NXTTest.cpp
index bc7b875..ea7bf7d 100644
--- a/src/tests/NXTTest.cpp
+++ b/src/tests/NXTTest.cpp
@@ -106,7 +106,7 @@
     delete mBinding;
     mBinding = nullptr;
 
-    nxtSetProcs(nullptr);
+    dawnSetProcs(nullptr);
 }
 
 bool NXTTest::IsD3D12() const {
@@ -137,12 +137,12 @@
     mBinding->SetWindow(testWindow);
 
     dawnDevice backendDevice;
-    nxtProcTable backendProcs;
+    dawnProcTable backendProcs;
     mBinding->GetProcAndDevice(&backendProcs, &backendDevice);
 
     // Choose whether to use the backend procs and devices directly, or set up the wire.
     dawnDevice cDevice = nullptr;
-    nxtProcTable procs;
+    dawnProcTable procs;
 
     if (gTestUsesWire) {
         mC2sBuf = new dawn::wire::TerribleCommandBuffer();
@@ -152,7 +152,7 @@
         mC2sBuf->SetHandler(mWireServer);
 
         dawnDevice clientDevice;
-        nxtProcTable clientProcs;
+        dawnProcTable clientProcs;
         mWireClient = dawn::wire::NewClientDevice(&clientProcs, &clientDevice, mC2sBuf);
         mS2cBuf->SetHandler(mWireClient);
 
@@ -165,7 +165,7 @@
 
     // Set up the device and queue because all tests need them, and NXTTest needs them too for the
     // deferred expectations.
-    nxtSetProcs(&procs);
+    dawnSetProcs(&procs);
     device = dawn::Device::Acquire(cDevice);
     queue = device.CreateQueue();
 
diff --git a/src/tests/unittests/WireTests.cpp b/src/tests/unittests/WireTests.cpp
index b7a5aec..3823451 100644
--- a/src/tests/unittests/WireTests.cpp
+++ b/src/tests/unittests/WireTests.cpp
@@ -127,7 +127,7 @@
             mockBufferMapReadCallback = new MockBufferMapReadCallback;
             mockBufferMapWriteCallback = new MockBufferMapWriteCallback;
 
-            nxtProcTable mockProcs;
+            dawnProcTable mockProcs;
             dawnDevice mockDevice;
             api.GetProcTableAndDevice(&mockProcs, &mockDevice);
 
@@ -144,16 +144,16 @@
             mWireServer = NewServerCommandHandler(mockDevice, mockProcs, mS2cBuf);
             mC2sBuf->SetHandler(mWireServer);
 
-            nxtProcTable clientProcs;
+            dawnProcTable clientProcs;
             mWireClient = NewClientDevice(&clientProcs, &device, mC2sBuf);
-            nxtSetProcs(&clientProcs);
+            dawnSetProcs(&clientProcs);
             mS2cBuf->SetHandler(mWireClient);
 
             apiDevice = mockDevice;
         }
 
         void TearDown() override {
-            nxtSetProcs(nullptr);
+            dawnSetProcs(nullptr);
             delete mWireServer;
             delete mWireClient;
             delete mC2sBuf;
diff --git a/src/tests/unittests/validation/ValidationTest.cpp b/src/tests/unittests/validation/ValidationTest.cpp
index 3fa11ea..344dd2b 100644
--- a/src/tests/unittests/validation/ValidationTest.cpp
+++ b/src/tests/unittests/validation/ValidationTest.cpp
@@ -18,16 +18,16 @@
 
 namespace backend {
     namespace null {
-        void Init(nxtProcTable* procs, dawnDevice* device);
+        void Init(dawnProcTable* procs, dawnDevice* device);
     }
 }
 
 ValidationTest::ValidationTest() {
-    nxtProcTable procs;
+    dawnProcTable procs;
     dawnDevice cDevice;
     backend::null::Init(&procs, &cDevice);
 
-    nxtSetProcs(&procs);
+    dawnSetProcs(&procs);
     device = dawn::Device::Acquire(cDevice);
 
     device.SetErrorCallback(ValidationTest::OnDeviceError, static_cast<dawnCallbackUserdata>(reinterpret_cast<uintptr_t>(this)));
@@ -37,7 +37,7 @@
     // We need to destroy NXT objects before setting the procs to null otherwise the nxt*Release
     // will call a nullptr
     device = dawn::Device();
-    nxtSetProcs(nullptr);
+    dawnSetProcs(nullptr);
 }
 
 void ValidationTest::TearDown() {
diff --git a/src/utils/BackendBinding.h b/src/utils/BackendBinding.h
index 99d6c80..c4f8fbf 100644
--- a/src/utils/BackendBinding.h
+++ b/src/utils/BackendBinding.h
@@ -18,7 +18,7 @@
 #include <dawn/dawn_wsi.h>
 
 struct GLFWwindow;
-typedef struct nxtProcTable_s nxtProcTable;
+typedef struct dawnProcTable_s dawnProcTable;
 typedef struct dawnDeviceImpl* dawnDevice;
 
 namespace utils {
@@ -36,7 +36,7 @@
         virtual ~BackendBinding() = default;
 
         virtual void SetupGLFWWindowHints() = 0;
-        virtual void GetProcAndDevice(nxtProcTable* procs, dawnDevice* device) = 0;
+        virtual void GetProcAndDevice(dawnProcTable* procs, dawnDevice* device) = 0;
         virtual uint64_t GetSwapChainImplementation() = 0;
         virtual dawnTextureFormat GetPreferredSwapChainTextureFormat() = 0;
 
diff --git a/src/utils/D3D12Binding.cpp b/src/utils/D3D12Binding.cpp
index 950a965..6046621 100644
--- a/src/utils/D3D12Binding.cpp
+++ b/src/utils/D3D12Binding.cpp
@@ -22,7 +22,7 @@
 #include "GLFW/glfw3native.h"
 
 namespace backend { namespace d3d12 {
-    void Init(nxtProcTable* procs, dawnDevice* device);
+    void Init(dawnProcTable* procs, dawnDevice* device);
 
     dawnSwapChainImplementation CreateNativeSwapChainImpl(dawnDevice device, HWND window);
     dawnTextureFormat GetNativeSwapChainPreferredFormat(
@@ -37,7 +37,7 @@
             glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
         }
 
-        void GetProcAndDevice(nxtProcTable* procs, dawnDevice* device) override {
+        void GetProcAndDevice(dawnProcTable* procs, dawnDevice* device) override {
             backend::d3d12::Init(procs, device);
             mBackendDevice = *device;
         }
diff --git a/src/utils/MetalBinding.mm b/src/utils/MetalBinding.mm
index 2fe0e99..da1f07f 100644
--- a/src/utils/MetalBinding.mm
+++ b/src/utils/MetalBinding.mm
@@ -26,7 +26,7 @@
 #import <QuartzCore/CAMetalLayer.h>
 
 namespace backend { namespace metal {
-    void Init(id<MTLDevice> metalDevice, nxtProcTable* procs, dawnDevice* device);
+    void Init(id<MTLDevice> metalDevice, dawnProcTable* procs, dawnDevice* device);
     void SetNextDrawable(dawnDevice device, id<CAMetalDrawable> drawable);
     void Present(dawnDevice device);
 }}
@@ -114,7 +114,7 @@
         void SetupGLFWWindowHints() override {
             glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
         }
-        void GetProcAndDevice(nxtProcTable* procs, dawnDevice* device) override {
+        void GetProcAndDevice(dawnProcTable* procs, dawnDevice* device) override {
             mMetalDevice = MTLCreateSystemDefaultDevice();
 
             backend::metal::Init(mMetalDevice, procs, device);
diff --git a/src/utils/NullBinding.cpp b/src/utils/NullBinding.cpp
index 0e86828..c6681bc 100644
--- a/src/utils/NullBinding.cpp
+++ b/src/utils/NullBinding.cpp
@@ -15,7 +15,7 @@
 #include "utils/BackendBinding.h"
 
 namespace backend { namespace null {
-    void Init(nxtProcTable* procs, dawnDevice* device);
+    void Init(dawnProcTable* procs, dawnDevice* device);
 }}  // namespace backend::null
 
 namespace utils {
@@ -24,7 +24,7 @@
       public:
         void SetupGLFWWindowHints() override {
         }
-        void GetProcAndDevice(nxtProcTable* procs, dawnDevice* device) override {
+        void GetProcAndDevice(dawnProcTable* procs, dawnDevice* device) override {
             backend::null::Init(procs, device);
         }
         uint64_t GetSwapChainImplementation() override {
diff --git a/src/utils/OpenGLBinding.cpp b/src/utils/OpenGLBinding.cpp
index cc5dc2a..0f58f7f 100644
--- a/src/utils/OpenGLBinding.cpp
+++ b/src/utils/OpenGLBinding.cpp
@@ -26,7 +26,7 @@
 #include "GLFW/glfw3.h"
 
 namespace backend { namespace opengl {
-    void Init(void* (*getProc)(const char*), nxtProcTable* procs, dawnDevice* device);
+    void Init(void* (*getProc)(const char*), dawnProcTable* procs, dawnDevice* device);
 }}  // namespace backend::opengl
 
 namespace utils {
@@ -111,7 +111,7 @@
             glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
 #endif
         }
-        void GetProcAndDevice(nxtProcTable* procs, dawnDevice* device) override {
+        void GetProcAndDevice(dawnProcTable* procs, dawnDevice* device) override {
             glfwMakeContextCurrent(mWindow);
             backend::opengl::Init(reinterpret_cast<void* (*)(const char*)>(glfwGetProcAddress),
                                   procs, device);
diff --git a/src/utils/VulkanBinding.cpp b/src/utils/VulkanBinding.cpp
index e700e20..f714fbc 100644
--- a/src/utils/VulkanBinding.cpp
+++ b/src/utils/VulkanBinding.cpp
@@ -23,7 +23,7 @@
 #include <vector>
 
 namespace backend { namespace vulkan {
-    void Init(nxtProcTable* procs,
+    void Init(dawnProcTable* procs,
               dawnDevice* device,
               const std::vector<const char*>& requiredInstanceExtensions);
 
@@ -67,7 +67,7 @@
         void SetupGLFWWindowHints() override {
             glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
         }
-        void GetProcAndDevice(nxtProcTable* procs, dawnDevice* device) override {
+        void GetProcAndDevice(dawnProcTable* procs, dawnDevice* device) override {
             uint32_t extensionCount = 0;
             const char** glfwInstanceExtensions =
                 glfwGetRequiredInstanceExtensions(&extensionCount);
diff --git a/src/wire/Wire.h b/src/wire/Wire.h
index 88d37ad..b0aca95 100644
--- a/src/wire/Wire.h
+++ b/src/wire/Wire.h
@@ -34,11 +34,11 @@
         virtual const char* HandleCommands(const char* commands, size_t size) = 0;
     };
 
-    CommandHandler* NewClientDevice(nxtProcTable* procs,
+    CommandHandler* NewClientDevice(dawnProcTable* procs,
                                     dawnDevice* device,
                                     CommandSerializer* serializer);
     CommandHandler* NewServerCommandHandler(dawnDevice device,
-                                            const nxtProcTable& procs,
+                                            const dawnProcTable& procs,
                                             CommandSerializer* serializer);
 
 }}  // namespace dawn::wire