dawn_node: Fix default adapter selection
The Null adapter was always being used when no backend override was
specified, instead of the platform's default adapter.
Change-Id: I3d8ae62aacda1309a141c3ca39d6e03252fc5e94
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/75700
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/dawn_node/binding/GPU.cpp b/src/dawn_node/binding/GPU.cpp
index 9cbb413..c123c1e 100644
--- a/src/dawn_node/binding/GPU.cpp
+++ b/src/dawn_node/binding/GPU.cpp
@@ -136,21 +136,25 @@
promise.Reject("unknown backend '" + forceBackend + "'");
return promise;
}
+ }
- bool found = false;
- for (size_t i = 0; i < adapters.size(); ++i) {
- wgpu::AdapterProperties props;
- adapters[i].GetProperties(&props);
- if (props.backendType == targetBackendType) {
- adapterIndex = i;
- found = true;
- break;
- }
+ bool found = false;
+ for (size_t i = 0; i < adapters.size(); ++i) {
+ wgpu::AdapterProperties props;
+ adapters[i].GetProperties(&props);
+ if (props.backendType == targetBackendType) {
+ adapterIndex = i;
+ found = true;
+ break;
}
- if (!found) {
+ }
+ if (!found) {
+ if (!forceBackend.empty()) {
promise.Reject("backend '" + forceBackend + "' not found");
- return promise;
+ } else {
+ promise.Reject("no suitable backends found");
}
+ return promise;
}
auto adapter = GPUAdapter::Create<GPUAdapter>(env, adapters[adapterIndex], flags_);