diff --git a/src/dawn/dawn.json b/src/dawn/dawn.json
index 9890a7a..2f731bd 100644
--- a/src/dawn/dawn.json
+++ b/src/dawn/dawn.json
@@ -1035,10 +1035,6 @@
             {"value": 4, "name": "inherit"}
         ]
     },
-    "compute pass timestamp writes": {
-        "category": "typedef",
-        "type": "pass timestamp writes"
-    },
     "compute pipeline": {
         "category": "object",
         "methods": [
@@ -3186,10 +3182,6 @@
             }
         ]
     },
-    "render pass timestamp writes": {
-        "category": "typedef",
-        "type": "pass timestamp writes"
-    },
     "render pipeline": {
         "category": "object",
         "methods": [
diff --git a/src/dawn/node/binding/Converter.cpp b/src/dawn/node/binding/Converter.cpp
index 099ca42..fe6c512 100644
--- a/src/dawn/node/binding/Converter.cpp
+++ b/src/dawn/node/binding/Converter.cpp
@@ -1291,14 +1291,14 @@
            Convert(out.stencilReadOnly, in.stencilReadOnly);
 }
 
-bool Converter::Convert(wgpu::RenderPassTimestampWrites& out,
+bool Converter::Convert(wgpu::PassTimestampWrites& out,
                         const interop::GPURenderPassTimestampWrites& in) {
     return Convert(out.querySet, in.querySet) &&                                    //
            Convert(out.beginningOfPassWriteIndex, in.beginningOfPassWriteIndex) &&  //
            Convert(out.endOfPassWriteIndex, in.endOfPassWriteIndex);
 }
 
-bool Converter::Convert(wgpu::ComputePassTimestampWrites& out,
+bool Converter::Convert(wgpu::PassTimestampWrites& out,
                         const interop::GPUComputePassTimestampWrites& in) {
     return Convert(out.querySet, in.querySet) &&                                    //
            Convert(out.beginningOfPassWriteIndex, in.beginningOfPassWriteIndex) &&  //
diff --git a/src/dawn/node/binding/Converter.h b/src/dawn/node/binding/Converter.h
index 7b54871..965bab6 100644
--- a/src/dawn/node/binding/Converter.h
+++ b/src/dawn/node/binding/Converter.h
@@ -214,10 +214,10 @@
     [[nodiscard]] bool Convert(wgpu::RenderPassDepthStencilAttachment& out,
                                const interop::GPURenderPassDepthStencilAttachment& in);
 
-    [[nodiscard]] bool Convert(wgpu::RenderPassTimestampWrites& out,
+    [[nodiscard]] bool Convert(wgpu::PassTimestampWrites& out,
                                const interop::GPURenderPassTimestampWrites& in);
 
-    [[nodiscard]] bool Convert(wgpu::ComputePassTimestampWrites& out,
+    [[nodiscard]] bool Convert(wgpu::PassTimestampWrites& out,
                                const interop::GPUComputePassTimestampWrites& in);
 
     [[nodiscard]] bool Convert(wgpu::LoadOp& out, const interop::GPULoadOp& in);
diff --git a/src/dawn/tests/end2end/QueryTests.cpp b/src/dawn/tests/end2end/QueryTests.cpp
index bb90b51..be30a82 100644
--- a/src/dawn/tests/end2end/QueryTests.cpp
+++ b/src/dawn/tests/end2end/QueryTests.cpp
@@ -682,7 +682,7 @@
     }
 
     void EncodeComputeTimestampWrites(const wgpu::CommandEncoder& encoder,
-                                      const wgpu::ComputePassTimestampWrites& timestampWrites,
+                                      const wgpu::PassTimestampWrites& timestampWrites,
                                       bool hasPipeline = true) {
         wgpu::ComputePassDescriptor descriptor;
         descriptor.timestampWrites = &timestampWrites;
@@ -696,7 +696,7 @@
     }
 
     void EncodeRenderTimestampWrites(const wgpu::CommandEncoder& encoder,
-                                     const wgpu::RenderPassTimestampWrites& timestampWrites,
+                                     const wgpu::PassTimestampWrites& timestampWrites,
                                      bool hasPipeline = true,
                                      bool hasFragmentStage = true) {
         wgpu::Texture depthTexture = CreateRenderTexture(kDepthStencilFormat);
@@ -717,8 +717,8 @@
     }
 
     void TestTimestampWritesOnComputePass(
-        const wgpu::ComputePassTimestampWrites& timestampWrites,
-        const wgpu::ComputePassTimestampWrites& timestampWritesOnAnotherPass = {},
+        const wgpu::PassTimestampWrites& timestampWrites,
+        const wgpu::PassTimestampWrites& timestampWritesOnAnotherPass = {},
         bool hasPipeline = true) {
         bool hasAnotherPass =
             timestampWritesOnAnotherPass.beginningOfPassWriteIndex !=
@@ -778,8 +778,8 @@
     }
 
     void TestTimestampWritesOnRenderPass(
-        const wgpu::RenderPassTimestampWrites& timestampWrites,
-        const wgpu::RenderPassTimestampWrites& timestampWritesOnAnotherPass = {},
+        const wgpu::PassTimestampWrites& timestampWrites,
+        const wgpu::PassTimestampWrites& timestampWritesOnAnotherPass = {},
         bool hasPipeline = true,
         bool hasFragmentStage = true) {
         bool hasAnotherPass =
diff --git a/src/dawn/tests/perf_tests/DawnPerfTest.h b/src/dawn/tests/perf_tests/DawnPerfTest.h
index 53aadda..57d3244 100644
--- a/src/dawn/tests/perf_tests/DawnPerfTest.h
+++ b/src/dawn/tests/perf_tests/DawnPerfTest.h
@@ -167,8 +167,8 @@
         ResolveTimestamps(encoder);
     }
 
-    wgpu::ComputePassTimestampWrites GetComputePassTimestampWrites() const {
-        wgpu::ComputePassTimestampWrites timestampWrites;
+    wgpu::PassTimestampWrites GetPassTimestampWrites() const {
+        wgpu::PassTimestampWrites timestampWrites;
         timestampWrites.querySet = mTimestampQuerySet;
         timestampWrites.beginningOfPassWriteIndex = 0;
         timestampWrites.endOfPassWriteIndex = 1;
diff --git a/src/dawn/tests/perf_tests/MatrixVectorMultiplyPerf.cpp b/src/dawn/tests/perf_tests/MatrixVectorMultiplyPerf.cpp
index 033fab1..73ad85f 100644
--- a/src/dawn/tests/perf_tests/MatrixVectorMultiplyPerf.cpp
+++ b/src/dawn/tests/perf_tests/MatrixVectorMultiplyPerf.cpp
@@ -470,9 +470,9 @@
     {
         wgpu::CommandEncoder encoder = device.CreateCommandEncoder();
         wgpu::ComputePassDescriptor computePassDesc;
-        wgpu::ComputePassTimestampWrites timestampWrites;
+        wgpu::PassTimestampWrites timestampWrites;
         if (useTimestamps) {
-            timestampWrites = GetComputePassTimestampWrites();
+            timestampWrites = GetPassTimestampWrites();
             computePassDesc.timestampWrites = &timestampWrites;
         }
         wgpu::ComputePassEncoder pass = encoder.BeginComputePass(&computePassDesc);
diff --git a/src/dawn/tests/perf_tests/ShaderRobustnessPerf.cpp b/src/dawn/tests/perf_tests/ShaderRobustnessPerf.cpp
index 48f2177..9a65d75 100644
--- a/src/dawn/tests/perf_tests/ShaderRobustnessPerf.cpp
+++ b/src/dawn/tests/perf_tests/ShaderRobustnessPerf.cpp
@@ -563,9 +563,9 @@
     {
         wgpu::CommandEncoder encoder = device.CreateCommandEncoder();
         wgpu::ComputePassDescriptor computePassDesc;
-        wgpu::ComputePassTimestampWrites timestampWrites;
+        wgpu::PassTimestampWrites timestampWrites;
         if (useTimestamps) {
-            timestampWrites = GetComputePassTimestampWrites();
+            timestampWrites = GetPassTimestampWrites();
             computePassDesc.timestampWrites = &timestampWrites;
         }
         wgpu::ComputePassEncoder pass = encoder.BeginComputePass(&computePassDesc);
diff --git a/src/dawn/tests/unittests/validation/QueryValidationTests.cpp b/src/dawn/tests/unittests/validation/QueryValidationTests.cpp
index 38cfd0f..8a99f99 100644
--- a/src/dawn/tests/unittests/validation/QueryValidationTests.cpp
+++ b/src/dawn/tests/unittests/validation/QueryValidationTests.cpp
@@ -267,9 +267,8 @@
         return {wgpu::FeatureName::TimestampQuery};
     }
 
-    void EncodeRenderPassWithTimestampWrites(
-        wgpu::CommandEncoder encoder,
-        const wgpu::RenderPassTimestampWrites& timestampWrites) {
+    void EncodeRenderPassWithTimestampWrites(wgpu::CommandEncoder encoder,
+                                             const wgpu::PassTimestampWrites& timestampWrites) {
         PlaceholderRenderPass renderPass(device);
         renderPass.timestampWrites = &timestampWrites;
 
@@ -277,9 +276,8 @@
         pass.End();
     }
 
-    void EncodeComputePassWithTimestampWrites(
-        wgpu::CommandEncoder encoder,
-        const wgpu::ComputePassTimestampWrites& timestampWrites) {
+    void EncodeComputePassWithTimestampWrites(wgpu::CommandEncoder encoder,
+                                              const wgpu::PassTimestampWrites& timestampWrites) {
         wgpu::ComputePassDescriptor descriptor;
         descriptor.timestampWrites = &timestampWrites;
 
diff --git a/src/dawn/tests/white_box/GPUTimestampCalibrationTests.cpp b/src/dawn/tests/white_box/GPUTimestampCalibrationTests.cpp
index f5d17f3..92162c4 100644
--- a/src/dawn/tests/white_box/GPUTimestampCalibrationTests.cpp
+++ b/src/dawn/tests/white_box/GPUTimestampCalibrationTests.cpp
@@ -165,7 +165,7 @@
                                            const wgpu::QuerySet& querySet) {
         switch (GetParam().mFeatureName) {
             case wgpu::FeatureName::TimestampQuery: {
-                wgpu::ComputePassTimestampWrites timestampWrites = {
+                wgpu::PassTimestampWrites timestampWrites = {
                     .querySet = querySet, .beginningOfPassWriteIndex = 0, .endOfPassWriteIndex = 1};
 
                 wgpu::ComputePassDescriptor descriptor;
@@ -198,7 +198,7 @@
 
         switch (GetParam().mFeatureName) {
             case wgpu::FeatureName::TimestampQuery: {
-                wgpu::RenderPassTimestampWrites timestampWrites = {
+                wgpu::PassTimestampWrites timestampWrites = {
                     .querySet = querySet, .beginningOfPassWriteIndex = 0, .endOfPassWriteIndex = 1};
                 renderPass.renderPassInfo.timestampWrites = &timestampWrites;
 
