diff options
Diffstat (limited to 'ext/webgpu/01_webgpu.js')
-rw-r--r-- | ext/webgpu/01_webgpu.js | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/ext/webgpu/01_webgpu.js b/ext/webgpu/01_webgpu.js index 15b82a8e3..2c30e47f0 100644 --- a/ext/webgpu/01_webgpu.js +++ b/ext/webgpu/01_webgpu.js @@ -423,6 +423,8 @@ class GPUAdapter { [_adapter]; /** @type {bool} */ [_invalid]; + /** @type {GPUAdapterInfo | undefined} */ + #adapterInfo; /** @returns {GPUSupportedFeatures} */ get features() { @@ -502,9 +504,9 @@ class GPUAdapter { } /** - * @returns {Promise<GPUAdapterInfo>} + * @returns {GPUAdapterInfo} */ - requestAdapterInfo() { + get info() { webidl.assertBranded(this, GPUAdapterPrototype); if (this[_invalid]) { @@ -513,6 +515,10 @@ class GPUAdapter { ); } + if (this.#adapterInfo !== undefined) { + return this.#adapterInfo; + } + const { vendor, architecture, @@ -525,7 +531,8 @@ class GPUAdapter { adapterInfo[_architecture] = architecture; adapterInfo[_device] = device; adapterInfo[_description] = description; - return PromiseResolve(adapterInfo); + this.#adapterInfo = adapterInfo; + return adapterInfo; } [SymbolFor("Deno.privateCustomInspect")](inspect, inspectOptions) { |