node: Propagate toggles into EnumerateAdapters
Change-Id: I10869595793de585a8f73d4f7a229515575731f0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/140302
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/src/dawn/node/binding/GPU.cpp b/src/dawn/node/binding/GPU.cpp
index 643da53..9a3ff79 100644
--- a/src/dawn/node/binding/GPU.cpp
+++ b/src/dawn/node/binding/GPU.cpp
@@ -21,6 +21,7 @@
#include <vector>
#include "src/dawn/node/binding/GPUAdapter.h"
+#include "src/dawn/node/binding/TogglesLoader.h"
#if defined(_WIN32)
#include <Windows.h>
@@ -119,7 +120,17 @@
return promise;
}
- auto adapters = instance_.EnumerateAdapters();
+ RequestAdapterOptions nativeOptions;
+ if (options.powerPreference.has_value()) {
+ // TODO(dneto): Assign power preference
+ }
+
+ // Propagate toggles.
+ TogglesLoader togglesLoader(flags_);
+ DawnTogglesDescriptor togglesDescriptor = togglesLoader.GetDescriptor();
+ nativeOptions.nextInChain = &togglesDescriptor;
+
+ auto adapters = instance_.EnumerateAdapters(&nativeOptions);
if (adapters.empty()) {
promise.Resolve({});
return promise;