node: Throw a TypeError when writeTimestamp is not supported
Bug: None
Change-Id: I7e02883c53371c40a9e1766d50550ffc43165c2e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112425
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/src/dawn/node/binding/GPUCommandEncoder.cpp b/src/dawn/node/binding/GPUCommandEncoder.cpp
index 8e38168..87fa612 100644
--- a/src/dawn/node/binding/GPUCommandEncoder.cpp
+++ b/src/dawn/node/binding/GPUCommandEncoder.cpp
@@ -173,6 +173,12 @@
void GPUCommandEncoder::writeTimestamp(Napi::Env env,
interop::Interface<interop::GPUQuerySet> querySet,
interop::GPUSize32 queryIndex) {
+ if (!device_.HasFeature(wgpu::FeatureName::TimestampQuery)) {
+ Napi::TypeError::New(env, "timestamp-query feature is not enabled.")
+ .ThrowAsJavaScriptException();
+ return;
+ }
+
Converter conv(env);
wgpu::QuerySet q{};