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;