wgpu: Bump to wgpu 0.11
This commit is contained in:
parent
25c56b7000
commit
0cbdad1ff2
|
@ -93,21 +93,21 @@ name = "arrayvec"
|
|||
version = "0.5.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "arrayvec"
|
||||
version = "0.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "be4dc07131ffa69b8072d35f5007352af944213cde02545e2103680baed38fcd"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ash"
|
||||
version = "0.32.1"
|
||||
version = "0.33.3+1.2.191"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06063a002a77d2734631db74e8f4ce7148b77fe522e6bca46f2ae7774fd48112"
|
||||
checksum = "cc4f1d82f164f838ae413296d1131aa6fa79b917d25bebaa7033d25620c09219"
|
||||
dependencies = [
|
||||
"libloading 0.7.0",
|
||||
]
|
||||
|
@ -186,6 +186,16 @@ version = "1.3.2"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags_serde_shim"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "25c3d626f0280ec39b33a6fc5c6c1067432b4c41e94aee40ded197a6649bf025"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bitstream-io"
|
||||
version = "1.2.0"
|
||||
|
@ -815,9 +825,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "d3d12"
|
||||
version = "0.4.0"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "091ed1b25fe47c7ff129fc440c23650b6114f36aa00bc7212cc8041879294428"
|
||||
checksum = "2daefd788d1e96e0a9d66dee4b828b883509bc3ea9ce30665f04c3246372690c"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"libloading 0.7.0",
|
||||
|
@ -1108,15 +1118,6 @@ version = "1.2.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
|
||||
|
||||
[[package]]
|
||||
name = "drm-fourcc"
|
||||
version = "2.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ebbf3a5ed4671aabffefce172ff43d69c1f27dd2c6aea28e5212a70f32ada0cf"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "either"
|
||||
version = "1.6.1"
|
||||
|
@ -1288,6 +1289,7 @@ name = "exporter"
|
|||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"futures",
|
||||
"image",
|
||||
"indicatif",
|
||||
"log",
|
||||
|
@ -1296,16 +1298,6 @@ dependencies = [
|
|||
"walkdir",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "external-memory"
|
||||
version = "0.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e4dfe8d292b014422776a8c516862d2bff8a81b223a4461dfdc45f3862dc9d39"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"drm-fourcc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fastrand"
|
||||
version = "1.5.0"
|
||||
|
@ -1317,9 +1309,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "fixedbitset"
|
||||
version = "0.2.0"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d"
|
||||
checksum = "398ea4fabe40b9b0d885340a2a991a44c8a645624075ad966d21f88688e2b69e"
|
||||
|
||||
[[package]]
|
||||
name = "flash-lso"
|
||||
|
@ -1560,168 +1552,6 @@ dependencies = [
|
|||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gfx-auxil"
|
||||
version = "0.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1694991b11d642680e82075a75c7c2bd75556b805efa7660b705689f05b1ab1c"
|
||||
dependencies = [
|
||||
"fxhash",
|
||||
"gfx-hal",
|
||||
"spirv_cross",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gfx-backend-dx11"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f9e453baf3aaef2b0c354ce0b3d63d76402e406a59b64b7182d123cfa6635ae"
|
||||
dependencies = [
|
||||
"arrayvec 0.5.2",
|
||||
"bitflags",
|
||||
"gfx-auxil",
|
||||
"gfx-hal",
|
||||
"gfx-renderdoc",
|
||||
"libloading 0.7.0",
|
||||
"log",
|
||||
"parking_lot",
|
||||
"range-alloc",
|
||||
"raw-window-handle",
|
||||
"smallvec",
|
||||
"spirv_cross",
|
||||
"thunderdome",
|
||||
"winapi",
|
||||
"wio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gfx-backend-dx12"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "21506399f64a3c4d389182a89a30073856ae33eb712315456b4fd8f39ee7682a"
|
||||
dependencies = [
|
||||
"arrayvec 0.5.2",
|
||||
"bit-set",
|
||||
"bitflags",
|
||||
"d3d12",
|
||||
"gfx-auxil",
|
||||
"gfx-hal",
|
||||
"gfx-renderdoc",
|
||||
"log",
|
||||
"parking_lot",
|
||||
"range-alloc",
|
||||
"raw-window-handle",
|
||||
"smallvec",
|
||||
"spirv_cross",
|
||||
"thunderdome",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gfx-backend-empty"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "29c8f813c47791918aa00dc9c9ddf961d23fa8c2a5d869e6cb8ea84f944820f4"
|
||||
dependencies = [
|
||||
"gfx-hal",
|
||||
"log",
|
||||
"raw-window-handle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gfx-backend-gl"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6bae057fc3a0ab23ecf97ae51d4017d27d5ddf0aab16ee6dcb58981af88c3152"
|
||||
dependencies = [
|
||||
"arrayvec 0.5.2",
|
||||
"bitflags",
|
||||
"fxhash",
|
||||
"gfx-hal",
|
||||
"glow",
|
||||
"js-sys",
|
||||
"khronos-egl",
|
||||
"libloading 0.7.0",
|
||||
"log",
|
||||
"naga",
|
||||
"parking_lot",
|
||||
"raw-window-handle",
|
||||
"wasm-bindgen",
|
||||
"web-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gfx-backend-metal"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0de85808e2a98994c6af925253f8a9593bc57180ef1ea137deab6d35cc949517"
|
||||
dependencies = [
|
||||
"arrayvec 0.5.2",
|
||||
"bitflags",
|
||||
"block",
|
||||
"cocoa-foundation",
|
||||
"copyless",
|
||||
"core-graphics-types",
|
||||
"foreign-types",
|
||||
"fxhash",
|
||||
"gfx-hal",
|
||||
"log",
|
||||
"metal",
|
||||
"naga",
|
||||
"objc",
|
||||
"parking_lot",
|
||||
"profiling",
|
||||
"range-alloc",
|
||||
"raw-window-handle",
|
||||
"storage-map",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gfx-backend-vulkan"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a9861ec855acbbc65c0e4f966d761224886e811dc2c6d413a4776e9293d0e5c0"
|
||||
dependencies = [
|
||||
"arrayvec 0.5.2",
|
||||
"ash",
|
||||
"byteorder",
|
||||
"core-graphics-types",
|
||||
"gfx-hal",
|
||||
"gfx-renderdoc",
|
||||
"inplace_it",
|
||||
"log",
|
||||
"naga",
|
||||
"objc",
|
||||
"parking_lot",
|
||||
"raw-window-handle",
|
||||
"smallvec",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gfx-hal"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7fbb575ea793dd0507b3082f4f2cde62dc9f3cebd98f5cd49ba2a4da97a976fd"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"external-memory",
|
||||
"naga",
|
||||
"raw-window-handle",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gfx-renderdoc"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c8027995e247e2426d3a00d13f5191dd56c314bff02dc4b54cbf727f1ba9c40a"
|
||||
dependencies = [
|
||||
"libloading 0.7.0",
|
||||
"log",
|
||||
"renderdoc-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gif"
|
||||
version = "0.11.3"
|
||||
|
@ -1740,9 +1570,9 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
|
|||
|
||||
[[package]]
|
||||
name = "glow"
|
||||
version = "0.9.0"
|
||||
version = "0.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4b80b98efaa8a34fce11d60dd2ce2760d5d83c373cbcc73bb87c2a3a84a54108"
|
||||
checksum = "4f04649123493bc2483cbef4daddb45d40bbdae5adb221a63a23efdb0cc99520"
|
||||
dependencies = [
|
||||
"js-sys",
|
||||
"slotmap",
|
||||
|
@ -1752,9 +1582,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "gpu-alloc"
|
||||
version = "0.4.7"
|
||||
version = "0.5.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cbc1b6ca374e81862526786d9cb42357ce03706ed1b8761730caafd02ab91f3a"
|
||||
checksum = "0e64cbb8d36508d3e19da95e56e196a84f674fc190881f2cc010000798838aa6"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"gpu-alloc-types",
|
||||
|
@ -1771,9 +1601,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "gpu-descriptor"
|
||||
version = "0.1.1"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e8a70f1e87a3840ed6a3e99e02c2b861e4dbdf26f0d07e38f42ea5aff46cfce2"
|
||||
checksum = "d7a237f0419ab10d17006d55c62ac4f689a6bf52c75d3f38b8361d249e8d4b0b"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"gpu-descriptor-types",
|
||||
|
@ -1841,6 +1671,12 @@ dependencies = [
|
|||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hexf-parse"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df"
|
||||
|
||||
[[package]]
|
||||
name = "http"
|
||||
version = "0.2.4"
|
||||
|
@ -1902,6 +1738,7 @@ checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5"
|
|||
dependencies = [
|
||||
"autocfg",
|
||||
"hashbrown 0.11.2",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2272,9 +2109,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "metal"
|
||||
version = "0.23.0"
|
||||
version = "0.23.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "79d7d769f1c104b8388294d6594d491d2e21240636f5f94d37f8a0f3d7904450"
|
||||
checksum = "e0514f491f4cc03632ab399ee01e2c1c1b12d3e1cf2d667c1ff5f87d6dcd2084"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"block",
|
||||
|
@ -2365,19 +2202,21 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "naga"
|
||||
version = "0.5.0"
|
||||
version = "0.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ef670817eef03d356d5a509ea275e7dd3a78ea9e24261ea3cb2dfed1abb08f64"
|
||||
checksum = "eda66d09f712e1f0a6ab436137da4fac312f78301f6d4ac7cb8bfe96e988734f"
|
||||
dependencies = [
|
||||
"bit-set",
|
||||
"bitflags",
|
||||
"codespan-reporting",
|
||||
"fxhash",
|
||||
"hexf-parse",
|
||||
"indexmap",
|
||||
"log",
|
||||
"num-traits",
|
||||
"petgraph",
|
||||
"rose_tree",
|
||||
"spirv_headers",
|
||||
"serde",
|
||||
"spirv",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
|
@ -2783,9 +2622,9 @@ checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
|
|||
|
||||
[[package]]
|
||||
name = "petgraph"
|
||||
version = "0.5.1"
|
||||
version = "0.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7"
|
||||
checksum = "4a13a2fa9d0b63e5f22328828741e523766fff0ee9e779316902290dff3f824f"
|
||||
dependencies = [
|
||||
"fixedbitset",
|
||||
"indexmap",
|
||||
|
@ -3131,15 +2970,6 @@ dependencies = [
|
|||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rose_tree"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "284de9dae38774e2813aaabd7e947b4a6fe9b8c58c2309f754a487cdd50de1c2"
|
||||
dependencies = [
|
||||
"petgraph",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ruffle_core"
|
||||
version = "0.1.0"
|
||||
|
@ -3489,9 +3319,12 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "slotmap"
|
||||
version = "0.4.2"
|
||||
version = "1.0.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d61b40583e0c1bd3100652ba8940939decc8808e7b2a07f4f4606c6a8a40035a"
|
||||
checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342"
|
||||
dependencies = [
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sluice"
|
||||
|
@ -3540,21 +3373,10 @@ dependencies = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "spirv_cross"
|
||||
version = "0.23.1"
|
||||
name = "spirv"
|
||||
version = "0.2.0+1.5.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "60647fadbf83c4a72f0d7ea67a7ca3a81835cf442b8deae5c134c3e0055b2e14"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"js-sys",
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "spirv_headers"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f5b132530b1ac069df335577e3581765995cba5a13995cdbbdbc8fb057c532c"
|
||||
checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"num-traits",
|
||||
|
@ -3572,15 +3394,6 @@ version = "0.1.3"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ef5430c8e36b713e13b48a9f709cc21e046723fe44ce34587b73a830203b533e"
|
||||
|
||||
[[package]]
|
||||
name = "storage-map"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "418bb14643aa55a7841d5303f72cf512cfb323b8cc221d51580500a1ca75206c"
|
||||
dependencies = [
|
||||
"lock_api",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "strength_reduce"
|
||||
version = "0.2.3"
|
||||
|
@ -3760,12 +3573,6 @@ dependencies = [
|
|||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thunderdome"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "87b4947742c93ece24a0032141d9caa3d853752e694a57e35029dd2bd08673e0"
|
||||
|
||||
[[package]]
|
||||
name = "tiff"
|
||||
version = "0.6.1"
|
||||
|
@ -4147,9 +3954,9 @@ checksum = "9a8f3bf74f2d43500dea6a8291b6ac943e3465ea9936b94bd017e61b7b21dd01"
|
|||
|
||||
[[package]]
|
||||
name = "web-sys"
|
||||
version = "0.3.50"
|
||||
version = "0.3.55"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a905d57e488fec8861446d3393670fb50d27a262344013181c2cdf9fff5481be"
|
||||
checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb"
|
||||
dependencies = [
|
||||
"js-sys",
|
||||
"wasm-bindgen",
|
||||
|
@ -4183,11 +3990,11 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wgpu"
|
||||
version = "0.9.0"
|
||||
version = "0.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bd247f8b26fd3d42ef2f320d378025cd6e84d782ef749fab45cc3b981fbe3275"
|
||||
checksum = "d1577ecc4f6992b9e965878ac594efb24eed2bdf089c11f45b3d1c5f216e2e30"
|
||||
dependencies = [
|
||||
"arrayvec 0.5.2",
|
||||
"arrayvec 0.7.1",
|
||||
"js-sys",
|
||||
"log",
|
||||
"naga",
|
||||
|
@ -4199,29 +4006,21 @@ dependencies = [
|
|||
"wasm-bindgen-futures",
|
||||
"web-sys",
|
||||
"wgpu-core",
|
||||
"wgpu-hal",
|
||||
"wgpu-types",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-core"
|
||||
version = "0.9.2"
|
||||
version = "0.11.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "958a8a5e418492723ab4e7933bf6dbdf06f5dc87274ba2ae0e4f9c891aac579c"
|
||||
checksum = "3bdcbfa4885b32c2b1feb2faeb8b6a76065b752b8f08751b82f994e937687f46"
|
||||
dependencies = [
|
||||
"arrayvec 0.5.2",
|
||||
"arrayvec 0.7.1",
|
||||
"bitflags",
|
||||
"cfg_aliases",
|
||||
"copyless",
|
||||
"fxhash",
|
||||
"gfx-backend-dx11",
|
||||
"gfx-backend-dx12",
|
||||
"gfx-backend-empty",
|
||||
"gfx-backend-gl",
|
||||
"gfx-backend-metal",
|
||||
"gfx-backend-vulkan",
|
||||
"gfx-hal",
|
||||
"gpu-alloc",
|
||||
"gpu-descriptor",
|
||||
"log",
|
||||
"naga",
|
||||
"parking_lot",
|
||||
|
@ -4231,16 +4030,56 @@ dependencies = [
|
|||
"serde",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
"wgpu-hal",
|
||||
"wgpu-types",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-types"
|
||||
version = "0.9.0"
|
||||
name = "wgpu-hal"
|
||||
version = "0.11.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4f5c9678cd533558e28b416d66947b099742df1939307478db54f867137f1b60"
|
||||
checksum = "0e493835d9edb153d5c8a9d8d016e1811dbe32ddb707a110be1453c7b051d3ec"
|
||||
dependencies = [
|
||||
"arrayvec 0.7.1",
|
||||
"ash",
|
||||
"bit-set",
|
||||
"bitflags",
|
||||
"block",
|
||||
"core-graphics-types",
|
||||
"d3d12",
|
||||
"foreign-types",
|
||||
"fxhash",
|
||||
"glow",
|
||||
"gpu-alloc",
|
||||
"gpu-descriptor",
|
||||
"inplace_it",
|
||||
"js-sys",
|
||||
"khronos-egl",
|
||||
"libloading 0.7.0",
|
||||
"log",
|
||||
"metal",
|
||||
"naga",
|
||||
"objc",
|
||||
"parking_lot",
|
||||
"profiling",
|
||||
"range-alloc",
|
||||
"raw-window-handle",
|
||||
"renderdoc-sys",
|
||||
"thiserror",
|
||||
"wasm-bindgen",
|
||||
"web-sys",
|
||||
"wgpu-types",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wgpu-types"
|
||||
version = "0.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e15e44ba88ec415466e18e91881319e7c9e96cb905dc623305168aea65b85ccc"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"bitflags_serde_shim",
|
||||
"serde",
|
||||
]
|
||||
|
||||
|
@ -4322,15 +4161,6 @@ dependencies = [
|
|||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wio"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5"
|
||||
dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wyz"
|
||||
version = "0.2.0"
|
||||
|
|
|
@ -7,6 +7,7 @@ license = "MIT OR Apache-2.0"
|
|||
|
||||
[dependencies]
|
||||
clap = "3.0.0-beta.5"
|
||||
futures = "0.3"
|
||||
ruffle_core = { path = "../core" }
|
||||
ruffle_render_wgpu = { path = "../render/wgpu", features = ["clap"] }
|
||||
image = "0.23.14"
|
||||
|
|
|
@ -6,7 +6,6 @@ edition = "2021"
|
|||
license = "MIT OR Apache-2.0"
|
||||
|
||||
[dependencies]
|
||||
wgpu = "0.9.0"
|
||||
image = "0.23.14"
|
||||
log = "0.4"
|
||||
ruffle_core = { path = "../../core" }
|
||||
|
@ -17,6 +16,16 @@ raw-window-handle = "0.3.3"
|
|||
clap = { version = "3.0.0-beta.5", optional = true }
|
||||
enum-map = "1.1.1"
|
||||
|
||||
# wgpu desktop
|
||||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.wgpu]
|
||||
version = "0.11"
|
||||
features = ["spirv"]
|
||||
|
||||
# wgpu wasm
|
||||
[target.'cfg(target_arch = "wasm32")'.dependencies.wgpu]
|
||||
version = "0.11"
|
||||
features = ["spirv-web"]
|
||||
|
||||
[features]
|
||||
render_debug_labels = []
|
||||
render_trace = ["wgpu/trace"]
|
||||
|
|
|
@ -46,7 +46,7 @@ impl BitmapSamplers {
|
|||
label: layout_label.as_deref(),
|
||||
entries: &[wgpu::BindGroupLayoutEntry {
|
||||
binding: 0,
|
||||
visibility: wgpu::ShaderStage::FRAGMENT,
|
||||
visibility: wgpu::ShaderStages::FRAGMENT,
|
||||
ty: wgpu::BindingType::Sampler {
|
||||
comparison: false,
|
||||
filtering: true,
|
||||
|
|
|
@ -7,14 +7,14 @@ pub enum GraphicsBackend {
|
|||
Dx11,
|
||||
}
|
||||
|
||||
impl From<GraphicsBackend> for wgpu::BackendBit {
|
||||
impl From<GraphicsBackend> for wgpu::Backends {
|
||||
fn from(backend: GraphicsBackend) -> Self {
|
||||
match backend {
|
||||
GraphicsBackend::Default => wgpu::BackendBit::PRIMARY | wgpu::BackendBit::DX11,
|
||||
GraphicsBackend::Vulkan => wgpu::BackendBit::VULKAN,
|
||||
GraphicsBackend::Metal => wgpu::BackendBit::METAL,
|
||||
GraphicsBackend::Dx12 => wgpu::BackendBit::DX12,
|
||||
GraphicsBackend::Dx11 => wgpu::BackendBit::DX11,
|
||||
GraphicsBackend::Default => wgpu::Backends::PRIMARY | wgpu::Backends::DX11,
|
||||
GraphicsBackend::Vulkan => wgpu::Backends::VULKAN,
|
||||
GraphicsBackend::Metal => wgpu::Backends::METAL,
|
||||
GraphicsBackend::Dx12 => wgpu::Backends::DX12,
|
||||
GraphicsBackend::Dx11 => wgpu::Backends::DX11,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ impl Globals {
|
|||
label: layout_label.as_deref(),
|
||||
entries: &[wgpu::BindGroupLayoutEntry {
|
||||
binding: 0,
|
||||
visibility: wgpu::ShaderStage::VERTEX,
|
||||
visibility: wgpu::ShaderStages::VERTEX,
|
||||
ty: wgpu::BindingType::Buffer {
|
||||
ty: wgpu::BufferBindingType::Uniform,
|
||||
has_dynamic_offset: false,
|
||||
|
@ -38,7 +38,7 @@ impl Globals {
|
|||
let buffer = device.create_buffer(&wgpu::BufferDescriptor {
|
||||
label: buffer_label.as_deref(),
|
||||
size: std::mem::size_of::<GlobalsUniform>() as u64,
|
||||
usage: wgpu::BufferUsage::UNIFORM | wgpu::BufferUsage::COPY_DST,
|
||||
usage: wgpu::BufferUsages::UNIFORM | wgpu::BufferUsages::COPY_DST,
|
||||
mapped_at_creation: false,
|
||||
});
|
||||
|
||||
|
@ -90,7 +90,7 @@ impl Globals {
|
|||
[-1.0, 1.0, 0.0, 1.0],
|
||||
],
|
||||
}]),
|
||||
usage: wgpu::BufferUsage::COPY_SRC,
|
||||
usage: wgpu::BufferUsages::COPY_SRC,
|
||||
});
|
||||
|
||||
encoder.copy_buffer_to_buffer(
|
||||
|
|
|
@ -248,11 +248,11 @@ impl WgpuRenderBackend<SwapChainTarget> {
|
|||
pub fn for_window<W: HasRawWindowHandle>(
|
||||
window: &W,
|
||||
size: (u32, u32),
|
||||
backend: wgpu::BackendBit,
|
||||
backend: wgpu::Backends,
|
||||
power_preference: wgpu::PowerPreference,
|
||||
trace_path: Option<&Path>,
|
||||
) -> Result<Self, Error> {
|
||||
if wgpu::BackendBit::SECONDARY.contains(backend) {
|
||||
if wgpu::Backends::SECONDARY.contains(backend) {
|
||||
log::warn!(
|
||||
"{} graphics backend support may not be fully supported.",
|
||||
format_list(&get_backend_names(backend), "and")
|
||||
|
@ -275,11 +275,11 @@ impl WgpuRenderBackend<SwapChainTarget> {
|
|||
impl WgpuRenderBackend<TextureTarget> {
|
||||
pub fn for_offscreen(
|
||||
size: (u32, u32),
|
||||
backend: wgpu::BackendBit,
|
||||
backend: wgpu::Backends,
|
||||
power_preference: wgpu::PowerPreference,
|
||||
trace_path: Option<&Path>,
|
||||
) -> Result<Self, Error> {
|
||||
if wgpu::BackendBit::SECONDARY.contains(backend) {
|
||||
if wgpu::Backends::SECONDARY.contains(backend) {
|
||||
log::warn!(
|
||||
"{} graphics backend support may not be fully supported.",
|
||||
format_list(&get_backend_names(backend), "and")
|
||||
|
@ -309,7 +309,7 @@ impl<T: RenderTarget> WgpuRenderBackend<T> {
|
|||
sample_count: descriptors.msaa_sample_count,
|
||||
dimension: wgpu::TextureDimension::D2,
|
||||
format: target.format(),
|
||||
usage: wgpu::TextureUsage::RENDER_ATTACHMENT,
|
||||
usage: wgpu::TextureUsages::RENDER_ATTACHMENT,
|
||||
});
|
||||
let frame_buffer_view = frame_buffer.create_view(&Default::default());
|
||||
|
||||
|
@ -321,7 +321,7 @@ impl<T: RenderTarget> WgpuRenderBackend<T> {
|
|||
sample_count: descriptors.msaa_sample_count,
|
||||
dimension: wgpu::TextureDimension::D2,
|
||||
format: wgpu::TextureFormat::Depth24PlusStencil8,
|
||||
usage: wgpu::TextureUsage::RENDER_ATTACHMENT,
|
||||
usage: wgpu::TextureUsages::RENDER_ATTACHMENT,
|
||||
});
|
||||
|
||||
let depth_texture_view = depth_texture.create_view(&Default::default());
|
||||
|
@ -353,7 +353,7 @@ impl<T: RenderTarget> WgpuRenderBackend<T> {
|
|||
}
|
||||
|
||||
pub fn build_descriptors(
|
||||
backend: wgpu::BackendBit,
|
||||
backend: wgpu::Backends,
|
||||
instance: wgpu::Instance,
|
||||
surface: Option<&wgpu::Surface>,
|
||||
power_preference: wgpu::PowerPreference,
|
||||
|
@ -362,6 +362,7 @@ impl<T: RenderTarget> WgpuRenderBackend<T> {
|
|||
let adapter = block_on(instance.request_adapter(&wgpu::RequestAdapterOptions {
|
||||
power_preference,
|
||||
compatible_surface: surface,
|
||||
force_fallback_adapter: false,
|
||||
}))
|
||||
.ok_or_else(|| {
|
||||
let names = get_backend_names(backend);
|
||||
|
@ -408,14 +409,14 @@ impl<T: RenderTarget> WgpuRenderBackend<T> {
|
|||
let vertex_buffer = create_buffer_with_data(
|
||||
&self.descriptors.device,
|
||||
bytemuck::cast_slice(&vertices),
|
||||
wgpu::BufferUsage::VERTEX,
|
||||
wgpu::BufferUsages::VERTEX,
|
||||
create_debug_label!("Shape {} ({}) vbo", shape_id, draw.draw_type.name()),
|
||||
);
|
||||
|
||||
let index_buffer = create_buffer_with_data(
|
||||
&self.descriptors.device,
|
||||
bytemuck::cast_slice(&draw.indices),
|
||||
wgpu::BufferUsage::INDEX,
|
||||
wgpu::BufferUsages::INDEX,
|
||||
create_debug_label!("Shape {} ({}) ibo", shape_id, draw.draw_type.name()),
|
||||
);
|
||||
|
||||
|
@ -439,7 +440,7 @@ impl<T: RenderTarget> WgpuRenderBackend<T> {
|
|||
let tex_transforms_ubo = create_buffer_with_data(
|
||||
&self.descriptors.device,
|
||||
bytemuck::cast_slice(&[texture_transform]),
|
||||
wgpu::BufferUsage::UNIFORM,
|
||||
wgpu::BufferUsages::UNIFORM,
|
||||
create_debug_label!(
|
||||
"Shape {} draw {} textransforms ubo transfer buffer",
|
||||
shape_id,
|
||||
|
@ -450,7 +451,7 @@ impl<T: RenderTarget> WgpuRenderBackend<T> {
|
|||
let gradient_ubo = create_buffer_with_data(
|
||||
&self.descriptors.device,
|
||||
bytemuck::cast_slice(&[GradientUniforms::from(gradient)]),
|
||||
wgpu::BufferUsage::STORAGE,
|
||||
wgpu::BufferUsages::STORAGE,
|
||||
create_debug_label!(
|
||||
"Shape {} draw {} gradient ubo transfer buffer",
|
||||
shape_id,
|
||||
|
@ -525,7 +526,7 @@ impl<T: RenderTarget> WgpuRenderBackend<T> {
|
|||
let tex_transforms_ubo = create_buffer_with_data(
|
||||
&self.descriptors.device,
|
||||
bytemuck::cast_slice(&[texture_transform]),
|
||||
wgpu::BufferUsage::UNIFORM,
|
||||
wgpu::BufferUsages::UNIFORM,
|
||||
create_debug_label!(
|
||||
"Shape {} draw {} textransforms ubo transfer buffer",
|
||||
shape_id,
|
||||
|
@ -619,7 +620,7 @@ impl<T: RenderTarget> WgpuRenderBackend<T> {
|
|||
sample_count: 1,
|
||||
dimension: wgpu::TextureDimension::D2,
|
||||
format: wgpu::TextureFormat::Rgba8Unorm,
|
||||
usage: wgpu::TextureUsage::SAMPLED | wgpu::TextureUsage::COPY_DST,
|
||||
usage: wgpu::TextureUsages::TEXTURE_BINDING | wgpu::TextureUsages::COPY_DST,
|
||||
});
|
||||
|
||||
self.descriptors.queue.write_texture(
|
||||
|
@ -627,6 +628,7 @@ impl<T: RenderTarget> WgpuRenderBackend<T> {
|
|||
texture: &texture,
|
||||
mip_level: 0,
|
||||
origin: Default::default(),
|
||||
aspect: wgpu::TextureAspect::All,
|
||||
},
|
||||
&data,
|
||||
wgpu::ImageDataLayout {
|
||||
|
@ -714,7 +716,7 @@ impl<T: RenderTarget + 'static> RenderBackend for WgpuRenderBackend<T> {
|
|||
sample_count: self.descriptors.msaa_sample_count,
|
||||
dimension: wgpu::TextureDimension::D2,
|
||||
format: self.target.format(),
|
||||
usage: wgpu::TextureUsage::RENDER_ATTACHMENT,
|
||||
usage: wgpu::TextureUsages::RENDER_ATTACHMENT,
|
||||
});
|
||||
self.frame_buffer_view = frame_buffer.create_view(&Default::default());
|
||||
|
||||
|
@ -733,7 +735,7 @@ impl<T: RenderTarget + 'static> RenderBackend for WgpuRenderBackend<T> {
|
|||
sample_count: self.descriptors.msaa_sample_count,
|
||||
dimension: wgpu::TextureDimension::D2,
|
||||
format: wgpu::TextureFormat::Depth24PlusStencil8,
|
||||
usage: wgpu::TextureUsage::RENDER_ATTACHMENT,
|
||||
usage: wgpu::TextureUsages::RENDER_ATTACHMENT,
|
||||
});
|
||||
self.depth_texture_view = depth_texture.create_view(&Default::default());
|
||||
self.descriptors.globals.set_resolution(width, height);
|
||||
|
@ -916,12 +918,12 @@ impl<T: RenderTarget + 'static> RenderBackend for WgpuRenderBackend<T> {
|
|||
.pipeline_for(self.mask_state),
|
||||
);
|
||||
frame.render_pass.set_push_constants(
|
||||
wgpu::ShaderStage::VERTEX,
|
||||
wgpu::ShaderStages::VERTEX,
|
||||
0,
|
||||
bytemuck::cast_slice(&[Transforms { world_matrix }]),
|
||||
);
|
||||
frame.render_pass.set_push_constants(
|
||||
wgpu::ShaderStage::FRAGMENT,
|
||||
wgpu::ShaderStages::FRAGMENT,
|
||||
std::mem::size_of::<Transforms>() as u32,
|
||||
bytemuck::cast_slice(&[ColorAdjustments::from(transform.color_transform)]),
|
||||
);
|
||||
|
@ -1029,12 +1031,12 @@ impl<T: RenderTarget + 'static> RenderBackend for WgpuRenderBackend<T> {
|
|||
}
|
||||
|
||||
frame.render_pass.set_push_constants(
|
||||
wgpu::ShaderStage::VERTEX,
|
||||
wgpu::ShaderStages::VERTEX,
|
||||
0,
|
||||
bytemuck::cast_slice(&[Transforms { world_matrix }]),
|
||||
);
|
||||
frame.render_pass.set_push_constants(
|
||||
wgpu::ShaderStage::FRAGMENT,
|
||||
wgpu::ShaderStages::FRAGMENT,
|
||||
std::mem::size_of::<Transforms>() as u32,
|
||||
bytemuck::cast_slice(&[ColorAdjustments::from(transform.color_transform)]),
|
||||
);
|
||||
|
@ -1096,12 +1098,12 @@ impl<T: RenderTarget + 'static> RenderBackend for WgpuRenderBackend<T> {
|
|||
);
|
||||
|
||||
frame.render_pass.set_push_constants(
|
||||
wgpu::ShaderStage::VERTEX,
|
||||
wgpu::ShaderStages::VERTEX,
|
||||
0,
|
||||
bytemuck::cast_slice(&[Transforms { world_matrix }]),
|
||||
);
|
||||
frame.render_pass.set_push_constants(
|
||||
wgpu::ShaderStage::FRAGMENT,
|
||||
wgpu::ShaderStages::FRAGMENT,
|
||||
std::mem::size_of::<Transforms>() as u32,
|
||||
bytemuck::cast_slice(&[ColorAdjustments {
|
||||
mult_color,
|
||||
|
@ -1144,6 +1146,7 @@ impl<T: RenderTarget + 'static> RenderBackend for WgpuRenderBackend<T> {
|
|||
&self.descriptors.device,
|
||||
&self.descriptors.queue,
|
||||
vec![draw_encoder.finish()],
|
||||
frame.frame_data.1,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1222,6 +1225,7 @@ impl<T: RenderTarget + 'static> RenderBackend for WgpuRenderBackend<T> {
|
|||
texture,
|
||||
mip_level: 0,
|
||||
origin: Default::default(),
|
||||
aspect: wgpu::TextureAspect::All,
|
||||
},
|
||||
&rgba,
|
||||
wgpu::ImageDataLayout {
|
||||
|
@ -1260,14 +1264,14 @@ fn create_quad_buffers(device: &wgpu::Device) -> (wgpu::Buffer, wgpu::Buffer, wg
|
|||
let vbo = create_buffer_with_data(
|
||||
device,
|
||||
bytemuck::cast_slice(&vertices),
|
||||
wgpu::BufferUsage::VERTEX,
|
||||
wgpu::BufferUsages::VERTEX,
|
||||
create_debug_label!("Quad vbo"),
|
||||
);
|
||||
|
||||
let ibo = create_buffer_with_data(
|
||||
device,
|
||||
bytemuck::cast_slice(&indices),
|
||||
wgpu::BufferUsage::INDEX,
|
||||
wgpu::BufferUsages::INDEX,
|
||||
create_debug_label!("Quad ibo"),
|
||||
);
|
||||
|
||||
|
@ -1281,7 +1285,7 @@ fn create_quad_buffers(device: &wgpu::Device) -> (wgpu::Buffer, wgpu::Buffer, wg
|
|||
[0.0, 0.0, 0.0, 1.0],
|
||||
],
|
||||
}]),
|
||||
wgpu::BufferUsage::UNIFORM,
|
||||
wgpu::BufferUsages::UNIFORM,
|
||||
create_debug_label!("Quad tex transforms"),
|
||||
);
|
||||
|
||||
|
|
|
@ -39,7 +39,6 @@ impl Pipelines {
|
|||
wgpu::ShaderModuleDescriptor {
|
||||
label: Some($($token)*),
|
||||
source: wgpu::util::make_spirv(include_bytes!($($token)*)),
|
||||
flags: wgpu::ShaderFlags::empty(),
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -55,7 +54,7 @@ impl Pipelines {
|
|||
|
||||
let vertex_buffers_description = [wgpu::VertexBufferLayout {
|
||||
array_stride: std::mem::size_of::<Vertex>() as u64,
|
||||
step_mode: wgpu::InputStepMode::Vertex,
|
||||
step_mode: wgpu::VertexStepMode::Vertex,
|
||||
attributes: &vertex_attr_array![
|
||||
0 => Float32x2,
|
||||
1 => Float32x4,
|
||||
|
@ -77,7 +76,7 @@ impl Pipelines {
|
|||
entries: &[
|
||||
wgpu::BindGroupLayoutEntry {
|
||||
binding: 0,
|
||||
visibility: wgpu::ShaderStage::VERTEX,
|
||||
visibility: wgpu::ShaderStages::VERTEX,
|
||||
ty: wgpu::BindingType::Buffer {
|
||||
ty: wgpu::BufferBindingType::Uniform,
|
||||
has_dynamic_offset: false,
|
||||
|
@ -87,7 +86,7 @@ impl Pipelines {
|
|||
},
|
||||
wgpu::BindGroupLayoutEntry {
|
||||
binding: 1,
|
||||
visibility: wgpu::ShaderStage::FRAGMENT,
|
||||
visibility: wgpu::ShaderStages::FRAGMENT,
|
||||
ty: wgpu::BindingType::Texture {
|
||||
multisampled: false,
|
||||
sample_type: wgpu::TextureSampleType::Float { filterable: true },
|
||||
|
@ -116,7 +115,7 @@ impl Pipelines {
|
|||
entries: &[
|
||||
wgpu::BindGroupLayoutEntry {
|
||||
binding: 0,
|
||||
visibility: wgpu::ShaderStage::VERTEX,
|
||||
visibility: wgpu::ShaderStages::VERTEX,
|
||||
ty: wgpu::BindingType::Buffer {
|
||||
ty: wgpu::BufferBindingType::Uniform,
|
||||
has_dynamic_offset: false,
|
||||
|
@ -126,7 +125,7 @@ impl Pipelines {
|
|||
},
|
||||
wgpu::BindGroupLayoutEntry {
|
||||
binding: 1,
|
||||
visibility: wgpu::ShaderStage::FRAGMENT,
|
||||
visibility: wgpu::ShaderStages::FRAGMENT,
|
||||
ty: wgpu::BindingType::Buffer {
|
||||
ty: wgpu::BufferBindingType::Storage { read_only: true },
|
||||
has_dynamic_offset: false,
|
||||
|
@ -217,11 +216,11 @@ fn create_color_pipelines(
|
|||
bind_group_layouts: &[globals_layout],
|
||||
push_constant_ranges: &[
|
||||
wgpu::PushConstantRange {
|
||||
stages: wgpu::ShaderStage::VERTEX,
|
||||
stages: wgpu::ShaderStages::VERTEX,
|
||||
range: 0..transforms_size,
|
||||
},
|
||||
wgpu::PushConstantRange {
|
||||
stages: wgpu::ShaderStage::FRAGMENT,
|
||||
stages: wgpu::ShaderStages::FRAGMENT,
|
||||
range: transforms_size..transforms_size + colors_size,
|
||||
},
|
||||
],
|
||||
|
@ -390,11 +389,11 @@ fn create_bitmap_pipeline(
|
|||
bind_group_layouts: &[globals_layout, bitmap_bind_layout, sampler_layout],
|
||||
push_constant_ranges: &[
|
||||
wgpu::PushConstantRange {
|
||||
stages: wgpu::ShaderStage::VERTEX,
|
||||
stages: wgpu::ShaderStages::VERTEX,
|
||||
range: 0..64,
|
||||
},
|
||||
wgpu::PushConstantRange {
|
||||
stages: wgpu::ShaderStage::FRAGMENT,
|
||||
stages: wgpu::ShaderStages::FRAGMENT,
|
||||
range: 64..96,
|
||||
},
|
||||
],
|
||||
|
@ -561,11 +560,11 @@ fn create_gradient_pipeline(
|
|||
bind_group_layouts: &[globals_layout, gradient_bind_layout],
|
||||
push_constant_ranges: &[
|
||||
wgpu::PushConstantRange {
|
||||
stages: wgpu::ShaderStage::VERTEX,
|
||||
stages: wgpu::ShaderStages::VERTEX,
|
||||
range: 0..64,
|
||||
},
|
||||
wgpu::PushConstantRange {
|
||||
stages: wgpu::ShaderStage::FRAGMENT,
|
||||
stages: wgpu::ShaderStages::FRAGMENT,
|
||||
range: 64..96,
|
||||
},
|
||||
],
|
||||
|
@ -717,7 +716,7 @@ fn create_gradient_pipeline(
|
|||
ShapePipeline { mask_pipelines }
|
||||
}
|
||||
|
||||
fn mask_render_state(state: MaskState) -> (wgpu::StencilState, wgpu::ColorWrite) {
|
||||
fn mask_render_state(state: MaskState) -> (wgpu::StencilState, wgpu::ColorWrites) {
|
||||
let (stencil_state, color_write) = match state {
|
||||
MaskState::NoMask => (
|
||||
wgpu::StencilFaceState {
|
||||
|
@ -726,7 +725,7 @@ fn mask_render_state(state: MaskState) -> (wgpu::StencilState, wgpu::ColorWrite)
|
|||
depth_fail_op: wgpu::StencilOperation::Keep,
|
||||
pass_op: wgpu::StencilOperation::Keep,
|
||||
},
|
||||
wgpu::ColorWrite::ALL,
|
||||
wgpu::ColorWrites::ALL,
|
||||
),
|
||||
MaskState::DrawMaskStencil => (
|
||||
wgpu::StencilFaceState {
|
||||
|
@ -735,7 +734,7 @@ fn mask_render_state(state: MaskState) -> (wgpu::StencilState, wgpu::ColorWrite)
|
|||
depth_fail_op: wgpu::StencilOperation::Keep,
|
||||
pass_op: wgpu::StencilOperation::IncrementClamp,
|
||||
},
|
||||
wgpu::ColorWrite::empty(),
|
||||
wgpu::ColorWrites::empty(),
|
||||
),
|
||||
MaskState::DrawMaskedContent => (
|
||||
wgpu::StencilFaceState {
|
||||
|
@ -744,7 +743,7 @@ fn mask_render_state(state: MaskState) -> (wgpu::StencilState, wgpu::ColorWrite)
|
|||
depth_fail_op: wgpu::StencilOperation::Keep,
|
||||
pass_op: wgpu::StencilOperation::Keep,
|
||||
},
|
||||
wgpu::ColorWrite::ALL,
|
||||
wgpu::ColorWrites::ALL,
|
||||
),
|
||||
MaskState::ClearMaskStencil => (
|
||||
wgpu::StencilFaceState {
|
||||
|
@ -753,7 +752,7 @@ fn mask_render_state(state: MaskState) -> (wgpu::StencilState, wgpu::ColorWrite)
|
|||
depth_fail_op: wgpu::StencilOperation::Keep,
|
||||
pass_op: wgpu::StencilOperation::DecrementClamp,
|
||||
},
|
||||
wgpu::ColorWrite::empty(),
|
||||
wgpu::ColorWrites::empty(),
|
||||
),
|
||||
};
|
||||
|
||||
|
|
|
@ -19,46 +19,48 @@ pub trait RenderTarget: Debug + 'static {
|
|||
|
||||
fn height(&self) -> u32;
|
||||
|
||||
fn get_next_texture(&mut self) -> Result<Self::Frame, wgpu::SwapChainError>;
|
||||
fn get_next_texture(&mut self) -> Result<Self::Frame, wgpu::SurfaceError>;
|
||||
|
||||
fn submit<I: IntoIterator<Item = wgpu::CommandBuffer>>(
|
||||
&self,
|
||||
device: &wgpu::Device,
|
||||
queue: &wgpu::Queue,
|
||||
command_buffers: I,
|
||||
frame: Self::Frame,
|
||||
);
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct SwapChainTarget {
|
||||
window_surface: wgpu::Surface,
|
||||
swap_chain_desc: wgpu::SwapChainDescriptor,
|
||||
swap_chain: wgpu::SwapChain,
|
||||
surface_config: wgpu::SurfaceConfiguration,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct SwapChainTargetFrame(wgpu::SwapChainFrame);
|
||||
pub struct SwapChainTargetFrame {
|
||||
texture: wgpu::SurfaceTexture,
|
||||
view: wgpu::TextureView,
|
||||
}
|
||||
|
||||
impl RenderTargetFrame for SwapChainTargetFrame {
|
||||
fn view(&self) -> &wgpu::TextureView {
|
||||
&self.0.output.view
|
||||
&self.view
|
||||
}
|
||||
}
|
||||
|
||||
impl SwapChainTarget {
|
||||
pub fn new(surface: wgpu::Surface, size: (u32, u32), device: &wgpu::Device) -> Self {
|
||||
let swap_chain_desc = wgpu::SwapChainDescriptor {
|
||||
usage: wgpu::TextureUsage::RENDER_ATTACHMENT,
|
||||
let surface_config = wgpu::SurfaceConfiguration {
|
||||
usage: wgpu::TextureUsages::RENDER_ATTACHMENT,
|
||||
format: wgpu::TextureFormat::Bgra8Unorm,
|
||||
width: size.0,
|
||||
height: size.1,
|
||||
present_mode: wgpu::PresentMode::Mailbox,
|
||||
};
|
||||
let swap_chain = device.create_swap_chain(&surface, &swap_chain_desc);
|
||||
surface.configure(device, &surface_config);
|
||||
Self {
|
||||
surface_config,
|
||||
window_surface: surface,
|
||||
swap_chain_desc,
|
||||
swap_chain,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -67,27 +69,27 @@ impl RenderTarget for SwapChainTarget {
|
|||
type Frame = SwapChainTargetFrame;
|
||||
|
||||
fn resize(&mut self, device: &wgpu::Device, width: u32, height: u32) {
|
||||
self.swap_chain_desc.width = width;
|
||||
self.swap_chain_desc.height = height;
|
||||
self.swap_chain = device.create_swap_chain(&self.window_surface, &self.swap_chain_desc);
|
||||
self.surface_config.width = width;
|
||||
self.surface_config.height = height;
|
||||
self.window_surface.configure(device, &self.surface_config);
|
||||
}
|
||||
|
||||
fn format(&self) -> wgpu::TextureFormat {
|
||||
self.swap_chain_desc.format
|
||||
self.surface_config.format
|
||||
}
|
||||
|
||||
fn width(&self) -> u32 {
|
||||
self.swap_chain_desc.width
|
||||
self.surface_config.width
|
||||
}
|
||||
|
||||
fn height(&self) -> u32 {
|
||||
self.swap_chain_desc.height
|
||||
self.surface_config.height
|
||||
}
|
||||
|
||||
fn get_next_texture(&mut self) -> Result<Self::Frame, wgpu::SwapChainError> {
|
||||
self.swap_chain
|
||||
.get_current_frame()
|
||||
.map(SwapChainTargetFrame)
|
||||
fn get_next_texture(&mut self) -> Result<Self::Frame, wgpu::SurfaceError> {
|
||||
let texture = self.window_surface.get_current_texture()?;
|
||||
let view = texture.texture.create_view(&Default::default());
|
||||
Ok(SwapChainTargetFrame { texture, view })
|
||||
}
|
||||
|
||||
fn submit<I: IntoIterator<Item = wgpu::CommandBuffer>>(
|
||||
|
@ -95,8 +97,10 @@ impl RenderTarget for SwapChainTarget {
|
|||
_device: &wgpu::Device,
|
||||
queue: &wgpu::Queue,
|
||||
command_buffers: I,
|
||||
frame: Self::Frame,
|
||||
) {
|
||||
queue.submit(command_buffers);
|
||||
frame.texture.present();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -137,14 +141,14 @@ impl TextureTarget {
|
|||
sample_count: 1,
|
||||
dimension: wgpu::TextureDimension::D2,
|
||||
format,
|
||||
usage: wgpu::TextureUsage::RENDER_ATTACHMENT | wgpu::TextureUsage::COPY_SRC,
|
||||
usage: wgpu::TextureUsages::RENDER_ATTACHMENT | wgpu::TextureUsages::COPY_SRC,
|
||||
});
|
||||
let buffer_label = create_debug_label!("Render target buffer");
|
||||
let buffer = device.create_buffer(&wgpu::BufferDescriptor {
|
||||
label: buffer_label.as_deref(),
|
||||
size: (buffer_dimensions.padded_bytes_per_row.get() as u64
|
||||
* buffer_dimensions.height as u64),
|
||||
usage: wgpu::BufferUsage::COPY_DST | wgpu::BufferUsage::MAP_READ,
|
||||
usage: wgpu::BufferUsages::COPY_DST | wgpu::BufferUsages::MAP_READ,
|
||||
mapped_at_creation: false,
|
||||
});
|
||||
Self {
|
||||
|
@ -201,14 +205,14 @@ impl RenderTarget for TextureTarget {
|
|||
sample_count: 1,
|
||||
dimension: wgpu::TextureDimension::D2,
|
||||
format: self.format,
|
||||
usage: wgpu::TextureUsage::RENDER_ATTACHMENT | wgpu::TextureUsage::COPY_SRC,
|
||||
usage: wgpu::TextureUsages::RENDER_ATTACHMENT | wgpu::TextureUsages::COPY_SRC,
|
||||
});
|
||||
|
||||
let buffer_label = create_debug_label!("Render target buffer");
|
||||
self.buffer = device.create_buffer(&wgpu::BufferDescriptor {
|
||||
label: buffer_label.as_deref(),
|
||||
size: width as u64 * height as u64 * 4,
|
||||
usage: wgpu::BufferUsage::COPY_DST | wgpu::BufferUsage::MAP_READ,
|
||||
usage: wgpu::BufferUsages::COPY_DST | wgpu::BufferUsages::MAP_READ,
|
||||
mapped_at_creation: false,
|
||||
});
|
||||
}
|
||||
|
@ -225,7 +229,7 @@ impl RenderTarget for TextureTarget {
|
|||
self.size.height
|
||||
}
|
||||
|
||||
fn get_next_texture(&mut self) -> Result<Self::Frame, wgpu::SwapChainError> {
|
||||
fn get_next_texture(&mut self) -> Result<Self::Frame, wgpu::SurfaceError> {
|
||||
Ok(TextureTargetFrame(
|
||||
self.texture.create_view(&Default::default()),
|
||||
))
|
||||
|
@ -236,6 +240,7 @@ impl RenderTarget for TextureTarget {
|
|||
device: &wgpu::Device,
|
||||
queue: &wgpu::Queue,
|
||||
command_buffers: I,
|
||||
_frame: Self::Frame,
|
||||
) {
|
||||
let label = create_debug_label!("Render target transfer encoder");
|
||||
let mut encoder = device.create_command_encoder(&wgpu::CommandEncoderDescriptor {
|
||||
|
@ -246,6 +251,7 @@ impl RenderTarget for TextureTarget {
|
|||
texture: &self.texture,
|
||||
mip_level: 0,
|
||||
origin: wgpu::Origin3d::ZERO,
|
||||
aspect: wgpu::TextureAspect::All,
|
||||
},
|
||||
wgpu::ImageCopyBuffer {
|
||||
buffer: &self.buffer,
|
||||
|
|
|
@ -27,25 +27,25 @@ pub fn format_list<'a>(values: &[&'a str], connector: &'a str) -> Cow<'a, str> {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn get_backend_names(backends: wgpu::BackendBit) -> Vec<&'static str> {
|
||||
pub fn get_backend_names(backends: wgpu::Backends) -> Vec<&'static str> {
|
||||
let mut names = Vec::new();
|
||||
|
||||
if backends.contains(wgpu::BackendBit::VULKAN) {
|
||||
if backends.contains(wgpu::Backends::VULKAN) {
|
||||
names.push("Vulkan");
|
||||
}
|
||||
if backends.contains(wgpu::BackendBit::DX12) {
|
||||
if backends.contains(wgpu::Backends::DX12) {
|
||||
names.push("DirectX 12");
|
||||
}
|
||||
if backends.contains(wgpu::BackendBit::DX11) {
|
||||
if backends.contains(wgpu::Backends::DX11) {
|
||||
names.push("DirectX 11");
|
||||
}
|
||||
if backends.contains(wgpu::BackendBit::METAL) {
|
||||
if backends.contains(wgpu::Backends::METAL) {
|
||||
names.push("Metal");
|
||||
}
|
||||
if backends.contains(wgpu::BackendBit::GL) {
|
||||
if backends.contains(wgpu::Backends::GL) {
|
||||
names.push("Open GL");
|
||||
}
|
||||
if backends.contains(wgpu::BackendBit::BROWSER_WEBGPU) {
|
||||
if backends.contains(wgpu::Backends::BROWSER_WEBGPU) {
|
||||
names.push("Web GPU");
|
||||
}
|
||||
|
||||
|
@ -55,7 +55,7 @@ pub fn get_backend_names(backends: wgpu::BackendBit) -> Vec<&'static str> {
|
|||
pub fn create_buffer_with_data(
|
||||
device: &wgpu::Device,
|
||||
data: &[u8],
|
||||
usage: wgpu::BufferUsage,
|
||||
usage: wgpu::BufferUsages,
|
||||
label: Option<String>,
|
||||
) -> wgpu::Buffer {
|
||||
device.create_buffer_init(&wgpu::util::BufferInitDescriptor {
|
||||
|
|
|
@ -1022,7 +1022,7 @@ fn run_swf(
|
|||
let trace_output = Rc::new(RefCell::new(Vec::new()));
|
||||
|
||||
let mut platform_id = None;
|
||||
let backend_bit = wgpu::BackendBit::PRIMARY;
|
||||
let backend_bit = wgpu::Backends::PRIMARY;
|
||||
|
||||
let (render_backend, video_backend): (Box<dyn RenderBackend>, Box<dyn VideoBackend>) =
|
||||
if check_img {
|
||||
|
|
Loading…
Reference in New Issue