Update samples to process events.

This CL updates the `dawn/sample` programs to call the
`dawn::native::InstanceProcessEvents` which allows things like shader
validation errors to be emitted.

Without this change the errors are never displayed.

Change-Id: I054bb4f7177c5d0c110e97409852143b2bef1e02
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/126760
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
diff --git a/src/dawn/samples/Animometer.cpp b/src/dawn/samples/Animometer.cpp
index 810abf7..9d870c9 100644
--- a/src/dawn/samples/Animometer.cpp
+++ b/src/dawn/samples/Animometer.cpp
@@ -186,6 +186,7 @@
     timer->Start();
     while (!ShouldQuit()) {
         utils::ScopedAutoreleasePool pool;
+        ProcessEvents();
         frameCount++;
         frame();
         if (frameCount % 60 == 0) {
diff --git a/src/dawn/samples/CHelloTriangle.cpp b/src/dawn/samples/CHelloTriangle.cpp
index 68ec723..c3b6ab3 100644
--- a/src/dawn/samples/CHelloTriangle.cpp
+++ b/src/dawn/samples/CHelloTriangle.cpp
@@ -143,6 +143,7 @@
 
     while (!ShouldQuit()) {
         utils::ScopedAutoreleasePool pool;
+        ProcessEvents();
         frame();
         utils::USleep(16000);
     }
diff --git a/src/dawn/samples/ComputeBoids.cpp b/src/dawn/samples/ComputeBoids.cpp
index 86158e9..4cab8ab 100644
--- a/src/dawn/samples/ComputeBoids.cpp
+++ b/src/dawn/samples/ComputeBoids.cpp
@@ -323,6 +323,7 @@
 
     while (!ShouldQuit()) {
         utils::ScopedAutoreleasePool pool;
+        ProcessEvents();
         frame();
         utils::USleep(16000);
     }
diff --git a/src/dawn/samples/CppHelloTriangle.cpp b/src/dawn/samples/CppHelloTriangle.cpp
index 48e52c7..8f7299f 100644
--- a/src/dawn/samples/CppHelloTriangle.cpp
+++ b/src/dawn/samples/CppHelloTriangle.cpp
@@ -176,6 +176,7 @@
 
     while (!ShouldQuit()) {
         utils::ScopedAutoreleasePool pool;
+        ProcessEvents();
         frame();
         utils::USleep(16000);
     }
diff --git a/src/dawn/samples/ManualSwapChainTest.cpp b/src/dawn/samples/ManualSwapChainTest.cpp
index 4d82e32..01c0c9f 100644
--- a/src/dawn/samples/ManualSwapChainTest.cpp
+++ b/src/dawn/samples/ManualSwapChainTest.cpp
@@ -339,6 +339,7 @@
     while (windows.size() != 0) {
         utils::ScopedAutoreleasePool pool;
         glfwPollEvents();
+        wgpuInstanceProcessEvents(instance->Get());
 
         for (auto it = windows.begin(); it != windows.end();) {
             GLFWwindow* window = it->first;
diff --git a/src/dawn/samples/SampleUtils.cpp b/src/dawn/samples/SampleUtils.cpp
index f635813..0dc2eee 100644
--- a/src/dawn/samples/SampleUtils.cpp
+++ b/src/dawn/samples/SampleUtils.cpp
@@ -391,3 +391,7 @@
 GLFWwindow* GetGLFWWindow() {
     return window;
 }
+
+void ProcessEvents() {
+    dawn::native::InstanceProcessEvents(instance->Get());
+}
diff --git a/src/dawn/samples/SampleUtils.h b/src/dawn/samples/SampleUtils.h
index 2ff351c..4776175 100644
--- a/src/dawn/samples/SampleUtils.h
+++ b/src/dawn/samples/SampleUtils.h
@@ -28,5 +28,6 @@
 wgpu::TextureFormat GetPreferredSwapChainTextureFormat();
 wgpu::SwapChain GetSwapChain();
 wgpu::TextureView CreateDefaultDepthStencilView(const wgpu::Device& device);
+void ProcessEvents();
 
 #endif  // SRC_DAWN_SAMPLES_SAMPLEUTILS_H_