update deno (#3379)

* update deno

* update spec

* remove unrelated changes
This commit is contained in:
Leo Kettmeir 2023-01-14 17:07:46 +01:00 committed by GitHub
parent 8c9f3f159b
commit b39c0b9de1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 83 additions and 117 deletions

53
Cargo.lock generated
View File

@ -548,18 +548,18 @@ dependencies = [
[[package]]
name = "deno_console"
version = "0.80.0"
version = "0.84.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68a13f7497eaec2c5b7f766d7cecbdd8547611dabd6ce8f615c507d275887049"
checksum = "b1fcedec1b382f40fd1ab38d18edb5715d5cd5f65bd949c83387c43152fd34a8"
dependencies = [
"deno_core",
]
[[package]]
name = "deno_core"
version = "0.162.0"
version = "0.166.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f2aa18d22faadc44c9c287b4d6f5a0f2aeea75a120d2a7d400a98e4b9255584"
checksum = "c5db7d38c223a683b23b7ff4967572ec863f40397fa1bb792383273629e1e39f"
dependencies = [
"anyhow",
"bytes",
@ -582,9 +582,9 @@ dependencies = [
[[package]]
name = "deno_ops"
version = "0.40.0"
version = "0.44.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83ddd1b980dcf7c7b4ad586338704c78c6423608f4b8fd622d72bfa76006333f"
checksum = "27e85062a5f1a79194e7dd1bb8c664f0979bf5c869a8f2208192cbcb6e18e6e7"
dependencies = [
"once_cell",
"pmutil",
@ -597,9 +597,9 @@ dependencies = [
[[package]]
name = "deno_url"
version = "0.80.0"
version = "0.84.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d0cf9b99857820d594cc816b84507ba062f276427aab815c380cdeec6554021"
checksum = "26886a84668c9420acbec6ca83b33a51c68310efdf3cdc7ec797c2f2bc873af8"
dependencies = [
"deno_core",
"serde",
@ -609,9 +609,9 @@ dependencies = [
[[package]]
name = "deno_web"
version = "0.111.0"
version = "0.115.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54f0a00df81eee23798d2a516bdc54d7541e3008310b26e7f79533df7d22bd7b"
checksum = "bacd1dda9935fdc8727057b26b3bdfdb8f72a7dd0b168a2eeb3537c99c5bf1e6"
dependencies = [
"async-trait",
"base64-simd",
@ -625,7 +625,7 @@ dependencies = [
[[package]]
name = "deno_webgpu"
version = "0.81.0"
version = "0.85.0"
dependencies = [
"deno_core",
"raw-window-handle 0.5.0",
@ -637,9 +637,9 @@ dependencies = [
[[package]]
name = "deno_webidl"
version = "0.80.0"
version = "0.84.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92a564d515fb807b1f2712717b4de5082cc59f3f86a7e233c04231a760c001e5"
checksum = "1cfddf618b405e0399cf923f3ce7d3d7e2b472f817d2fb7f70a12e0cafd849a5"
dependencies = [
"deno_core",
]
@ -1630,9 +1630,9 @@ dependencies = [
[[package]]
name = "once_cell"
version = "1.14.0"
version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0"
checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
[[package]]
name = "osmesa-sys"
@ -2087,9 +2087,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]]
name = "serde"
version = "1.0.144"
version = "1.0.149"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860"
checksum = "256b9932320c590e707b94576e3cc1f7c9024d0ee6612dfbcf1cb106cbe8e055"
dependencies = [
"serde_derive",
]
@ -2105,9 +2105,9 @@ dependencies = [
[[package]]
name = "serde_derive"
version = "1.0.144"
version = "1.0.149"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00"
checksum = "b4eae9b04cbffdfd550eb462ed33bc6a1b68c935127d008b27444d08380f94e4"
dependencies = [
"proc-macro2",
"quote",
@ -2139,9 +2139,9 @@ dependencies = [
[[package]]
name = "serde_v8"
version = "0.73.0"
version = "0.77.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17891f7f7e138e2d25fafd19b5f7a95c2cf1e72be0e6804343c63aa6e90b0287"
checksum = "36203a818a80f973b4b487bfc32d173b2bf78821869513af2f6e8c93938fa0e3"
dependencies = [
"bytes",
"derive_more",
@ -2387,9 +2387,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
[[package]]
name = "tokio"
version = "1.21.1"
version = "1.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0020c875007ad96677dcc890298f4b942882c5d4eb7cc8f439fc3bf813dc9c95"
checksum = "7125661431c26622a80ca5051a2f936c9a678318e0351007b0cc313143024e5c"
dependencies = [
"autocfg",
"bytes",
@ -2397,13 +2397,12 @@ dependencies = [
"memchr",
"mio",
"num_cpus",
"once_cell",
"parking_lot 0.12.1",
"pin-project-lite",
"signal-hook-registry",
"socket2",
"tokio-macros",
"winapi",
"windows-sys 0.42.0",
]
[[package]]
@ -2543,9 +2542,9 @@ dependencies = [
[[package]]
name = "v8"
version = "0.58.0"
version = "0.60.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e9b88668afedf6ec9f8f6d30b446f622498da2ef0b3991a52e10f0ea8c6cc09"
checksum = "5867543c19b87c45ed3f2bc49eb6135474ed6a1803cac40c278620b53e9865ef"
dependencies = [
"bitflags",
"fslock",

View File

@ -118,11 +118,11 @@ wasm-bindgen-test = "0.3"
web-sys = "0.3.60"
# deno dependencies
deno_console = "0.80.0"
deno_core = "0.162.0"
deno_url = "0.80.0"
deno_web = "0.111.0"
deno_webidl = "0.80.0"
deno_console = "0.84.0"
deno_core = "0.166.0"
deno_url = "0.84.0"
deno_web = "0.115.0"
deno_webidl = "0.84.0"
deno_webgpu = { path = "./deno_webgpu" }
tokio = "1.19.0"
termcolor = "1.1.2"

View File

@ -71,7 +71,7 @@ async fn run() -> Result<(), AnyError> {
}
fn extension() -> deno_core::Extension {
deno_core::Extension::builder()
deno_core::Extension::builder("bootstrap")
.ops(vec![
op_exit::decl(),
op_read_file_sync::decl(),

View File

@ -1,8 +1,8 @@
# Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
# Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
[package]
name = "deno_webgpu"
version = "0.81.0"
version = "0.85.0"
authors = ["the Deno authors"]
edition.workspace = true
license = "MIT"

View File

@ -1,6 +1,6 @@
MIT License
Copyright 2018-2022 the Deno authors
Copyright 2018-2023 the Deno authors
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
// @ts-check
/// <reference path="../../core/lib.deno_core.d.ts" />
@ -34,14 +34,9 @@
SafeArrayIterator,
SafePromiseAll,
Set,
SetPrototypeEntries,
SetPrototypeForEach,
SetPrototypeHas,
SetPrototypeKeys,
SetPrototypeValues,
Symbol,
SymbolFor,
SymbolIterator,
TypeError,
Uint32Array,
Uint32ArrayPrototype,
@ -61,7 +56,6 @@
const _architecture = Symbol("[[architecture]]");
const _description = Symbol("[[description]]");
const _limits = Symbol("[[limits]]");
const _features = Symbol("[[features]]");
const _reason = Symbol("[[reason]]");
const _message = Symbol("[[message]]");
const _label = Symbol("[[label]]");
@ -332,8 +326,9 @@
context: "Argument 1",
});
const requiredFeatures = descriptor.requiredFeatures ?? [];
for (const feature of requiredFeatures) {
if (!SetPrototypeHas(this[_adapter].features[_features], feature)) {
for (let i = 0; i < requiredFeatures.length; ++i) {
const feature = requiredFeatures[i];
if (!SetPrototypeHas(this[_adapter].features[webidl.setlikeInner], feature)) {
throw new TypeError(
`${prefix}: nonGuaranteedFeatures must be a subset of the adapter features.`,
);
@ -518,6 +513,10 @@
webidl.assertBranded(this, GPUSupportedLimitsPrototype);
return this[_limits].maxBindGroups;
}
get maxBindingsPerBindGroup() {
webidl.assertBranded(this, GPUSupportedLimitsPrototype);
return this[_limits].maxBindingsPerBindGroup;
}
get maxBufferSize() {
webidl.assertBranded(this, GPUSupportedLimitsPrototype);
return this[_limits].maxBufferSize;
@ -615,60 +614,19 @@
function createGPUSupportedFeatures(features) {
/** @type {GPUSupportedFeatures} */
const adapterFeatures = webidl.createBranded(GPUSupportedFeatures);
adapterFeatures[_features] = new Set(features);
return adapterFeatures;
const supportedFeatures = webidl.createBranded(GPUSupportedFeatures);
supportedFeatures[webidl.setlikeInner] = new Set(features);
return webidl.setlike(
supportedFeatures,
GPUSupportedFeaturesPrototype,
true,
);
}
class GPUSupportedFeatures {
/** @type {Set<string>} */
[_features];
constructor() {
webidl.illegalConstructor();
}
/** @return {IterableIterator<[string, string]>} */
entries() {
webidl.assertBranded(this, GPUSupportedFeaturesPrototype);
return SetPrototypeEntries(this[_features]);
}
/** @return {void} */
forEach(callbackfn, thisArg) {
webidl.assertBranded(this, GPUSupportedFeaturesPrototype);
SetPrototypeForEach(this[_features], callbackfn, thisArg);
}
/** @return {boolean} */
has(value) {
webidl.assertBranded(this, GPUSupportedFeaturesPrototype);
return SetPrototypeHas(this[_features], value);
}
/** @return {IterableIterator<string>} */
keys() {
webidl.assertBranded(this, GPUSupportedFeaturesPrototype);
return SetPrototypeKeys(this[_features]);
}
/** @return {IterableIterator<string>} */
values() {
webidl.assertBranded(this, GPUSupportedFeaturesPrototype);
return SetPrototypeValues(this[_features]);
}
/** @return {number} */
get size() {
webidl.assertBranded(this, GPUSupportedFeaturesPrototype);
return this[_features].size;
}
[SymbolIterator]() {
webidl.assertBranded(this, GPUSupportedFeaturesPrototype);
return this[_features][SymbolIterator]();
}
[SymbolFor("Deno.privateCustomInspect")](inspect) {
return `${this.constructor.name} ${
inspect([...new SafeArrayIterator(this.values())])
@ -1060,7 +1018,9 @@
context: "Argument 1",
});
const device = assertDevice(this, { prefix, context: "this" });
for (const entry of descriptor.entries) {
for (let i = 0; i < descriptor.entries.length; ++i) {
const entry = descriptor.entries[i];
let i = 0;
if (entry.buffer) i++;
if (entry.sampler) i++;
@ -1599,8 +1559,8 @@
},
);
const { err } = ops.op_webgpu_queue_submit(device.rid, commandBufferRids);
for (const commandBuffer of commandBuffers) {
commandBuffer[_rid] = undefined;
for (let i = 0; i < commandBuffers.length; ++i) {
commandBuffers[i][_rid] = undefined;
}
device.pushError(err);
}
@ -1956,7 +1916,8 @@
if (!mappedRanges) {
throw new DOMException(`${prefix}: invalid state.`, "OperationError");
}
for (const [buffer, _rid, start] of mappedRanges) {
for (let i = 0; i < mappedRanges.length; ++i) {
const [buffer, _rid, start] = mappedRanges[i];
// TODO(lucacasonato): is this logic correct?
const end = start + buffer.byteLength;
if (
@ -2024,7 +1985,8 @@
if (!mappedRanges) {
throw new DOMException(`${prefix}: invalid state.`, "OperationError");
}
for (const [buffer, mappedRid] of mappedRanges) {
for (let i = 0; i < mappedRanges.length; ++i) {
const [buffer, mappedRid] = mappedRanges[i];
const { err } = ops.op_webgpu_buffer_unmap(
bufferRid,
mappedRid,

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
// @ts-check
/// <reference path="../web/internal.d.ts" />

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
// @ts-check
/// <reference path="../../core/lib.deno_core.d.ts" />

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
// @ts-check
/// <reference path="../../core/lib.deno_core.d.ts" />

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use deno_core::error::AnyError;
use deno_core::op;

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use deno_core::error::type_error;
use deno_core::error::AnyError;

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use deno_core::error::{type_error, AnyError};
use deno_core::op;

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use deno_core::error::AnyError;
use deno_core::op;

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use deno_core::error::AnyError;
use deno_core::op;

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use deno_core::error::AnyError;
use deno_core::ResourceId;
use serde::Serialize;

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
#![warn(unsafe_op_in_unsafe_fn)]
@ -117,7 +117,8 @@ impl Resource for WebGpuQuerySet {
}
pub fn init(unstable: bool) -> Extension {
Extension::builder()
Extension::builder(env!("CARGO_PKG_NAME"))
.dependencies(vec!["deno_webidl", "deno_web"])
.js(include_js_files!(
prefix "deno:deno_webgpu",
"01_webgpu.js",

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use deno_core::error::AnyError;
use deno_core::op;

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use std::num::NonZeroU32;

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use deno_core::error::type_error;
use deno_core::error::AnyError;

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use deno_core::error::AnyError;
use deno_core::op;

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use deno_core::error::AnyError;
use deno_core::op;

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use super::WebGpuResult;
use deno_core::error::AnyError;
@ -13,7 +13,8 @@ use std::borrow::Cow;
use wgpu_types::SurfaceStatus;
pub fn init_surface(unstable: bool) -> Extension {
Extension::builder()
Extension::builder("deno_webgpu_surface")
.dependencies(vec!["deno_webidl", "deno_web", "deno_webgpu"])
.js(include_js_files!(
prefix "deno:deno_webgpu",
"03_surface.js",

View File

@ -1,4 +1,4 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
use deno_core::error::AnyError;
use deno_core::op;

View File

@ -13,6 +13,7 @@ interface GPUSupportedLimits {
readonly attribute unsigned long maxTextureDimension3D;
readonly attribute unsigned long maxTextureArrayLayers;
readonly attribute unsigned long maxBindGroups;
readonly attribute unsigned long maxBindingsPerBindGroup;
readonly attribute unsigned long maxDynamicUniformBuffersPerPipelineLayout;
readonly attribute unsigned long maxDynamicStorageBuffersPerPipelineLayout;
readonly attribute unsigned long maxSampledTexturesPerShaderStage;
@ -1065,6 +1066,8 @@ enum GPUPipelineStatisticName {
[Exposed=(Window, DedicatedWorker), SecureContext]
interface GPUCanvasContext {
readonly attribute (HTMLCanvasElement or OffscreenCanvas) canvas;
undefined configure(GPUCanvasConfiguration configuration);
undefined unconfigure();