Add some missing #includes.

Skia-dawn found these; not sure why Chrome and Dawn standalone don't.

Change-Id: I43706fbaca94d1718de0be727151dd8f3a191df2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9220
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
diff --git a/src/common/HashUtils.h b/src/common/HashUtils.h
index e0cd6e7..c42b60e 100644
--- a/src/common/HashUtils.h
+++ b/src/common/HashUtils.h
@@ -17,6 +17,7 @@
 
 #include "common/Platform.h"
 
+#include <bitset>
 #include <functional>
 
 // Wrapper around std::hash to make it a templated function instead of a functor. It is marginally
diff --git a/src/dawn_native/Buffer.cpp b/src/dawn_native/Buffer.cpp
index 4930e28..9f7239e 100644
--- a/src/dawn_native/Buffer.cpp
+++ b/src/dawn_native/Buffer.cpp
@@ -19,6 +19,7 @@
 #include "dawn_native/DynamicUploader.h"
 #include "dawn_native/ValidationUtils_autogen.h"
 
+#include <string.h>
 #include <cstdio>
 #include <utility>
 
diff --git a/src/dawn_native/Buffer.h b/src/dawn_native/Buffer.h
index 52ea2c3..bcb6a0d 100644
--- a/src/dawn_native/Buffer.h
+++ b/src/dawn_native/Buffer.h
@@ -21,6 +21,8 @@
 
 #include "dawn_native/dawn_platform.h"
 
+#include <memory>
+
 namespace dawn_native {
 
     MaybeError ValidateBufferDescriptor(DeviceBase* device, const BufferDescriptor* descriptor);
diff --git a/src/dawn_native/RingBuffer.cpp b/src/dawn_native/RingBuffer.cpp
index cae3170..90b9213 100644
--- a/src/dawn_native/RingBuffer.cpp
+++ b/src/dawn_native/RingBuffer.cpp
@@ -15,6 +15,8 @@
 #include "dawn_native/RingBuffer.h"
 #include "dawn_native/Device.h"
 
+#include <limits>
+
 // Note: Current RingBuffer implementation uses two indices (start and end) to implement a circular
 // queue. However, this approach defines a full queue when one element is still unused.
 //
@@ -145,4 +147,4 @@
 
         return uploadHandle;
     }
-}  // namespace dawn_native
\ No newline at end of file
+}  // namespace dawn_native