Move to A Single Example Executable (#4756)
* Move to combined examples * Fix paths * Curtail some tests * Format * Clippy * Fix wasm * Refactor main for wasm * Style sheet * Readme * Lock
511
Cargo.lock
generated
@ -4,9 +4,9 @@ version = 3
|
||||
|
||||
[[package]]
|
||||
name = "ab_glyph"
|
||||
version = "0.2.22"
|
||||
version = "0.2.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b1061f3ff92c2f65800df1f12fc7b4ff44ee14783104187dd04dfee6f11b0fd2"
|
||||
checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225"
|
||||
dependencies = [
|
||||
"ab_glyph_rasterizer",
|
||||
"owned_ttf_parser",
|
||||
@ -502,9 +502,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.4.7"
|
||||
version = "4.4.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b"
|
||||
checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
@ -512,9 +512,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.4.7"
|
||||
version = "4.4.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663"
|
||||
checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
@ -881,9 +881,9 @@ checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35"
|
||||
|
||||
[[package]]
|
||||
name = "cursor-icon"
|
||||
version = "1.0.0"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "740bb192a8e2d1350119916954f4409ee7f62f149b536911eeb78ba5a20526bf"
|
||||
checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
|
||||
|
||||
[[package]]
|
||||
name = "d3d12"
|
||||
@ -931,9 +931,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "data-encoding"
|
||||
version = "2.4.0"
|
||||
version = "2.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
|
||||
checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
|
||||
|
||||
[[package]]
|
||||
name = "ddsfile"
|
||||
@ -1025,7 +1025,7 @@ dependencies = [
|
||||
"lazy-regex",
|
||||
"once_cell",
|
||||
"pmutil",
|
||||
"proc-macro-crate",
|
||||
"proc-macro-crate 1.3.1",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"regex",
|
||||
@ -1240,9 +1240,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
|
||||
|
||||
[[package]]
|
||||
name = "errno"
|
||||
version = "0.3.5"
|
||||
version = "0.3.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
|
||||
checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.48.0",
|
||||
@ -1269,9 +1269,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "fdeflate"
|
||||
version = "0.3.0"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
|
||||
checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868"
|
||||
dependencies = [
|
||||
"simd-adler32",
|
||||
]
|
||||
@ -1364,9 +1364,9 @@ checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
|
||||
|
||||
[[package]]
|
||||
name = "form_urlencoded"
|
||||
version = "1.2.0"
|
||||
version = "1.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
|
||||
checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
|
||||
dependencies = [
|
||||
"percent-encoding",
|
||||
]
|
||||
@ -1793,9 +1793,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
|
||||
|
||||
[[package]]
|
||||
name = "idna"
|
||||
version = "0.4.0"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
|
||||
checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
|
||||
dependencies = [
|
||||
"unicode-bidi",
|
||||
"unicode-normalization",
|
||||
@ -1930,9 +1930,9 @@ checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
|
||||
|
||||
[[package]]
|
||||
name = "lazy-regex"
|
||||
version = "3.0.2"
|
||||
version = "3.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e723bd417b2df60a0f6a2b6825f297ea04b245d4ba52b5a22cb679bdf58b05fa"
|
||||
checksum = "5d12be4595afdf58bd19e4a9f4e24187da2a66700786ff660a418e9059937a4c"
|
||||
dependencies = [
|
||||
"lazy-regex-proc_macros",
|
||||
"once_cell",
|
||||
@ -1941,9 +1941,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "lazy-regex-proc_macros"
|
||||
version = "3.0.1"
|
||||
version = "3.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0f0a1d9139f0ee2e862e08a9c5d0ba0470f2aa21cd1e1aa1b1562f83116c725f"
|
||||
checksum = "44bcd58e6c97a7fcbaffcdc95728b393b8d98933bfadad49ed4097845b57ef0b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -1994,6 +1994,17 @@ dependencies = [
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libredox"
|
||||
version = "0.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
|
||||
dependencies = [
|
||||
"bitflags 2.4.1",
|
||||
"libc",
|
||||
"redox_syscall 0.4.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libtest-mimic"
|
||||
version = "0.6.1"
|
||||
@ -2017,9 +2028,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.4.10"
|
||||
version = "0.4.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
|
||||
checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
|
||||
|
||||
[[package]]
|
||||
name = "lock_api"
|
||||
@ -2272,7 +2283,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0df7ac00c4672f9d5aece54ee3347520b7e20f158656c7db2e6de01902eb7a6c"
|
||||
dependencies = [
|
||||
"darling",
|
||||
"proc-macro-crate",
|
||||
"proc-macro-crate 1.3.1",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
@ -2429,7 +2440,7 @@ version = "0.5.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
|
||||
dependencies = [
|
||||
"proc-macro-crate",
|
||||
"proc-macro-crate 1.3.1",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
@ -2441,7 +2452,7 @@ version = "0.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e"
|
||||
dependencies = [
|
||||
"proc-macro-crate",
|
||||
"proc-macro-crate 2.0.0",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
@ -2535,11 +2546,11 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
|
||||
|
||||
[[package]]
|
||||
name = "orbclient"
|
||||
version = "0.3.46"
|
||||
version = "0.3.47"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8378ac0dfbd4e7895f2d2c1f1345cab3836910baf3a300b000d04250f0c8428f"
|
||||
checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166"
|
||||
dependencies = [
|
||||
"redox_syscall 0.3.5",
|
||||
"libredox",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2559,9 +2570,9 @@ checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a"
|
||||
|
||||
[[package]]
|
||||
name = "owned_ttf_parser"
|
||||
version = "0.19.0"
|
||||
version = "0.20.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "706de7e2214113d63a8238d1910463cfce781129a6f263d13fdb09ff64355ba4"
|
||||
checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7"
|
||||
dependencies = [
|
||||
"ttf-parser",
|
||||
]
|
||||
@ -2606,9 +2617,9 @@ checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
|
||||
|
||||
[[package]]
|
||||
name = "percent-encoding"
|
||||
version = "2.3.0"
|
||||
version = "2.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
|
||||
checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
|
||||
|
||||
[[package]]
|
||||
name = "petgraph"
|
||||
@ -2772,7 +2783,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"toml_edit",
|
||||
"toml_edit 0.19.15",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro-crate"
|
||||
version = "2.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8"
|
||||
dependencies = [
|
||||
"toml_edit 0.20.7",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2879,15 +2899,6 @@ dependencies = [
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.2.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.3.5"
|
||||
@ -2994,9 +3005,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "0.38.21"
|
||||
version = "0.38.25"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
|
||||
checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
|
||||
dependencies = [
|
||||
"bitflags 2.4.1",
|
||||
"errno",
|
||||
@ -3285,9 +3296,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "sourcemap"
|
||||
version = "7.0.0"
|
||||
version = "7.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dbecc42a2b6131acc3bf9a25c9fe4161dba438eb52131bba83c5d781b5b70be3"
|
||||
checksum = "10da010a590ed2fa9ca8467b00ce7e9c5a8017742c0c09c45450efc172208c4b"
|
||||
dependencies = [
|
||||
"data-encoding",
|
||||
"debugid",
|
||||
@ -3420,12 +3431,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "thread-id"
|
||||
version = "4.1.0"
|
||||
version = "4.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3ee93aa2b8331c0fec9091548843f2c90019571814057da3b783f9de09349d73"
|
||||
checksum = "f0ec81c46e9eb50deaa257be2f148adf052d1fb7701cfd55ccfab2525280b70b"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"redox_syscall 0.2.16",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
@ -3560,6 +3570,17 @@ dependencies = [
|
||||
"winnow",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml_edit"
|
||||
version = "0.20.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"toml_datetime",
|
||||
"winnow",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing"
|
||||
version = "0.1.40"
|
||||
@ -3578,9 +3599,9 @@ checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
|
||||
|
||||
[[package]]
|
||||
name = "ttf-parser"
|
||||
version = "0.19.2"
|
||||
version = "0.20.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "49d64318d8311fc2668e48b63969f4343e0a85c4a109aa8460d6672e364b8bd1"
|
||||
checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4"
|
||||
|
||||
[[package]]
|
||||
name = "unic-char-property"
|
||||
@ -3670,9 +3691,9 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
|
||||
|
||||
[[package]]
|
||||
name = "url"
|
||||
version = "2.4.1"
|
||||
version = "2.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
|
||||
checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
|
||||
dependencies = [
|
||||
"form_urlencoded",
|
||||
"idna",
|
||||
@ -3701,9 +3722,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
|
||||
|
||||
[[package]]
|
||||
name = "uuid"
|
||||
version = "1.5.0"
|
||||
version = "1.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc"
|
||||
checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
|
||||
dependencies = [
|
||||
"getrandom",
|
||||
"serde",
|
||||
@ -4087,45 +4108,6 @@ dependencies = [
|
||||
"wgpu-types",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-boids-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"nanorand",
|
||||
"wasm-bindgen-test",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-bunnymark-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"glam",
|
||||
"nanorand",
|
||||
"png",
|
||||
"wasm-bindgen-test",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-conservative-raster-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"wasm-bindgen-test",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-core"
|
||||
version = "0.18.0"
|
||||
@ -4150,33 +4132,31 @@ dependencies = [
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-cube-example"
|
||||
name = "wgpu-examples"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"glam",
|
||||
"wasm-bindgen-test",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"console_error_panic_hook",
|
||||
"console_log",
|
||||
"ddsfile",
|
||||
"encase",
|
||||
"env_logger",
|
||||
"fern",
|
||||
"flume",
|
||||
"futures-intrusive",
|
||||
"getrandom",
|
||||
"glam",
|
||||
"js-sys",
|
||||
"log",
|
||||
"nanorand",
|
||||
"noise",
|
||||
"obj",
|
||||
"png",
|
||||
"pollster",
|
||||
"wasm-bindgen",
|
||||
"wasm-bindgen-futures",
|
||||
"wasm-bindgen-test",
|
||||
"web-sys",
|
||||
"web-time",
|
||||
"wgpu",
|
||||
@ -4230,101 +4210,6 @@ dependencies = [
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-hello-compute-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"console_error_panic_hook",
|
||||
"console_log",
|
||||
"env_logger",
|
||||
"flume",
|
||||
"log",
|
||||
"pollster",
|
||||
"wasm-bindgen-futures",
|
||||
"wasm-bindgen-test",
|
||||
"wgpu",
|
||||
"wgpu-test",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-hello-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"console_error_panic_hook",
|
||||
"console_log",
|
||||
"env_logger",
|
||||
"glam",
|
||||
"log",
|
||||
"pollster",
|
||||
"wasm-bindgen-futures",
|
||||
"wgpu",
|
||||
"wgpu-test",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-hello-synchronization-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"console_error_panic_hook",
|
||||
"console_log",
|
||||
"env_logger",
|
||||
"flume",
|
||||
"log",
|
||||
"pollster",
|
||||
"wasm-bindgen-futures",
|
||||
"wasm-bindgen-test",
|
||||
"web-sys",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-hello-triangle-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"console_error_panic_hook",
|
||||
"console_log",
|
||||
"env_logger",
|
||||
"pollster",
|
||||
"wasm-bindgen-futures",
|
||||
"web-sys",
|
||||
"wgpu",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-hello-windows-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"console_error_panic_hook",
|
||||
"env_logger",
|
||||
"pollster",
|
||||
"wgpu",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-hello-workgroups-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"console_error_panic_hook",
|
||||
"console_log",
|
||||
"env_logger",
|
||||
"futures-intrusive",
|
||||
"log",
|
||||
"pollster",
|
||||
"wasm-bindgen-futures",
|
||||
"web-sys",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-info"
|
||||
version = "0.18.0"
|
||||
@ -4348,148 +4233,6 @@ dependencies = [
|
||||
"syn 2.0.39",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-mipmap-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"glam",
|
||||
"wasm-bindgen-test",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-msaa-line-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"glam",
|
||||
"log",
|
||||
"wasm-bindgen-test",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-render-to-texture-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"console_error_panic_hook",
|
||||
"console_log",
|
||||
"env_logger",
|
||||
"futures-intrusive",
|
||||
"log",
|
||||
"png",
|
||||
"pollster",
|
||||
"wasm-bindgen",
|
||||
"wasm-bindgen-futures",
|
||||
"web-sys",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-repeated-compute-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"console_error_panic_hook",
|
||||
"console_log",
|
||||
"env_logger",
|
||||
"futures-intrusive",
|
||||
"getrandom",
|
||||
"log",
|
||||
"pollster",
|
||||
"wasm-bindgen-futures",
|
||||
"wasm-bindgen-test",
|
||||
"web-sys",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-shadow-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"glam",
|
||||
"wasm-bindgen-test",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-skybox-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"ddsfile",
|
||||
"glam",
|
||||
"log",
|
||||
"obj",
|
||||
"wasm-bindgen-test",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-srgb-blend-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"glam",
|
||||
"wasm-bindgen-test",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-stencil-triangle-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"wasm-bindgen-test",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-storage-texture-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"console_error_panic_hook",
|
||||
"console_log",
|
||||
"env_logger",
|
||||
"futures-intrusive",
|
||||
"log",
|
||||
"png",
|
||||
"pollster",
|
||||
"wasm-bindgen",
|
||||
"wasm-bindgen-futures",
|
||||
"wasm-bindgen-test",
|
||||
"web-sys",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-test"
|
||||
version = "0.18.0"
|
||||
@ -4526,36 +4269,6 @@ dependencies = [
|
||||
"wgpu-types",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-texture-arrays-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"wasm-bindgen-test",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-timestamp-queries-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"console_error_panic_hook",
|
||||
"console_log",
|
||||
"env_logger",
|
||||
"futures-intrusive",
|
||||
"log",
|
||||
"pollster",
|
||||
"wasm-bindgen-futures",
|
||||
"wasm-bindgen-test",
|
||||
"wgpu",
|
||||
"wgpu-test",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-types"
|
||||
version = "0.18.0"
|
||||
@ -4567,38 +4280,6 @@ dependencies = [
|
||||
"web-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-uniform-values-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"console_error_panic_hook",
|
||||
"console_log",
|
||||
"encase",
|
||||
"env_logger",
|
||||
"glam",
|
||||
"png",
|
||||
"pollster",
|
||||
"wasm-bindgen-futures",
|
||||
"web-sys",
|
||||
"wgpu",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-water-example"
|
||||
version = "0.18.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"glam",
|
||||
"nanorand",
|
||||
"noise",
|
||||
"wasm-bindgen-test",
|
||||
"wgpu",
|
||||
"wgpu-example",
|
||||
"wgpu-test",
|
||||
"winit 0.29.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "which"
|
||||
version = "4.4.2"
|
||||
@ -4934,9 +4615,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "winnow"
|
||||
version = "0.5.17"
|
||||
version = "0.5.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c"
|
||||
checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
@ -5023,18 +4704,18 @@ checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
|
||||
|
||||
[[package]]
|
||||
name = "zerocopy"
|
||||
version = "0.7.15"
|
||||
version = "0.7.26"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "81ba595b9f2772fbee2312de30eeb80ec773b4cb2f1e8098db024afadda6c06f"
|
||||
checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
|
||||
dependencies = [
|
||||
"zerocopy-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zerocopy-derive"
|
||||
version = "0.7.15"
|
||||
version = "0.7.26"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "772666c41fb6dceaf520b564b962d738a8e1a83b41bd48945f50837aed78bb1d"
|
||||
checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -6,7 +6,7 @@ members = [
|
||||
|
||||
# default members
|
||||
"d3d12",
|
||||
"examples/*",
|
||||
"examples/",
|
||||
"naga-cli",
|
||||
"naga",
|
||||
"naga/fuzz",
|
||||
@ -23,7 +23,7 @@ members = [
|
||||
exclude = []
|
||||
default-members = [
|
||||
"d3d12",
|
||||
"examples/*",
|
||||
"examples/",
|
||||
"naga-cli",
|
||||
"naga",
|
||||
"naga/fuzz",
|
||||
@ -79,12 +79,14 @@ codespan-reporting = "0.11"
|
||||
ctor = "0.2"
|
||||
# https://github.com/SiegeEngine/ddsfile/issues/15 (Updated dependencies)
|
||||
ddsfile = { version = "0.5.2-unstable", git = "https://github.com/SiegeEngine/ddsfile.git", rev = "9b597930edc00502391cbb1a39708dadde0fd0ff" }
|
||||
encase = "0.6"
|
||||
env_logger = "0.10"
|
||||
fern = "0.6"
|
||||
flume = "0.11"
|
||||
futures-lite = "1"
|
||||
futures-intrusive = "0.5"
|
||||
rustc-hash = "1.1.0"
|
||||
getrandom = "0.2"
|
||||
glam = "0.24.2"
|
||||
heck = "0.4.0"
|
||||
image = { version = "0.24", default-features = false, features = ["png"] }
|
||||
|
@ -37,11 +37,11 @@ For an overview of all the components in the gfx-rs ecosystem, see [the big pict
|
||||
|
||||
### Rust
|
||||
|
||||
Rust examples can be found at [wgpu/examples](examples). You can run the examples on native with `cargo run --bin <name>`. See the [list of examples](examples).
|
||||
Rust examples can be found at [wgpu/examples](examples). You can run the examples on native with `cargo run --bin wgpu-examples <example>`. See the [list of examples](examples).
|
||||
|
||||
To run the examples on WebGPU on wasm, run `cargo xtask run-wasm --bin <name>`. Then connect to `http://localhost:8000` in your WebGPU enabled browser.
|
||||
To run the examples on WebGPU on wasm, run `cargo xtask run-wasm --bin wgpu-example`. Then connect to `http://localhost:8000` in your WebGPU enabled browser, and you can choose an example to run.
|
||||
|
||||
To run the examples on WebGL on wasm, run `cargo xtask run-wasm --bin <name> --features webgl`. Then connect to `http://localhost:8000` in your WebGL enabled browser.
|
||||
To run the examples on WebGL on wasm, run `cargo xtask run-wasm --bin wgpu-example --features webgl`. Then connect to `http://localhost:8000` in your WebGL enabled browser, and you can choose an example to run.
|
||||
|
||||
If you are looking for a wgpu tutorial, look at the following:
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
[package]
|
||||
name = "wgpu-example"
|
||||
name = "wgpu-examples"
|
||||
version.workspace = true
|
||||
authors.workspace = true
|
||||
edition.workspace = true
|
||||
@ -10,15 +10,36 @@ keywords.workspace = true
|
||||
license.workspace = true
|
||||
publish = false
|
||||
|
||||
[lib]
|
||||
path = "src/lib.rs"
|
||||
harness = false
|
||||
|
||||
[[bin]]
|
||||
name = "wgpu-examples"
|
||||
path = "src/main.rs"
|
||||
test = false
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
cfg-if.workspace = true
|
||||
ddsfile.workspace = true
|
||||
encase = { workspace = true, features = ["glam"] }
|
||||
env_logger.workspace = true
|
||||
flume.workspace = true
|
||||
futures-intrusive.workspace = true
|
||||
getrandom.workspace = true
|
||||
glam.workspace = true
|
||||
log.workspace = true
|
||||
pollster.workspace = true
|
||||
nanorand.workspace = true
|
||||
noise.workspace = true
|
||||
obj.workspace = true
|
||||
png.workspace = true
|
||||
pollster.workspace = true
|
||||
web-time.workspace = true
|
||||
winit.workspace = true
|
||||
wgpu.workspace = true
|
||||
winit.workspace = true
|
||||
|
||||
[dev-dependencies]
|
||||
wgpu-test.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||
@ -27,6 +48,7 @@ console_log.workspace = true
|
||||
fern.workspace = true
|
||||
js-sys.workspace = true
|
||||
wasm-bindgen.workspace = true
|
||||
wasm-bindgen-test.workspace = true
|
||||
wasm-bindgen-futures.workspace = true
|
||||
hal = { workspace = true, optional = true }
|
||||
# We need these features in the framework examples and tests
|
||||
@ -36,7 +58,13 @@ web-sys = { workspace = true, features = [
|
||||
"RequestInit",
|
||||
"RequestMode",
|
||||
"Request",
|
||||
"ImageData",
|
||||
"Response",
|
||||
"HtmlImageElement",
|
||||
"WebGl2RenderingContext",
|
||||
"CanvasRenderingContext2d"
|
||||
"CanvasRenderingContext2d",
|
||||
|
||||
# Needed for example display logic
|
||||
"HtmlStyleElement",
|
||||
"HtmlHeadElement",
|
||||
] }
|
@ -1,25 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-boids-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu boids example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "boids"
|
||||
path = "src/main.rs"
|
||||
harness = false
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
nanorand.workspace = true
|
||||
wgpu-example.workspace = true
|
||||
wgpu.workspace = true
|
||||
winit.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||
wasm-bindgen-test.workspace = true
|
||||
|
||||
[dev-dependencies]
|
||||
wgpu-test.workspace = true
|
@ -1,27 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-bunnymark-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu bunnymark example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "bunnymark"
|
||||
path = "src/main.rs"
|
||||
harness = false
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
nanorand.workspace = true
|
||||
glam.workspace = true
|
||||
png.workspace = true
|
||||
wgpu-example.workspace = true
|
||||
wgpu.workspace = true
|
||||
winit.workspace = true
|
||||
|
||||
[dev-dependencies]
|
||||
wgpu-test.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
||||
wasm-bindgen-test.workspace = true
|
@ -1,2 +0,0 @@
|
||||
pub mod framework;
|
||||
pub mod utils;
|
@ -1,23 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-conservative-raster-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu conservative raster example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "conservative-raster"
|
||||
path = "src/main.rs"
|
||||
harness = false
|
||||
|
||||
[dependencies]
|
||||
wgpu-example.workspace = true
|
||||
wgpu.workspace = true
|
||||
winit.workspace = true
|
||||
|
||||
[dev-dependencies]
|
||||
wgpu-test.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
||||
wasm-bindgen-test.workspace = true
|
@ -1,25 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-cube-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu cube example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "cube"
|
||||
path = "src/main.rs"
|
||||
harness = false
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
glam.workspace = true
|
||||
wgpu-example.workspace = true
|
||||
wgpu.workspace = true
|
||||
winit.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||
wasm-bindgen-test.workspace = true
|
||||
|
||||
[dev-dependencies]
|
||||
wgpu-test.workspace = true
|
@ -1,31 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-hello-compute-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu hello compute example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "hello-compute"
|
||||
path = "src/main.rs"
|
||||
harness = false
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
env_logger.workspace = true
|
||||
flume.workspace = true
|
||||
pollster.workspace = true
|
||||
wgpu.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||
console_error_panic_hook.workspace = true
|
||||
console_log.workspace = true
|
||||
log.workspace = true
|
||||
wasm-bindgen-futures.workspace = true
|
||||
|
||||
[dev-dependencies]
|
||||
wgpu-test.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
||||
wasm-bindgen-test.workspace = true
|
@ -1,33 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-hello-synchronization-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu hello synchronization example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "hello-synchronization"
|
||||
path = "src/main.rs"
|
||||
harness = false
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
env_logger.workspace = true
|
||||
flume.workspace = true
|
||||
log.workspace = true
|
||||
pollster.workspace = true
|
||||
wgpu.workspace = true
|
||||
wgpu-example.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||
console_error_panic_hook.workspace = true
|
||||
console_log.workspace = true
|
||||
wasm-bindgen-futures.workspace = true
|
||||
web-sys = { workspace = true, features = ["Document"] }
|
||||
|
||||
[dev-dependencies]
|
||||
wgpu-test.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
||||
wasm-bindgen-test.workspace = true
|
@ -1,24 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-hello-triangle-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu hello triangle example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "hello-triangle"
|
||||
path = "src/main.rs"
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
env_logger.workspace = true
|
||||
pollster.workspace = true
|
||||
wgpu.workspace = true
|
||||
winit.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||
console_error_panic_hook.workspace = true
|
||||
console_log.workspace = true
|
||||
wasm-bindgen-futures.workspace = true
|
||||
web-sys.workspace = true
|
@ -1,21 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-hello-windows-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu hello windows example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "hello-windows"
|
||||
path = "src/main.rs"
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
env_logger.workspace = true
|
||||
pollster.workspace = true
|
||||
wgpu.workspace = true
|
||||
winit.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||
console_error_panic_hook.workspace = true
|
@ -1,26 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-hello-workgroups-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu hello workgroups example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "hello-workgroups"
|
||||
path = "src/main.rs"
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
env_logger.workspace = true
|
||||
futures-intrusive.workspace = true
|
||||
log.workspace = true
|
||||
pollster.workspace = true
|
||||
wgpu.workspace = true
|
||||
wgpu-example.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||
console_error_panic_hook.workspace = true
|
||||
console_log.workspace = true
|
||||
wasm-bindgen-futures.workspace = true
|
||||
web-sys = { workspace = true, features = ["Document"] }
|
@ -1,27 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-hello-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu hello example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "hello"
|
||||
path = "src/main.rs"
|
||||
|
||||
[dependencies]
|
||||
env_logger.workspace = true
|
||||
glam.workspace = true
|
||||
log.workspace = true
|
||||
pollster.workspace = true
|
||||
wgpu.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||
console_error_panic_hook.workspace = true
|
||||
console_log.workspace = true
|
||||
wasm-bindgen-futures.workspace = true
|
||||
|
||||
[dev-dependencies]
|
||||
wgpu-test.workspace = true
|
||||
|
@ -1,25 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-mipmap-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu mipmap example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "mipmap"
|
||||
path = "src/main.rs"
|
||||
harness = false
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
glam.workspace = true
|
||||
wgpu-example.workspace = true
|
||||
wgpu.workspace = true
|
||||
winit.workspace = true
|
||||
|
||||
[dev-dependencies]
|
||||
wgpu-test.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
||||
wasm-bindgen-test.workspace = true
|
@ -1,26 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-msaa-line-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu msaa line example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "msaa-line"
|
||||
path = "src/main.rs"
|
||||
harness = false
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
glam.workspace = true
|
||||
log.workspace = true
|
||||
wgpu-example.workspace = true
|
||||
wgpu.workspace = true
|
||||
winit.workspace = true
|
||||
|
||||
[dev-dependencies]
|
||||
wgpu-test.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
||||
wasm-bindgen-test.workspace = true
|
@ -1,34 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-render-to-texture-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu render to texture example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "render-to-texture"
|
||||
path = "src/main.rs"
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
env_logger.workspace = true
|
||||
futures-intrusive.workspace = true
|
||||
log.workspace = true
|
||||
pollster.workspace = true
|
||||
wgpu.workspace = true
|
||||
wgpu-example.workspace = true
|
||||
winit.workspace = true
|
||||
|
||||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
||||
png.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||
console_error_panic_hook.workspace = true
|
||||
console_log.workspace = true
|
||||
wasm-bindgen.workspace = true
|
||||
wasm-bindgen-futures.workspace = true
|
||||
web-sys = { workspace = true, features = [
|
||||
"HtmlCanvasElement", "Document", "CanvasRenderingContext2d", "Window", "ImageData",
|
||||
"HtmlImageElement"
|
||||
] }
|
@ -1,33 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-repeated-compute-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu repeated compute example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "repeated-compute"
|
||||
path = "src/main.rs"
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
env_logger.workspace = true
|
||||
futures-intrusive.workspace = true
|
||||
getrandom = { version = "0.2.11", features = ["js"] }
|
||||
log.workspace = true
|
||||
pollster.workspace = true
|
||||
wgpu.workspace = true
|
||||
wgpu-example.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||
console_error_panic_hook.workspace = true
|
||||
console_log.workspace = true
|
||||
wasm-bindgen-futures.workspace = true
|
||||
web-sys = { workspace = true, features = ["Document"] }
|
||||
|
||||
[dev-dependencies]
|
||||
wgpu-test.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
||||
wasm-bindgen-test.workspace = true
|
@ -1,25 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-shadow-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu shadow example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "shadow"
|
||||
path = "src/main.rs"
|
||||
harness = false
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
glam.workspace = true
|
||||
wgpu-example.workspace = true
|
||||
wgpu.workspace = true
|
||||
winit.workspace = true
|
||||
|
||||
[dev-dependencies]
|
||||
wgpu-test.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
||||
wasm-bindgen-test.workspace = true
|
@ -1,28 +0,0 @@
|
||||
[package]
|
||||
name = "wgpu-skybox-example"
|
||||
version.workspace = true
|
||||
license.workspace = true
|
||||
edition.workspace = true
|
||||
description = "wgpu skybox example"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "skybox"
|
||||
path = "src/main.rs"
|
||||
harness = false
|
||||
|
||||
[dependencies]
|
||||
bytemuck.workspace = true
|
||||
ddsfile.workspace = true
|
||||
glam.workspace = true
|
||||
obj.workspace = true
|
||||
log.workspace = true
|
||||
wgpu-example.workspace = true
|
||||
wgpu.workspace = true
|
||||
winit.workspace = true
|
||||
|
||||
[dev-dependencies]
|
||||
wgpu-test.workspace = true
|
||||
|
||||
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
||||
wasm-bindgen-test.workspace = true
|
@ -24,7 +24,7 @@ struct Example {
|
||||
frame_num: usize,
|
||||
}
|
||||
|
||||
impl wgpu_example::framework::Example for Example {
|
||||
impl crate::framework::Example for Example {
|
||||
fn required_limits() -> wgpu::Limits {
|
||||
wgpu::Limits::downlevel_defaults()
|
||||
}
|
||||
@ -320,29 +320,24 @@ impl wgpu_example::framework::Example for Example {
|
||||
}
|
||||
|
||||
/// run example
|
||||
#[cfg(not(test))]
|
||||
fn main() {
|
||||
wgpu_example::framework::run::<Example>("boids");
|
||||
pub fn main() {
|
||||
crate::framework::run::<Example>("boids");
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "boids",
|
||||
// Generated on 1080ti on Vk/Windows
|
||||
image_path: "examples/boids/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default()
|
||||
.downlevel_flags(wgpu::DownlevelFlags::COMPUTE_SHADERS)
|
||||
.limits(wgpu::Limits::downlevel_defaults())
|
||||
// Lots of validation errors, maybe related to https://github.com/gfx-rs/wgpu/issues/3160
|
||||
.expect_fail(wgpu_test::FailureCase::molten_vk()),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.005)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
wgpu_test::gpu_test_main!();
|
||||
static TEST: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "boids",
|
||||
// Generated on 1080ti on Vk/Windows
|
||||
image_path: "/examples/src/boids/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default()
|
||||
.downlevel_flags(wgpu::DownlevelFlags::COMPUTE_SHADERS)
|
||||
.limits(wgpu::Limits::downlevel_defaults())
|
||||
// Lots of validation errors, maybe related to https://github.com/gfx-rs/wgpu/issues/3160
|
||||
.expect_fail(wgpu_test::FailureCase::molten_vk()),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.005)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
@ -131,7 +131,7 @@ impl Example {
|
||||
}
|
||||
}
|
||||
|
||||
impl wgpu_example::framework::Example for Example {
|
||||
impl crate::framework::Example for Example {
|
||||
fn init(
|
||||
config: &wgpu::SurfaceConfiguration,
|
||||
_adapter: &wgpu::Adapter,
|
||||
@ -375,31 +375,26 @@ impl wgpu_example::framework::Example for Example {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
fn main() {
|
||||
wgpu_example::framework::run::<Example>("bunnymark");
|
||||
pub fn main() {
|
||||
crate::framework::run::<Example>("bunnymark");
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "bunnymark",
|
||||
image_path: "/examples/bunnymark/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
// We're looking for very small differences, so look in the high percentiles.
|
||||
comparisons: &[
|
||||
wgpu_test::ComparisonType::Mean(0.05),
|
||||
wgpu_test::ComparisonType::Percentile {
|
||||
percentile: 0.99,
|
||||
threshold: 0.37,
|
||||
},
|
||||
],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
wgpu_test::gpu_test_main!();
|
||||
static TEST: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "bunnymark",
|
||||
image_path: "/examples/src/bunnymark/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
// We're looking for very small differences, so look in the high percentiles.
|
||||
comparisons: &[
|
||||
wgpu_test::ComparisonType::Mean(0.05),
|
||||
wgpu_test::ComparisonType::Percentile {
|
||||
percentile: 0.99,
|
||||
threshold: 0.37,
|
||||
},
|
||||
],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
@ -63,7 +63,7 @@ impl Example {
|
||||
}
|
||||
}
|
||||
|
||||
impl wgpu_example::framework::Example for Example {
|
||||
impl crate::framework::Example for Example {
|
||||
fn required_features() -> wgpu::Features {
|
||||
wgpu::Features::CONSERVATIVE_RASTERIZATION
|
||||
}
|
||||
@ -306,24 +306,19 @@ impl wgpu_example::framework::Example for Example {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
fn main() {
|
||||
wgpu_example::framework::run::<Example>("conservative-raster");
|
||||
pub fn main() {
|
||||
crate::framework::run::<Example>("conservative-raster");
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "conservative-raster",
|
||||
image_path: "/examples/conservative-raster/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.0)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
wgpu_test::gpu_test_main!();
|
||||
static TEST: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "conservative-raster",
|
||||
image_path: "/examples/src/conservative_raster/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.0)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
@ -102,7 +102,7 @@ impl Example {
|
||||
}
|
||||
}
|
||||
|
||||
impl wgpu_example::framework::Example for Example {
|
||||
impl crate::framework::Example for Example {
|
||||
fn optional_features() -> wgpu::Features {
|
||||
wgpu::Features::POLYGON_MODE_LINE
|
||||
}
|
||||
@ -371,49 +371,43 @@ impl wgpu_example::framework::Example for Example {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
fn main() {
|
||||
wgpu_example::framework::run::<Example>("cube");
|
||||
pub fn main() {
|
||||
crate::framework::run::<Example>("cube");
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "cube",
|
||||
// Generated on 1080ti on Vk/Windows
|
||||
image_path: "/examples/cube/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
comparisons: &[
|
||||
wgpu_test::ComparisonType::Mean(0.04), // Bounded by Intel 630 on Vk/Windows
|
||||
],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
static TEST: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "cube",
|
||||
// Generated on 1080ti on Vk/Windows
|
||||
image_path: "/examples/src/cube/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
comparisons: &[
|
||||
wgpu_test::ComparisonType::Mean(0.04), // Bounded by Intel 630 on Vk/Windows
|
||||
],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST_LINES: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "cube-lines",
|
||||
// Generated on 1080ti on Vk/Windows
|
||||
image_path: "/examples/cube/screenshot-lines.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::POLYGON_MODE_LINE,
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
// We're looking for tiny changes here, so we focus on a spike in the 95th percentile.
|
||||
comparisons: &[
|
||||
wgpu_test::ComparisonType::Mean(0.05), // Bounded by Intel 630 on Vk/Windows
|
||||
wgpu_test::ComparisonType::Percentile {
|
||||
percentile: 0.95,
|
||||
threshold: 0.36,
|
||||
}, // Bounded by 1080ti on DX12
|
||||
],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
wgpu_test::gpu_test_main!();
|
||||
static TEST_LINES: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "cube-lines",
|
||||
// Generated on 1080ti on Vk/Windows
|
||||
image_path: "/examples/src/cube/screenshot-lines.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::POLYGON_MODE_LINE,
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
// We're looking for tiny changes here, so we focus on a spike in the 95th percentile.
|
||||
comparisons: &[
|
||||
wgpu_test::ComparisonType::Mean(0.05), // Bounded by Intel 630 on Vk/Windows
|
||||
wgpu_test::ComparisonType::Percentile {
|
||||
percentile: 0.95,
|
||||
threshold: 0.36,
|
||||
}, // Bounded by 1080ti on DX12
|
||||
],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
@ -1,7 +1,6 @@
|
||||
use std::sync::Arc;
|
||||
|
||||
use wgpu::{Instance, Surface, WasmNotSendSync};
|
||||
use wgpu_test::GpuTestConfiguration;
|
||||
use wgpu::{Instance, Surface};
|
||||
use winit::{
|
||||
dpi::PhysicalSize,
|
||||
event::{Event, KeyEvent, StartCause, WindowEvent},
|
||||
@ -496,8 +495,10 @@ pub fn parse_url_query_string<'a>(query: &'a str, search_key: &str) -> Option<&'
|
||||
None
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
pub use wgpu_test::image::ComparisonType;
|
||||
|
||||
#[cfg(test)]
|
||||
#[derive(Clone)]
|
||||
pub struct ExampleTestParams<E> {
|
||||
pub name: &'static str,
|
||||
@ -512,9 +513,12 @@ pub struct ExampleTestParams<E> {
|
||||
pub _phantom: std::marker::PhantomData<E>,
|
||||
}
|
||||
|
||||
impl<E: Example + WasmNotSendSync> From<ExampleTestParams<E>> for GpuTestConfiguration {
|
||||
#[cfg(test)]
|
||||
impl<E: Example + wgpu::WasmNotSendSync> From<ExampleTestParams<E>>
|
||||
for wgpu_test::GpuTestConfiguration
|
||||
{
|
||||
fn from(params: ExampleTestParams<E>) -> Self {
|
||||
GpuTestConfiguration::new()
|
||||
wgpu_test::GpuTestConfiguration::new()
|
||||
.name(params.name)
|
||||
.parameters({
|
||||
assert_eq!(params.width % 64, 0, "width needs to be aligned 64");
|
||||
@ -604,7 +608,7 @@ impl<E: Example + WasmNotSendSync> From<ExampleTestParams<E>> for GpuTestConfigu
|
||||
let bytes = dst_buffer_slice.get_mapped_range().to_vec();
|
||||
|
||||
wgpu_test::image::compare_image_output(
|
||||
env!("CARGO_MANIFEST_DIR").to_string() + "/../../" + params.image_path,
|
||||
dbg!(env!("CARGO_MANIFEST_DIR").to_string() + "/../" + params.image_path),
|
||||
&ctx.adapter_info,
|
||||
params.width,
|
||||
params.height,
|
@ -19,7 +19,7 @@ async fn run() {
|
||||
log::info!("Selected adapter: {:?}", adapter.get_info())
|
||||
}
|
||||
|
||||
fn main() {
|
||||
pub fn main() {
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
{
|
||||
env_logger::init();
|
@ -177,8 +177,7 @@ async fn execute_gpu_inner(
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
fn main() {
|
||||
pub fn main() {
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
{
|
||||
env_logger::init();
|
||||
@ -194,6 +193,3 @@ fn main() {
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests;
|
||||
|
||||
#[cfg(test)]
|
||||
wgpu_test::gpu_test_main!();
|
@ -189,8 +189,7 @@ async fn get_data<T: bytemuck::Pod>(
|
||||
staging_buffer.unmap();
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
fn main() {
|
||||
pub fn main() {
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
{
|
||||
env_logger::builder()
|
||||
@ -204,14 +203,11 @@ fn main() {
|
||||
std::panic::set_hook(Box::new(console_error_panic_hook::hook));
|
||||
console_log::init_with_level(log::Level::Info).expect("could not initialize logger");
|
||||
|
||||
wgpu_example::utils::add_web_nothing_to_see_msg();
|
||||
crate::utils::add_web_nothing_to_see_msg();
|
||||
|
||||
wasm_bindgen_futures::spawn_local(run());
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
wgpu_test::gpu_test_main!();
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests;
|
@ -148,7 +148,7 @@ async fn run(event_loop: EventLoop<()>, window: Window) {
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
fn main() {
|
||||
pub fn main() {
|
||||
let event_loop = EventLoop::new().unwrap();
|
||||
let window = winit::window::Window::new(&event_loop).unwrap();
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
@ -161,7 +161,7 @@ async fn run(event_loop: EventLoop<()>, viewports: Vec<(Arc<Window>, wgpu::Color
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
fn main() {
|
||||
pub fn main() {
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
{
|
||||
const WINDOW_SIZE: u32 = 128;
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@ -178,7 +178,7 @@ async fn get_data<T: bytemuck::Pod>(
|
||||
staging_buffer.unmap();
|
||||
}
|
||||
|
||||
fn main() {
|
||||
pub fn main() {
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
{
|
||||
env_logger::builder()
|
||||
@ -192,7 +192,7 @@ fn main() {
|
||||
std::panic::set_hook(Box::new(console_error_panic_hook::hook));
|
||||
console_log::init_with_level(log::Level::Info).expect("could not initialize logger");
|
||||
|
||||
wgpu_example::utils::add_web_nothing_to_see_msg();
|
||||
crate::utils::add_web_nothing_to_see_msg();
|
||||
|
||||
wasm_bindgen_futures::spawn_local(run());
|
||||
}
|
29
examples/src/lib.rs
Normal file
@ -0,0 +1,29 @@
|
||||
pub mod framework;
|
||||
pub mod utils;
|
||||
|
||||
pub mod boids;
|
||||
pub mod bunnymark;
|
||||
pub mod conservative_raster;
|
||||
pub mod cube;
|
||||
pub mod hello;
|
||||
pub mod hello_compute;
|
||||
pub mod hello_synchronization;
|
||||
pub mod hello_triangle;
|
||||
pub mod hello_windows;
|
||||
pub mod hello_workgroups;
|
||||
pub mod mipmap;
|
||||
pub mod msaa_line;
|
||||
pub mod render_to_texture;
|
||||
pub mod repeated_compute;
|
||||
pub mod shadow;
|
||||
pub mod skybox;
|
||||
pub mod srgb_blend;
|
||||
pub mod stencil_triangles;
|
||||
pub mod storage_texture;
|
||||
pub mod texture_arrays;
|
||||
pub mod timestamp_queries;
|
||||
pub mod uniform_values;
|
||||
pub mod water;
|
||||
|
||||
#[cfg(test)]
|
||||
wgpu_test::gpu_test_main!();
|
112
examples/src/main.rs
Normal file
@ -0,0 +1,112 @@
|
||||
const EXAMPLES: &[(&str, fn())] = &[
|
||||
("boids", wgpu_examples::boids::main),
|
||||
("bunnymark", wgpu_examples::bunnymark::main),
|
||||
(
|
||||
"conservative_raster",
|
||||
wgpu_examples::conservative_raster::main,
|
||||
),
|
||||
("cube", wgpu_examples::cube::main),
|
||||
("hello", wgpu_examples::hello::main),
|
||||
("hello_compute", wgpu_examples::hello_compute::main),
|
||||
(
|
||||
"hello_synchronization",
|
||||
wgpu_examples::hello_synchronization::main,
|
||||
),
|
||||
("hello_triangle", wgpu_examples::hello_triangle::main),
|
||||
("hello_windows", wgpu_examples::hello_windows::main),
|
||||
("hello_workgroups", wgpu_examples::hello_workgroups::main),
|
||||
("mipmap", wgpu_examples::mipmap::main),
|
||||
("msaa_line", wgpu_examples::msaa_line::main),
|
||||
("render_to_texture", wgpu_examples::render_to_texture::main),
|
||||
("repeated_compute", wgpu_examples::repeated_compute::main),
|
||||
("shadow", wgpu_examples::shadow::main),
|
||||
("skybox", wgpu_examples::skybox::main),
|
||||
("srgb_blend", wgpu_examples::srgb_blend::main),
|
||||
("stencil_triangles", wgpu_examples::stencil_triangles::main),
|
||||
("storage_texture", wgpu_examples::storage_texture::main),
|
||||
("texture_arrays", wgpu_examples::texture_arrays::main),
|
||||
("timestamp_queries", wgpu_examples::timestamp_queries::main),
|
||||
("uniform_values", wgpu_examples::uniform_values::main),
|
||||
("water", wgpu_examples::water::main),
|
||||
];
|
||||
|
||||
fn get_example_name() -> Option<String> {
|
||||
cfg_if::cfg_if! {
|
||||
if #[cfg(target_arch = "wasm32")] {
|
||||
let query_string = web_sys::window()?.location().search().ok()?;
|
||||
|
||||
wgpu_examples::framework::parse_url_query_string(&query_string, "example").map(String::from)
|
||||
} else {
|
||||
std::env::args().nth(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn print_unknown_example(result: Option<String>) {
|
||||
cfg_if::cfg_if! {
|
||||
if #[cfg(target_arch = "wasm32")] {
|
||||
use wasm_bindgen::JsCast;
|
||||
use web_sys::HtmlStyleElement;
|
||||
|
||||
// Get the document, header, and body elements.
|
||||
let document = web_sys::window().unwrap().document().unwrap();
|
||||
let head = document.head().unwrap();
|
||||
let body = document.body().unwrap();
|
||||
|
||||
// Add a basic style sheet to center the text and remove some margin.
|
||||
let style_sheet: HtmlStyleElement = document.create_element("style").unwrap().dyn_into().unwrap();
|
||||
style_sheet.set_inner_text("div { text-align: center; } p { margin: 4px }");
|
||||
head.append_child(&style_sheet).unwrap();
|
||||
|
||||
// A div to provide a container and some padding.
|
||||
let div = document.create_element("div").unwrap();
|
||||
body.append_child(&div).unwrap();
|
||||
|
||||
let user_message = if let Some(example) = result {
|
||||
format!("Unknown example: {example}. Please choose an example!")
|
||||
} else {
|
||||
String::from("Please choose an example!")
|
||||
};
|
||||
|
||||
// A header to display the message to the user.
|
||||
let header = document.create_element("h1").unwrap();
|
||||
header.set_text_content(Some(&user_message));
|
||||
div.append_child(&header).unwrap();
|
||||
|
||||
// Write a link for each example, wrapped in a paragraph.
|
||||
for (name, _) in EXAMPLES {
|
||||
let paragraph = document.create_element("p").unwrap();
|
||||
let link = document.create_element("a").unwrap();
|
||||
link.set_text_content(Some(name));
|
||||
link.set_attribute("href", &format!("?example={name}")).unwrap();
|
||||
paragraph.append_child(&link).unwrap();
|
||||
div.append_child(¶graph).unwrap();
|
||||
}
|
||||
} else {
|
||||
if let Some(example) = result {
|
||||
println!("Unknown example: {}", example);
|
||||
} else {
|
||||
println!("Please specify an example as the first argument!");
|
||||
}
|
||||
|
||||
println!("\nAvailable Examples:");
|
||||
for (name, _) in EXAMPLES {
|
||||
println!("\t{name}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let Some(example) = get_example_name() else {
|
||||
print_unknown_example(None);
|
||||
return;
|
||||
};
|
||||
|
||||
let Some((_, function)) = EXAMPLES.iter().find(|(name, _)| *name == example) else {
|
||||
print_unknown_example(Some(example));
|
||||
return;
|
||||
};
|
||||
|
||||
function();
|
||||
}
|
@ -204,7 +204,7 @@ impl Example {
|
||||
}
|
||||
}
|
||||
|
||||
impl wgpu_example::framework::Example for Example {
|
||||
impl crate::framework::Example for Example {
|
||||
fn optional_features() -> wgpu::Features {
|
||||
QUERY_FEATURES
|
||||
}
|
||||
@ -500,38 +500,32 @@ impl wgpu_example::framework::Example for Example {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
fn main() {
|
||||
wgpu_example::framework::run::<Example>("mipmap");
|
||||
pub fn main() {
|
||||
crate::framework::run::<Example>("mipmap");
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "mipmap",
|
||||
image_path: "/examples/mipmap/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.02)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
static TEST: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "mipmap",
|
||||
image_path: "/examples/src/mipmap/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.02)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST_QUERY: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "mipmap-query",
|
||||
image_path: "/examples/mipmap/screenshot-query.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: QUERY_FEATURES,
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.025)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
wgpu_test::gpu_test_main!();
|
||||
static TEST_QUERY: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "mipmap-query",
|
||||
image_path: "/examples/src/mipmap/screenshot-query.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: QUERY_FEATURES,
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.025)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
Before Width: | Height: | Size: 494 KiB After Width: | Height: | Size: 494 KiB |
Before Width: | Height: | Size: 487 KiB After Width: | Height: | Size: 487 KiB |
@ -120,7 +120,7 @@ impl Example {
|
||||
}
|
||||
}
|
||||
|
||||
impl wgpu_example::framework::Example for Example {
|
||||
impl crate::framework::Example for Example {
|
||||
fn optional_features() -> wgpu::Features {
|
||||
wgpu::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES
|
||||
}
|
||||
@ -313,32 +313,27 @@ impl wgpu_example::framework::Example for Example {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
fn main() {
|
||||
wgpu_example::framework::run::<Example>("msaa-line");
|
||||
pub fn main() {
|
||||
crate::framework::run::<Example>("msaa-line");
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "msaa-line",
|
||||
image_path: "/examples/msaa-line/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES,
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
// There's a lot of natural variance so we check the weighted median too to differentiate
|
||||
// real failures from variance.
|
||||
comparisons: &[
|
||||
wgpu_test::ComparisonType::Mean(0.065),
|
||||
wgpu_test::ComparisonType::Percentile {
|
||||
percentile: 0.5,
|
||||
threshold: 0.29,
|
||||
},
|
||||
],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
wgpu_test::gpu_test_main!();
|
||||
static TEST: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "msaa-line",
|
||||
image_path: "/examples/src/msaa_line/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES,
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
// There's a lot of natural variance so we check the weighted median too to differentiate
|
||||
// real failures from variance.
|
||||
comparisons: &[
|
||||
wgpu_test::ComparisonType::Mean(0.065),
|
||||
wgpu_test::ComparisonType::Percentile {
|
||||
percentile: 0.5,
|
||||
threshold: 0.29,
|
||||
},
|
||||
],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 138 KiB |
@ -1,7 +1,7 @@
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
use wgpu_example::utils::output_image_native;
|
||||
use crate::utils::output_image_native;
|
||||
#[cfg(target_arch = "wasm32")]
|
||||
use wgpu_example::utils::output_image_wasm;
|
||||
use crate::utils::output_image_wasm;
|
||||
|
||||
const TEXTURE_DIMS: (usize, usize) = (512, 512);
|
||||
|
||||
@ -148,7 +148,7 @@ async fn run(_path: Option<String>) {
|
||||
log::info!("Done.");
|
||||
}
|
||||
|
||||
fn main() {
|
||||
pub fn main() {
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
{
|
||||
env_logger::builder()
|
@ -126,7 +126,7 @@ async fn compute(local_buffer: &mut [u32], context: &WgpuContext) {
|
||||
context.output_staging_buffer.unmap();
|
||||
}
|
||||
|
||||
fn main() {
|
||||
pub fn main() {
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
{
|
||||
env_logger::builder()
|
||||
@ -140,7 +140,7 @@ fn main() {
|
||||
std::panic::set_hook(Box::new(console_error_panic_hook::hook));
|
||||
console_log::init_with_level(log::Level::Info).expect("could not initialize logger");
|
||||
|
||||
wgpu_example::utils::add_web_nothing_to_see_msg();
|
||||
crate::utils::add_web_nothing_to_see_msg();
|
||||
|
||||
wasm_bindgen_futures::spawn_local(run());
|
||||
}
|
@ -201,7 +201,7 @@ impl Example {
|
||||
}
|
||||
}
|
||||
|
||||
impl wgpu_example::framework::Example for Example {
|
||||
impl crate::framework::Example for Example {
|
||||
fn optional_features() -> wgpu::Features {
|
||||
wgpu::Features::DEPTH_CLIP_CONTROL
|
||||
}
|
||||
@ -834,30 +834,25 @@ impl wgpu_example::framework::Example for Example {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
fn main() {
|
||||
wgpu_example::framework::run::<Example>("shadow");
|
||||
pub fn main() {
|
||||
crate::framework::run::<Example>("shadow");
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "shadow",
|
||||
image_path: "/examples/shadow/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default()
|
||||
.downlevel_flags(wgpu::DownlevelFlags::COMPARISON_SAMPLERS)
|
||||
// rpi4 on VK doesn't work: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3916
|
||||
.expect_fail(wgpu_test::FailureCase::backend_adapter(
|
||||
wgpu::Backends::VULKAN,
|
||||
"V3D",
|
||||
)),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.02)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
wgpu_test::gpu_test_main!();
|
||||
static TEST: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "shadow",
|
||||
image_path: "/examples/src/shadow/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default()
|
||||
.downlevel_flags(wgpu::DownlevelFlags::COMPARISON_SAMPLERS)
|
||||
// rpi4 on VK doesn't work: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3916
|
||||
.expect_fail(wgpu_test::FailureCase::backend_adapter(
|
||||
wgpu::Backends::VULKAN,
|
||||
"V3D",
|
||||
)),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.02)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
@ -89,7 +89,7 @@ impl Example {
|
||||
}
|
||||
}
|
||||
|
||||
impl wgpu_example::framework::Example for Example {
|
||||
impl crate::framework::Example for Example {
|
||||
fn optional_features() -> wgpu::Features {
|
||||
wgpu::Features::TEXTURE_COMPRESSION_ASTC
|
||||
| wgpu::Features::TEXTURE_COMPRESSION_ETC2
|
||||
@ -104,7 +104,7 @@ impl wgpu_example::framework::Example for Example {
|
||||
) -> Self {
|
||||
let mut entities = Vec::new();
|
||||
{
|
||||
let source = include_bytes!("../models/teslacyberv3.0.obj");
|
||||
let source = include_bytes!("models/teslacyberv3.0.obj");
|
||||
let data = obj::ObjData::load_buf(&source[..]).unwrap();
|
||||
let mut vertices = Vec::new();
|
||||
for object in data.objects {
|
||||
@ -306,10 +306,10 @@ impl wgpu_example::framework::Example for Example {
|
||||
wgpu::TextureFormat::Astc {
|
||||
block: AstcBlock::B4x4,
|
||||
channel: AstcChannel::UnormSrgb,
|
||||
} => &include_bytes!("../images/astc.dds")[..],
|
||||
wgpu::TextureFormat::Etc2Rgb8UnormSrgb => &include_bytes!("../images/etc2.dds")[..],
|
||||
wgpu::TextureFormat::Bc1RgbaUnormSrgb => &include_bytes!("../images/bc1.dds")[..],
|
||||
wgpu::TextureFormat::Bgra8UnormSrgb => &include_bytes!("../images/bgra.dds")[..],
|
||||
} => &include_bytes!("images/astc.dds")[..],
|
||||
wgpu::TextureFormat::Etc2Rgb8UnormSrgb => &include_bytes!("images/etc2.dds")[..],
|
||||
wgpu::TextureFormat::Bc1RgbaUnormSrgb => &include_bytes!("images/bc1.dds")[..],
|
||||
wgpu::TextureFormat::Bgra8UnormSrgb => &include_bytes!("images/bgra.dds")[..],
|
||||
_ => unreachable!(),
|
||||
};
|
||||
|
||||
@ -455,68 +455,60 @@ impl wgpu_example::framework::Example for Example {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
fn main() {
|
||||
wgpu_example::framework::run::<Example>("skybox");
|
||||
pub fn main() {
|
||||
crate::framework::run::<Example>("skybox");
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "skybox",
|
||||
image_path: "/examples/skybox/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default().expect_fail(
|
||||
wgpu_test::FailureCase::backend_adapter(wgpu::Backends::GL, "ANGLE"),
|
||||
),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.015)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
static TEST: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "skybox",
|
||||
image_path: "/examples/src/skybox/screenshot.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default().expect_fail(
|
||||
wgpu_test::FailureCase::backend_adapter(wgpu::Backends::GL, "ANGLE"),
|
||||
),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.015)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST_BCN: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "skybox-bc1",
|
||||
image_path: "/examples/skybox/screenshot-bc1.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::TEXTURE_COMPRESSION_BC,
|
||||
base_test_parameters: wgpu_test::TestParameters::default(), // https://bugs.chromium.org/p/angleproject/issues/detail?id=7056
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.02)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
static TEST_BCN: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "skybox-bc1",
|
||||
image_path: "/examples/src/skybox/screenshot-bc1.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::TEXTURE_COMPRESSION_BC,
|
||||
base_test_parameters: wgpu_test::TestParameters::default(), // https://bugs.chromium.org/p/angleproject/issues/detail?id=7056
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.02)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST_ETC2: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "skybox-etc2",
|
||||
image_path: "/examples/skybox/screenshot-etc2.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::TEXTURE_COMPRESSION_ETC2,
|
||||
base_test_parameters: wgpu_test::TestParameters::default(), // https://bugs.chromium.org/p/angleproject/issues/detail?id=7056
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.015)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
static TEST_ETC2: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "skybox-etc2",
|
||||
image_path: "/examples/src/skybox/screenshot-etc2.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::TEXTURE_COMPRESSION_ETC2,
|
||||
base_test_parameters: wgpu_test::TestParameters::default(), // https://bugs.chromium.org/p/angleproject/issues/detail?id=7056
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.015)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST_ASTC: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "skybox-astc",
|
||||
image_path: "/examples/skybox/screenshot-astc.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::TEXTURE_COMPRESSION_ASTC,
|
||||
base_test_parameters: wgpu_test::TestParameters::default(), // https://bugs.chromium.org/p/angleproject/issues/detail?id=7056
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.016)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
wgpu_test::gpu_test_main!();
|
||||
static TEST_ASTC: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "skybox-astc",
|
||||
image_path: "/examples/src/skybox/screenshot-astc.png",
|
||||
width: 1024,
|
||||
height: 768,
|
||||
optional_features: wgpu::Features::TEXTURE_COMPRESSION_ASTC,
|
||||
base_test_parameters: wgpu_test::TestParameters::default(), // https://bugs.chromium.org/p/angleproject/issues/detail?id=7056
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.016)],
|
||||
_phantom: std::marker::PhantomData::<Example>,
|
||||
};
|
Before Width: | Height: | Size: 546 KiB After Width: | Height: | Size: 546 KiB |
Before Width: | Height: | Size: 536 KiB After Width: | Height: | Size: 536 KiB |
Before Width: | Height: | Size: 456 KiB After Width: | Height: | Size: 456 KiB |
Before Width: | Height: | Size: 588 KiB After Width: | Height: | Size: 588 KiB |
@ -56,7 +56,7 @@ struct Example<const SRGB: bool> {
|
||||
pipeline: wgpu::RenderPipeline,
|
||||
}
|
||||
|
||||
impl<const SRGB: bool> wgpu_example::framework::Example for Example<SRGB> {
|
||||
impl<const SRGB: bool> crate::framework::Example for Example<SRGB> {
|
||||
const SRGB: bool = SRGB;
|
||||
|
||||
fn optional_features() -> wgpu::Features {
|
||||
@ -211,46 +211,40 @@ impl<const SRGB: bool> wgpu_example::framework::Example for Example<SRGB> {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
fn main() {
|
||||
pub fn main() {
|
||||
let mut args = std::env::args();
|
||||
args.next();
|
||||
if Some("linear") == args.next().as_deref() {
|
||||
wgpu_example::framework::run::<Example<false>>("srgb-blend-linear");
|
||||
crate::framework::run::<Example<false>>("srgb-blend-linear");
|
||||
} else {
|
||||
wgpu_example::framework::run::<Example<true>>("srgb-blend-srg");
|
||||
crate::framework::run::<Example<true>>("srgb-blend-srg");
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST_SRGB: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "srgb-blend-srg",
|
||||
// Generated on WARP/Windows
|
||||
image_path: "/examples/srgb-blend/screenshot-srgb.png",
|
||||
width: 192,
|
||||
height: 192,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.04)],
|
||||
_phantom: std::marker::PhantomData::<Example<true>>,
|
||||
};
|
||||
static TEST_SRGB: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "srgb-blend-srg",
|
||||
// Generated on WARP/Windows
|
||||
image_path: "/examples/src/srgb_blend/screenshot-srgb.png",
|
||||
width: 192,
|
||||
height: 192,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.04)],
|
||||
_phantom: std::marker::PhantomData::<Example<true>>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
#[wgpu_test::gpu_test]
|
||||
static TEST_LINEAR: wgpu_example::framework::ExampleTestParams =
|
||||
wgpu_example::framework::ExampleTestParams {
|
||||
name: "srgb-blend-linear",
|
||||
// Generated on WARP/Windows
|
||||
image_path: "/examples/srgb-blend/screenshot-linear.png",
|
||||
width: 192,
|
||||
height: 192,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.04)],
|
||||
_phantom: std::marker::PhantomData::<Example<false>>,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
wgpu_test::gpu_test_main!();
|
||||
static TEST_LINEAR: crate::framework::ExampleTestParams = crate::framework::ExampleTestParams {
|
||||
name: "srgb-blend-linear",
|
||||
// Generated on WARP/Windows
|
||||
image_path: "/examples/src/srgb_blend/screenshot-linear.png",
|
||||
width: 192,
|
||||
height: 192,
|
||||
optional_features: wgpu::Features::default(),
|
||||
base_test_parameters: wgpu_test::TestParameters::default(),
|
||||
comparisons: &[wgpu_test::ComparisonType::Mean(0.04)],
|
||||
_phantom: std::marker::PhantomData::<Example<false>>,
|
||||
};
|
Before Width: | Height: | Size: 915 B After Width: | Height: | Size: 915 B |
Before Width: | Height: | Size: 704 B After Width: | Height: | Size: 704 B |