Bug 1654699. Update core-foundation/core-graphics. r=kvark,keeler,jcj,chunmin

This includes updates to authenticator, cubeb-coreaudio,
metal, gfx-backend-vulkan, gfx-backend-metal, freetype

libloading is duplicated because of ash

Differential Revision: https://phabricator.services.mozilla.com/D84688
This commit is contained in:
Jeff Muizelaar 2020-07-24 22:35:25 +00:00
Родитель 8951306649
Коммит b083673982
227 изменённых файлов: 95510 добавлений и 98329 удалений

Просмотреть файл

@ -85,7 +85,7 @@ rev = "5e870faf6f95d79d11efc813e56370ad124bbed5"
[source."https://github.com/ChunMinChang/cubeb-coreaudio-rs"]
git = "https://github.com/ChunMinChang/cubeb-coreaudio-rs"
replace-with = "vendored-sources"
rev = "4cdbceadae88c77dfc77183b7edda183f32cd28c"
rev = "260be23d1166a22e2ff6a89844efaca8bb4b61e2"
[source.crates-io]
replace-with = "vendored-sources"

100
Cargo.lock сгенерированный
Просмотреть файл

@ -64,11 +64,11 @@ checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
[[package]]
name = "ash"
version = "0.30.0"
version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69daec0742947f33a85931fa3cb0ce5f07929159dcbd1f0cbb5b2912e2978509"
checksum = "c69a8137596e84c22d57f3da1b5de1d4230b1742a710091c85f4d7ce50f00f38"
dependencies = [
"libloading",
"libloading 0.6.2",
]
[[package]]
@ -180,9 +180,9 @@ dependencies = [
[[package]]
name = "authenticator"
version = "0.2.13"
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6cc4e983ae4499095b965b8c0c57596ae718fe551d2b04aa2c19c777a02e05a4"
checksum = "27f4b43192679f52f6cfe741f982190e3f677f2176fd444d5af8d48d84390433"
dependencies = [
"bitflags",
"boxfnonce",
@ -574,7 +574,7 @@ checksum = "f92986241798376849e1a007827041fed9bb36195822c2049d18e174420e0534"
dependencies = [
"glob",
"libc",
"libloading",
"libloading 0.5.2",
]
[[package]]
@ -609,15 +609,15 @@ dependencies = [
]
[[package]]
name = "cocoa"
version = "0.20.0"
name = "cocoa-foundation"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a4736c86d51bd878b474400d9ec888156f4037015f5d09794fab9f26eab1ad4"
checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318"
dependencies = [
"bitflags",
"block",
"core-foundation",
"core-graphics",
"core-graphics-types",
"foreign-types",
"libc",
"objc",
@ -657,9 +657,9 @@ checksum = "6ff9c56c9fb2a49c05ef0e431485a22400af20d33226dc0764d891d09e724127"
[[package]]
name = "core-foundation"
version = "0.7.0"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
checksum = "3b5ed8e7e76c45974e15e41bfa8d5b0483cd90191639e01d8f5f1e606299d3fb"
dependencies = [
"core-foundation-sys",
"libc",
@ -667,15 +667,28 @@ dependencies = [
[[package]]
name = "core-foundation-sys"
version = "0.7.0"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
checksum = "9a21fa21941700a3cd8fcb4091f361a6a712fac632f85d9f487cc892045d55c6"
[[package]]
name = "core-graphics"
version = "0.19.0"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59e78b2e0aaf43f08e7ae0d6bc96895ef72ff0921c7d4ff4762201b2dba376dd"
checksum = "f6082396a349fa49674ba1bda4077332a18bf150e8fa75745ece07085e29a113"
dependencies = [
"bitflags",
"core-foundation",
"core-graphics-types",
"foreign-types",
"libc",
]
[[package]]
name = "core-graphics-types"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e92f5d519093a4178296707dbaa3880eae85a5ef5386675f361a1cf25376e93c"
dependencies = [
"bitflags",
"core-foundation",
@ -685,9 +698,9 @@ dependencies = [
[[package]]
name = "core-text"
version = "15.0.0"
version = "19.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "131b3fd1f8bd5db9f2b398fa4fdb6008c64afc04d447c306ac2c7e98fba2a61d"
checksum = "04dfae50af11e72657fe7174cddb1ecddc5398037f7f6f39533ad69207c9a4e2"
dependencies = [
"core-foundation",
"core-graphics",
@ -707,7 +720,7 @@ dependencies = [
[[package]]
name = "coreaudio-sys-utils"
version = "0.1.0"
source = "git+https://github.com/ChunMinChang/cubeb-coreaudio-rs?rev=4cdbceadae88c77dfc77183b7edda183f32cd28c#4cdbceadae88c77dfc77183b7edda183f32cd28c"
source = "git+https://github.com/ChunMinChang/cubeb-coreaudio-rs?rev=260be23d1166a22e2ff6a89844efaca8bb4b61e2#260be23d1166a22e2ff6a89844efaca8bb4b61e2"
dependencies = [
"core-foundation-sys",
"coreaudio-sys",
@ -945,7 +958,7 @@ dependencies = [
[[package]]
name = "cubeb-coreaudio"
version = "0.1.0"
source = "git+https://github.com/ChunMinChang/cubeb-coreaudio-rs?rev=4cdbceadae88c77dfc77183b7edda183f32cd28c#4cdbceadae88c77dfc77183b7edda183f32cd28c"
source = "git+https://github.com/ChunMinChang/cubeb-coreaudio-rs?rev=260be23d1166a22e2ff6a89844efaca8bb4b61e2#260be23d1166a22e2ff6a89844efaca8bb4b61e2"
dependencies = [
"atomic",
"audio-mixer",
@ -988,7 +1001,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc7ed48e89905e5e146bcc1951cc3facb9e44aea9adf5dc01078cda1bd24b662"
dependencies = [
"bitflags",
"libloading",
"libloading 0.5.2",
"winapi 0.3.7",
]
@ -1487,9 +1500,9 @@ checksum = "5ebc04f19019fff1f2d627b5581574ead502f80c48c88900575a46e0840fe5d0"
[[package]]
name = "freetype"
version = "0.4.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b659e75b7a7338fe75afd7f909fc2b71937845cffb6ebe54ba2e50f13d8e903d"
checksum = "bee38378a9e3db1cc693b4f88d166ae375338a0ff75cb8263e1c601d51f35dc6"
dependencies = [
"libc",
]
@ -1734,7 +1747,7 @@ dependencies = [
"bitflags",
"gfx-auxil",
"gfx-hal",
"libloading",
"libloading 0.5.2",
"log",
"parking_lot",
"range-alloc",
@ -1775,16 +1788,15 @@ dependencies = [
[[package]]
name = "gfx-backend-metal"
version = "0.5.2"
version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "205f3ca8e74ed814ea2c0206d47d8925077673cab2e21f9b12d48ff781cf87ee"
checksum = "92804d20b194de6c84cb4bec14ec6a6dcae9c51f0a9186817fb412a590131ae6"
dependencies = [
"arrayvec",
"bitflags",
"block",
"cocoa",
"cocoa-foundation",
"copyless",
"core-graphics",
"foreign-types",
"gfx-auxil",
"gfx-hal",
@ -1802,14 +1814,14 @@ dependencies = [
[[package]]
name = "gfx-backend-vulkan"
version = "0.5.6"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45ff36feae801fa23d29acd74082603a0145a697a23595757dd4e78828ab33da"
checksum = "aec9c919cfc236d2c36aaa38609c1906a92f2df99a3c7f53022b01936f98275a"
dependencies = [
"arrayvec",
"ash",
"byteorder",
"core-graphics",
"core-graphics-types",
"gfx-hal",
"lazy_static",
"log",
@ -1833,9 +1845,9 @@ dependencies = [
[[package]]
name = "gfx-hal"
version = "0.5.0"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc96180204064c9493e0fe4a9efeb721e0ac59fe8e1906d0c659142a93114fb1"
checksum = "a18534b23d4c262916231511309bc1f307c74cda8dcb68b93a10ca213a22814b"
dependencies = [
"bitflags",
"raw-window-handle",
@ -2552,6 +2564,15 @@ dependencies = [
"winapi 0.3.7",
]
[[package]]
name = "libloading"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2cadb8e769f070c45df05c78c7520eb4cd17061d4ab262e43cfc68b4d00ac71c"
dependencies = [
"winapi 0.3.7",
]
[[package]]
name = "libsqlite3-sys"
version = "0.18.0"
@ -2700,7 +2721,7 @@ dependencies = [
"getrandom",
"lazy_static",
"libc",
"libloading",
"libloading 0.5.2",
"lucet-module",
"memoffset",
"nix",
@ -2833,14 +2854,13 @@ dependencies = [
[[package]]
name = "metal"
version = "0.18.0"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e198a0ee42bdbe9ef2c09d0b9426f3b2b47d90d93a4a9b0395c4cea605e92dc0"
checksum = "5c4e8a431536529327e28c9ba6992f2cb0c15d4222f0602a16e6d7695ff3bccf"
dependencies = [
"bitflags",
"block",
"cocoa",
"core-graphics",
"cocoa-foundation",
"foreign-types",
"log",
"objc",
@ -3419,7 +3439,7 @@ dependencies = [
"core-foundation",
"env_logger",
"lazy_static",
"libloading",
"libloading 0.5.2",
"log",
"pkcs11",
"rental",
@ -3641,7 +3661,7 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c20593a99fe08068cbe2b59001527f36021d6ad53ac5f2d8793fcf2fe94015a0"
dependencies = [
"libloading",
"libloading 0.5.2",
"num-bigint",
]

Просмотреть файл

@ -34,7 +34,7 @@ dwrote = "0.11"
winapi = "0.3"
[target.'cfg(target_os = "macos")'.dependencies]
core-foundation = "0.7"
core-graphics = "0.19"
core-foundation = "0.9"
core-graphics = "0.22"
foreign-types = "0.3.0"

102
gfx/wgpu/Cargo.lock сгенерированный
Просмотреть файл

@ -46,11 +46,11 @@ checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
[[package]]
name = "ash"
version = "0.30.0"
version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69daec0742947f33a85931fa3cb0ce5f07929159dcbd1f0cbb5b2912e2978509"
checksum = "c69a8137596e84c22d57f3da1b5de1d4230b1742a710091c85f4d7ce50f00f38"
dependencies = [
"libloading 0.5.2",
"libloading 0.6.1",
]
[[package]]
@ -167,22 +167,22 @@ dependencies = [
"bitflags",
"block",
"core-foundation 0.6.4",
"core-graphics 0.17.3",
"core-graphics",
"foreign-types",
"libc",
"objc",
]
[[package]]
name = "cocoa"
version = "0.20.0"
name = "cocoa-foundation"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a4736c86d51bd878b474400d9ec888156f4037015f5d09794fab9f26eab1ad4"
checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318"
dependencies = [
"bitflags",
"block",
"core-foundation 0.7.0",
"core-graphics 0.19.0",
"core-foundation 0.9.0",
"core-graphics-types",
"foreign-types",
"libc",
"objc",
@ -206,11 +206,11 @@ dependencies = [
[[package]]
name = "core-foundation"
version = "0.7.0"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
checksum = "3b5ed8e7e76c45974e15e41bfa8d5b0483cd90191639e01d8f5f1e606299d3fb"
dependencies = [
"core-foundation-sys 0.7.0",
"core-foundation-sys 0.8.0",
"libc",
]
@ -222,9 +222,9 @@ checksum = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
[[package]]
name = "core-foundation-sys"
version = "0.7.0"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
checksum = "9a21fa21941700a3cd8fcb4091f361a6a712fac632f85d9f487cc892045d55c6"
[[package]]
name = "core-graphics"
@ -239,13 +239,13 @@ dependencies = [
]
[[package]]
name = "core-graphics"
version = "0.19.0"
name = "core-graphics-types"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59e78b2e0aaf43f08e7ae0d6bc96895ef72ff0921c7d4ff4762201b2dba376dd"
checksum = "e92f5d519093a4178296707dbaa3880eae85a5ef5386675f361a1cf25376e93c"
dependencies = [
"bitflags",
"core-foundation 0.7.0",
"core-foundation 0.9.0",
"foreign-types",
"libc",
]
@ -258,7 +258,7 @@ checksum = "8dc065219542086f72d1e9f7aadbbab0989e980263695d129d502082d063a9d0"
dependencies = [
"cfg-if",
"core-foundation-sys 0.6.2",
"core-graphics 0.17.3",
"core-graphics",
"libc",
"objc",
]
@ -378,7 +378,18 @@ checksum = "3b46e6f0031330a0be08d17820f2dcaaa91cb36710a97a9500cb4f1c36e785c8"
dependencies = [
"fxhash",
"gfx-hal",
"spirv_cross",
"spirv_cross 0.18.0",
]
[[package]]
name = "gfx-auxil"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67bdbf8e8d6883c70e5a0d7379ad8ab3ac95127a3761306b36122d8f1c177a8e"
dependencies = [
"fxhash",
"gfx-hal",
"spirv_cross 0.20.0",
]
[[package]]
@ -388,7 +399,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b148219292624126f78245e50a9720d95ea149a415ce8ce73ab7014205301b88"
dependencies = [
"bitflags",
"gfx-auxil",
"gfx-auxil 0.3.0",
"gfx-hal",
"libloading 0.5.2",
"log",
@ -396,7 +407,7 @@ dependencies = [
"range-alloc",
"raw-window-handle",
"smallvec",
"spirv_cross",
"spirv_cross 0.18.0",
"winapi 0.3.8",
"wio",
]
@ -409,13 +420,13 @@ checksum = "a0e526746379e974501551b08958947e67a81b5ea8cdc717a000cdd72577da05"
dependencies = [
"bitflags",
"d3d12",
"gfx-auxil",
"gfx-auxil 0.3.0",
"gfx-hal",
"log",
"range-alloc",
"raw-window-handle",
"smallvec",
"spirv_cross",
"spirv_cross 0.18.0",
"winapi 0.3.8",
]
@ -431,18 +442,17 @@ dependencies = [
[[package]]
name = "gfx-backend-metal"
version = "0.5.1"
version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfe128c29675b5afc8acdda1dfe096d6abd5e3528059ab0b98bda8215d8beed9"
checksum = "92804d20b194de6c84cb4bec14ec6a6dcae9c51f0a9186817fb412a590131ae6"
dependencies = [
"arrayvec",
"bitflags",
"block",
"cocoa 0.20.0",
"cocoa-foundation",
"copyless",
"core-graphics 0.19.0",
"foreign-types",
"gfx-auxil",
"gfx-auxil 0.4.0",
"gfx-hal",
"lazy_static",
"log",
@ -452,20 +462,20 @@ dependencies = [
"range-alloc",
"raw-window-handle",
"smallvec",
"spirv_cross",
"spirv_cross 0.20.0",
"storage-map",
]
[[package]]
name = "gfx-backend-vulkan"
version = "0.5.6"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45ff36feae801fa23d29acd74082603a0145a697a23595757dd4e78828ab33da"
checksum = "aec9c919cfc236d2c36aaa38609c1906a92f2df99a3c7f53022b01936f98275a"
dependencies = [
"arrayvec",
"ash",
"byteorder",
"core-graphics 0.19.0",
"core-graphics-types",
"gfx-hal",
"lazy_static",
"log",
@ -489,9 +499,9 @@ dependencies = [
[[package]]
name = "gfx-hal"
version = "0.5.0"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc96180204064c9493e0fe4a9efeb721e0ac59fe8e1906d0c659142a93114fb1"
checksum = "a18534b23d4c262916231511309bc1f307c74cda8dcb68b93a10ca213a22814b"
dependencies = [
"bitflags",
"raw-window-handle",
@ -688,14 +698,13 @@ dependencies = [
[[package]]
name = "metal"
version = "0.18.0"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e198a0ee42bdbe9ef2c09d0b9426f3b2b47d90d93a4a9b0395c4cea605e92dc0"
checksum = "5c4e8a431536529327e28c9ba6992f2cb0c15d4222f0602a16e6d7695ff3bccf"
dependencies = [
"bitflags",
"block",
"cocoa 0.20.0",
"core-graphics 0.19.0",
"cocoa-foundation",
"foreign-types",
"log",
"objc",
@ -1145,6 +1154,17 @@ dependencies = [
"wasm-bindgen",
]
[[package]]
name = "spirv_cross"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a33a9478e9c78782dd694d05dee074703a9c4c74b511de742b88a7e8149f1b37"
dependencies = [
"cc",
"js-sys",
"wasm-bindgen",
]
[[package]]
name = "spirv_headers"
version = "1.4.2"
@ -1470,9 +1490,9 @@ checksum = "fc53342d3d1a3d57f3949e0692d93d5a8adb7814d8683cef4a09c2b550e94246"
dependencies = [
"android_glue",
"bitflags",
"cocoa 0.19.1",
"cocoa",
"core-foundation 0.6.4",
"core-graphics 0.17.3",
"core-graphics",
"core-video-sys",
"dispatch",
"instant",

Просмотреть файл

@ -52,16 +52,16 @@ version = "0.5"
features = ["peek-poke"]
[target.'cfg(any(target_os = "ios", target_os = "macos"))'.dependencies]
gfx-backend-metal = { version = "0.5" }
gfx-backend-vulkan = { version = "0.5", optional = true }
gfx-backend-metal = { version = "0.5.6" }
gfx-backend-vulkan = { version = "0.5.11", optional = true }
[target.'cfg(all(unix, not(target_os = "ios"), not(target_os = "macos")))'.dependencies]
gfx-backend-vulkan = { version = "0.5", features = ["x11"] }
gfx-backend-vulkan = { version = "0.5.11", features = ["x11"] }
[target.'cfg(windows)'.dependencies]
gfx-backend-dx12 = { version = "0.5" }
gfx-backend-dx11 = { version = "0.5" }
gfx-backend-vulkan = { version = "0.5" }
gfx-backend-vulkan = { version = "0.5.11" }
[target.'cfg(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "dragonfly", target_os = "freebsd"))'.dependencies]
battery = { version = "0.7", optional = true }

110
gfx/wr/Cargo.lock сгенерированный
Просмотреть файл

@ -286,6 +286,15 @@ dependencies = [
"libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "core-foundation"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"core-foundation-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "core-foundation-sys"
version = "0.6.2"
@ -296,6 +305,11 @@ name = "core-foundation-sys"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "core-foundation-sys"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "core-graphics"
version = "0.17.3"
@ -309,22 +323,34 @@ dependencies = [
[[package]]
name = "core-graphics"
version = "0.19.0"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-graphics-types 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "core-graphics-types"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "core-text"
version = "15.0.0"
version = "19.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-graphics 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-graphics 0.22.0 (registry+https://github.com/rust-lang/crates.io-index)",
"foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -510,13 +536,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "font-loader"
version = "0.9.0"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-text 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-text 19.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)",
"servo-fontconfig 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"servo-fontconfig 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -535,11 +561,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "freetype"
version = "0.4.1"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"freetype-sys 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)",
"servo-freetype-sys 4.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "freetype-sys"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cmake 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -1431,29 +1467,20 @@ dependencies = [
[[package]]
name = "servo-fontconfig"
version = "0.4.0"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)",
"servo-fontconfig-sys 4.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
"servo-fontconfig-sys 5.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "servo-fontconfig-sys"
version = "4.0.9"
version = "5.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"expat-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
"servo-freetype-sys 4.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "servo-freetype-sys"
version = "4.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cmake 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
"freetype-sys 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -1764,13 +1791,13 @@ dependencies = [
"build-parallel 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-graphics 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-text 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-graphics 0.22.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-text 19.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cstr 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
"dwrote 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.20.10 (registry+https://github.com/rust-lang/crates.io-index)",
"freetype 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"freetype 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gleam 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glslopt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1821,8 +1848,8 @@ dependencies = [
"app_units 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
"bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-graphics 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-graphics 0.22.0 (registry+https://github.com/rust-lang/crates.io-index)",
"derive_more 0.99.5 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.20.10 (registry+https://github.com/rust-lang/crates.io-index)",
"malloc_size_of_derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1930,13 +1957,13 @@ dependencies = [
"byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"chrono 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)",
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-graphics 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-graphics 0.22.0 (registry+https://github.com/rust-lang/crates.io-index)",
"crossbeam 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"dwrote 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.20.10 (registry+https://github.com/rust-lang/crates.io-index)",
"font-loader 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"font-loader 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gleam 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
"glutin 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)",
"image 0.23.3 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2050,11 +2077,14 @@ dependencies = [
"checksum cocoa 0.18.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1706996401131526e36b3b49f0c4d912639ce110996f3ca144d78946727bce54"
"checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d"
"checksum core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
"checksum core-foundation 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3b5ed8e7e76c45974e15e41bfa8d5b0483cd90191639e01d8f5f1e606299d3fb"
"checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
"checksum core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
"checksum core-foundation-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9a21fa21941700a3cd8fcb4091f361a6a712fac632f85d9f487cc892045d55c6"
"checksum core-graphics 0.17.3 (registry+https://github.com/rust-lang/crates.io-index)" = "56790968ab1c8a1202a102e6de05fc6e1ec87da99e4e93e9a7d13efbfc1e95a9"
"checksum core-graphics 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)" = "59e78b2e0aaf43f08e7ae0d6bc96895ef72ff0921c7d4ff4762201b2dba376dd"
"checksum core-text 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "131b3fd1f8bd5db9f2b398fa4fdb6008c64afc04d447c306ac2c7e98fba2a61d"
"checksum core-graphics 0.22.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f6082396a349fa49674ba1bda4077332a18bf150e8fa75745ece07085e29a113"
"checksum core-graphics-types 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e92f5d519093a4178296707dbaa3880eae85a5ef5386675f361a1cf25376e93c"
"checksum core-text 19.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "04dfae50af11e72657fe7174cddb1ecddc5398037f7f6f39533ad69207c9a4e2"
"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
"checksum crossbeam 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)" = "bd66663db5a988098a89599d4857919b3acf7f61402e61365acfd3919857b9be"
"checksum crossbeam-deque 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285"
@ -2074,10 +2104,11 @@ dependencies = [
"checksum euclid 0.20.10 (registry+https://github.com/rust-lang/crates.io-index)" = "0c6a5b0c779cd0b744c73a1d2083faf181080d696903cdad99a3b03d015d7030"
"checksum expat-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "658f19728920138342f68408b7cf7644d90d4784353d8ebc32e7e8663dbe45fa"
"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
"checksum font-loader 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "933a61458662fbc8e3cd22cdb8331edbd78545fc044e1e2cd3d742f6ce06aa41"
"checksum font-loader 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c49d6b4c11dca1a1dd931a34a9f397e2da91abe3de4110505f3530a80e560b52"
"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
"checksum freetype 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "11926b2b410b469d0e9399eca4cbbe237a9ef02176c485803b29216307e8e028"
"checksum freetype 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bee38378a9e3db1cc693b4f88d166ae375338a0ff75cb8263e1c601d51f35dc6"
"checksum freetype-sys 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a37d4011c0cc628dfa766fcc195454f4b068d7afdc2adfd28861191d866e731a"
"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
@ -2182,9 +2213,8 @@ dependencies = [
"checksum serde_bytes 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "325a073952621257820e7a3469f55ba4726d8b28657e7e36653d1c36dc2c84ae"
"checksum serde_derive 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)" = "9e549e3abf4fb8621bd1609f11dfc9f5e50320802273b12f3811a67e6716ea6c"
"checksum serde_json 1.0.51 (registry+https://github.com/rust-lang/crates.io-index)" = "da07b57ee2623368351e9a0488bb0b261322a15a6e0ae53e243cbdc0f4208da9"
"checksum servo-fontconfig 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a088f8d775a5c5314aae09bd77340bc9c67d72b9a45258be34c83548b4814cd9"
"checksum servo-fontconfig-sys 4.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "62b3e166450f523f4db06c14f02a2d39e76d49b5d8cbd224338d93e3595c156c"
"checksum servo-freetype-sys 4.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "2c4ccb6d0d32d277d3ef7dea86203d8210945eb7a45fba89dd445b3595dd0dfc"
"checksum servo-fontconfig 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c7e3e22fe5fd73d04ebf0daa049d3efe3eae55369ce38ab16d07ddd9ac5c217c"
"checksum servo-fontconfig-sys 5.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e36b879db9892dfa40f95da1c38a835d41634b825fbd8c4c418093d53c24b388"
"checksum sha-1 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
"checksum shared_library 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "5a9e7e0f2bfae24d8a5b5a66c5b257a83c7412304311512a0c054cd5e619da11"
"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"

Просмотреть файл

@ -10,7 +10,7 @@ edition = "2018"
[features]
default = ["freetype-lib"]
freetype-lib = ["freetype/servo-freetype-sys"]
freetype-lib = ["freetype/freetype-sys"]
profiler = ["tracy-rs/enable_profiler"]
debugger = ["ws", "serde_json", "serde", "image_loader", "base64"]
capture = ["api/serialize", "ron", "serde", "smallvec/serde"]
@ -61,13 +61,13 @@ mozangle = "0.3.1"
rand = "0.4"
[target.'cfg(any(target_os = "android", all(unix, not(target_os = "macos"))))'.dependencies]
freetype = { version = "0.4", default-features = false }
freetype = { version = "0.7", default-features = false }
libc = "0.2"
[target.'cfg(target_os = "windows")'.dependencies]
dwrote = "0.11"
[target.'cfg(target_os = "macos")'.dependencies]
core-foundation = "0.7"
core-graphics = "0.19"
core-text = { version = "15", default-features = false }
core-foundation = "0.9"
core-graphics = "0.22"
core-text = { version = "19", default-features = false }

Просмотреть файл

@ -28,5 +28,5 @@ malloc_size_of = { version = "0.0.1", path = "../wr_malloc_size_of", package = "
peek-poke = { version = "0.2", path = "../peek-poke", features = ["extras"] }
[target.'cfg(target_os = "macos")'.dependencies]
core-foundation = "0.7"
core-graphics = "0.19"
core-foundation = "0.9"
core-graphics = "0.22"

Просмотреть файл

@ -38,8 +38,8 @@ default-features = false
features = ["png"]
[target.'cfg(target_os = "macos")'.dependencies]
core-graphics = "0.19"
core-foundation = "0.7"
core-graphics = "0.22"
core-foundation = "0.9"
[features]
default = [ "env_logger" ]
@ -51,7 +51,7 @@ dwrote = "0.11"
mozangle = {version = "0.3.1", features = ["egl"]}
[target.'cfg(all(unix, not(target_os = "android")))'.dependencies]
font-loader = "0.9"
font-loader = "0.11"
# Configuration information used when building wrench as an APK.
[package.metadata.android]

Просмотреть файл

@ -16,7 +16,7 @@ pkcs11 = "0.4"
sha2 = "0.8"
[target."cfg(target_os = \"macos\")".dependencies.core-foundation]
version = "0.7"
version = "0.9"
[target."cfg(target_os = \"macos\")".dependencies.libloading]
version = "0.5"

2
third_party/rust/ash/.cargo-checksum.json поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

7
third_party/rust/ash/Cargo.toml поставляемый
Просмотреть файл

@ -13,7 +13,7 @@
[package]
edition = "2018"
name = "ash"
version = "0.30.0"
version = "0.31.0"
authors = ["maik klein <maikklein@googlemail.com>"]
description = "Vulkan bindings for Rust"
documentation = "https://docs.rs/ash"
@ -24,7 +24,8 @@ repository = "https://github.com/MaikKlein/ash"
[package.metadata.release]
no-dev-version = true
[dependencies.libloading]
version = "0.5.2"
version = "0.6.1"
optional = true
[features]
default = []
default = ["libloading"]

44
third_party/rust/ash/src/device.rs поставляемый
Просмотреть файл

@ -111,25 +111,20 @@ pub trait DeviceV1_2: DeviceV1_1 {
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkResetQueryPool.html>"]
unsafe fn reset_query_pool(
&self,
device: vk::Device,
query_pool: vk::QueryPool,
first_query: u32,
query_count: u32,
) {
self.fp_v1_2()
.reset_query_pool(device, query_pool, first_query, query_count);
.reset_query_pool(self.handle(), query_pool, first_query, query_count);
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkGetSemaphoreCounterValue.html>"]
unsafe fn get_semaphore_counter_value(
&self,
device: vk::Device,
semaphore: vk::Semaphore,
) -> VkResult<u64> {
unsafe fn get_semaphore_counter_value(&self, semaphore: vk::Semaphore) -> VkResult<u64> {
let mut value = 0;
let err_code = self
.fp_v1_2()
.get_semaphore_counter_value(device, semaphore, &mut value);
let err_code =
self.fp_v1_2()
.get_semaphore_counter_value(self.handle(), semaphore, &mut value);
match err_code {
vk::Result::SUCCESS => Ok(value),
_ => Err(err_code),
@ -139,11 +134,12 @@ pub trait DeviceV1_2: DeviceV1_1 {
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkWaitSemaphores.html>"]
unsafe fn wait_semaphores(
&self,
device: vk::Device,
wait_info: &vk::SemaphoreWaitInfo,
timeout: u64,
) -> VkResult<()> {
let err_code = self.fp_v1_2().wait_semaphores(device, wait_info, timeout);
let err_code = self
.fp_v1_2()
.wait_semaphores(self.handle(), wait_info, timeout);
match err_code {
vk::Result::SUCCESS => Ok(()),
_ => Err(err_code),
@ -151,12 +147,8 @@ pub trait DeviceV1_2: DeviceV1_1 {
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkSignalSemaphore.html>"]
unsafe fn signal_semaphore(
&self,
device: vk::Device,
signal_info: &vk::SemaphoreSignalInfo,
) -> VkResult<()> {
let err_code = self.fp_v1_2().signal_semaphore(device, signal_info);
unsafe fn signal_semaphore(&self, signal_info: &vk::SemaphoreSignalInfo) -> VkResult<()> {
let err_code = self.fp_v1_2().signal_semaphore(self.handle(), signal_info);
match err_code {
vk::Result::SUCCESS => Ok(()),
_ => Err(err_code),
@ -166,30 +158,25 @@ pub trait DeviceV1_2: DeviceV1_1 {
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkGetBufferDeviceAddress.html>"]
unsafe fn get_buffer_device_address(
&self,
device: vk::Device,
info: &vk::BufferDeviceAddressInfo,
) -> vk::DeviceAddress {
self.fp_v1_2().get_buffer_device_address(device, info)
self.fp_v1_2()
.get_buffer_device_address(self.handle(), info)
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkGetBufferOpaqueCaptureAddress.html>"]
unsafe fn get_buffer_opaque_capture_address(
&self,
device: vk::Device,
info: &vk::BufferDeviceAddressInfo,
) -> u64 {
unsafe fn get_buffer_opaque_capture_address(&self, info: &vk::BufferDeviceAddressInfo) -> u64 {
self.fp_v1_2()
.get_buffer_opaque_capture_address(device, info)
.get_buffer_opaque_capture_address(self.handle(), info)
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkGetDeviceMemoryOpaqueCaptureAddress.html>"]
unsafe fn get_device_memory_opaque_capture_address(
&self,
device: vk::Device,
info: &vk::DeviceMemoryOpaqueCaptureAddressInfo,
) -> u64 {
self.fp_v1_2()
.get_device_memory_opaque_capture_address(device, info)
.get_device_memory_opaque_capture_address(self.handle(), info)
}
}
@ -2147,6 +2134,7 @@ pub struct Device {
device_fn_1_1: vk::DeviceFnV1_1,
device_fn_1_2: vk::DeviceFnV1_2,
}
impl Device {
pub unsafe fn load(instance_fn: &vk::InstanceFnV1_0, device: vk::Device) -> Self {
let device_fn_1_0 = vk::DeviceFnV1_0::load(|name| {

77
third_party/rust/ash/src/entry.rs поставляемый
Просмотреть файл

@ -2,33 +2,12 @@ use crate::instance::Instance;
use crate::prelude::*;
use crate::vk;
use crate::RawPtr;
use libloading::Library;
use std::error::Error;
use std::fmt;
use std::io;
use std::mem;
use std::os::raw::c_char;
use std::os::raw::c_void;
use std::ptr;
use std::sync::Arc;
#[cfg(windows)]
const LIB_PATH: &str = "vulkan-1.dll";
#[cfg(all(
unix,
not(any(target_os = "macos", target_os = "ios", target_os = "android"))
))]
const LIB_PATH: &str = "libvulkan.so.1";
#[cfg(target_os = "android")]
const LIB_PATH: &str = "libvulkan.so";
#[cfg(any(target_os = "macos", target_os = "ios"))]
const LIB_PATH: &str = "libvulkan.dylib";
/// Function loader
pub type Entry = EntryCustom<Arc<Library>>;
/// Function loader
#[derive(Clone)]
@ -40,21 +19,6 @@ pub struct EntryCustom<L> {
lib: L,
}
#[derive(Debug)]
pub enum LoadingError {
LibraryLoadError(io::Error),
}
impl fmt::Display for LoadingError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self {
LoadingError::LibraryLoadError(e) => write!(f, "{}", e),
}
}
}
impl Error for LoadingError {}
#[derive(Clone, Debug)]
pub enum InstanceError {
LoadError(Vec<&'static str>),
@ -208,46 +172,11 @@ impl<L> EntryV1_2 for EntryCustom<L> {
}
}
impl EntryCustom<Arc<Library>> {
/// ```rust,no_run
/// use ash::{vk, Entry, version::EntryV1_0};
/// # fn main() -> Result<(), Box<std::error::Error>> {
/// let entry = Entry::new()?;
/// let app_info = vk::ApplicationInfo {
/// api_version: vk::make_version(1, 0, 0),
/// ..Default::default()
/// };
/// let create_info = vk::InstanceCreateInfo {
/// p_application_info: &app_info,
/// ..Default::default()
/// };
/// let instance = unsafe { entry.create_instance(&create_info, None)? };
/// # Ok(()) }
/// ```
pub fn new() -> Result<Entry, LoadingError> {
Self::new_custom(
|| {
Library::new(&LIB_PATH)
.map_err(LoadingError::LibraryLoadError)
.map(Arc::new)
},
|vk_lib, name| unsafe {
vk_lib
.get(name.to_bytes_with_nul())
.map(|symbol| *symbol)
.unwrap_or(ptr::null_mut())
},
)
}
}
impl<L> EntryCustom<L> {
pub fn new_custom<Open, Load>(open: Open, mut load: Load) -> Result<Self, LoadingError>
pub fn new_custom<Load>(mut lib: L, mut load: Load) -> Self
where
Open: FnOnce() -> Result<L, LoadingError>,
Load: FnMut(&mut L, &::std::ffi::CStr) -> *const c_void,
{
let mut lib = open()?;
let static_fn = vk::StaticFn::load(|name| load(&mut lib, name));
let entry_fn_1_0 = vk::EntryFnV1_0::load(|name| unsafe {
@ -262,13 +191,13 @@ impl<L> EntryCustom<L> {
mem::transmute(static_fn.get_instance_proc_addr(vk::Instance::null(), name.as_ptr()))
});
Ok(EntryCustom {
EntryCustom {
static_fn,
entry_fn_1_0,
entry_fn_1_1,
entry_fn_1_2,
lib,
})
}
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkEnumerateInstanceVersion.html>"]

69
third_party/rust/ash/src/entry_libloading.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,69 @@
use crate::entry::EntryCustom;
use libloading::Library;
use std::error::Error;
use std::fmt;
use std::ptr;
use std::sync::Arc;
#[cfg(windows)]
const LIB_PATH: &str = "vulkan-1.dll";
#[cfg(all(
unix,
not(any(target_os = "macos", target_os = "ios", target_os = "android"))
))]
const LIB_PATH: &str = "libvulkan.so.1";
#[cfg(target_os = "android")]
const LIB_PATH: &str = "libvulkan.so";
#[cfg(any(target_os = "macos", target_os = "ios"))]
const LIB_PATH: &str = "libvulkan.dylib";
/// Function loader
pub type Entry = EntryCustom<Arc<Library>>;
#[derive(Debug)]
pub struct LoadingError(libloading::Error);
impl fmt::Display for LoadingError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fmt::Display::fmt(&self.0, f)
}
}
impl Error for LoadingError {
fn source(&self) -> Option<&(dyn Error + 'static)> {
Error::source(&self.0)
}
}
impl EntryCustom<Arc<Library>> {
/// ```rust,no_run
/// use ash::{vk, Entry, version::EntryV1_0};
/// # fn main() -> Result<(), Box<std::error::Error>> {
/// let entry = Entry::new()?;
/// let app_info = vk::ApplicationInfo {
/// api_version: vk::make_version(1, 0, 0),
/// ..Default::default()
/// };
/// let create_info = vk::InstanceCreateInfo {
/// p_application_info: &app_info,
/// ..Default::default()
/// };
/// let instance = unsafe { entry.create_instance(&create_info, None)? };
/// # Ok(()) }
/// ```
pub fn new() -> Result<Entry, LoadingError> {
let lib = Library::new(&LIB_PATH)
.map_err(LoadingError)
.map(Arc::new)?;
Ok(Self::new_custom(lib, |vk_lib, name| unsafe {
vk_lib
.get(name.to_bytes_with_nul())
.map(|symbol| *symbol)
.unwrap_or(ptr::null_mut())
}))
}
}

56
third_party/rust/ash/src/extensions/ext/metal_surface.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,56 @@
#![allow(dead_code)]
use crate::prelude::*;
use crate::version::{EntryV1_0, InstanceV1_0};
use crate::vk;
use crate::RawPtr;
use std::ffi::CStr;
use std::mem;
#[derive(Clone)]
pub struct MetalSurface {
handle: vk::Instance,
metal_surface_fn: vk::ExtMetalSurfaceFn,
}
impl MetalSurface {
pub fn new<E: EntryV1_0, I: InstanceV1_0>(entry: &E, instance: &I) -> MetalSurface {
let surface_fn = vk::ExtMetalSurfaceFn::load(|name| unsafe {
mem::transmute(entry.get_instance_proc_addr(instance.handle(), name.as_ptr()))
});
MetalSurface {
handle: instance.handle(),
metal_surface_fn: surface_fn,
}
}
pub fn name() -> &'static CStr {
vk::ExtMetalSurfaceFn::name()
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateMetalSurfaceEXT.html>"]
pub unsafe fn create_metal_surface(
&self,
create_info: &vk::MetalSurfaceCreateInfoEXT,
allocation_callbacks: Option<&vk::AllocationCallbacks>,
) -> VkResult<vk::SurfaceKHR> {
let mut surface = mem::zeroed();
let err_code = self.metal_surface_fn.create_metal_surface_ext(
self.handle,
create_info,
allocation_callbacks.as_raw_ptr(),
&mut surface,
);
match err_code {
vk::Result::SUCCESS => Ok(surface),
_ => Err(err_code),
}
}
pub fn fp(&self) -> &vk::ExtMetalSurfaceFn {
&self.metal_surface_fn
}
pub fn instance(&self) -> vk::Instance {
self.handle
}
}

Просмотреть файл

@ -1,7 +1,9 @@
pub use self::debug_marker::DebugMarker;
pub use self::debug_report::DebugReport;
pub use self::debug_utils::DebugUtils;
pub use self::metal_surface::MetalSurface;
mod debug_marker;
mod debug_report;
mod debug_utils;
mod metal_surface;

74
third_party/rust/ash/src/extensions/khr/draw_indirect_count.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,74 @@
#![allow(dead_code)]
use crate::version::{DeviceV1_0, InstanceV1_0};
use crate::vk;
use std::ffi::CStr;
use std::mem;
#[derive(Clone)]
pub struct DrawIndirectCount {
handle: vk::Device,
draw_indirect_count_fn: vk::KhrDrawIndirectCountFn,
}
impl DrawIndirectCount {
pub fn new<I: InstanceV1_0, D: DeviceV1_0>(instance: &I, device: &D) -> DrawIndirectCount {
let draw_indirect_count_fn = vk::KhrDrawIndirectCountFn::load(|name| unsafe {
mem::transmute(instance.get_device_proc_addr(device.handle(), name.as_ptr()))
});
DrawIndirectCount {
handle: device.handle(),
draw_indirect_count_fn,
}
}
pub fn name() -> &'static CStr {
vk::KhrDrawIndirectCountFn::name()
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndexedIndirectCountKHR.html>"]
pub unsafe fn cmd_draw_indexed_indirect_count(
&self,
command_buffer: vk::CommandBuffer,
buffer: vk::Buffer,
offset: vk::DeviceSize,
count_buffer: vk::Buffer,
count_buffer_offset: vk::DeviceSize,
max_draw_count: u32,
stride: u32,
) {
self.draw_indirect_count_fn
.cmd_draw_indexed_indirect_count_khr(
command_buffer,
buffer,
offset,
count_buffer,
count_buffer_offset,
max_draw_count,
stride,
);
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndirectCountKHR.html>"]
pub unsafe fn cmd_draw_indirect_count(
&self,
command_buffer: vk::CommandBuffer,
buffer: vk::Buffer,
offset: vk::DeviceSize,
count_buffer: vk::Buffer,
count_buffer_offset: vk::DeviceSize,
max_draw_count: u32,
stride: u32,
) {
self.draw_indirect_count_fn
.cmd_draw_indexed_indirect_count_khr(
command_buffer,
buffer,
offset,
count_buffer,
count_buffer_offset,
max_draw_count,
stride,
);
}
}

Просмотреть файл

@ -1,6 +1,7 @@
pub use self::android_surface::AndroidSurface;
pub use self::display::Display;
pub use self::display_swapchain::DisplaySwapchain;
pub use self::draw_indirect_count::DrawIndirectCount;
pub use self::external_memory_fd::ExternalMemoryFd;
pub use self::push_descriptor::PushDescriptor;
pub use self::ray_tracing::RayTracing;
@ -15,6 +16,7 @@ pub use self::xlib_surface::XlibSurface;
mod android_surface;
mod display;
mod display_swapchain;
mod draw_indirect_count;
mod external_memory_fd;
mod push_descriptor;
mod ray_tracing;

Просмотреть файл

@ -72,7 +72,7 @@ impl RayTracing {
&self,
info: &vk::AccelerationStructureMemoryRequirementsInfoKHR,
) -> vk::MemoryRequirements2KHR {
let mut requirements = mem::zeroed();
let mut requirements = Default::default();
self.ray_tracing_fn
.get_acceleration_structure_memory_requirements_khr(
self.handle,

Просмотреть файл

@ -27,7 +27,7 @@ impl TimelineSemaphore {
vk::KhrTimelineSemaphoreFn::name()
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetSemaphoreCounterValueKHR>"]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkGetSemaphoreCounterValue.html>"]
pub unsafe fn get_semaphore_counter_value(
&self,
device: vk::Device,
@ -44,7 +44,7 @@ impl TimelineSemaphore {
}
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkWaitSemaphoresKHR>"]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkWaitSemaphores.html>"]
pub unsafe fn wait_semaphores(
&self,
device: vk::Device,
@ -61,7 +61,7 @@ impl TimelineSemaphore {
}
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkSignalSemaphoreKHR>"]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkSignalSemaphore.html>"]
pub unsafe fn signal_semaphore(
&self,
device: vk::Device,

6
third_party/rust/ash/src/lib.rs поставляемый
Просмотреть файл

@ -23,11 +23,15 @@
//!
pub use crate::device::Device;
pub use crate::entry::{Entry, EntryCustom, InstanceError, LoadingError};
pub use crate::entry::{EntryCustom, InstanceError};
#[cfg(feature = "libloading")]
pub use crate::entry_libloading::{Entry, LoadingError};
pub use crate::instance::Instance;
mod device;
mod entry;
#[cfg(feature = "libloading")]
mod entry_libloading;
mod instance;
pub mod prelude;
pub mod util;

83178
third_party/rust/ash/src/vk.rs поставляемый

Разница между файлами не показана из-за своего большого размера Загрузить разницу

171
third_party/rust/ash/src/vk/aliases.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,171 @@
use crate::vk::bitflags::*;
use crate::vk::definitions::*;
use crate::vk::enums::*;
pub type GeometryFlagsNV = GeometryFlagsKHR;
pub type GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR;
pub type BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR;
pub type DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags;
pub type SemaphoreWaitFlagsKHR = SemaphoreWaitFlags;
pub type PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags;
pub type MemoryAllocateFlagsKHR = MemoryAllocateFlags;
pub type CommandPoolTrimFlagsKHR = CommandPoolTrimFlags;
pub type ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags;
pub type ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags;
pub type ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags;
pub type ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags;
pub type SemaphoreImportFlagsKHR = SemaphoreImportFlags;
pub type ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags;
pub type ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags;
pub type FenceImportFlagsKHR = FenceImportFlags;
pub type DescriptorBindingFlagsEXT = DescriptorBindingFlags;
pub type ResolveModeFlagsKHR = ResolveModeFlags;
pub type DescriptorUpdateTemplateKHR = DescriptorUpdateTemplate;
pub type SamplerYcbcrConversionKHR = SamplerYcbcrConversion;
pub type AccelerationStructureNV = AccelerationStructureKHR;
pub type DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType;
pub type PointClippingBehaviorKHR = PointClippingBehavior;
pub type SemaphoreTypeKHR = SemaphoreType;
pub type CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR;
pub type AccelerationStructureTypeNV = AccelerationStructureTypeKHR;
pub type GeometryTypeNV = GeometryTypeKHR;
pub type RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR;
pub type AccelerationStructureMemoryRequirementsTypeNV =
AccelerationStructureMemoryRequirementsTypeKHR;
pub type TessellationDomainOriginKHR = TessellationDomainOrigin;
pub type SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion;
pub type SamplerYcbcrRangeKHR = SamplerYcbcrRange;
pub type ChromaLocationKHR = ChromaLocation;
pub type SamplerReductionModeEXT = SamplerReductionMode;
pub type ShaderFloatControlsIndependenceKHR = ShaderFloatControlsIndependence;
pub type DriverIdKHR = DriverId;
pub type PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
pub type PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
pub type FormatProperties2KHR = FormatProperties2;
pub type ImageFormatProperties2KHR = ImageFormatProperties2;
pub type PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2;
pub type QueueFamilyProperties2KHR = QueueFamilyProperties2;
pub type PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2;
pub type SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
pub type PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2;
pub type ConformanceVersionKHR = ConformanceVersion;
pub type PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
pub type PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
pub type PhysicalDeviceVariablePointerFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
pub type PhysicalDeviceVariablePointerFeatures = PhysicalDeviceVariablePointersFeatures;
pub type ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
pub type PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo;
pub type ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
pub type PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
pub type ExternalBufferPropertiesKHR = ExternalBufferProperties;
pub type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
pub type ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
pub type ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
pub type ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
pub type PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo;
pub type ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
pub type ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
pub type PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
pub type ExternalFencePropertiesKHR = ExternalFenceProperties;
pub type ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
pub type PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
pub type PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties;
pub type RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
pub type PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
pub type MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
pub type BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
pub type BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
pub type BindImageMemoryInfoKHR = BindImageMemoryInfo;
pub type BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
pub type DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
pub type DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
pub type DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
pub type DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
pub type DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
pub type DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
pub type DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo;
pub type InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
pub type RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo;
pub type PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
pub type PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR =
PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
pub type BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
pub type ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
pub type ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2;
pub type MemoryRequirements2KHR = MemoryRequirements2;
pub type SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
pub type PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties;
pub type MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements;
pub type MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
pub type ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
pub type PipelineTessellationDomainOriginStateCreateInfoKHR =
PipelineTessellationDomainOriginStateCreateInfo;
pub type SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
pub type SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
pub type BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
pub type ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
PhysicalDeviceSamplerYcbcrConversionFeatures;
pub type SamplerYcbcrConversionImageFormatPropertiesKHR =
SamplerYcbcrConversionImageFormatProperties;
pub type PhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
PhysicalDeviceSamplerFilterMinmaxProperties;
pub type SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo;
pub type ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
pub type PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties;
pub type DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
pub type PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures;
pub type PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
pub type PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
pub type PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties;
pub type PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
pub type PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
pub type PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties;
pub type DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo;
pub type DescriptorSetVariableDescriptorCountAllocateInfoEXT =
DescriptorSetVariableDescriptorCountAllocateInfo;
pub type DescriptorSetVariableDescriptorCountLayoutSupportEXT =
DescriptorSetVariableDescriptorCountLayoutSupport;
pub type AttachmentDescription2KHR = AttachmentDescription2;
pub type AttachmentReference2KHR = AttachmentReference2;
pub type SubpassDescription2KHR = SubpassDescription2;
pub type SubpassDependency2KHR = SubpassDependency2;
pub type RenderPassCreateInfo2KHR = RenderPassCreateInfo2;
pub type SubpassBeginInfoKHR = SubpassBeginInfo;
pub type SubpassEndInfoKHR = SubpassEndInfo;
pub type PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
pub type PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties;
pub type SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo;
pub type TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
pub type SemaphoreWaitInfoKHR = SemaphoreWaitInfo;
pub type SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
pub type PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
pub type PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
pub type PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
pub type PhysicalDeviceDepthStencilResolvePropertiesKHR =
PhysicalDeviceDepthStencilResolveProperties;
pub type SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve;
pub type BindAccelerationStructureMemoryInfoNV = BindAccelerationStructureMemoryInfoKHR;
pub type WriteDescriptorSetAccelerationStructureNV = WriteDescriptorSetAccelerationStructureKHR;
pub type ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
pub type PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
pub type PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR =
PhysicalDeviceUniformBufferStandardLayoutFeatures;
pub type PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
pub type PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
pub type BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
pub type BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
pub type BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo;
pub type PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
pub type FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
pub type FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
pub type RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
pub type QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
pub type PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR =
PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
pub type AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
pub type AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
pub type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
pub type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
pub type AabbPositionsNV = AabbPositionsKHR;
pub type TransformMatrixNV = TransformMatrixKHR;
pub type AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;

952
third_party/rust/ash/src/vk/bitflags.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,952 @@
use crate::vk::definitions::*;
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPipelineCacheCreateFlagBits.html>"]
pub struct PipelineCacheCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(PipelineCacheCreateFlags, 0b0, Flags);
impl PipelineCacheCreateFlags {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkCullModeFlagBits.html>"]
pub struct CullModeFlags(pub(crate) Flags);
vk_bitflags_wrapped!(CullModeFlags, 0b11, Flags);
impl CullModeFlags {
pub const NONE: Self = Self(0);
pub const FRONT: Self = Self(0b1);
pub const BACK: Self = Self(0b10);
pub const FRONT_AND_BACK: Self = Self(0x0000_0003);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkQueueFlagBits.html>"]
pub struct QueueFlags(pub(crate) Flags);
vk_bitflags_wrapped!(QueueFlags, 0b1111, Flags);
impl QueueFlags {
#[doc = "Queue supports graphics operations"]
pub const GRAPHICS: Self = Self(0b1);
#[doc = "Queue supports compute operations"]
pub const COMPUTE: Self = Self(0b10);
#[doc = "Queue supports transfer operations"]
pub const TRANSFER: Self = Self(0b100);
#[doc = "Queue supports sparse resource memory management operations"]
pub const SPARSE_BINDING: Self = Self(0b1000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkRenderPassCreateFlagBits.html>"]
pub struct RenderPassCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(RenderPassCreateFlags, 0b0, Flags);
impl RenderPassCreateFlags {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkDeviceQueueCreateFlagBits.html>"]
pub struct DeviceQueueCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(DeviceQueueCreateFlags, 0b0, Flags);
impl DeviceQueueCreateFlags {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkMemoryPropertyFlagBits.html>"]
pub struct MemoryPropertyFlags(pub(crate) Flags);
vk_bitflags_wrapped!(MemoryPropertyFlags, 0b1_1111, Flags);
impl MemoryPropertyFlags {
#[doc = "If otherwise stated, then allocate memory on device"]
pub const DEVICE_LOCAL: Self = Self(0b1);
#[doc = "Memory is mappable by host"]
pub const HOST_VISIBLE: Self = Self(0b10);
#[doc = "Memory will have i/o coherency. If not set, application may need to use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to flush/invalidate host cache"]
pub const HOST_COHERENT: Self = Self(0b100);
#[doc = "Memory will be cached by the host"]
pub const HOST_CACHED: Self = Self(0b1000);
#[doc = "Memory may be allocated by the driver when it is required"]
pub const LAZILY_ALLOCATED: Self = Self(0b1_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkMemoryHeapFlagBits.html>"]
pub struct MemoryHeapFlags(pub(crate) Flags);
vk_bitflags_wrapped!(MemoryHeapFlags, 0b1, Flags);
impl MemoryHeapFlags {
#[doc = "If set, heap represents device memory"]
pub const DEVICE_LOCAL: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkAccessFlagBits.html>"]
pub struct AccessFlags(pub(crate) Flags);
vk_bitflags_wrapped!(AccessFlags, 0b1_1111_1111_1111_1111, Flags);
impl AccessFlags {
#[doc = "Controls coherency of indirect command reads"]
pub const INDIRECT_COMMAND_READ: Self = Self(0b1);
#[doc = "Controls coherency of index reads"]
pub const INDEX_READ: Self = Self(0b10);
#[doc = "Controls coherency of vertex attribute reads"]
pub const VERTEX_ATTRIBUTE_READ: Self = Self(0b100);
#[doc = "Controls coherency of uniform buffer reads"]
pub const UNIFORM_READ: Self = Self(0b1000);
#[doc = "Controls coherency of input attachment reads"]
pub const INPUT_ATTACHMENT_READ: Self = Self(0b1_0000);
#[doc = "Controls coherency of shader reads"]
pub const SHADER_READ: Self = Self(0b10_0000);
#[doc = "Controls coherency of shader writes"]
pub const SHADER_WRITE: Self = Self(0b100_0000);
#[doc = "Controls coherency of color attachment reads"]
pub const COLOR_ATTACHMENT_READ: Self = Self(0b1000_0000);
#[doc = "Controls coherency of color attachment writes"]
pub const COLOR_ATTACHMENT_WRITE: Self = Self(0b1_0000_0000);
#[doc = "Controls coherency of depth/stencil attachment reads"]
pub const DEPTH_STENCIL_ATTACHMENT_READ: Self = Self(0b10_0000_0000);
#[doc = "Controls coherency of depth/stencil attachment writes"]
pub const DEPTH_STENCIL_ATTACHMENT_WRITE: Self = Self(0b100_0000_0000);
#[doc = "Controls coherency of transfer reads"]
pub const TRANSFER_READ: Self = Self(0b1000_0000_0000);
#[doc = "Controls coherency of transfer writes"]
pub const TRANSFER_WRITE: Self = Self(0b1_0000_0000_0000);
#[doc = "Controls coherency of host reads"]
pub const HOST_READ: Self = Self(0b10_0000_0000_0000);
#[doc = "Controls coherency of host writes"]
pub const HOST_WRITE: Self = Self(0b100_0000_0000_0000);
#[doc = "Controls coherency of memory reads"]
pub const MEMORY_READ: Self = Self(0b1000_0000_0000_0000);
#[doc = "Controls coherency of memory writes"]
pub const MEMORY_WRITE: Self = Self(0b1_0000_0000_0000_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkBufferUsageFlagBits.html>"]
pub struct BufferUsageFlags(pub(crate) Flags);
vk_bitflags_wrapped!(BufferUsageFlags, 0b1_1111_1111, Flags);
impl BufferUsageFlags {
#[doc = "Can be used as a source of transfer operations"]
pub const TRANSFER_SRC: Self = Self(0b1);
#[doc = "Can be used as a destination of transfer operations"]
pub const TRANSFER_DST: Self = Self(0b10);
#[doc = "Can be used as TBO"]
pub const UNIFORM_TEXEL_BUFFER: Self = Self(0b100);
#[doc = "Can be used as IBO"]
pub const STORAGE_TEXEL_BUFFER: Self = Self(0b1000);
#[doc = "Can be used as UBO"]
pub const UNIFORM_BUFFER: Self = Self(0b1_0000);
#[doc = "Can be used as SSBO"]
pub const STORAGE_BUFFER: Self = Self(0b10_0000);
#[doc = "Can be used as source of fixed-function index fetch (index buffer)"]
pub const INDEX_BUFFER: Self = Self(0b100_0000);
#[doc = "Can be used as source of fixed-function vertex fetch (VBO)"]
pub const VERTEX_BUFFER: Self = Self(0b1000_0000);
#[doc = "Can be the source of indirect parameters (e.g. indirect buffer, parameter buffer)"]
pub const INDIRECT_BUFFER: Self = Self(0b1_0000_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkBufferCreateFlagBits.html>"]
pub struct BufferCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(BufferCreateFlags, 0b111, Flags);
impl BufferCreateFlags {
#[doc = "Buffer should support sparse backing"]
pub const SPARSE_BINDING: Self = Self(0b1);
#[doc = "Buffer should support sparse backing with partial residency"]
pub const SPARSE_RESIDENCY: Self = Self(0b10);
#[doc = "Buffer should support constent data access to physical memory ranges mapped into multiple locations of sparse buffers"]
pub const SPARSE_ALIASED: Self = Self(0b100);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkShaderStageFlagBits.html>"]
pub struct ShaderStageFlags(pub(crate) Flags);
vk_bitflags_wrapped!(
ShaderStageFlags,
0b111_1111_1111_1111_1111_1111_1111_1111,
Flags
);
impl ShaderStageFlags {
pub const VERTEX: Self = Self(0b1);
pub const TESSELLATION_CONTROL: Self = Self(0b10);
pub const TESSELLATION_EVALUATION: Self = Self(0b100);
pub const GEOMETRY: Self = Self(0b1000);
pub const FRAGMENT: Self = Self(0b1_0000);
pub const COMPUTE: Self = Self(0b10_0000);
pub const ALL_GRAPHICS: Self = Self(0x0000_001F);
pub const ALL: Self = Self(0x7FFF_FFFF);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkImageUsageFlagBits.html>"]
pub struct ImageUsageFlags(pub(crate) Flags);
vk_bitflags_wrapped!(ImageUsageFlags, 0b1111_1111, Flags);
impl ImageUsageFlags {
#[doc = "Can be used as a source of transfer operations"]
pub const TRANSFER_SRC: Self = Self(0b1);
#[doc = "Can be used as a destination of transfer operations"]
pub const TRANSFER_DST: Self = Self(0b10);
#[doc = "Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types)"]
pub const SAMPLED: Self = Self(0b100);
#[doc = "Can be used as storage image (STORAGE_IMAGE descriptor type)"]
pub const STORAGE: Self = Self(0b1000);
#[doc = "Can be used as framebuffer color attachment"]
pub const COLOR_ATTACHMENT: Self = Self(0b1_0000);
#[doc = "Can be used as framebuffer depth/stencil attachment"]
pub const DEPTH_STENCIL_ATTACHMENT: Self = Self(0b10_0000);
#[doc = "Image data not needed outside of rendering"]
pub const TRANSIENT_ATTACHMENT: Self = Self(0b100_0000);
#[doc = "Can be used as framebuffer input attachment"]
pub const INPUT_ATTACHMENT: Self = Self(0b1000_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkImageCreateFlagBits.html>"]
pub struct ImageCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(ImageCreateFlags, 0b1_1111, Flags);
impl ImageCreateFlags {
#[doc = "Image should support sparse backing"]
pub const SPARSE_BINDING: Self = Self(0b1);
#[doc = "Image should support sparse backing with partial residency"]
pub const SPARSE_RESIDENCY: Self = Self(0b10);
#[doc = "Image should support constent data access to physical memory ranges mapped into multiple locations of sparse images"]
pub const SPARSE_ALIASED: Self = Self(0b100);
#[doc = "Allows image views to have different format than the base image"]
pub const MUTABLE_FORMAT: Self = Self(0b1000);
#[doc = "Allows creating image views with cube type from the created image"]
pub const CUBE_COMPATIBLE: Self = Self(0b1_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkImageViewCreateFlagBits.html>"]
pub struct ImageViewCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(ImageViewCreateFlags, 0b0, Flags);
impl ImageViewCreateFlags {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSamplerCreateFlagBits.html>"]
pub struct SamplerCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(SamplerCreateFlags, 0b0, Flags);
impl SamplerCreateFlags {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPipelineCreateFlagBits.html>"]
pub struct PipelineCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(PipelineCreateFlags, 0b111, Flags);
impl PipelineCreateFlags {
pub const DISABLE_OPTIMIZATION: Self = Self(0b1);
pub const ALLOW_DERIVATIVES: Self = Self(0b10);
pub const DERIVATIVE: Self = Self(0b100);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPipelineShaderStageCreateFlagBits.html>"]
pub struct PipelineShaderStageCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(PipelineShaderStageCreateFlags, 0b0, Flags);
impl PipelineShaderStageCreateFlags {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkColorComponentFlagBits.html>"]
pub struct ColorComponentFlags(pub(crate) Flags);
vk_bitflags_wrapped!(ColorComponentFlags, 0b1111, Flags);
impl ColorComponentFlags {
pub const R: Self = Self(0b1);
pub const G: Self = Self(0b10);
pub const B: Self = Self(0b100);
pub const A: Self = Self(0b1000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFenceCreateFlagBits.html>"]
pub struct FenceCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(FenceCreateFlags, 0b1, Flags);
impl FenceCreateFlags {
pub const SIGNALED: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSemaphoreCreateFlagBits.html>"]
pub struct SemaphoreCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(SemaphoreCreateFlags, 0b0, Flags);
impl SemaphoreCreateFlags {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFormatFeatureFlagBits.html>"]
pub struct FormatFeatureFlags(pub(crate) Flags);
vk_bitflags_wrapped!(FormatFeatureFlags, 0b1_1111_1111_1111, Flags);
impl FormatFeatureFlags {
#[doc = "Format can be used for sampled images (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types)"]
pub const SAMPLED_IMAGE: Self = Self(0b1);
#[doc = "Format can be used for storage images (STORAGE_IMAGE descriptor type)"]
pub const STORAGE_IMAGE: Self = Self(0b10);
#[doc = "Format supports atomic operations in case it is used for storage images"]
pub const STORAGE_IMAGE_ATOMIC: Self = Self(0b100);
#[doc = "Format can be used for uniform texel buffers (TBOs)"]
pub const UNIFORM_TEXEL_BUFFER: Self = Self(0b1000);
#[doc = "Format can be used for storage texel buffers (IBOs)"]
pub const STORAGE_TEXEL_BUFFER: Self = Self(0b1_0000);
#[doc = "Format supports atomic operations in case it is used for storage texel buffers"]
pub const STORAGE_TEXEL_BUFFER_ATOMIC: Self = Self(0b10_0000);
#[doc = "Format can be used for vertex buffers (VBOs)"]
pub const VERTEX_BUFFER: Self = Self(0b100_0000);
#[doc = "Format can be used for color attachment images"]
pub const COLOR_ATTACHMENT: Self = Self(0b1000_0000);
#[doc = "Format supports blending in case it is used for color attachment images"]
pub const COLOR_ATTACHMENT_BLEND: Self = Self(0b1_0000_0000);
#[doc = "Format can be used for depth/stencil attachment images"]
pub const DEPTH_STENCIL_ATTACHMENT: Self = Self(0b10_0000_0000);
#[doc = "Format can be used as the source image of blits with vkCmdBlitImage"]
pub const BLIT_SRC: Self = Self(0b100_0000_0000);
#[doc = "Format can be used as the destination image of blits with vkCmdBlitImage"]
pub const BLIT_DST: Self = Self(0b1000_0000_0000);
#[doc = "Format can be filtered with VK_FILTER_LINEAR when being sampled"]
pub const SAMPLED_IMAGE_FILTER_LINEAR: Self = Self(0b1_0000_0000_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkQueryControlFlagBits.html>"]
pub struct QueryControlFlags(pub(crate) Flags);
vk_bitflags_wrapped!(QueryControlFlags, 0b1, Flags);
impl QueryControlFlags {
#[doc = "Require precise results to be collected by the query"]
pub const PRECISE: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkQueryResultFlagBits.html>"]
pub struct QueryResultFlags(pub(crate) Flags);
vk_bitflags_wrapped!(QueryResultFlags, 0b1111, Flags);
impl QueryResultFlags {
#[doc = "Results of the queries are written to the destination buffer as 64-bit values"]
pub const TYPE_64: Self = Self(0b1);
#[doc = "Results of the queries are waited on before proceeding with the result copy"]
pub const WAIT: Self = Self(0b10);
#[doc = "Besides the results of the query, the availability of the results is also written"]
pub const WITH_AVAILABILITY: Self = Self(0b100);
#[doc = "Copy the partial results of the query even if the final results are not available"]
pub const PARTIAL: Self = Self(0b1000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkCommandBufferUsageFlagBits.html>"]
pub struct CommandBufferUsageFlags(pub(crate) Flags);
vk_bitflags_wrapped!(CommandBufferUsageFlags, 0b111, Flags);
impl CommandBufferUsageFlags {
pub const ONE_TIME_SUBMIT: Self = Self(0b1);
pub const RENDER_PASS_CONTINUE: Self = Self(0b10);
#[doc = "Command buffer may be submitted/executed more than once simultaneously"]
pub const SIMULTANEOUS_USE: Self = Self(0b100);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkQueryPipelineStatisticFlagBits.html>"]
pub struct QueryPipelineStatisticFlags(pub(crate) Flags);
vk_bitflags_wrapped!(QueryPipelineStatisticFlags, 0b111_1111_1111, Flags);
impl QueryPipelineStatisticFlags {
#[doc = "Optional"]
pub const INPUT_ASSEMBLY_VERTICES: Self = Self(0b1);
#[doc = "Optional"]
pub const INPUT_ASSEMBLY_PRIMITIVES: Self = Self(0b10);
#[doc = "Optional"]
pub const VERTEX_SHADER_INVOCATIONS: Self = Self(0b100);
#[doc = "Optional"]
pub const GEOMETRY_SHADER_INVOCATIONS: Self = Self(0b1000);
#[doc = "Optional"]
pub const GEOMETRY_SHADER_PRIMITIVES: Self = Self(0b1_0000);
#[doc = "Optional"]
pub const CLIPPING_INVOCATIONS: Self = Self(0b10_0000);
#[doc = "Optional"]
pub const CLIPPING_PRIMITIVES: Self = Self(0b100_0000);
#[doc = "Optional"]
pub const FRAGMENT_SHADER_INVOCATIONS: Self = Self(0b1000_0000);
#[doc = "Optional"]
pub const TESSELLATION_CONTROL_SHADER_PATCHES: Self = Self(0b1_0000_0000);
#[doc = "Optional"]
pub const TESSELLATION_EVALUATION_SHADER_INVOCATIONS: Self = Self(0b10_0000_0000);
#[doc = "Optional"]
pub const COMPUTE_SHADER_INVOCATIONS: Self = Self(0b100_0000_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkImageAspectFlagBits.html>"]
pub struct ImageAspectFlags(pub(crate) Flags);
vk_bitflags_wrapped!(ImageAspectFlags, 0b1111, Flags);
impl ImageAspectFlags {
pub const COLOR: Self = Self(0b1);
pub const DEPTH: Self = Self(0b10);
pub const STENCIL: Self = Self(0b100);
pub const METADATA: Self = Self(0b1000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSparseImageFormatFlagBits.html>"]
pub struct SparseImageFormatFlags(pub(crate) Flags);
vk_bitflags_wrapped!(SparseImageFormatFlags, 0b111, Flags);
impl SparseImageFormatFlags {
#[doc = "Image uses a single mip tail region for all array layers"]
pub const SINGLE_MIPTAIL: Self = Self(0b1);
#[doc = "Image requires mip level dimensions to be an integer multiple of the sparse image block dimensions for non-tail mip levels."]
pub const ALIGNED_MIP_SIZE: Self = Self(0b10);
#[doc = "Image uses a non-standard sparse image block dimensions"]
pub const NONSTANDARD_BLOCK_SIZE: Self = Self(0b100);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSparseMemoryBindFlagBits.html>"]
pub struct SparseMemoryBindFlags(pub(crate) Flags);
vk_bitflags_wrapped!(SparseMemoryBindFlags, 0b1, Flags);
impl SparseMemoryBindFlags {
#[doc = "Operation binds resource metadata to memory"]
pub const METADATA: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPipelineStageFlagBits.html>"]
pub struct PipelineStageFlags(pub(crate) Flags);
vk_bitflags_wrapped!(PipelineStageFlags, 0b1_1111_1111_1111_1111, Flags);
impl PipelineStageFlags {
#[doc = "Before subsequent commands are processed"]
pub const TOP_OF_PIPE: Self = Self(0b1);
#[doc = "Draw/DispatchIndirect command fetch"]
pub const DRAW_INDIRECT: Self = Self(0b10);
#[doc = "Vertex/index fetch"]
pub const VERTEX_INPUT: Self = Self(0b100);
#[doc = "Vertex shading"]
pub const VERTEX_SHADER: Self = Self(0b1000);
#[doc = "Tessellation control shading"]
pub const TESSELLATION_CONTROL_SHADER: Self = Self(0b1_0000);
#[doc = "Tessellation evaluation shading"]
pub const TESSELLATION_EVALUATION_SHADER: Self = Self(0b10_0000);
#[doc = "Geometry shading"]
pub const GEOMETRY_SHADER: Self = Self(0b100_0000);
#[doc = "Fragment shading"]
pub const FRAGMENT_SHADER: Self = Self(0b1000_0000);
#[doc = "Early fragment (depth and stencil) tests"]
pub const EARLY_FRAGMENT_TESTS: Self = Self(0b1_0000_0000);
#[doc = "Late fragment (depth and stencil) tests"]
pub const LATE_FRAGMENT_TESTS: Self = Self(0b10_0000_0000);
#[doc = "Color attachment writes"]
pub const COLOR_ATTACHMENT_OUTPUT: Self = Self(0b100_0000_0000);
#[doc = "Compute shading"]
pub const COMPUTE_SHADER: Self = Self(0b1000_0000_0000);
#[doc = "Transfer/copy operations"]
pub const TRANSFER: Self = Self(0b1_0000_0000_0000);
#[doc = "After previous commands have completed"]
pub const BOTTOM_OF_PIPE: Self = Self(0b10_0000_0000_0000);
#[doc = "Indicates host (CPU) is a source/sink of the dependency"]
pub const HOST: Self = Self(0b100_0000_0000_0000);
#[doc = "All stages of the graphics pipeline"]
pub const ALL_GRAPHICS: Self = Self(0b1000_0000_0000_0000);
#[doc = "All stages supported on the queue"]
pub const ALL_COMMANDS: Self = Self(0b1_0000_0000_0000_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkCommandPoolCreateFlagBits.html>"]
pub struct CommandPoolCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(CommandPoolCreateFlags, 0b11, Flags);
impl CommandPoolCreateFlags {
#[doc = "Command buffers have a short lifetime"]
pub const TRANSIENT: Self = Self(0b1);
#[doc = "Command buffers may release their memory individually"]
pub const RESET_COMMAND_BUFFER: Self = Self(0b10);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkCommandPoolResetFlagBits.html>"]
pub struct CommandPoolResetFlags(pub(crate) Flags);
vk_bitflags_wrapped!(CommandPoolResetFlags, 0b1, Flags);
impl CommandPoolResetFlags {
#[doc = "Release resources owned by the pool"]
pub const RELEASE_RESOURCES: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkCommandBufferResetFlagBits.html>"]
pub struct CommandBufferResetFlags(pub(crate) Flags);
vk_bitflags_wrapped!(CommandBufferResetFlags, 0b1, Flags);
impl CommandBufferResetFlags {
#[doc = "Release resources owned by the buffer"]
pub const RELEASE_RESOURCES: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSampleCountFlagBits.html>"]
pub struct SampleCountFlags(pub(crate) Flags);
vk_bitflags_wrapped!(SampleCountFlags, 0b111_1111, Flags);
impl SampleCountFlags {
#[doc = "Sample count 1 supported"]
pub const TYPE_1: Self = Self(0b1);
#[doc = "Sample count 2 supported"]
pub const TYPE_2: Self = Self(0b10);
#[doc = "Sample count 4 supported"]
pub const TYPE_4: Self = Self(0b100);
#[doc = "Sample count 8 supported"]
pub const TYPE_8: Self = Self(0b1000);
#[doc = "Sample count 16 supported"]
pub const TYPE_16: Self = Self(0b1_0000);
#[doc = "Sample count 32 supported"]
pub const TYPE_32: Self = Self(0b10_0000);
#[doc = "Sample count 64 supported"]
pub const TYPE_64: Self = Self(0b100_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkAttachmentDescriptionFlagBits.html>"]
pub struct AttachmentDescriptionFlags(pub(crate) Flags);
vk_bitflags_wrapped!(AttachmentDescriptionFlags, 0b1, Flags);
impl AttachmentDescriptionFlags {
#[doc = "The attachment may alias physical memory of another attachment in the same render pass"]
pub const MAY_ALIAS: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkStencilFaceFlagBits.html>"]
pub struct StencilFaceFlags(pub(crate) Flags);
vk_bitflags_wrapped!(StencilFaceFlags, 0b11, Flags);
impl StencilFaceFlags {
#[doc = "Front face"]
pub const FRONT: Self = Self(0b1);
#[doc = "Back face"]
pub const BACK: Self = Self(0b10);
#[doc = "Front and back faces"]
pub const FRONT_AND_BACK: Self = Self(0x0000_0003);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkDescriptorPoolCreateFlagBits.html>"]
pub struct DescriptorPoolCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(DescriptorPoolCreateFlags, 0b1, Flags);
impl DescriptorPoolCreateFlags {
#[doc = "Descriptor sets may be freed individually"]
pub const FREE_DESCRIPTOR_SET: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkDependencyFlagBits.html>"]
pub struct DependencyFlags(pub(crate) Flags);
vk_bitflags_wrapped!(DependencyFlags, 0b1, Flags);
impl DependencyFlags {
#[doc = "Dependency is per pixel region "]
pub const BY_REGION: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSemaphoreWaitFlagBits.html>"]
pub struct SemaphoreWaitFlags(pub(crate) Flags);
vk_bitflags_wrapped!(SemaphoreWaitFlags, 0b1, Flags);
impl SemaphoreWaitFlags {
pub const ANY: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkDisplayPlaneAlphaFlagBitsKHR.html>"]
pub struct DisplayPlaneAlphaFlagsKHR(pub(crate) Flags);
vk_bitflags_wrapped!(DisplayPlaneAlphaFlagsKHR, 0b1111, Flags);
impl DisplayPlaneAlphaFlagsKHR {
pub const OPAQUE: Self = Self(0b1);
pub const GLOBAL: Self = Self(0b10);
pub const PER_PIXEL: Self = Self(0b100);
pub const PER_PIXEL_PREMULTIPLIED: Self = Self(0b1000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkCompositeAlphaFlagBitsKHR.html>"]
pub struct CompositeAlphaFlagsKHR(pub(crate) Flags);
vk_bitflags_wrapped!(CompositeAlphaFlagsKHR, 0b1111, Flags);
impl CompositeAlphaFlagsKHR {
pub const OPAQUE: Self = Self(0b1);
pub const PRE_MULTIPLIED: Self = Self(0b10);
pub const POST_MULTIPLIED: Self = Self(0b100);
pub const INHERIT: Self = Self(0b1000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSurfaceTransformFlagBitsKHR.html>"]
pub struct SurfaceTransformFlagsKHR(pub(crate) Flags);
vk_bitflags_wrapped!(SurfaceTransformFlagsKHR, 0b1_1111_1111, Flags);
impl SurfaceTransformFlagsKHR {
pub const IDENTITY: Self = Self(0b1);
pub const ROTATE_90: Self = Self(0b10);
pub const ROTATE_180: Self = Self(0b100);
pub const ROTATE_270: Self = Self(0b1000);
pub const HORIZONTAL_MIRROR: Self = Self(0b1_0000);
pub const HORIZONTAL_MIRROR_ROTATE_90: Self = Self(0b10_0000);
pub const HORIZONTAL_MIRROR_ROTATE_180: Self = Self(0b100_0000);
pub const HORIZONTAL_MIRROR_ROTATE_270: Self = Self(0b1000_0000);
pub const INHERIT: Self = Self(0b1_0000_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSwapchainImageUsageFlagBitsANDROID.html>"]
pub struct SwapchainImageUsageFlagsANDROID(pub(crate) Flags);
vk_bitflags_wrapped!(SwapchainImageUsageFlagsANDROID, 0b1, Flags);
impl SwapchainImageUsageFlagsANDROID {
pub const SHARED: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkDebugReportFlagBitsEXT.html>"]
pub struct DebugReportFlagsEXT(pub(crate) Flags);
vk_bitflags_wrapped!(DebugReportFlagsEXT, 0b1_1111, Flags);
impl DebugReportFlagsEXT {
pub const INFORMATION: Self = Self(0b1);
pub const WARNING: Self = Self(0b10);
pub const PERFORMANCE_WARNING: Self = Self(0b100);
pub const ERROR: Self = Self(0b1000);
pub const DEBUG: Self = Self(0b1_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkExternalMemoryHandleTypeFlagBitsNV.html>"]
pub struct ExternalMemoryHandleTypeFlagsNV(pub(crate) Flags);
vk_bitflags_wrapped!(ExternalMemoryHandleTypeFlagsNV, 0b1111, Flags);
impl ExternalMemoryHandleTypeFlagsNV {
pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_NV: Self = Self(0b1);
pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_NV: Self = Self(0b10);
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_NV: Self = Self(0b100);
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_NV: Self = Self(0b1000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkExternalMemoryFeatureFlagBitsNV.html>"]
pub struct ExternalMemoryFeatureFlagsNV(pub(crate) Flags);
vk_bitflags_wrapped!(ExternalMemoryFeatureFlagsNV, 0b111, Flags);
impl ExternalMemoryFeatureFlagsNV {
pub const EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_NV: Self = Self(0b1);
pub const EXTERNAL_MEMORY_FEATURE_EXPORTABLE_NV: Self = Self(0b10);
pub const EXTERNAL_MEMORY_FEATURE_IMPORTABLE_NV: Self = Self(0b100);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubgroupFeatureFlagBits.html>"]
pub struct SubgroupFeatureFlags(pub(crate) Flags);
vk_bitflags_wrapped!(SubgroupFeatureFlags, 0b1111_1111, Flags);
impl SubgroupFeatureFlags {
#[doc = "Basic subgroup operations"]
pub const BASIC: Self = Self(0b1);
#[doc = "Vote subgroup operations"]
pub const VOTE: Self = Self(0b10);
#[doc = "Arithmetic subgroup operations"]
pub const ARITHMETIC: Self = Self(0b100);
#[doc = "Ballot subgroup operations"]
pub const BALLOT: Self = Self(0b1000);
#[doc = "Shuffle subgroup operations"]
pub const SHUFFLE: Self = Self(0b1_0000);
#[doc = "Shuffle relative subgroup operations"]
pub const SHUFFLE_RELATIVE: Self = Self(0b10_0000);
#[doc = "Clustered subgroup operations"]
pub const CLUSTERED: Self = Self(0b100_0000);
#[doc = "Quad subgroup operations"]
pub const QUAD: Self = Self(0b1000_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkIndirectCommandsLayoutUsageFlagBitsNV.html>"]
pub struct IndirectCommandsLayoutUsageFlagsNV(pub(crate) Flags);
vk_bitflags_wrapped!(IndirectCommandsLayoutUsageFlagsNV, 0b111, Flags);
impl IndirectCommandsLayoutUsageFlagsNV {
pub const EXPLICIT_PREPROCESS: Self = Self(0b1);
pub const INDEXED_SEQUENCES: Self = Self(0b10);
pub const UNORDERED_SEQUENCES: Self = Self(0b100);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkIndirectStateFlagBitsNV.html>"]
pub struct IndirectStateFlagsNV(pub(crate) Flags);
vk_bitflags_wrapped!(IndirectStateFlagsNV, 0b1, Flags);
impl IndirectStateFlagsNV {
pub const FLAG_FRONTFACE: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkDescriptorSetLayoutCreateFlagBits.html>"]
pub struct DescriptorSetLayoutCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(DescriptorSetLayoutCreateFlags, 0b0, Flags);
impl DescriptorSetLayoutCreateFlags {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkExternalMemoryHandleTypeFlagBits.html>"]
pub struct ExternalMemoryHandleTypeFlags(pub(crate) Flags);
vk_bitflags_wrapped!(ExternalMemoryHandleTypeFlags, 0b111_1111, Flags);
impl ExternalMemoryHandleTypeFlags {
pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD: Self = Self(0b1);
pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32: Self = Self(0b10);
pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT: Self = Self(0b100);
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE: Self = Self(0b1000);
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT: Self = Self(0b1_0000);
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP: Self = Self(0b10_0000);
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE: Self = Self(0b100_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkExternalMemoryFeatureFlagBits.html>"]
pub struct ExternalMemoryFeatureFlags(pub(crate) Flags);
vk_bitflags_wrapped!(ExternalMemoryFeatureFlags, 0b111, Flags);
impl ExternalMemoryFeatureFlags {
pub const EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY: Self = Self(0b1);
pub const EXTERNAL_MEMORY_FEATURE_EXPORTABLE: Self = Self(0b10);
pub const EXTERNAL_MEMORY_FEATURE_IMPORTABLE: Self = Self(0b100);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkExternalSemaphoreHandleTypeFlagBits.html>"]
pub struct ExternalSemaphoreHandleTypeFlags(pub(crate) Flags);
vk_bitflags_wrapped!(ExternalSemaphoreHandleTypeFlags, 0b1_1111, Flags);
impl ExternalSemaphoreHandleTypeFlags {
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD: Self = Self(0b1);
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32: Self = Self(0b10);
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT: Self = Self(0b100);
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE: Self = Self(0b1000);
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD: Self = Self(0b1_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkExternalSemaphoreFeatureFlagBits.html>"]
pub struct ExternalSemaphoreFeatureFlags(pub(crate) Flags);
vk_bitflags_wrapped!(ExternalSemaphoreFeatureFlags, 0b11, Flags);
impl ExternalSemaphoreFeatureFlags {
pub const EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE: Self = Self(0b1);
pub const EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE: Self = Self(0b10);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSemaphoreImportFlagBits.html>"]
pub struct SemaphoreImportFlags(pub(crate) Flags);
vk_bitflags_wrapped!(SemaphoreImportFlags, 0b1, Flags);
impl SemaphoreImportFlags {
pub const TEMPORARY: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkExternalFenceHandleTypeFlagBits.html>"]
pub struct ExternalFenceHandleTypeFlags(pub(crate) Flags);
vk_bitflags_wrapped!(ExternalFenceHandleTypeFlags, 0b1111, Flags);
impl ExternalFenceHandleTypeFlags {
pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD: Self = Self(0b1);
pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32: Self = Self(0b10);
pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT: Self = Self(0b100);
pub const EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD: Self = Self(0b1000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkExternalFenceFeatureFlagBits.html>"]
pub struct ExternalFenceFeatureFlags(pub(crate) Flags);
vk_bitflags_wrapped!(ExternalFenceFeatureFlags, 0b11, Flags);
impl ExternalFenceFeatureFlags {
pub const EXTERNAL_FENCE_FEATURE_EXPORTABLE: Self = Self(0b1);
pub const EXTERNAL_FENCE_FEATURE_IMPORTABLE: Self = Self(0b10);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFenceImportFlagBits.html>"]
pub struct FenceImportFlags(pub(crate) Flags);
vk_bitflags_wrapped!(FenceImportFlags, 0b1, Flags);
impl FenceImportFlags {
pub const TEMPORARY: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSurfaceCounterFlagBitsEXT.html>"]
pub struct SurfaceCounterFlagsEXT(pub(crate) Flags);
vk_bitflags_wrapped!(SurfaceCounterFlagsEXT, 0b1, Flags);
impl SurfaceCounterFlagsEXT {
pub const VBLANK: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPeerMemoryFeatureFlagBits.html>"]
pub struct PeerMemoryFeatureFlags(pub(crate) Flags);
vk_bitflags_wrapped!(PeerMemoryFeatureFlags, 0b1111, Flags);
impl PeerMemoryFeatureFlags {
#[doc = "Can read with vkCmdCopy commands"]
pub const COPY_SRC: Self = Self(0b1);
#[doc = "Can write with vkCmdCopy commands"]
pub const COPY_DST: Self = Self(0b10);
#[doc = "Can read with any access type/command"]
pub const GENERIC_SRC: Self = Self(0b100);
#[doc = "Can write with and access type/command"]
pub const GENERIC_DST: Self = Self(0b1000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkMemoryAllocateFlagBits.html>"]
pub struct MemoryAllocateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(MemoryAllocateFlags, 0b1, Flags);
impl MemoryAllocateFlags {
#[doc = "Force allocation on specific devices"]
pub const DEVICE_MASK: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkDeviceGroupPresentModeFlagBitsKHR.html>"]
pub struct DeviceGroupPresentModeFlagsKHR(pub(crate) Flags);
vk_bitflags_wrapped!(DeviceGroupPresentModeFlagsKHR, 0b1111, Flags);
impl DeviceGroupPresentModeFlagsKHR {
#[doc = "Present from local memory"]
pub const LOCAL: Self = Self(0b1);
#[doc = "Present from remote memory"]
pub const REMOTE: Self = Self(0b10);
#[doc = "Present sum of local and/or remote memory"]
pub const SUM: Self = Self(0b100);
#[doc = "Each physical device presents from local memory"]
pub const LOCAL_MULTI_DEVICE: Self = Self(0b1000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSwapchainCreateFlagBitsKHR.html>"]
pub struct SwapchainCreateFlagsKHR(pub(crate) Flags);
vk_bitflags_wrapped!(SwapchainCreateFlagsKHR, 0b0, Flags);
impl SwapchainCreateFlagsKHR {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubpassDescriptionFlagBits.html>"]
pub struct SubpassDescriptionFlags(pub(crate) Flags);
vk_bitflags_wrapped!(SubpassDescriptionFlags, 0b0, Flags);
impl SubpassDescriptionFlags {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkDebugUtilsMessageSeverityFlagBitsEXT.html>"]
pub struct DebugUtilsMessageSeverityFlagsEXT(pub(crate) Flags);
vk_bitflags_wrapped!(DebugUtilsMessageSeverityFlagsEXT, 0b1_0001_0001_0001, Flags);
impl DebugUtilsMessageSeverityFlagsEXT {
pub const VERBOSE: Self = Self(0b1);
pub const INFO: Self = Self(0b1_0000);
pub const WARNING: Self = Self(0b1_0000_0000);
pub const ERROR: Self = Self(0b1_0000_0000_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkDebugUtilsMessageTypeFlagBitsEXT.html>"]
pub struct DebugUtilsMessageTypeFlagsEXT(pub(crate) Flags);
vk_bitflags_wrapped!(DebugUtilsMessageTypeFlagsEXT, 0b111, Flags);
impl DebugUtilsMessageTypeFlagsEXT {
pub const GENERAL: Self = Self(0b1);
pub const VALIDATION: Self = Self(0b10);
pub const PERFORMANCE: Self = Self(0b100);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkDescriptorBindingFlagBits.html>"]
pub struct DescriptorBindingFlags(pub(crate) Flags);
vk_bitflags_wrapped!(DescriptorBindingFlags, 0b1111, Flags);
impl DescriptorBindingFlags {
pub const UPDATE_AFTER_BIND: Self = Self(0b1);
pub const UPDATE_UNUSED_WHILE_PENDING: Self = Self(0b10);
pub const PARTIALLY_BOUND: Self = Self(0b100);
pub const VARIABLE_DESCRIPTOR_COUNT: Self = Self(0b1000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkConditionalRenderingFlagBitsEXT.html>"]
pub struct ConditionalRenderingFlagsEXT(pub(crate) Flags);
vk_bitflags_wrapped!(ConditionalRenderingFlagsEXT, 0b1, Flags);
impl ConditionalRenderingFlagsEXT {
pub const INVERTED: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkResolveModeFlagBits.html>"]
pub struct ResolveModeFlags(pub(crate) Flags);
vk_bitflags_wrapped!(ResolveModeFlags, 0b1111, Flags);
impl ResolveModeFlags {
pub const NONE: Self = Self(0);
pub const SAMPLE_ZERO: Self = Self(0b1);
pub const AVERAGE: Self = Self(0b10);
pub const MIN: Self = Self(0b100);
pub const MAX: Self = Self(0b1000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkGeometryInstanceFlagBitsKHR.html>"]
pub struct GeometryInstanceFlagsKHR(pub(crate) Flags);
vk_bitflags_wrapped!(GeometryInstanceFlagsKHR, 0b1111, Flags);
impl GeometryInstanceFlagsKHR {
pub const TRIANGLE_FACING_CULL_DISABLE: Self = Self(0b1);
pub const TRIANGLE_FRONT_COUNTERCLOCKWISE: Self = Self(0b10);
pub const FORCE_OPAQUE: Self = Self(0b100);
pub const FORCE_NO_OPAQUE: Self = Self(0b1000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkGeometryFlagBitsKHR.html>"]
pub struct GeometryFlagsKHR(pub(crate) Flags);
vk_bitflags_wrapped!(GeometryFlagsKHR, 0b11, Flags);
impl GeometryFlagsKHR {
pub const OPAQUE: Self = Self(0b1);
pub const NO_DUPLICATE_ANY_HIT_INVOCATION: Self = Self(0b10);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkBuildAccelerationStructureFlagBitsKHR.html>"]
pub struct BuildAccelerationStructureFlagsKHR(pub(crate) Flags);
vk_bitflags_wrapped!(BuildAccelerationStructureFlagsKHR, 0b1_1111, Flags);
impl BuildAccelerationStructureFlagsKHR {
pub const ALLOW_UPDATE: Self = Self(0b1);
pub const ALLOW_COMPACTION: Self = Self(0b10);
pub const PREFER_FAST_TRACE: Self = Self(0b100);
pub const PREFER_FAST_BUILD: Self = Self(0b1000);
pub const LOW_MEMORY: Self = Self(0b1_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFramebufferCreateFlagBits.html>"]
pub struct FramebufferCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(FramebufferCreateFlags, 0b0, Flags);
impl FramebufferCreateFlags {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkDeviceDiagnosticsConfigFlagBitsNV.html>"]
pub struct DeviceDiagnosticsConfigFlagsNV(pub(crate) Flags);
vk_bitflags_wrapped!(DeviceDiagnosticsConfigFlagsNV, 0b111, Flags);
impl DeviceDiagnosticsConfigFlagsNV {
pub const ENABLE_SHADER_DEBUG_INFO: Self = Self(0b1);
pub const ENABLE_RESOURCE_TRACKING: Self = Self(0b10);
pub const ENABLE_AUTOMATIC_CHECKPOINTS: Self = Self(0b100);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPipelineCreationFeedbackFlagBitsEXT.html>"]
pub struct PipelineCreationFeedbackFlagsEXT(pub(crate) Flags);
vk_bitflags_wrapped!(PipelineCreationFeedbackFlagsEXT, 0b111, Flags);
impl PipelineCreationFeedbackFlagsEXT {
pub const VALID: Self = Self(0b1);
pub const APPLICATION_PIPELINE_CACHE_HIT: Self = Self(0b10);
pub const BASE_PIPELINE_ACCELERATION: Self = Self(0b100);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPerformanceCounterDescriptionFlagBitsKHR.html>"]
pub struct PerformanceCounterDescriptionFlagsKHR(pub(crate) Flags);
vk_bitflags_wrapped!(PerformanceCounterDescriptionFlagsKHR, 0b11, Flags);
impl PerformanceCounterDescriptionFlagsKHR {
pub const PERFORMANCE_IMPACTING: Self = Self(0b1);
pub const CONCURRENTLY_IMPACTED: Self = Self(0b10);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkAcquireProfilingLockFlagBitsKHR.html>"]
pub struct AcquireProfilingLockFlagsKHR(pub(crate) Flags);
vk_bitflags_wrapped!(AcquireProfilingLockFlagsKHR, 0b0, Flags);
impl AcquireProfilingLockFlagsKHR {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkShaderCorePropertiesFlagBitsAMD.html>"]
pub struct ShaderCorePropertiesFlagsAMD(pub(crate) Flags);
vk_bitflags_wrapped!(ShaderCorePropertiesFlagsAMD, 0b0, Flags);
impl ShaderCorePropertiesFlagsAMD {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkShaderModuleCreateFlagBits.html>"]
pub struct ShaderModuleCreateFlags(pub(crate) Flags);
vk_bitflags_wrapped!(ShaderModuleCreateFlags, 0b0, Flags);
impl ShaderModuleCreateFlags {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPipelineCompilerControlFlagBitsAMD.html>"]
pub struct PipelineCompilerControlFlagsAMD(pub(crate) Flags);
vk_bitflags_wrapped!(PipelineCompilerControlFlagsAMD, 0b0, Flags);
impl PipelineCompilerControlFlagsAMD {}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkToolPurposeFlagBitsEXT.html>"]
pub struct ToolPurposeFlagsEXT(pub(crate) Flags);
vk_bitflags_wrapped!(ToolPurposeFlagsEXT, 0b1_1111, Flags);
impl ToolPurposeFlagsEXT {
pub const VALIDATION: Self = Self(0b1);
pub const PROFILING: Self = Self(0b10);
pub const TRACING: Self = Self(0b100);
pub const ADDITIONAL_FEATURES: Self = Self(0b1000);
pub const MODIFYING_FEATURES: Self = Self(0b1_0000);
}

4514
third_party/rust/ash/src/vk/const_debugs.rs поставляемый Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

24
third_party/rust/ash/src/vk/constants.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,24 @@
use crate::vk::definitions::*;
pub const MAX_PHYSICAL_DEVICE_NAME_SIZE: usize = 256;
pub const UUID_SIZE: usize = 16;
pub const LUID_SIZE: usize = 8;
pub const MAX_EXTENSION_NAME_SIZE: usize = 256;
pub const MAX_DESCRIPTION_SIZE: usize = 256;
pub const MAX_MEMORY_TYPES: usize = 32;
pub const MAX_MEMORY_HEAPS: usize = 16;
pub const LOD_CLAMP_NONE: f32 = 1000.00;
pub const REMAINING_MIP_LEVELS: u32 = !0;
pub const REMAINING_ARRAY_LAYERS: u32 = !0;
pub const WHOLE_SIZE: u64 = !0;
pub const ATTACHMENT_UNUSED: u32 = !0;
pub const TRUE: Bool32 = 1;
pub const FALSE: Bool32 = 0;
pub const QUEUE_FAMILY_IGNORED: u32 = !0;
pub const QUEUE_FAMILY_EXTERNAL: u32 = !0 - 1;
pub const QUEUE_FAMILY_FOREIGN_EXT: u32 = !0 - 2;
pub const SUBPASS_EXTERNAL: u32 = !0;
pub const MAX_DEVICE_GROUP_SIZE: usize = 32;
pub const MAX_DRIVER_NAME_SIZE: usize = 256;
pub const MAX_DRIVER_INFO_SIZE: usize = 256;
pub const SHADER_UNUSED_KHR: u32 = !0;
pub const SHADER_UNUSED_NV: u32 = SHADER_UNUSED_KHR;

44905
third_party/rust/ash/src/vk/definitions.rs поставляемый Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

2101
third_party/rust/ash/src/vk/enums.rs поставляемый Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

21821
third_party/rust/ash/src/vk/extensions.rs поставляемый Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

807
third_party/rust/ash/src/vk/feature_extensions.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,807 @@
use crate::vk::bitflags::*;
use crate::vk::enums::*;
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: Self = Self(1_000_094_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const BIND_BUFFER_MEMORY_INFO: Self = Self(1_000_157_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const BIND_IMAGE_MEMORY_INFO: Self = Self(1_000_157_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl ImageCreateFlags {
pub const ALIAS: Self = Self(0b100_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: Self = Self(1_000_083_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const MEMORY_DEDICATED_REQUIREMENTS: Self = Self(1_000_127_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const MEMORY_DEDICATED_ALLOCATE_INFO: Self = Self(1_000_127_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const MEMORY_ALLOCATE_FLAGS_INFO: Self = Self(1_000_060_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: Self = Self(1_000_060_003);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: Self = Self(1_000_060_004);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const DEVICE_GROUP_SUBMIT_INFO: Self = Self(1_000_060_005);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const DEVICE_GROUP_BIND_SPARSE_INFO: Self = Self(1_000_060_006);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl PipelineCreateFlags {
pub const VIEW_INDEX_FROM_DEVICE_INDEX: Self = Self(0b1000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl PipelineCreateFlags {
pub const DISPATCH_BASE: Self = Self(0b1_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl DependencyFlags {
pub const DEVICE_GROUP: Self = Self(0b100);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: Self = Self(1_000_060_013);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: Self = Self(1_000_060_014);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl ImageCreateFlags {
pub const SPLIT_INSTANCE_BIND_REGIONS: Self = Self(0b100_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_GROUP_PROPERTIES: Self = Self(1_000_070_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const DEVICE_GROUP_DEVICE_CREATE_INFO: Self = Self(1_000_070_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl MemoryHeapFlags {
pub const MULTI_INSTANCE: Self = Self(0b10);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const BUFFER_MEMORY_REQUIREMENTS_INFO_2: Self = Self(1_000_146_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const IMAGE_MEMORY_REQUIREMENTS_INFO_2: Self = Self(1_000_146_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2: Self = Self(1_000_146_002);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const MEMORY_REQUIREMENTS_2: Self = Self(1_000_146_003);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const SPARSE_IMAGE_MEMORY_REQUIREMENTS_2: Self = Self(1_000_146_004);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_FEATURES_2: Self = Self(1_000_059_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_PROPERTIES_2: Self = Self(1_000_059_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const FORMAT_PROPERTIES_2: Self = Self(1_000_059_002);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const IMAGE_FORMAT_PROPERTIES_2: Self = Self(1_000_059_003);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2: Self = Self(1_000_059_004);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const QUEUE_FAMILY_PROPERTIES_2: Self = Self(1_000_059_005);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_MEMORY_PROPERTIES_2: Self = Self(1_000_059_006);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const SPARSE_IMAGE_FORMAT_PROPERTIES_2: Self = Self(1_000_059_007);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2: Self = Self(1_000_059_008);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Result {
pub const ERROR_OUT_OF_POOL_MEMORY: Self = Self(-1_000_069_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl FormatFeatureFlags {
pub const TRANSFER_SRC: Self = Self(0b100_0000_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl FormatFeatureFlags {
pub const TRANSFER_DST: Self = Self(0b1000_0000_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl ImageCreateFlags {
pub const TYPE_2D_ARRAY_COMPATIBLE: Self = Self(0b10_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl ImageCreateFlags {
pub const BLOCK_TEXEL_VIEW_COMPATIBLE: Self = Self(0b1000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl ImageCreateFlags {
pub const EXTENDED_USAGE: Self = Self(0b1_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: Self = Self(1_000_117_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: Self = Self(1_000_117_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const IMAGE_VIEW_USAGE_CREATE_INFO: Self = Self(1_000_117_002);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: Self = Self(1_000_117_003);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl ImageLayout {
pub const DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL: Self = Self(1_000_117_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl ImageLayout {
pub const DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL: Self = Self(1_000_117_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const RENDER_PASS_MULTIVIEW_CREATE_INFO: Self = Self(1_000_053_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_MULTIVIEW_FEATURES: Self = Self(1_000_053_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: Self = Self(1_000_053_002);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl DependencyFlags {
pub const VIEW_LOCAL: Self = Self(0b10);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: Self = Self(1_000_120_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES: Self =
StructureType::PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES;
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PROTECTED_SUBMIT_INFO: Self = Self(1_000_145_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: Self = Self(1_000_145_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: Self = Self(1_000_145_002);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const DEVICE_QUEUE_INFO_2: Self = Self(1_000_145_003);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl QueueFlags {
pub const PROTECTED: Self = Self(0b1_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl DeviceQueueCreateFlags {
pub const PROTECTED: Self = Self(0b1);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl MemoryPropertyFlags {
pub const PROTECTED: Self = Self(0b10_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl BufferCreateFlags {
pub const PROTECTED: Self = Self(0b1000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl ImageCreateFlags {
pub const PROTECTED: Self = Self(0b1000_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl CommandPoolCreateFlags {
pub const PROTECTED: Self = Self(0b100);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const SAMPLER_YCBCR_CONVERSION_CREATE_INFO: Self = Self(1_000_156_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const SAMPLER_YCBCR_CONVERSION_INFO: Self = Self(1_000_156_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const BIND_IMAGE_PLANE_MEMORY_INFO: Self = Self(1_000_156_002);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: Self = Self(1_000_156_003);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: Self = Self(1_000_156_004);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: Self = Self(1_000_156_005);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl ObjectType {
pub const SAMPLER_YCBCR_CONVERSION: Self = Self(1_000_156_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G8B8G8R8_422_UNORM: Self = Self(1_000_156_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const B8G8R8G8_422_UNORM: Self = Self(1_000_156_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G8_B8_R8_3PLANE_420_UNORM: Self = Self(1_000_156_002);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G8_B8R8_2PLANE_420_UNORM: Self = Self(1_000_156_003);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G8_B8_R8_3PLANE_422_UNORM: Self = Self(1_000_156_004);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G8_B8R8_2PLANE_422_UNORM: Self = Self(1_000_156_005);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G8_B8_R8_3PLANE_444_UNORM: Self = Self(1_000_156_006);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const R10X6_UNORM_PACK16: Self = Self(1_000_156_007);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const R10X6G10X6_UNORM_2PACK16: Self = Self(1_000_156_008);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const R10X6G10X6B10X6A10X6_UNORM_4PACK16: Self = Self(1_000_156_009);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G10X6B10X6G10X6R10X6_422_UNORM_4PACK16: Self = Self(1_000_156_010);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const B10X6G10X6R10X6G10X6_422_UNORM_4PACK16: Self = Self(1_000_156_011);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16: Self = Self(1_000_156_012);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16: Self = Self(1_000_156_013);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16: Self = Self(1_000_156_014);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16: Self = Self(1_000_156_015);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16: Self = Self(1_000_156_016);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const R12X4_UNORM_PACK16: Self = Self(1_000_156_017);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const R12X4G12X4_UNORM_2PACK16: Self = Self(1_000_156_018);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const R12X4G12X4B12X4A12X4_UNORM_4PACK16: Self = Self(1_000_156_019);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G12X4B12X4G12X4R12X4_422_UNORM_4PACK16: Self = Self(1_000_156_020);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const B12X4G12X4R12X4G12X4_422_UNORM_4PACK16: Self = Self(1_000_156_021);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16: Self = Self(1_000_156_022);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16: Self = Self(1_000_156_023);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16: Self = Self(1_000_156_024);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16: Self = Self(1_000_156_025);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16: Self = Self(1_000_156_026);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G16B16G16R16_422_UNORM: Self = Self(1_000_156_027);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const B16G16R16G16_422_UNORM: Self = Self(1_000_156_028);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G16_B16_R16_3PLANE_420_UNORM: Self = Self(1_000_156_029);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G16_B16R16_2PLANE_420_UNORM: Self = Self(1_000_156_030);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G16_B16_R16_3PLANE_422_UNORM: Self = Self(1_000_156_031);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G16_B16R16_2PLANE_422_UNORM: Self = Self(1_000_156_032);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Format {
pub const G16_B16_R16_3PLANE_444_UNORM: Self = Self(1_000_156_033);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl ImageAspectFlags {
pub const PLANE_0: Self = Self(0b1_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl ImageAspectFlags {
pub const PLANE_1: Self = Self(0b10_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl ImageAspectFlags {
pub const PLANE_2: Self = Self(0b100_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl ImageCreateFlags {
pub const DISJOINT: Self = Self(0b10_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl FormatFeatureFlags {
pub const MIDPOINT_CHROMA_SAMPLES: Self = Self(0b10_0000_0000_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl FormatFeatureFlags {
pub const SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER: Self = Self(0b100_0000_0000_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl FormatFeatureFlags {
pub const SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER: Self =
Self(0b1000_0000_0000_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl FormatFeatureFlags {
pub const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT: Self =
Self(0b1_0000_0000_0000_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl FormatFeatureFlags {
pub const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE: Self =
Self(0b10_0000_0000_0000_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl FormatFeatureFlags {
pub const DISJOINT: Self = Self(0b100_0000_0000_0000_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl FormatFeatureFlags {
pub const COSITED_CHROMA_SAMPLES: Self = Self(0b1000_0000_0000_0000_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO: Self = Self(1_000_085_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl ObjectType {
pub const DESCRIPTOR_UPDATE_TEMPLATE: Self = Self(1_000_085_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: Self = Self(1_000_071_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const EXTERNAL_IMAGE_FORMAT_PROPERTIES: Self = Self(1_000_071_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO: Self = Self(1_000_071_002);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const EXTERNAL_BUFFER_PROPERTIES: Self = Self(1_000_071_003);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_ID_PROPERTIES: Self = Self(1_000_071_004);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const EXTERNAL_MEMORY_BUFFER_CREATE_INFO: Self = Self(1_000_072_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const EXTERNAL_MEMORY_IMAGE_CREATE_INFO: Self = Self(1_000_072_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const EXPORT_MEMORY_ALLOCATE_INFO: Self = Self(1_000_072_002);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl Result {
pub const ERROR_INVALID_EXTERNAL_HANDLE: Self = Self(-1_000_072_003);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO: Self = Self(1_000_112_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const EXTERNAL_FENCE_PROPERTIES: Self = Self(1_000_112_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const EXPORT_FENCE_CREATE_INFO: Self = Self(1_000_113_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const EXPORT_SEMAPHORE_CREATE_INFO: Self = Self(1_000_077_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO: Self = Self(1_000_076_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const EXTERNAL_SEMAPHORE_PROPERTIES: Self = Self(1_000_076_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: Self = Self(1_000_168_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const DESCRIPTOR_SET_LAYOUT_SUPPORT: Self = Self(1_000_168_001);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: Self = Self(1_000_063_000);
}
#[doc = "Generated from \'VK_VERSION_1_1\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES: Self =
StructureType::PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES;
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: Self = Self(49);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: Self = Self(50);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: Self = Self(51);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: Self = Self(52);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const IMAGE_FORMAT_LIST_CREATE_INFO: Self = Self(1_000_147_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const ATTACHMENT_DESCRIPTION_2: Self = Self(1_000_109_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const ATTACHMENT_REFERENCE_2: Self = Self(1_000_109_001);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const SUBPASS_DESCRIPTION_2: Self = Self(1_000_109_002);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const SUBPASS_DEPENDENCY_2: Self = Self(1_000_109_003);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const RENDER_PASS_CREATE_INFO_2: Self = Self(1_000_109_004);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const SUBPASS_BEGIN_INFO: Self = Self(1_000_109_005);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const SUBPASS_END_INFO: Self = Self(1_000_109_006);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: Self = Self(1_000_177_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_DRIVER_PROPERTIES: Self = Self(1_000_196_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: Self = Self(1_000_180_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: Self = Self(1_000_082_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: Self = Self(1_000_197_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: Self = Self(1_000_161_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: Self = Self(1_000_161_001);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: Self = Self(1_000_161_002);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: Self = Self(1_000_161_003);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: Self = Self(1_000_161_004);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl DescriptorPoolCreateFlags {
pub const UPDATE_AFTER_BIND: Self = Self(0b10);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl DescriptorSetLayoutCreateFlags {
pub const UPDATE_AFTER_BIND_POOL: Self = Self(0b10);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl Result {
pub const ERROR_FRAGMENTATION: Self = Self(-1_000_161_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: Self = Self(1_000_199_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: Self = Self(1_000_199_001);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: Self = Self(1_000_221_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const IMAGE_STENCIL_USAGE_CREATE_INFO: Self = Self(1_000_246_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: Self = Self(1_000_130_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const SAMPLER_REDUCTION_MODE_CREATE_INFO: Self = Self(1_000_130_001);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl FormatFeatureFlags {
pub const SAMPLED_IMAGE_FILTER_MINMAX: Self = Self(0b1_0000_0000_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: Self = Self(1_000_211_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: Self = Self(1_000_108_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: Self = Self(1_000_108_001);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const FRAMEBUFFER_ATTACHMENT_IMAGE_INFO: Self = Self(1_000_108_002);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const RENDER_PASS_ATTACHMENT_BEGIN_INFO: Self = Self(1_000_108_003);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl FramebufferCreateFlags {
pub const IMAGELESS: Self = Self(0b1);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: Self = Self(1_000_253_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: Self = Self(1_000_175_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: Self = Self(1_000_241_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const ATTACHMENT_REFERENCE_STENCIL_LAYOUT: Self = Self(1_000_241_001);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: Self = Self(1_000_241_002);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl ImageLayout {
pub const DEPTH_ATTACHMENT_OPTIMAL: Self = Self(1_000_241_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl ImageLayout {
pub const DEPTH_READ_ONLY_OPTIMAL: Self = Self(1_000_241_001);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl ImageLayout {
pub const STENCIL_ATTACHMENT_OPTIMAL: Self = Self(1_000_241_002);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl ImageLayout {
pub const STENCIL_READ_ONLY_OPTIMAL: Self = Self(1_000_241_003);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: Self = Self(1_000_261_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: Self = Self(1_000_207_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: Self = Self(1_000_207_001);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const SEMAPHORE_TYPE_CREATE_INFO: Self = Self(1_000_207_002);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const TIMELINE_SEMAPHORE_SUBMIT_INFO: Self = Self(1_000_207_003);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const SEMAPHORE_WAIT_INFO: Self = Self(1_000_207_004);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const SEMAPHORE_SIGNAL_INFO: Self = Self(1_000_207_005);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: Self = Self(1_000_257_000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const BUFFER_DEVICE_ADDRESS_INFO: Self = Self(1_000_244_001);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: Self = Self(1_000_257_002);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: Self = Self(1_000_257_003);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl StructureType {
pub const DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO: Self = Self(1_000_257_004);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl BufferUsageFlags {
pub const SHADER_DEVICE_ADDRESS: Self = Self(0b10_0000_0000_0000_0000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl BufferCreateFlags {
pub const DEVICE_ADDRESS_CAPTURE_REPLAY: Self = Self(0b1_0000);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl MemoryAllocateFlags {
pub const DEVICE_ADDRESS: Self = Self(0b10);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl MemoryAllocateFlags {
pub const DEVICE_ADDRESS_CAPTURE_REPLAY: Self = Self(0b100);
}
#[doc = "Generated from \'VK_VERSION_1_2\'"]
impl Result {
pub const ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS: Self = Self(-1_000_257_000);
}

7567
third_party/rust/ash/src/vk/features.rs поставляемый Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

199
third_party/rust/ash/src/vk/macros.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,199 @@
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_MAKE_VERSION.html>"]
pub const fn make_version(major: u32, minor: u32, patch: u32) -> u32 {
(major << 22) | (minor << 12) | patch
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_VERSION_MAJOR.html>"]
pub const fn version_major(version: u32) -> u32 {
version >> 22
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_VERSION_MINOR.html>"]
pub const fn version_minor(version: u32) -> u32 {
(version >> 12) & 0x3ff
}
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_VERSION_PATCH.html>"]
pub const fn version_patch(version: u32) -> u32 {
version & 0xfff
}
#[macro_export]
macro_rules! vk_bitflags_wrapped {
( $ name : ident , $ all : expr , $ flag_type : ty ) => {
impl Default for $name {
fn default() -> $name {
$name(0)
}
}
impl $name {
#[inline]
pub const fn empty() -> $name {
$name(0)
}
#[inline]
pub const fn all() -> $name {
$name($all)
}
#[inline]
pub const fn from_raw(x: $flag_type) -> Self {
$name(x)
}
#[inline]
pub const fn as_raw(self) -> $flag_type {
self.0
}
#[inline]
pub fn is_empty(self) -> bool {
self == $name::empty()
}
#[inline]
pub fn is_all(self) -> bool {
self & $name::all() == $name::all()
}
#[inline]
pub fn intersects(self, other: $name) -> bool {
self & other != $name::empty()
}
#[doc = r" Returns whether `other` is a subset of `self`"]
#[inline]
pub fn contains(self, other: $name) -> bool {
self & other == other
}
}
impl ::std::ops::BitOr for $name {
type Output = $name;
#[inline]
fn bitor(self, rhs: $name) -> $name {
$name(self.0 | rhs.0)
}
}
impl ::std::ops::BitOrAssign for $name {
#[inline]
fn bitor_assign(&mut self, rhs: $name) {
*self = *self | rhs
}
}
impl ::std::ops::BitAnd for $name {
type Output = $name;
#[inline]
fn bitand(self, rhs: $name) -> $name {
$name(self.0 & rhs.0)
}
}
impl ::std::ops::BitAndAssign for $name {
#[inline]
fn bitand_assign(&mut self, rhs: $name) {
*self = *self & rhs
}
}
impl ::std::ops::BitXor for $name {
type Output = $name;
#[inline]
fn bitxor(self, rhs: $name) -> $name {
$name(self.0 ^ rhs.0)
}
}
impl ::std::ops::BitXorAssign for $name {
#[inline]
fn bitxor_assign(&mut self, rhs: $name) {
*self = *self ^ rhs
}
}
impl ::std::ops::Sub for $name {
type Output = $name;
#[inline]
fn sub(self, rhs: $name) -> $name {
self & !rhs
}
}
impl ::std::ops::SubAssign for $name {
#[inline]
fn sub_assign(&mut self, rhs: $name) {
*self = *self - rhs
}
}
impl ::std::ops::Not for $name {
type Output = $name;
#[inline]
fn not(self) -> $name {
self ^ $name::all()
}
}
};
}
#[macro_export]
macro_rules! handle_nondispatchable {
( $ name : ident , $ ty : ident ) => {
handle_nondispatchable!($name, $ty, doc = "");
};
( $ name : ident , $ ty : ident , $ doc_link : meta ) => {
#[repr(transparent)]
#[derive(Eq, PartialEq, Ord, PartialOrd, Clone, Copy, Hash, Default)]
#[$doc_link]
pub struct $name(u64);
impl Handle for $name {
const TYPE: ObjectType = ObjectType::$ty;
fn as_raw(self) -> u64 {
self.0 as u64
}
fn from_raw(x: u64) -> Self {
$name(x as _)
}
}
impl $name {
pub const fn null() -> $name {
$name(0)
}
}
impl fmt::Pointer for $name {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "0x{:x}", self.0)
}
}
impl fmt::Debug for $name {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "0x{:x}", self.0)
}
}
};
}
#[macro_export]
macro_rules! define_handle {
( $ name : ident , $ ty : ident ) => {
define_handle!($name, $ty, doc = "");
};
( $ name : ident , $ ty : ident , $ doc_link : meta ) => {
#[repr(transparent)]
#[derive(Eq, PartialEq, Ord, PartialOrd, Clone, Copy, Hash)]
#[$doc_link]
pub struct $name(*mut u8);
impl Default for $name {
fn default() -> $name {
$name::null()
}
}
impl Handle for $name {
const TYPE: ObjectType = ObjectType::$ty;
fn as_raw(self) -> u64 {
self.0 as u64
}
fn from_raw(x: u64) -> Self {
$name(x as _)
}
}
unsafe impl Send for $name {}
unsafe impl Sync for $name {}
impl $name {
pub const fn null() -> Self {
$name(::std::ptr::null_mut())
}
}
impl fmt::Pointer for $name {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fmt::Pointer::fmt(&self.0, f)
}
}
impl fmt::Debug for $name {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fmt::Debug::fmt(&self.0, f)
}
}
};
}

34
third_party/rust/ash/src/vk/platform_types.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,34 @@
use std::os::raw::*;
pub type RROutput = c_ulong;
pub type VisualID = c_uint;
pub type Display = *const c_void;
pub type Window = c_ulong;
#[allow(non_camel_case_types)]
pub type xcb_connection_t = c_void;
#[allow(non_camel_case_types)]
pub type xcb_window_t = u32;
#[allow(non_camel_case_types)]
pub type xcb_visualid_t = u32;
pub type MirConnection = *const c_void;
pub type MirSurface = *const c_void;
pub type HINSTANCE = *const c_void;
pub type HWND = *const c_void;
#[allow(non_camel_case_types)]
pub type wl_display = c_void;
#[allow(non_camel_case_types)]
pub type wl_surface = c_void;
pub type HANDLE = *mut c_void;
pub type HMONITOR = HANDLE;
pub type DWORD = c_ulong;
pub type LPCWSTR = *const u16;
#[allow(non_camel_case_types)]
pub type zx_handle_t = u32;
#[allow(non_camel_case_types)]
pub type SECURITY_ATTRIBUTES = ();
pub type ANativeWindow = c_void;
pub type AHardwareBuffer = c_void;
#[doc = r" This definition is experimental and won't adhere to semver rules."]
pub type GgpStreamDescriptor = u32;
#[doc = r" This definition is experimental and won't adhere to semver rules."]
pub type GgpFrameToken = u32;
pub type CAMetalLayer = c_void;

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

401
third_party/rust/authenticator/Cargo.lock сгенерированный поставляемый
Просмотреть файл

@ -2,10 +2,10 @@
# It is not intended for manual editing.
[[package]]
name = "aho-corasick"
version = "0.6.10"
version = "0.7.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -13,37 +13,37 @@ name = "ansi_term"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "atty"
version = "0.2.11"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"hermit-abi 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "authenticator"
version = "0.2.13"
version = "0.2.15"
dependencies = [
"base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
"bindgen 0.51.1 (registry+https://github.com/rust-lang/crates.io-index)",
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"boxfnonce 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"devd-rs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"devd-rs 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
"libudev 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
"runloop 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"sha2 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -51,7 +51,7 @@ name = "base64"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -59,42 +59,42 @@ name = "bindgen"
version = "0.51.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"cexpr 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
"cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
"bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"cexpr 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
"clang-sys 0.28.1 (registry+https://github.com/rust-lang/crates.io-index)",
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
"env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"clap 2.33.1 (registry+https://github.com/rust-lang/crates.io-index)",
"env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
"peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
"regex 1.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"shlex 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"which 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"which 3.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "bitflags"
version = "1.0.4"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "block-buffer"
version = "0.7.0"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"block-padding 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "block-padding"
version = "0.1.3"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -112,25 +112,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "byteorder"
version = "1.3.1"
version = "1.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "c2-chacha"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "cc"
version = "1.0.45"
version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "cexpr"
version = "0.3.5"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
@ -138,7 +130,7 @@ dependencies = [
[[package]]
name = "cfg-if"
version = "0.1.7"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@ -147,65 +139,65 @@ version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
"libloading 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "clap"
version = "2.33.0"
version = "2.33.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
"bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
"vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-width 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
"vec_map 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "core-foundation"
version = "0.7.0"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "core-foundation-sys"
version = "0.7.0"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "devd-rs"
version = "0.3.0"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
"nom 5.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "digest"
version = "0.8.0"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
"generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "env_logger"
version = "0.6.1"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
"termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
"humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
"regex 1.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
"termcolor 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -215,10 +207,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "generic-array"
version = "0.12.0"
version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
"typenum 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -226,8 +218,8 @@ name = "getrandom"
version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
"wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -237,21 +229,29 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "humantime"
version = "1.2.0"
name = "hermit-abi"
version = "0.1.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "humantime"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "lazy_static"
version = "1.3.0"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "libc"
version = "0.2.66"
version = "0.2.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@ -259,8 +259,8 @@ name = "libloading"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"cc 1.0.58 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -268,7 +268,7 @@ name = "libudev"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
"libudev-sys 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -277,21 +277,21 @@ name = "libudev-sys"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "log"
version = "0.4.6"
version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "memchr"
version = "2.2.0"
version = "2.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@ -299,13 +299,22 @@ name = "nom"
version = "4.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
"version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "nom"
version = "5.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
"version_check 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "opaque-debug"
version = "0.2.2"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@ -315,33 +324,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "pkg-config"
version = "0.3.14"
version = "0.3.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "ppv-lite86"
version = "0.2.6"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "proc-macro2"
version = "1.0.5"
version = "1.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-xid 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "quick-error"
version = "1.2.2"
version = "1.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "quote"
version = "1.0.2"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -350,18 +359,18 @@ version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
"rand_chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
"rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "rand_chacha"
version = "0.2.1"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
"ppv-lite86 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
"rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -381,38 +390,21 @@ dependencies = [
"rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "redox_syscall"
version = "0.1.51"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "redox_termios"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "regex"
version = "1.1.2"
version = "1.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
"memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"regex-syntax 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
"thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"aho-corasick 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)",
"memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
"regex-syntax 0.6.18 (registry+https://github.com/rust-lang/crates.io-index)",
"thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "regex-syntax"
version = "0.6.5"
version = "0.6.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "runloop"
@ -421,21 +413,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "rustc-hash"
version = "1.0.1"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "sha2"
version = "0.8.1"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
"digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
"opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
"opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -450,20 +439,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "termcolor"
version = "1.0.4"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "termion"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
"redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -471,45 +450,35 @@ name = "textwrap"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-width 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "thread_local"
version = "0.3.6"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "typenum"
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "ucd-util"
version = "0.1.3"
version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "unicode-width"
version = "0.1.6"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "unicode-xid"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "utf8-ranges"
version = "1.0.2"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "vec_map"
version = "0.8.1"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@ -517,6 +486,11 @@ name = "version_check"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "version_check"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "wasi"
version = "0.9.0+wasi-snapshot-preview1"
@ -524,15 +498,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "which"
version = "3.0.0"
version = "3.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "winapi"
version = "0.3.6"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -546,10 +520,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "winapi-util"
version = "0.1.2"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -557,86 +531,73 @@ name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "wincolor"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[metadata]
"checksum aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5"
"checksum aho-corasick 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)" = "043164d8ba5c4c3035fec9bbee8647c0261d788f3474306f93bb65901cae0e86"
"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
"checksum atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
"checksum bindgen 0.51.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ebd71393f1ec0509b553aa012b9b58e81dadbdff7130bd3b8cba576e69b32f75"
"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
"checksum block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49665c62e0e700857531fa5d3763e91b539ff1abeebd56808d378b495870d60d"
"checksum block-padding 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d75255892aeb580d3c566f213a2b6fdc1c66667839f45719ee1d30ebf2aea591"
"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
"checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
"checksum block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
"checksum boxfnonce 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8380105befe91099e6f69206164072c05bc92427ff6aa8a5171388317346dd75"
"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
"checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb"
"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
"checksum cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)" = "4fc9a35e1f4290eb9e5fc54ba6cf40671ed2a2514c3eeb2b2a908dda2ea5a1be"
"checksum cexpr 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a7fa24eb00d5ffab90eaeaf1092ac85c04c64aaf358ea6f84505b8116d24c6af"
"checksum cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "11d43355396e872eefb45ce6342e4374ed7bc2b3a502d1b28e36d6e23c05d1f4"
"checksum byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
"checksum cc 1.0.58 (registry+https://github.com/rust-lang/crates.io-index)" = "f9a06fb2e53271d7c279ec1efea6ab691c35a2ae67ec0d91d7acec0caf13b518"
"checksum cexpr 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "fce5b5fb86b0c57c20c834c1b412fd09c77c8a59b9473f86272709e78874cd1d"
"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
"checksum clang-sys 0.28.1 (registry+https://github.com/rust-lang/crates.io-index)" = "81de550971c976f176130da4b2978d3b524eaa0fd9ac31f3ceb5ae1231fb4853"
"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
"checksum core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
"checksum core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
"checksum devd-rs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0d009f166c0d9e9f9909dc751630b3a6411ab7f85a153d32d01deb364ffe52a7"
"checksum digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c"
"checksum env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b61fa891024a945da30a9581546e8cfaf5602c7b3f4c137a2805cf388f92075a"
"checksum clap 2.33.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bdfa80d47f954d53a35a64987ca1422f495b8d6483c0fe9f7117b36c2a792129"
"checksum core-foundation 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3b5ed8e7e76c45974e15e41bfa8d5b0483cd90191639e01d8f5f1e606299d3fb"
"checksum core-foundation-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9a21fa21941700a3cd8fcb4091f361a6a712fac632f85d9f487cc892045d55c6"
"checksum devd-rs 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1945ccb7caedabdfb9347766ead740fb1e0582b7425598325f546adbd832cce1"
"checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
"checksum env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
"checksum generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592"
"checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
"checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
"checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
"checksum humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114"
"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
"checksum hermit-abi 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9"
"checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
"checksum libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)" = "bd7d4bd64732af4bf3a67f367c27df8520ad7e230c5817b8ff485864d80242b9"
"checksum libloading 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753"
"checksum libudev 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea626d3bdf40a1c5aee3bcd4f40826970cae8d80a8fec934c82a63840094dcfe"
"checksum libudev-sys 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324"
"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
"checksum log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
"checksum memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
"checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
"checksum opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "93f5bb2e8e8dec81642920ccff6b61f1eb94fa3020c5a325c9851ff604152409"
"checksum nom 5.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
"checksum opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
"checksum peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
"checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c"
"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
"checksum proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "90cf5f418035b98e655e9cdb225047638296b862b42411c4e45bb88d700f7fc0"
"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
"checksum pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)" = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33"
"checksum ppv-lite86 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea"
"checksum proc-macro2 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)" = "04f5f085b5d71e2188cb8271e5da0161ad52c3f227a661a3c135fdf28e258b12"
"checksum quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
"checksum quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
"checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
"checksum rand_chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
"checksum redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)" = "423e376fffca3dfa06c9e9790a9ccd282fafb3cc6e6397d01dbf64f9bacc6b85"
"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
"checksum regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53ee8cfdddb2e0291adfb9f13d31d3bbe0a03c9a402c01b1e24188d86c35b24f"
"checksum regex-syntax 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8c2f35eedad5295fdf00a63d7d4b238135723f92b434ec06774dad15c7ab0861"
"checksum regex 1.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6"
"checksum regex-syntax 0.6.18 (registry+https://github.com/rust-lang/crates.io-index)" = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8"
"checksum runloop 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5d79b4b604167921892e84afbbaad9d5ad74e091bf6c511d9dbfb0593f09fabd"
"checksum rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8"
"checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0"
"checksum rustc-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
"checksum sha2 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69"
"checksum shlex 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
"checksum termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4096add70612622289f2fdcdbd5086dc81c1e2675e6ae58d6c4f62a16c6d7f2f"
"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
"checksum termcolor 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f"
"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
"checksum thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
"checksum typenum 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"
"checksum unicode-width 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
"checksum unicode-xid 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
"checksum vec_map 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
"checksum version_check 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
"checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
"checksum which 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "240a31163872f7e8e49f35b42b58485e35355b07eb009d9f3686733541339a69"
"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
"checksum which 3.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724"
"checksum winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
"checksum winapi-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
"checksum wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "561ed901ae465d6185fa7864d63fbd5720d0ef718366c9a4dc83cf6170d7e9ba"

10
third_party/rust/authenticator/Cargo.toml поставляемый
Просмотреть файл

@ -12,7 +12,7 @@
[package]
name = "authenticator"
version = "0.2.13"
version = "0.2.15"
authors = ["J.C. Jones <jc@mozilla.com>", "Tim Taubert <ttaubert@mozilla.com>", "Kyle Machulis <kyle@nonpolynomial.com>"]
description = "Library for interacting with CTAP1/2 security keys for Web Authentication. Used by Firefox."
license = "MPL-2.0"
@ -38,12 +38,12 @@ version = "0.1.0"
version = "^0.10"
[dev-dependencies.env_logger]
version = "0.6"
version = "^0.6"
[dev-dependencies.sha2]
version = "^0.8"
version = "^0.8.2"
[build-dependencies.bindgen]
version = "0.51"
version = "^0.51"
optional = true
[features]
@ -53,7 +53,7 @@ version = "0.3"
[target."cfg(target_os = \"linux\")".dependencies.libudev]
version = "^0.2"
[target."cfg(target_os = \"macos\")".dependencies.core-foundation]
version = "0.7"
version = "0.9"
[target."cfg(target_os = \"windows\")".dependencies.winapi]
version = "0.3"
features = ["handleapi", "hidclass", "hidpi", "hidusage", "setupapi"]

2
third_party/rust/authenticator/README.md поставляемый
Просмотреть файл

@ -5,7 +5,7 @@
This is a cross-platform library for interacting with Security Key-type devices via Rust.
* **Supported Platforms**: Windows, Linux, FreeBSD, OpenBSD, and macOS.
* **Supported Platforms**: Windows, Linux, FreeBSD, NetBSD, OpenBSD, and macOS.
* **Supported Transports**: USB HID.
* **Supported Protocols**: [FIDO U2F over USB](https://fidoalliance.org/specs/fido-u2f-v1.1-id-20160915/fido-u2f-raw-message-formats-v1.1-id-20160915.html). [CTAP2 support](https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html) is forthcoming, with work being done in the **unstable** [`ctap2` branch](https://github.com/mozilla/authenticator-rs/tree/ctap2).

7
third_party/rust/authenticator/src/lib.rs поставляемый
Просмотреть файл

@ -5,7 +5,7 @@
#[macro_use]
mod util;
#[cfg(any(target_os = "linux", target_os = "freebsd"))]
#[cfg(any(target_os = "linux", target_os = "freebsd", target_os = "netbsd"))]
pub mod hidproto;
#[cfg(any(target_os = "linux"))]
@ -22,6 +22,10 @@ extern crate devd_rs;
#[path = "freebsd/mod.rs"]
pub mod platform;
#[cfg(any(target_os = "netbsd"))]
#[path = "netbsd/mod.rs"]
pub mod platform;
#[cfg(any(target_os = "openbsd"))]
#[path = "openbsd/mod.rs"]
pub mod platform;
@ -41,6 +45,7 @@ pub mod platform;
target_os = "linux",
target_os = "freebsd",
target_os = "openbsd",
target_os = "netbsd",
target_os = "macos",
target_os = "windows"
)))]

135
third_party/rust/authenticator/src/netbsd/device.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,135 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
extern crate libc;
use std::io;
use std::io::Read;
use std::io::Write;
use std::mem;
use consts::CID_BROADCAST;
use consts::HID_RPT_SIZE;
use platform::fd::Fd;
use platform::uhid;
use u2ftypes::U2FDevice;
use util::io_err;
#[derive(Debug)]
pub struct Device {
fd: Fd,
cid: [u8; 4],
}
impl Device {
pub fn new(fd: Fd) -> io::Result<Self> {
Ok(Self {
fd,
cid: CID_BROADCAST,
})
}
pub fn is_u2f(&mut self) -> bool {
if !uhid::is_u2f_device(&self.fd) {
return false;
}
// This step is not strictly necessary -- NetBSD puts fido
// devices into raw mode automatically by default, but in
// principle that might change, and this serves as a test to
// verify that we're running on a kernel with support for raw
// mode at all so we don't get confused issuing writes that try
// to set the report descriptor rather than transfer data on
// the output interrupt pipe as we need.
match uhid::hid_set_raw(&self.fd, true) {
Ok(_) => (),
Err(_) => return false,
}
if let Err(_) = self.ping() {
return false;
}
true
}
fn ping(&mut self) -> io::Result<()> {
for i in 0..10 {
let mut buf = vec![0u8; 1 + HID_RPT_SIZE];
buf[0] = 0; // report number
buf[1] = 0xff; // CID_BROADCAST
buf[2] = 0xff;
buf[3] = 0xff;
buf[4] = 0xff;
buf[5] = 0x81; // ping
buf[6] = 0;
buf[7] = 1; // one byte
self.write(&buf[..])?;
// Wait for response
let mut pfd: libc::pollfd = unsafe { mem::zeroed() };
pfd.fd = self.fd.fileno;
pfd.events = libc::POLLIN;
let nfds = unsafe { libc::poll(&mut pfd, 1, 100) };
if nfds == -1 {
return Err(io::Error::last_os_error());
}
if nfds == 0 {
debug!("device timeout {}", i);
continue;
}
// Read response
self.read(&mut buf[..])?;
return Ok(());
}
Err(io_err("no response from device"))
}
}
impl PartialEq for Device {
fn eq(&self, other: &Device) -> bool {
self.fd == other.fd
}
}
impl Read for Device {
fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {
let bufp = buf.as_mut_ptr() as *mut libc::c_void;
let nread = unsafe { libc::read(self.fd.fileno, bufp, buf.len()) };
if nread == -1 {
return Err(io::Error::last_os_error());
}
Ok(nread as usize)
}
}
impl Write for Device {
fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
// Always skip the first byte (report number)
let data = &buf[1..];
let data_ptr = data.as_ptr() as *const libc::c_void;
let nwrit = unsafe { libc::write(self.fd.fileno, data_ptr, data.len()) };
if nwrit == -1 {
return Err(io::Error::last_os_error());
}
// Pretend we wrote the report number byte
Ok(nwrit as usize + 1)
}
fn flush(&mut self) -> io::Result<()> {
Ok(())
}
}
impl U2FDevice for Device {
fn get_cid<'a>(&'a self) -> &'a [u8; 4] {
&self.cid
}
fn set_cid(&mut self, cid: [u8; 4]) {
self.cid = cid;
}
}

47
third_party/rust/authenticator/src/netbsd/fd.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,47 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
extern crate libc;
use std::ffi::CString;
use std::io;
use std::mem;
use std::os::raw::c_int;
use std::os::unix::io::RawFd;
#[derive(Debug)]
pub struct Fd {
pub fileno: RawFd,
}
impl Fd {
pub fn open(path: &str, flags: c_int) -> io::Result<Fd> {
let cpath = CString::new(path.as_bytes())?;
let rv = unsafe { libc::open(cpath.as_ptr(), flags) };
if rv == -1 {
return Err(io::Error::last_os_error());
}
Ok(Fd { fileno: rv })
}
}
impl Drop for Fd {
fn drop(&mut self) {
unsafe { libc::close(self.fileno) };
}
}
impl PartialEq for Fd {
fn eq(&self, other: &Fd) -> bool {
let mut st: libc::stat = unsafe { mem::zeroed() };
let mut sto: libc::stat = unsafe { mem::zeroed() };
if unsafe { libc::fstat(self.fileno, &mut st) } == -1 {
return false;
}
if unsafe { libc::fstat(other.fileno, &mut sto) } == -1 {
return false;
}
(st.st_dev == sto.st_dev) & (st.st_ino == sto.st_ino)
}
}

10
third_party/rust/authenticator/src/netbsd/mod.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,10 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
pub mod device;
pub mod transaction;
mod fd;
mod monitor;
mod uhid;

87
third_party/rust/authenticator/src/netbsd/monitor.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,87 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use std::collections::HashMap;
use std::ffi::OsString;
use std::io;
use std::sync::Arc;
use std::thread;
use std::time::Duration;
use runloop::RunLoop;
use platform::fd::Fd;
// XXX Should use drvctl, but it doesn't do pubsub properly yet so
// DRVGETEVENT requires write access to /dev/drvctl. Instead, for now,
// just poll every 500ms.
const POLL_TIMEOUT: u64 = 500;
pub struct Monitor<F>
where
F: Fn(Fd, &dyn Fn() -> bool) + Send + Sync + 'static,
{
runloops: HashMap<OsString, RunLoop>,
new_device_cb: Arc<F>,
}
impl<F> Monitor<F>
where
F: Fn(Fd, &dyn Fn() -> bool) + Send + Sync + 'static,
{
pub fn new(new_device_cb: F) -> Self {
Self {
runloops: HashMap::new(),
new_device_cb: Arc::new(new_device_cb),
}
}
pub fn run(&mut self, alive: &dyn Fn() -> bool) -> io::Result<()> {
while alive() {
for n in 0..100 {
let uhidpath = format!("/dev/uhid{}", n);
match Fd::open(&uhidpath, libc::O_RDWR | libc::O_CLOEXEC) {
Ok(uhid) => {
self.add_device(uhid, OsString::from(&uhidpath));
}
Err(ref err) => match err.raw_os_error() {
Some(libc::EBUSY) => continue,
Some(libc::ENOENT) => break,
_ => self.remove_device(OsString::from(&uhidpath)),
},
}
}
thread::sleep(Duration::from_millis(POLL_TIMEOUT));
}
self.remove_all_devices();
Ok(())
}
fn add_device(&mut self, fd: Fd, path: OsString) {
let f = self.new_device_cb.clone();
let runloop = RunLoop::new(move |alive| {
if alive() {
f(fd, alive);
}
});
if let Ok(runloop) = runloop {
self.runloops.insert(path.clone(), runloop);
}
}
fn remove_device(&mut self, path: OsString) {
if let Some(runloop) = self.runloops.remove(&path) {
runloop.cancel();
}
}
fn remove_all_devices(&mut self) {
while !self.runloops.is_empty() {
let path = self.runloops.keys().next().unwrap().clone();
self.remove_device(path);
}
}
}

50
third_party/rust/authenticator/src/netbsd/transaction.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,50 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use runloop::RunLoop;
use util::OnceCallback;
use platform::fd::Fd;
use platform::monitor::Monitor;
pub struct Transaction {
// Handle to the thread loop.
thread: Option<RunLoop>,
}
impl Transaction {
pub fn new<F, T>(
timeout: u64,
callback: OnceCallback<T>,
new_device_cb: F,
) -> Result<Self, ::Error>
where
F: Fn(Fd, &dyn Fn() -> bool) + Sync + Send + 'static,
T: 'static,
{
let thread = RunLoop::new_with_timeout(
move |alive| {
// Create a new device monitor.
let mut monitor = Monitor::new(new_device_cb);
// Start polling for new devices.
try_or!(monitor.run(alive), |_| callback.call(Err(::Error::Unknown)));
// Send an error, if the callback wasn't called already.
callback.call(Err(::Error::NotAllowed));
},
timeout,
)
.map_err(|_| ::Error::Unknown)?;
Ok(Self {
thread: Some(thread),
})
}
pub fn cancel(&mut self) {
// This must never be None.
self.thread.take().unwrap().cancel();
}
}

77
third_party/rust/authenticator/src/netbsd/uhid.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,77 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
extern crate libc;
use std::io;
use std::mem;
use std::os::raw::c_int;
use std::os::raw::c_uchar;
use hidproto::has_fido_usage;
use hidproto::ReportDescriptor;
use platform::fd::Fd;
use util::io_err;
/* sys/ioccom.h */
const IOCPARM_MASK: u32 = 0x1fff;
const IOCPARM_SHIFT: u32 = 16;
const IOCGROUP_SHIFT: u32 = 8;
//const IOC_VOID: u32 = 0x20000000;
const IOC_OUT: u32 = 0x40000000;
const IOC_IN: u32 = 0x80000000;
//const IOC_INOUT: u32 = IOC_IN|IOC_OUT;
macro_rules! ioctl {
($dir:expr, $name:ident, $group:expr, $nr:expr, $ty:ty) => {
unsafe fn $name(fd: libc::c_int, val: *mut $ty) -> io::Result<libc::c_int> {
let ioc = ($dir as u32)
| ((mem::size_of::<$ty>() as u32 & IOCPARM_MASK) << IOCPARM_SHIFT)
| (($group as u32) << IOCGROUP_SHIFT)
| ($nr as u32);
let rv = libc::ioctl(fd, ioc as libc::c_ulong, val);
if rv == -1 {
return Err(io::Error::last_os_error());
}
Ok(rv)
}
};
}
#[allow(non_camel_case_types)]
#[repr(C)]
struct usb_ctl_report_desc {
ucrd_size: c_int,
ucrd_data: [c_uchar; 1024],
}
ioctl!(IOC_OUT, usb_get_report_desc, b'U', 21, usb_ctl_report_desc);
fn read_report_descriptor(fd: &Fd) -> io::Result<ReportDescriptor> {
let mut desc = unsafe { mem::zeroed() };
unsafe { usb_get_report_desc(fd.fileno, &mut desc) }?;
if desc.ucrd_size < 0 {
return Err(io_err("negative report descriptor size"));
}
let size = desc.ucrd_size as usize;
let value = Vec::from(&desc.ucrd_data[..size]);
Ok(ReportDescriptor { value })
}
pub fn is_u2f_device(fd: &Fd) -> bool {
match read_report_descriptor(fd) {
Ok(desc) => has_fido_usage(desc),
Err(_) => false,
}
}
ioctl!(IOC_IN, usb_hid_set_raw_ioctl, b'h', 2, c_int);
pub fn hid_set_raw(fd: &Fd, raw: bool) -> io::Result<()> {
let mut raw_int: c_int = if raw { 1 } else { 0 };
unsafe { usb_hid_set_raw_ioctl(fd.fileno, &mut raw_int) }?;
Ok(())
}

1
third_party/rust/cocoa-foundation/.cargo-checksum.json поставляемый Normal file
Просмотреть файл

@ -0,0 +1 @@
{"files":{"Cargo.toml":"73849af199374870f30fd6bc8b55b85f05ae3d3cb41a98bb660cc605cc80c5e2","src/base.rs":"6c56d1758a9b0a7f8927771fe8b0bb43c6f19e4531bf9accecc786028eaad845","src/foundation.rs":"056daed1c9eb17772544397960bd196d1c8de1c0d13705372b57bd71843fcc74","src/lib.rs":"7f2e7bce9f1727acdd88b7cff604130cab04bf4b58a58f1d8c684a543412a330","tests/foundation.rs":"ef38d1aabe9534d95e0c5a6440f4f0465eeacd151b1ae5108df57810fb0f3ff8"},"package":"7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318"}

Просмотреть файл

@ -11,17 +11,15 @@
# will likely look very different (and much more reasonable)
[package]
name = "cocoa"
version = "0.20.0"
name = "cocoa-foundation"
version = "0.1.0"
authors = ["The Servo Project Developers"]
description = "Bindings to Cocoa for macOS"
description = "Bindings to Cocoa Foundation for macOS"
homepage = "https://github.com/servo/core-foundation-rs"
license = "MIT / Apache-2.0"
repository = "https://github.com/servo/core-foundation-rs"
[lib]
name = "cocoa"
crate-type = ["rlib"]
[package.metadata.docs.rs]
default-target = "x86_64-apple-darwin"
[dependencies.bitflags]
version = "1.0"
@ -29,10 +27,10 @@ version = "1.0"
version = "0.1"
[dependencies.core-foundation]
version = "0.7"
version = "0.9"
[dependencies.core-graphics]
version = "0.19"
[dependencies.core-graphics-types]
version = "0.1"
[dependencies.foreign-types]
version = "0.3"

Просмотреть файл

Просмотреть файл

@ -35,8 +35,8 @@ const UTF8_ENCODING: usize = 4;
mod macos {
use std::mem;
use base::id;
use core_graphics::base::CGFloat;
use core_graphics::geometry::CGRect;
use core_graphics_types::base::CGFloat;
use core_graphics_types::geometry::CGRect;
use objc;
#[repr(C)]
@ -203,18 +203,49 @@ impl NSAutoreleasePool for id {
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct NSOperatingSystemVersion {
pub majorVersion: NSUInteger,
pub minorVersion: NSUInteger,
pub patchVersion: NSUInteger,
}
impl NSOperatingSystemVersion {
#[inline]
pub fn new(majorVersion: NSUInteger, minorVersion: NSUInteger, patchVersion: NSUInteger) -> NSOperatingSystemVersion {
NSOperatingSystemVersion {
majorVersion: majorVersion,
minorVersion: minorVersion,
patchVersion: patchVersion
}
}
}
pub trait NSProcessInfo: Sized {
unsafe fn processInfo(_: Self) -> id {
msg_send![class!(NSProcessInfo), processInfo]
}
unsafe fn processName(self) -> id;
unsafe fn operatingSystemVersion(self) -> NSOperatingSystemVersion;
unsafe fn isOperatingSystemAtLeastVersion(self, version: NSOperatingSystemVersion) -> bool;
}
impl NSProcessInfo for id {
unsafe fn processName(self) -> id {
msg_send![self, processName]
}
unsafe fn operatingSystemVersion(self) -> NSOperatingSystemVersion {
msg_send![self, operatingSystemVersion]
}
unsafe fn isOperatingSystemAtLeastVersion(self, version: NSOperatingSystemVersion) -> bool {
msg_send![self, isOperatingSystemAtLeastVersion: version]
}
}
pub type NSTimeInterval = libc::c_double;
@ -1316,3 +1347,30 @@ bitflags! {
const NSDataSearchAnchored = 1 << 1;
}
}
pub trait NSUserDefaults {
unsafe fn standardUserDefaults() -> Self;
unsafe fn setBool_forKey_(self, value: BOOL, key: id);
unsafe fn bool_forKey_(self, key: id) -> BOOL;
unsafe fn removeObject_forKey_(self, key: id);
}
impl NSUserDefaults for id {
unsafe fn standardUserDefaults() -> id {
msg_send![class!(NSUserDefaults), standardUserDefaults]
}
unsafe fn setBool_forKey_(self, value: BOOL, key: id) {
msg_send![self, setBool:value forKey:key]
}
unsafe fn bool_forKey_(self, key: id) -> BOOL {
msg_send![self, boolForKey: key]
}
unsafe fn removeObject_forKey_(self, key: id) {
msg_send![self, removeObjectForKey:key]
}
}

Просмотреть файл

@ -7,26 +7,17 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![crate_name = "cocoa"]
#![crate_type = "rlib"]
#![allow(non_snake_case)]
extern crate block;
#[macro_use]
extern crate bitflags;
extern crate core_foundation;
extern crate core_graphics;
extern crate core_graphics_types;
extern crate foreign_types;
extern crate libc;
#[macro_use]
extern crate objc;
#[cfg(target_os = "macos")]
pub mod appkit;
pub mod base;
pub mod foundation;
#[cfg(target_os = "macos")]
pub mod quartzcore;
#[macro_use]
mod macros;

Просмотреть файл

@ -1,13 +1,13 @@
#[macro_use]
extern crate objc;
extern crate block;
extern crate cocoa;
extern crate cocoa_foundation;
#[cfg(test)]
mod foundation {
mod nsstring {
use cocoa::foundation::NSString;
use cocoa::base::nil;
use cocoa_foundation::foundation::NSString;
use cocoa_foundation::base::nil;
use std::slice;
use std::str;
@ -66,8 +66,8 @@ mod foundation {
mod nsfastenumeration {
use std::str;
use std::slice;
use cocoa::foundation::{NSString, NSFastEnumeration};
use cocoa::base::{id, nil};
use cocoa_foundation::foundation::{NSString, NSFastEnumeration};
use cocoa_foundation::base::{id, nil};
#[test]
fn test_iter() {
@ -108,9 +108,9 @@ mod foundation {
mod nsdictionary {
use block::ConcreteBlock;
use cocoa::foundation::{NSArray, NSComparisonResult, NSDictionary, NSFastEnumeration,
use cocoa_foundation::foundation::{NSArray, NSComparisonResult, NSDictionary, NSFastEnumeration,
NSString};
use cocoa::base::{id, nil};
use cocoa_foundation::base::{id, nil};
#[test]
fn test_get() {

1
third_party/rust/cocoa/.cargo-checksum.json поставляемый
Просмотреть файл

@ -1 +0,0 @@
{"files":{"COPYRIGHT":"ec82b96487e9e778ee610c7ab245162464782cfa1f555c2299333f8dbe5c036a","Cargo.lock":"0effdfa775e787f93cfabf50aa7039d7a4999e0dd92d57d3d5745a5f5926a962","Cargo.toml":"280ff6f510cff8a892ddbba326304fd8b16ac2eb1ad111948405abe3a6a90d51","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","README.md":"29542cb34adb016506822ef78bceacf1774dbe8c27818a4d47b7d7b71ed4e1ac","examples/color.rs":"5211a85ab9ec4cbb98f8f677de50bb2f1d300400f50226ebfd714d40b9d32485","examples/fullscreen.rs":"f8719268b6eb1d19078af347e02f9993c9d29633ef2d38dcc4fac26cbd731c2d","examples/hello_world.rs":"7efe2a29de4d4dfc1d8821f469e13b1456f72de478bab55f813d08d4e5aafd5c","examples/tab_view.rs":"e6a3187eeac2f46210994293c2db7756757f4cad07e519902fa994c6d5c1a7d6","src/appkit.rs":"a21c6d612d0ec45dbbb5df45fe96d84b76c5a9982d09bdf74714ce63723da558","src/base.rs":"6c56d1758a9b0a7f8927771fe8b0bb43c6f19e4531bf9accecc786028eaad845","src/foundation.rs":"f0a8c0d2e3aee6bde64f480085025dfa92f903a39d6c15251ba392523aa153a3","src/lib.rs":"ed6164b3e0fe68579218185267d79229a2989c86efce690d7273f779c5239ec3","src/macros.rs":"0de0a8ea9a23f03cad94266a92051c3be8ff3f8f7d7d60f95dafe6c663204d48","src/quartzcore.rs":"cb4f96b4b095e9d623346a42b1e119a5299bf2af73ed81256dd548c688d525e2","tests/foundation.rs":"728eb7dcc9edbfb43dcb6aa1ebcc391658a7d47846d94a71905bcedfce833260"},"package":"0a4736c86d51bd878b474400d9ec888156f4037015f5d09794fab9f26eab1ad4"}

5
third_party/rust/cocoa/COPYRIGHT поставляемый
Просмотреть файл

@ -1,5 +0,0 @@
Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
<LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
option. All files in the project carrying such notice may not be
copied, modified, or distributed except according to those terms.

95
third_party/rust/cocoa/Cargo.lock сгенерированный поставляемый
Просмотреть файл

@ -1,95 +0,0 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
[[package]]
name = "bitflags"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "block"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "cocoa"
version = "0.20.0"
dependencies = [
"bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-graphics 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
"foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"objc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "core-foundation"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "core-foundation-sys"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "core-graphics"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "foreign-types"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "foreign-types-shared"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "libc"
version = "0.2.65"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "malloc_buf"
version = "0.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "objc"
version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"malloc_buf 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[metadata]
"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
"checksum block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
"checksum core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
"checksum core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
"checksum core-graphics 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)" = "59e78b2e0aaf43f08e7ae0d6bc96895ef72ff0921c7d4ff4762201b2dba376dd"
"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
"checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8"
"checksum malloc_buf 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
"checksum objc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"

201
third_party/rust/cocoa/LICENSE-APACHE поставляемый
Просмотреть файл

@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

25
third_party/rust/cocoa/LICENSE-MIT поставляемый
Просмотреть файл

@ -1,25 +0,0 @@
Copyright (c) 2012-2013 Mozilla Foundation
Permission is hereby granted, free of charge, to any
person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the
Software without restriction, including without
limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice
shall be included in all copies or substantial portions
of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

6
third_party/rust/cocoa/README.md поставляемый
Просмотреть файл

@ -1,6 +0,0 @@
Cocoa-rs
--------
This crate provides Rust bindings to Cocoa for macOS. It's dual-licensed MIT /
Apache 2.0. If you'd like to help improve cocoa-rs, check out [the Servo
contributing guide](https://github.com/servo/servo/blob/master/CONTRIBUTING.md)!

120
third_party/rust/cocoa/examples/color.rs поставляемый
Просмотреть файл

@ -1,120 +0,0 @@
extern crate cocoa;
use cocoa::base::{selector, id, nil, NO};
use cocoa::foundation::{NSRect, NSPoint, NSSize, NSAutoreleasePool, NSProcessInfo,
NSString};
use cocoa::appkit::{NSApp, NSColor, NSColorSpace, NSApplication, NSApplicationActivationPolicyRegular,
NSMenu, NSMenuItem, NSWindowStyleMask, NSBackingStoreType, NSWindow,
NSRunningApplication, NSApplicationActivateIgnoringOtherApps};
fn main() {
unsafe {
// Create the app.
let app = create_app();
// Create some colors
let clear = NSColor::clearColor(nil);
let black = NSColor::colorWithRed_green_blue_alpha_(nil, 0.0, 0.0, 0.0, 1.0);
let srgb_red = NSColor::colorWithSRGBRed_green_blue_alpha_(nil, 1.0, 0.0, 0.0, 1.0);
let device_green = NSColor::colorWithDeviceRed_green_blue_alpha_(nil, 0.0, 1.0, 0.0, 1.0);
let display_p3_blue = NSColor::colorWithDisplayP3Red_green_blue_alpha_(nil, 0.0, 0.0, 1.0, 1.0);
let calibrated_cyan = NSColor::colorWithCalibratedRed_green_blue_alpha_(nil, 0.0, 1.0, 1.0, 1.0);
// Create windows with different color types.
let _win_clear = create_window(NSString::alloc(nil).init_str("clear"), clear);
let _win_black = create_window(NSString::alloc(nil).init_str("black"), black);
let _win_srgb_red = create_window(NSString::alloc(nil).init_str("srgb_red"), srgb_red);
let _win_device_green = create_window(NSString::alloc(nil).init_str("device_green"), device_green);
let _win_display_p3_blue = create_window(NSString::alloc(nil).init_str("display_p3_blue"), display_p3_blue);
let _win_calibrated_cyan = create_window(NSString::alloc(nil).init_str("calibrated_cyan"), calibrated_cyan);
// Extract component values from a color.
// NOTE: some components will raise an exception if the color is not
// in the correct NSColorSpace. Refer to Apple's documentation for details.
// https://developer.apple.com/documentation/appkit/nscolor?language=objc
let my_color = NSColor::colorWithRed_green_blue_alpha_(nil, 0.25, 0.75, 0.5, 0.25);
println!("alphaComponent: {:?}", my_color.alphaComponent());
println!("redComponent: {:?}", my_color.redComponent());
println!("greenComponent: {:?}", my_color.greenComponent());
println!("blueComponent: {:?}", my_color.blueComponent());
println!("hueComponent: {:?}", my_color.hueComponent());
println!("saturationComponent: {:?}", my_color.saturationComponent());
println!("brightnessComponent: {:?}", my_color.brightnessComponent());
// Changing color spaces.
let my_color_cmyk_cs = my_color.colorUsingColorSpace_(NSColorSpace::deviceCMYKColorSpace(nil));
println!("blackComponent: {:?}", my_color_cmyk_cs.blackComponent());
println!("cyanComponent: {:?}", my_color_cmyk_cs.cyanComponent());
println!("magentaComponent: {:?}", my_color_cmyk_cs.magentaComponent());
println!("yellowComponent: {:?}", my_color_cmyk_cs.yellowComponent());
// Getting NSColorSpace name.
let cs = NSColorSpace::genericGamma22GrayColorSpace(nil);
let cs_name = cs.localizedName();
let cs_name_bytes = cs_name.UTF8String() as *const u8;
let cs_name_string = std::str::from_utf8(std::slice::from_raw_parts(cs_name_bytes, cs_name.len())).unwrap();
println!("NSColorSpace: {:?}", cs_name_string);
// Creating an NSColorSpace from CGColorSpaceRef.
let cg_cs = cs.CGColorSpace();
let cs = NSColorSpace::alloc(nil).initWithCGColorSpace_(cg_cs);
let cs_name = cs.localizedName();
let cs_name_bytes = cs_name.UTF8String() as *const u8;
let cs_name_string = std::str::from_utf8(std::slice::from_raw_parts(cs_name_bytes, cs_name.len())).unwrap();
println!("initWithCGColorSpace_: {:?}", cs_name_string);
app.run();
}
}
unsafe fn create_window(title: id, color: id) -> id {
let window = NSWindow::alloc(nil).initWithContentRect_styleMask_backing_defer_(
NSRect::new(NSPoint::new(0., 0.), NSSize::new(200., 200.)),
NSWindowStyleMask::NSTitledWindowMask |
NSWindowStyleMask::NSClosableWindowMask |
NSWindowStyleMask::NSResizableWindowMask |
NSWindowStyleMask::NSMiniaturizableWindowMask |
NSWindowStyleMask::NSUnifiedTitleAndToolbarWindowMask,
NSBackingStoreType::NSBackingStoreBuffered,
NO
).autorelease();
window.cascadeTopLeftFromPoint_(NSPoint::new(20., 20.));
window.setTitle_(title);
window.setBackgroundColor_(color);
window.makeKeyAndOrderFront_(nil);
window
}
unsafe fn create_app() -> id {
let _pool = NSAutoreleasePool::new(nil);
let app = NSApp();
app.setActivationPolicy_(NSApplicationActivationPolicyRegular);
// create Menu Bar
let menubar = NSMenu::new(nil).autorelease();
let app_menu_item = NSMenuItem::new(nil).autorelease();
menubar.addItem_(app_menu_item);
app.setMainMenu_(menubar);
// create Application menu
let app_menu = NSMenu::new(nil).autorelease();
let quit_prefix = NSString::alloc(nil).init_str("Quit ");
let quit_title =
quit_prefix.stringByAppendingString_(NSProcessInfo::processInfo(nil).processName());
let quit_action = selector("terminate:");
let quit_key = NSString::alloc(nil).init_str("q");
let quit_item = NSMenuItem::alloc(nil)
.initWithTitle_action_keyEquivalent_(quit_title, quit_action, quit_key)
.autorelease();
app_menu.addItem_(quit_item);
app_menu_item.setSubmenu_(app_menu);
let current_app = NSRunningApplication::currentApplication(nil);
current_app.activateWithOptions_(NSApplicationActivateIgnoringOtherApps);
return app;
}

97
third_party/rust/cocoa/examples/fullscreen.rs поставляемый
Просмотреть файл

@ -1,97 +0,0 @@
extern crate cocoa;
extern crate core_graphics;
#[macro_use]
extern crate objc;
use cocoa::base::{selector, nil, NO, id};
use cocoa::foundation::{NSRect, NSPoint, NSSize, NSAutoreleasePool, NSProcessInfo,
NSString, NSUInteger};
use cocoa::appkit::{NSApp, NSApplication, NSApplicationActivationPolicyRegular, NSWindow,
NSBackingStoreBuffered, NSMenu, NSMenuItem, NSWindowStyleMask,
NSRunningApplication, NSApplicationActivateIgnoringOtherApps,
NSWindowCollectionBehavior, NSApplicationPresentationOptions};
use core_graphics::display::CGDisplay;
use objc::runtime::{Object, Sel};
use objc::declare::ClassDecl;
fn main() {
unsafe {
let _pool = NSAutoreleasePool::new(nil);
let app = NSApp();
app.setActivationPolicy_(NSApplicationActivationPolicyRegular);
// create Menu Bar
let menubar = NSMenu::new(nil).autorelease();
let app_menu_item = NSMenuItem::new(nil).autorelease();
menubar.addItem_(app_menu_item);
app.setMainMenu_(menubar);
// create Application menu
let app_menu = NSMenu::new(nil).autorelease();
let quit_prefix = NSString::alloc(nil).init_str("Quit ");
let quit_title =
quit_prefix.stringByAppendingString_(NSProcessInfo::processInfo(nil).processName());
let quit_action = selector("terminate:");
let quit_key = NSString::alloc(nil).init_str("q");
let quit_item = NSMenuItem::alloc(nil)
.initWithTitle_action_keyEquivalent_(quit_title, quit_action, quit_key)
.autorelease();
app_menu.addItem_(quit_item);
app_menu_item.setSubmenu_(app_menu);
// Create NSWindowDelegate
let superclass = class!(NSObject);
let mut decl = ClassDecl::new("MyWindowDelegate", superclass).unwrap();
extern fn will_use_fillscreen_presentation_options(_: &Object, _: Sel, _: id, _: NSUInteger) -> NSUInteger {
// Set initial presentation options for fullscreen
let options = NSApplicationPresentationOptions::NSApplicationPresentationFullScreen
| NSApplicationPresentationOptions::NSApplicationPresentationHideDock
| NSApplicationPresentationOptions::NSApplicationPresentationHideMenuBar
| NSApplicationPresentationOptions::NSApplicationPresentationDisableProcessSwitching;
options.bits()
}
extern fn window_entering_fullscreen(_: &Object, _: Sel, _: id) {
// Reset HideDock and HideMenuBar settings during/after we entered fullscreen.
let options = NSApplicationPresentationOptions::NSApplicationPresentationHideDock | NSApplicationPresentationOptions::NSApplicationPresentationHideMenuBar;
unsafe {
NSApp().setPresentationOptions_(options);
}
}
decl.add_method(sel!(window:willUseFullScreenPresentationOptions:),
will_use_fillscreen_presentation_options as extern fn(&Object, Sel, id, NSUInteger) -> NSUInteger);
decl.add_method(sel!(windowWillEnterFullScreen:),
window_entering_fullscreen as extern fn(&Object, Sel, id));
decl.add_method(sel!(windowDidEnterFullScreen:),
window_entering_fullscreen as extern fn(&Object, Sel, id));
let delegate_class = decl.register();
let delegate_object = msg_send![delegate_class, new];
// create Window
let display = CGDisplay::main();
let size = NSSize::new(display.pixels_wide() as _, display.pixels_high() as _);
let window = NSWindow::alloc(nil)
.initWithContentRect_styleMask_backing_defer_(NSRect::new(NSPoint::new(0., 0.), size),
NSWindowStyleMask::NSTitledWindowMask,
NSBackingStoreBuffered,
NO)
.autorelease();
window.setDelegate_(delegate_object);
let title = NSString::alloc(nil).init_str("Fullscreen!");
window.setTitle_(title);
window.makeKeyAndOrderFront_(nil);
let current_app = NSRunningApplication::currentApplication(nil);
current_app.activateWithOptions_(NSApplicationActivateIgnoringOtherApps);
window.setCollectionBehavior_(NSWindowCollectionBehavior::NSWindowCollectionBehaviorFullScreenPrimary);
window.toggleFullScreen_(nil);
app.run();
}
}

Просмотреть файл

@ -1,53 +0,0 @@
extern crate cocoa;
use cocoa::base::{selector, nil, NO};
use cocoa::foundation::{NSRect, NSPoint, NSSize, NSAutoreleasePool, NSProcessInfo,
NSString};
use cocoa::appkit::{NSApp, NSApplication, NSApplicationActivationPolicyRegular, NSWindow,
NSBackingStoreBuffered, NSMenu, NSMenuItem, NSWindowStyleMask,
NSRunningApplication, NSApplicationActivateIgnoringOtherApps};
fn main() {
unsafe {
let _pool = NSAutoreleasePool::new(nil);
let app = NSApp();
app.setActivationPolicy_(NSApplicationActivationPolicyRegular);
// create Menu Bar
let menubar = NSMenu::new(nil).autorelease();
let app_menu_item = NSMenuItem::new(nil).autorelease();
menubar.addItem_(app_menu_item);
app.setMainMenu_(menubar);
// create Application menu
let app_menu = NSMenu::new(nil).autorelease();
let quit_prefix = NSString::alloc(nil).init_str("Quit ");
let quit_title =
quit_prefix.stringByAppendingString_(NSProcessInfo::processInfo(nil).processName());
let quit_action = selector("terminate:");
let quit_key = NSString::alloc(nil).init_str("q");
let quit_item = NSMenuItem::alloc(nil)
.initWithTitle_action_keyEquivalent_(quit_title, quit_action, quit_key)
.autorelease();
app_menu.addItem_(quit_item);
app_menu_item.setSubmenu_(app_menu);
// create Window
let window = NSWindow::alloc(nil)
.initWithContentRect_styleMask_backing_defer_(NSRect::new(NSPoint::new(0., 0.),
NSSize::new(200., 200.)),
NSWindowStyleMask::NSTitledWindowMask,
NSBackingStoreBuffered,
NO)
.autorelease();
window.cascadeTopLeftFromPoint_(NSPoint::new(20., 20.));
window.center();
let title = NSString::alloc(nil).init_str("Hello World!");
window.setTitle_(title);
window.makeKeyAndOrderFront_(nil);
let current_app = NSRunningApplication::currentApplication(nil);
current_app.activateWithOptions_(NSApplicationActivateIgnoringOtherApps);
app.run();
}
}

87
third_party/rust/cocoa/examples/tab_view.rs поставляемый
Просмотреть файл

@ -1,87 +0,0 @@
extern crate cocoa;
use cocoa::base::{selector, id, nil, NO};
use cocoa::foundation::{NSRect, NSPoint, NSSize, NSAutoreleasePool, NSProcessInfo,
NSString};
use cocoa::appkit::{NSApp, NSApplication, NSApplicationActivationPolicyRegular, NSWindow,
NSMenu, NSMenuItem, NSTabView, NSWindowStyleMask, NSBackingStoreType,
NSTabViewItem, NSRunningApplication, NSApplicationActivateIgnoringOtherApps};
fn main() {
unsafe {
// create a tab View
let tab_view = NSTabView::new(nil)
.initWithFrame_(NSRect::new(NSPoint::new(0., 0.), NSSize::new(200., 200.)));
// create a tab view item
let tab_view_item = NSTabViewItem::new(nil)
.initWithIdentifier_(NSString::alloc(nil).init_str("TabView1"));
tab_view_item.setLabel_(NSString::alloc(nil).init_str("Tab view item 1"));
tab_view.addTabViewItem_(tab_view_item);
// create a second tab view item
let tab_view_item2 = NSTabViewItem::new(nil)
.initWithIdentifier_(NSString::alloc(nil).init_str("TabView2"));
tab_view_item2.setLabel_(NSString::alloc(nil).init_str("Tab view item 2"));
tab_view.addTabViewItem_(tab_view_item2);
// Create the app and set the content.
let app = create_app(NSString::alloc(nil).init_str("Tab View"), tab_view);
app.run();
}
}
unsafe fn create_app(title: id, content: id) -> id {
let _pool = NSAutoreleasePool::new(nil);
let app = NSApp();
app.setActivationPolicy_(NSApplicationActivationPolicyRegular);
// create Menu Bar
let menubar = NSMenu::new(nil).autorelease();
let app_menu_item = NSMenuItem::new(nil).autorelease();
menubar.addItem_(app_menu_item);
app.setMainMenu_(menubar);
// create Application menu
let app_menu = NSMenu::new(nil).autorelease();
let quit_prefix = NSString::alloc(nil).init_str("Quit ");
let quit_title =
quit_prefix.stringByAppendingString_(NSProcessInfo::processInfo(nil).processName());
let quit_action = selector("terminate:");
let quit_key = NSString::alloc(nil).init_str("q");
let quit_item = NSMenuItem::alloc(nil)
.initWithTitle_action_keyEquivalent_(quit_title, quit_action, quit_key)
.autorelease();
app_menu.addItem_(quit_item);
app_menu_item.setSubmenu_(app_menu);
// create Window
let window = NSWindow::alloc(nil).initWithContentRect_styleMask_backing_defer_(
NSRect::new(NSPoint::new(0., 0.), NSSize::new(200., 200.)),
NSWindowStyleMask::NSTitledWindowMask |
NSWindowStyleMask::NSClosableWindowMask |
NSWindowStyleMask::NSResizableWindowMask |
NSWindowStyleMask::NSMiniaturizableWindowMask |
NSWindowStyleMask::NSUnifiedTitleAndToolbarWindowMask,
NSBackingStoreType::NSBackingStoreBuffered,
NO
).autorelease();
window.cascadeTopLeftFromPoint_(NSPoint::new(20., 20.));
window.center();
window.setTitle_(title);
window.makeKeyAndOrderFront_(nil);
window.setContentView_(content);
let current_app = NSRunningApplication::currentApplication(nil);
current_app.activateWithOptions_(NSApplicationActivateIgnoringOtherApps);
return app;
}

4186
third_party/rust/cocoa/src/appkit.rs поставляемый

Разница между файлами не показана из-за своего большого размера Загрузить разницу

79
third_party/rust/cocoa/src/macros.rs поставляемый
Просмотреть файл

@ -1,79 +0,0 @@
// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
/// Creates a Cocoa delegate to use e.g. with `NSWindow.setDelegate_`.
/// Adds instance variables and methods to the definition.
///
/// # Example with NSWindowDelegate
/// ``` no_run
/// #[macro_use] extern crate cocoa;
/// #[macro_use] extern crate objc;
///
/// use cocoa::appkit::NSWindow;
/// use cocoa::base::{id, nil};
///
/// use objc::runtime::{Object, Sel};
///
/// # fn main() {
/// unsafe {
/// let my_window: id = NSWindow::alloc(nil);
///
/// extern fn on_enter_fullscreen(this: &Object, _cmd: Sel, _notification: id) {
/// unsafe {
/// let window: id = *this.get_ivar("window");
/// window.setToolbar_(nil);
/// }
/// }
///
/// my_window.setDelegate_(delegate!("MyWindowDelegate", {
/// window: id = my_window, // Declare instance variable(s)
/// (onWindowWillEnterFullscreen:) => on_enter_fullscreen as extern fn(&Object, Sel, id) // Declare function(s)
/// }));
/// }
/// # }
/// ```
#[macro_export]
macro_rules! delegate {
(
$name:expr, {
$( ($($sel:ident :)+) => $func:expr),*
}
) => (
delegate!($name, {
,
$( ($($sel :)+) => $func),*
})
);
(
$name:expr, {
$($var:ident : $var_type:ty = $value:expr),* ,
$( ($($sel:ident :)+) => $func:expr),*
}
) => ({
let mut decl = objc::declare::ClassDecl::new($name, class!(NSObject)).unwrap();
$(
decl.add_ivar::<$var_type>(stringify!($var));
)*
$(
decl.add_method(sel!($($sel :)+), $func);
)*
let cl = decl.register();
let delegate: id = msg_send![cl, alloc];
$(
(*delegate).set_ivar(stringify!($var), $value);
)*
delegate
});
}

1859
third_party/rust/cocoa/src/quartzcore.rs поставляемый

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1 +1 @@
{"files":{"Cargo.toml":"2f56db7bbb02e7e0e2329179c2bb533fbe36a6196b7f0a539b710291cced25ae","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","build.rs":"9433ed3b20cc99e716dda4c6d8507c29bc04882544cbbea8d4e48ba80fd0fa12","src/array.rs":"40c305658e16b07d86353a5ad34e7b5fb98720f19cc2b5173360d6a61ce2642f","src/attributed_string.rs":"693b6c745c5aef1929595c94363d500b4b25ebcfed0b4b8dee0103b8fc0537f8","src/base.rs":"369fb6710bb342f488c1207db2339f16d51bea7b7cb437c88dfb9b3ecb55f788","src/bundle.rs":"701b99db500b1260b3327182e965483d7cc1b220e0c2b3b7b97a3bf1a17b9dcb","src/characterset.rs":"a10bbb42ddc74b3dc50b43ae6a50cc9d9a1cd08b975a1ce1b092be4bf64448a6","src/data.rs":"7cf4ddbc62635434fd3552739ffae9dde5f5d34f0ad0bb818068d3ac26403784","src/date.rs":"c064ee4c3ebd1927532c34871e2e41179d6e3c3e400f6b409a18ad9e2337477f","src/dictionary.rs":"3327a6f90f1e0db5e3fde1973e2df4143ca896716a816d03f2b17c8e988c5159","src/error.rs":"6205ebeb7631daa8bcd560862b6daa10f640c8c117ce5f6f7184f268dcbcb42a","src/filedescriptor.rs":"49580654b657811fade7adaa256f5f895cb011c9baa4731e2f44a6ec7fdba235","src/lib.rs":"f815234d32327532da600f47e9a006550d8993dcd695b803d0660316899f9319","src/messageport.rs":"e9227d5907cba8e29cdeea41bcb3ae5c7840220442953ab19aace31a84542f47","src/number.rs":"b1154203e74cb2258ba5520e20bcd4d524f1a957e09a19dd026b18d23baa3868","src/propertylist.rs":"7ec928438826c4ce40befedf3de0a37c8ecbc0fc17896dfa629d5864000b2cfe","src/runloop.rs":"26ca33e2472d191f583e01c24e8cd262f54de8b542fbe7278f33ab08b2925794","src/set.rs":"8aef5f4ba75a067e271ad6cb960569f1d22a0acee0eb6c79e31bb8b636619d9d","src/string.rs":"ef2c408bf1fcea5d9106329fc48d659aabbdbca05eb121dfa27a221829bc4b89","src/timezone.rs":"42741f556af081be32987d2705488959c60aeb794e7c737b092f0dce5851ca89","src/url.rs":"4358f756ed3d5e9afd5a7f3e2e9115adc6133b47dc7ce59d6ebb32c6610b0e8f","src/uuid.rs":"82f75efa73d0842dff2e13d299c166c6593a77fcb69c4b7629a2df1c17ae507d"},"package":"b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"}
{"files":{"Cargo.toml":"5ba3b2c798c5356efabdfda97134a18c2a46cf5ead197701db879beb56360ee0","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","build.rs":"9433ed3b20cc99e716dda4c6d8507c29bc04882544cbbea8d4e48ba80fd0fa12","src/array.rs":"40c305658e16b07d86353a5ad34e7b5fb98720f19cc2b5173360d6a61ce2642f","src/attributed_string.rs":"48c2d161d6f54136ae895a9f52efad1f831718ea331b875d25498039158a2d51","src/base.rs":"d926b5cdf46eb93f2d15a7c8940dc9b6dc4691c5efd350b6dce35836d452248e","src/bundle.rs":"be1ce281cb415b3a46a0f961e5a30ded5d295a09c0a4c7f27efa6721e2516c69","src/characterset.rs":"a10bbb42ddc74b3dc50b43ae6a50cc9d9a1cd08b975a1ce1b092be4bf64448a6","src/data.rs":"7cf4ddbc62635434fd3552739ffae9dde5f5d34f0ad0bb818068d3ac26403784","src/date.rs":"c064ee4c3ebd1927532c34871e2e41179d6e3c3e400f6b409a18ad9e2337477f","src/dictionary.rs":"3327a6f90f1e0db5e3fde1973e2df4143ca896716a816d03f2b17c8e988c5159","src/error.rs":"6205ebeb7631daa8bcd560862b6daa10f640c8c117ce5f6f7184f268dcbcb42a","src/filedescriptor.rs":"49580654b657811fade7adaa256f5f895cb011c9baa4731e2f44a6ec7fdba235","src/lib.rs":"f815234d32327532da600f47e9a006550d8993dcd695b803d0660316899f9319","src/messageport.rs":"e9227d5907cba8e29cdeea41bcb3ae5c7840220442953ab19aace31a84542f47","src/number.rs":"b1154203e74cb2258ba5520e20bcd4d524f1a957e09a19dd026b18d23baa3868","src/propertylist.rs":"7ec928438826c4ce40befedf3de0a37c8ecbc0fc17896dfa629d5864000b2cfe","src/runloop.rs":"26ca33e2472d191f583e01c24e8cd262f54de8b542fbe7278f33ab08b2925794","src/set.rs":"116c2f18008bfbeecac570d366dbd95b8fe5b9373e3e1bdd2c1d588314d776c5","src/string.rs":"ef2c408bf1fcea5d9106329fc48d659aabbdbca05eb121dfa27a221829bc4b89","src/timezone.rs":"c7dd9557646b7ff2bfd6a98bf92142b8304125b4e78dd651b687abc8da191159","src/url.rs":"4358f756ed3d5e9afd5a7f3e2e9115adc6133b47dc7ce59d6ebb32c6610b0e8f","src/uuid.rs":"82f75efa73d0842dff2e13d299c166c6593a77fcb69c4b7629a2df1c17ae507d"},"package":"9a21fa21941700a3cd8fcb4091f361a6a712fac632f85d9f487cc892045d55c6"}

Просмотреть файл

@ -12,7 +12,7 @@
[package]
name = "core-foundation-sys"
version = "0.7.0"
version = "0.8.0"
authors = ["The Servo Project Developers"]
build = "build.rs"
description = "Bindings to Core Foundation for macOS"

Просмотреть файл

@ -52,5 +52,4 @@ extern {
value: CFTypeRef,
);
pub fn CFMutableAttributedStringGetTypeID() -> CFTypeID;
}

Просмотреть файл

@ -107,6 +107,9 @@ impl<T> TCFTypeRef for *mut T {
}
}
/// Constant used by some functions to indicate failed searches.
pub static kCFNotFound: CFIndex = -1;
extern {
/*
* CFBase.h

Просмотреть файл

@ -34,4 +34,5 @@ extern {
pub fn CFBundleCopyExecutableURL(bundle: CFBundleRef) -> CFURLRef;
pub fn CFBundleCopyPrivateFrameworksURL(bundle: CFBundleRef) -> CFURLRef;
pub fn CFBundleCopySharedSupportURL(bundle: CFBundleRef) -> CFURLRef;
pub fn CFBundleCopyBundleURL(bundle: CFBundleRef) -> CFURLRef;
}

Просмотреть файл

@ -9,7 +9,7 @@
use std::os::raw::c_void;
use base::{CFAllocatorRef, CFIndex, CFTypeID};
use base::{CFAllocatorRef, CFIndex, CFTypeID, Boolean};
pub type CFSetApplierFunction = extern "C" fn (value: *const c_void,
context: *const c_void);
@ -45,14 +45,22 @@ extern {
/* Creating Sets */
pub fn CFSetCreate(allocator: CFAllocatorRef, values: *const *const c_void, numValues: CFIndex,
callBacks: *const CFSetCallBacks) -> CFSetRef;
pub fn CFSetCreateCopy(allocator: CFAllocatorRef, theSet: CFSetRef) -> CFSetRef;
/* Examining a Set */
pub fn CFSetContainsValue(theSet: CFSetRef, value: *const c_void) -> Boolean;
pub fn CFSetGetCount(theSet: CFSetRef) -> CFIndex;
pub fn CFSetGetCountOfValue(theSet: CFSetRef, value: *const c_void) -> CFIndex;
pub fn CFSetGetValue(theSet: CFSetRef, value: *const c_void) -> *const c_void;
pub fn CFSetGetValueIfPresent(theSet: CFSetRef, candidate: *const c_void, value: *mut *const c_void) -> Boolean;
pub fn CFSetGetValues(theSet: CFSetRef, values: *mut *const c_void);
/* Applying a Function to Set Members */
pub fn CFSetApplyFunction(theSet: CFSetRef,
applier: CFSetApplierFunction,
context: *const c_void);
pub fn CFSetGetCount(theSet: CFSetRef) -> CFIndex;
/* Getting the CFSet Type ID */
pub fn CFSetGetTypeID() -> CFTypeID;
}

Просмотреть файл

@ -11,6 +11,7 @@ use std::os::raw::c_void;
use base::{CFAllocatorRef, CFTypeID};
use date::{CFTimeInterval, CFAbsoluteTime};
use string::CFStringRef;
#[repr(C)]
pub struct __CFTimeZone(c_void);
@ -24,4 +25,5 @@ extern {
pub fn CFTimeZoneGetSecondsFromGMT(tz: CFTimeZoneRef, time: CFAbsoluteTime) -> CFTimeInterval;
pub fn CFTimeZoneGetTypeID() -> CFTypeID;
pub fn CFTimeZoneGetName(tz: CFTimeZoneRef) -> CFStringRef;
}

Просмотреть файл

@ -1 +1 @@
{"files":{"Cargo.toml":"b5b2f9b692bbd5d0b445bfc43eb2dad8e236fd14be6fea6511e2f972f2177b92","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","src/array.rs":"221e81de15d95ca453df39466ba65faf879f2923202145958dfcebe63bfef97f","src/attributed_string.rs":"e6b32d673fa957611dbac2480675fab3c697fca8043077f2015f0a0801b20425","src/base.rs":"394764fa59518507fd8d53024b9574ab914eb856c1a873e6b1b4d84cdcde1c31","src/boolean.rs":"f5b4d295aaf6cc3681212afebeae2974c5d551125badcc066e6089ac0d2a0873","src/bundle.rs":"b652810146ee35c7c08ccb8e0b920359bf0313f4e8ca20111627754854ca93b5","src/characterset.rs":"a3ffb46c5463c99813eebfc177a65794f44a1b9343534e28bbccd262034714c2","src/data.rs":"a1d7e6430c745731fc7b2aee49af9f14e79c8a288951c82ea6507689a3356af8","src/date.rs":"a02f6cca7b6e8fbabc7713177429012658dba5146556e14a08e7baaf81958d83","src/dictionary.rs":"ed8080eb00507e342521fb2c513a83c5706e883c3f8d67d8f38e9a0ed685c7eb","src/error.rs":"22c21087d9c2c103d1bcb2c4af33b684317bbda5d4747902e510d410f8c1a14b","src/filedescriptor.rs":"6c2087a8e101bfb31a6b916759a69a82852b18b2174c818f6ec9211ccdcaf1e6","src/lib.rs":"bbf7e392e1c8e5f4cd491601b6601ea26b389b47dc4e32217481a7b86020843c","src/number.rs":"5a6cc9036c156e7e9d787864dd671087677abf4175cd840cbf123ccd89abcafe","src/propertylist.rs":"557ff9c346fbc70d19a887e0ce9977b84066f5d4bb6ba53ece8b733a5f0526e3","src/runloop.rs":"048772c566cf3a1ec3e478958293aa9f3af38ff40b71ab7695f86b61d12f2023","src/set.rs":"c61d7cacdbe7c3c69b2add3d2f1721960f6df710ef4db6a442cd8b05e8e929f3","src/string.rs":"28cead4283dfeeeb1c8c8bcf855823ed4b952e3a54cb8ca1c8f5f9a25d77bc0b","src/timezone.rs":"65859378232ee55f04bc4544b88f5dbc21f5db01bd16f2df3e82136ee3ce26b4","src/url.rs":"6d009ad7991af80c3131cd63070309e5c4054076cc7b05c99caf88cea660bf43","src/uuid.rs":"c3457e43fc22ba0f3fcab3ee8108500585ba005dbcbfa7edad0d389701ddf379","tests/use_macro_outside_crate.rs":"ed5e74ac9e988f2609c0b785189f1e6368d693f6401603ad065521f3ab51df94"},"package":"57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"}
{"files":{"Cargo.toml":"d6974076ca199bc2da1dfe5dee3735fdc1c50344af7fbe53ce9c9b4ccdb30b73","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","src/array.rs":"221e81de15d95ca453df39466ba65faf879f2923202145958dfcebe63bfef97f","src/attributed_string.rs":"c04c5a3c912b6ab58d3081fa5dfa8fda07957b26396ebc907bba5ad07dc1087d","src/base.rs":"9ed46d59afdb22ecc65504ccd77f1c98108ea0ff96fad568dadb7ed49fde588c","src/boolean.rs":"f5b4d295aaf6cc3681212afebeae2974c5d551125badcc066e6089ac0d2a0873","src/bundle.rs":"7c26060c6ca64347b96800498e663d622f8dc1aa551a2f18cffa258cd27272a0","src/characterset.rs":"a3ffb46c5463c99813eebfc177a65794f44a1b9343534e28bbccd262034714c2","src/data.rs":"a1d7e6430c745731fc7b2aee49af9f14e79c8a288951c82ea6507689a3356af8","src/date.rs":"a02f6cca7b6e8fbabc7713177429012658dba5146556e14a08e7baaf81958d83","src/dictionary.rs":"ed8080eb00507e342521fb2c513a83c5706e883c3f8d67d8f38e9a0ed685c7eb","src/error.rs":"22c21087d9c2c103d1bcb2c4af33b684317bbda5d4747902e510d410f8c1a14b","src/filedescriptor.rs":"6c2087a8e101bfb31a6b916759a69a82852b18b2174c818f6ec9211ccdcaf1e6","src/lib.rs":"867b9b5acbc8dcf1d9f61a936cec5c26762a0af444fa83cafdf9f3ab1ee979eb","src/number.rs":"5a6cc9036c156e7e9d787864dd671087677abf4175cd840cbf123ccd89abcafe","src/propertylist.rs":"9f182135d9eb21421673280112d5676051bf7f1c2548c6da1ff879ea0bfb4704","src/runloop.rs":"048772c566cf3a1ec3e478958293aa9f3af38ff40b71ab7695f86b61d12f2023","src/set.rs":"da75b31f894bd04c0518211e113ca21a2781cd6ac71018104eeb354dd2f1a19e","src/string.rs":"bea7f3fd2528377442d1bebfeacf7e905d879320ae662fe6a8ef917b6a8e9c36","src/timezone.rs":"6dcf188db76303292b519d6283b71b71c7b3d6ed1afddc28de16d727075f5ef1","src/url.rs":"c544725399d3fbc4de54fd9d1c987e02f81760effd08c5c64c8deacd11478950","src/uuid.rs":"c3457e43fc22ba0f3fcab3ee8108500585ba005dbcbfa7edad0d389701ddf379","tests/use_macro_outside_crate.rs":"ed5e74ac9e988f2609c0b785189f1e6368d693f6401603ad065521f3ab51df94"},"package":"3b5ed8e7e76c45974e15e41bfa8d5b0483cd90191639e01d8f5f1e606299d3fb"}

4
third_party/rust/core-foundation/Cargo.toml поставляемый
Просмотреть файл

@ -12,7 +12,7 @@
[package]
name = "core-foundation"
version = "0.7.0"
version = "0.9.0"
authors = ["The Servo Project Developers"]
description = "Bindings to Core Foundation for macOS"
homepage = "https://github.com/servo/core-foundation-rs"
@ -25,7 +25,7 @@ version = "0.4"
optional = true
[dependencies.core-foundation-sys]
version = "0.7"
version = "0.8.0"
[dependencies.libc]
version = "0.2"

Просмотреть файл

@ -41,7 +41,7 @@ impl CFAttributedString {
declare_TCFType!{
CFMutableAttributedString, CFMutableAttributedStringRef
}
impl_TCFType!(CFMutableAttributedString, CFMutableAttributedStringRef, CFMutableAttributedStringGetTypeID);
impl_TCFType!(CFMutableAttributedString, CFMutableAttributedStringRef, CFAttributedStringGetTypeID);
impl CFMutableAttributedString {
#[inline]
@ -70,7 +70,7 @@ impl CFMutableAttributedString {
}
#[inline]
pub fn set_attribute<T: TCFType>(&mut self, range: CFRange, name: CFStringRef, value: T) {
pub fn set_attribute<T: TCFType>(&mut self, range: CFRange, name: CFStringRef, value: &T) {
unsafe {
CFAttributedStringSetAttribute(
self.0, range, name, value.as_CFTypeRef());
@ -83,3 +83,16 @@ impl Default for CFMutableAttributedString {
Self::new()
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn attributed_string_type_id_comparison() {
// CFMutableAttributedString TypeID must be equal to CFAttributedString TypeID.
// Compilation must not fail.
assert_eq!(<CFAttributedString as TCFType>::type_id(), <CFMutableAttributedString as TCFType>::type_id());
}
}

Просмотреть файл

@ -243,6 +243,7 @@ impl TCFType for CFType {
#[inline]
unsafe fn wrap_under_get_rule(reference: CFTypeRef) -> CFType {
assert!(!reference.is_null(), "Attempted to create a NULL object.");
let reference: CFTypeRef = CFRetain(reference);
TCFType::wrap_under_create_rule(reference)
}
@ -254,6 +255,7 @@ impl TCFType for CFType {
#[inline]
unsafe fn wrap_under_create_rule(obj: CFTypeRef) -> CFType {
assert!(!obj.is_null(), "Attempted to create a NULL object.");
CFType(obj)
}

Просмотреть файл

@ -9,8 +9,10 @@
//! Core Foundation Bundle Type
pub use core_foundation_sys::bundle::*;
use core_foundation_sys::base::kCFAllocatorDefault;
pub use core_foundation_sys::bundle::*;
use core_foundation_sys::url::kCFURLPOSIXPathStyle;
use std::path::PathBuf;
use base::{CFType, TCFType};
use url::CFURL;
@ -79,6 +81,24 @@ impl CFBundle {
}
}
/// Bundle's own location
pub fn bundle_url(&self) -> Option<CFURL> {
unsafe {
let bundle_url = CFBundleCopyBundleURL(self.0);
if bundle_url.is_null() {
None
} else {
Some(TCFType::wrap_under_create_rule(bundle_url))
}
}
}
/// Bundle's own location
pub fn path(&self) -> Option<PathBuf> {
let url = self.bundle_url()?;
Some(PathBuf::from(url.get_file_system_path(kCFURLPOSIXPathStyle).to_string()))
}
pub fn private_frameworks_url(&self) -> Option<CFURL> {
unsafe {
let fw_url = CFBundleCopyPrivateFrameworksURL(self.0);

2
third_party/rust/core-foundation/src/lib.rs поставляемый
Просмотреть файл

@ -95,6 +95,7 @@ macro_rules! impl_TCFType {
#[inline]
unsafe fn wrap_under_get_rule(reference: $ty_ref) -> Self {
assert!(!reference.is_null(), "Attempted to create a NULL object.");
let reference = $crate::base::CFRetain(reference as *const ::std::os::raw::c_void) as $ty_ref;
$crate::base::TCFType::wrap_under_create_rule(reference)
}
@ -106,6 +107,7 @@ macro_rules! impl_TCFType {
#[inline]
unsafe fn wrap_under_create_rule(reference: $ty_ref) -> Self {
assert!(!reference.is_null(), "Attempted to create a NULL object.");
// we need one PhantomData for each type parameter so call ourselves
// again with @Phantom $p to produce that
$ty(reference $(, impl_TCFType!(@Phantom $p))*)

Просмотреть файл

@ -121,6 +121,7 @@ impl CFPropertyList {
#[inline]
pub unsafe fn wrap_under_get_rule(reference: CFPropertyListRef) -> CFPropertyList {
assert!(!reference.is_null(), "Attempted to create a NULL object.");
let reference = CFRetain(reference);
CFPropertyList(reference)
}
@ -147,6 +148,7 @@ impl CFPropertyList {
#[inline]
pub unsafe fn wrap_under_create_rule(obj: CFPropertyListRef) -> CFPropertyList {
assert!(!obj.is_null(), "Attempted to create a NULL object.");
CFPropertyList(obj)
}
@ -262,7 +264,7 @@ pub mod test {
let boo = CFString::from_static_string("Boo");
let foo = CFString::from_static_string("Foo");
let tru = CFBoolean::true_value();
let n42 = CFNumber::from(42);
let n42 = CFNumber::from(1i64<<33);
let dict1 = CFDictionary::from_CFType_pairs(&[(bar.as_CFType(), boo.as_CFType()),
(baz.as_CFType(), tru.as_CFType()),

9
third_party/rust/core-foundation/src/set.rs поставляемый
Просмотреть файл

@ -42,3 +42,12 @@ impl CFSet {
}
}
}
impl<T> CFSet<T> {
/// Get the number of elements in the CFSet
pub fn len(&self) -> usize {
unsafe {
CFSetGetCount(self.0) as usize
}
}
}

Просмотреть файл

@ -141,6 +141,53 @@ impl CFString {
}
}
impl<'a> PartialEq<&'a str> for CFString {
fn eq(&self, other: &&str) -> bool {
unsafe {
let temp = CFStringCreateWithBytesNoCopy(kCFAllocatorDefault,
other.as_ptr(),
other.len().to_CFIndex(),
kCFStringEncodingUTF8,
false as Boolean,
kCFAllocatorNull);
self.eq(&CFString::wrap_under_create_rule(temp))
}
}
}
impl<'a> PartialEq<CFString> for &'a str {
#[inline]
fn eq(&self, other: &CFString) -> bool {
other.eq(self)
}
}
impl PartialEq<CFString> for String {
#[inline]
fn eq(&self, other: &CFString) -> bool {
other.eq(&self.as_str())
}
}
impl PartialEq<String> for CFString {
#[inline]
fn eq(&self, other: &String) -> bool {
self.eq(&other.as_str())
}
}
#[test]
fn str_cmp() {
let cfstr = CFString::new("hello");
assert_eq!("hello", cfstr);
assert_eq!(cfstr, "hello");
assert_ne!(cfstr, "wrong");
assert_ne!("wrong", cfstr);
let hello = String::from("hello");
assert_eq!(hello, cfstr);
assert_eq!(cfstr, hello);
}
#[test]
fn string_and_back() {
let original = "The quick brown fox jumped over the slow lazy dog.";

Просмотреть файл

@ -14,6 +14,7 @@ use core_foundation_sys::base::kCFAllocatorDefault;
use base::TCFType;
use date::{CFDate, CFTimeInterval};
use string::CFString;
#[cfg(feature = "with-chrono")]
use chrono::{FixedOffset, NaiveDateTime};
@ -68,6 +69,14 @@ impl CFTimeZone {
pub fn from_offset(offset: FixedOffset) -> CFTimeZone {
CFTimeZone::new(offset.local_minus_utc() as f64)
}
/// The timezone database ID that identifies the time zone. E.g. "America/Los_Angeles" or
/// "Europe/Paris".
pub fn name(&self) -> CFString {
unsafe {
CFString::wrap_under_get_rule(CFTimeZoneGetName(self.0))
}
}
}
#[cfg(test)]

1
third_party/rust/core-foundation/src/url.rs поставляемый
Просмотреть файл

@ -16,7 +16,6 @@ use string::{CFString};
use core_foundation_sys::base::{kCFAllocatorDefault, Boolean};
use std::fmt;
use std::mem::MaybeUninit;
use std::ptr;
use std::path::{Path, PathBuf};

1
third_party/rust/core-graphics-types/.cargo-checksum.json поставляемый Normal file
Просмотреть файл

@ -0,0 +1 @@
{"files":{"Cargo.toml":"99ebaa23c8f85f471729708a6405b546932314a1033f0a9bcc89893489b3305f","src/base.rs":"3764010f0c416db49be8a9e191fffb6848e8287edbdd5b12972613e301720ded","src/geometry.rs":"b94e50a16b8540dc6f37bfe4b1549ac68974cd6ba6c0bbd9209559f8a46d86eb","src/lib.rs":"31700ac9508fd32005bafd1c12a86a6803d198e9b1a71166a7391e642c091cd1"},"package":"e92f5d519093a4178296707dbaa3880eae85a5ef5386675f361a1cf25376e93c"}

31
third_party/rust/core-graphics-types/Cargo.toml поставляемый Normal file
Просмотреть файл

@ -0,0 +1,31 @@
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies
#
# If you believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)
[package]
name = "core-graphics-types"
version = "0.1.0"
authors = ["The Servo Project Developers"]
description = "Bindings for some fundamental Core Graphics types"
homepage = "https://github.com/servo/core-foundation-rs"
license = "MIT / Apache-2.0"
repository = "https://github.com/servo/core-foundation-rs"
[dependencies.bitflags]
version = "1.0"
[dependencies.core-foundation]
version = "0.9"
[dependencies.foreign-types]
version = "0.3.0"
[dependencies.libc]
version = "0.2"

32
third_party/rust/core-graphics-types/src/base.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,32 @@
// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// this file defines CGFloat, as well as stubbed data types.
#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
use libc;
#[cfg(any(target_arch = "x86",
target_arch = "arm",
target_arch = "aarch64"))]
pub type boolean_t = libc::c_int;
#[cfg(target_arch = "x86_64")]
pub type boolean_t = libc::c_uint;
#[cfg(target_pointer_width = "64")]
pub type CGFloat = libc::c_double;
#[cfg(not(target_pointer_width = "64"))]
pub type CGFloat = libc::c_float;
pub type CGError = libc::int32_t;
pub type CGGlyph = libc::c_ushort;

195
third_party/rust/core-graphics-types/src/geometry.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,195 @@
// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use base::CGFloat;
use core_foundation::base::TCFType;
use core_foundation::dictionary::CFDictionary;
pub const CG_ZERO_POINT: CGPoint = CGPoint {
x: 0.0,
y: 0.0,
};
pub const CG_ZERO_SIZE: CGSize = CGSize {
width: 0.0,
height: 0.0,
};
pub const CG_ZERO_RECT: CGRect = CGRect {
origin: CG_ZERO_POINT,
size: CG_ZERO_SIZE,
};
pub const CG_AFFINE_TRANSFORM_IDENTITY: CGAffineTransform = CGAffineTransform {
a: 1.0, b: 0.0,
c: 0.0, d: 1.0,
tx: 0.0, ty: 0.0,
};
#[repr(C)]
#[derive(Clone, Copy, Debug, Default)]
pub struct CGSize {
pub width: CGFloat,
pub height: CGFloat,
}
impl CGSize {
#[inline]
pub fn new(width: CGFloat, height: CGFloat) -> CGSize {
CGSize {
width: width,
height: height,
}
}
#[inline]
pub fn apply_transform(&self, t: &CGAffineTransform) -> CGSize {
unsafe {
ffi::CGSizeApplyAffineTransform(*self, *t)
}
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Default)]
pub struct CGPoint {
pub x: CGFloat,
pub y: CGFloat,
}
impl CGPoint {
#[inline]
pub fn new(x: CGFloat, y: CGFloat) -> CGPoint {
CGPoint {
x: x,
y: y,
}
}
#[inline]
pub fn apply_transform(&self, t: &CGAffineTransform) -> CGPoint {
unsafe {
ffi::CGPointApplyAffineTransform(*self, *t)
}
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Default)]
pub struct CGRect {
pub origin: CGPoint,
pub size: CGSize
}
impl CGRect {
#[inline]
pub fn new(origin: &CGPoint, size: &CGSize) -> CGRect {
CGRect {
origin: *origin,
size: *size,
}
}
#[inline]
pub fn inset(&self, size: &CGSize) -> CGRect {
unsafe {
ffi::CGRectInset(*self, size.width, size.height)
}
}
#[inline]
pub fn from_dict_representation(dict: &CFDictionary) -> Option<CGRect> {
let mut rect = CGRect::new(&CGPoint::new(0., 0.), &CGSize::new(0., 0.));
let result = unsafe {
ffi::CGRectMakeWithDictionaryRepresentation(dict.as_concrete_TypeRef(), &mut rect)
};
if result == 0 {
None
} else {
Some(rect)
}
}
#[inline]
pub fn is_empty(&self) -> bool {
unsafe {
// I use one, as it seems that `YES` is not available from this crate.
ffi::CGRectIsEmpty(*self) == 1
}
}
#[inline]
pub fn is_intersects(&self, other: &CGRect) -> bool {
unsafe {
// I use one, as it seems that `YES` is not available from this crate.
ffi::CGRectIntersectsRect(*self, *other) == 1
}
}
#[inline]
pub fn apply_transform(&self, t: &CGAffineTransform) -> CGRect {
unsafe {
ffi::CGRectApplyAffineTransform(*self, *t)
}
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Default)]
pub struct CGAffineTransform {
pub a: CGFloat,
pub b: CGFloat,
pub c: CGFloat,
pub d: CGFloat,
pub tx: CGFloat,
pub ty: CGFloat,
}
impl CGAffineTransform {
#[inline]
pub fn new(
a: CGFloat,
b: CGFloat,
c: CGFloat,
d: CGFloat,
tx: CGFloat,
ty: CGFloat,
) -> CGAffineTransform {
CGAffineTransform { a, b, c, d, tx, ty }
}
#[inline]
pub fn invert(&self) -> CGAffineTransform {
unsafe {
ffi::CGAffineTransformInvert(*self)
}
}
}
mod ffi {
use base::{CGFloat, boolean_t};
use geometry::{CGAffineTransform, CGPoint, CGRect, CGSize};
use core_foundation::dictionary::CFDictionaryRef;
#[link(name = "CoreGraphics", kind = "framework")]
extern {
pub fn CGRectInset(rect: CGRect, dx: CGFloat, dy: CGFloat) -> CGRect;
pub fn CGRectMakeWithDictionaryRepresentation(dict: CFDictionaryRef,
rect: *mut CGRect) -> boolean_t;
pub fn CGRectIsEmpty(rect: CGRect) -> boolean_t;
pub fn CGRectIntersectsRect(rect1: CGRect, rect2: CGRect) -> boolean_t;
pub fn CGAffineTransformInvert(t: CGAffineTransform) -> CGAffineTransform;
pub fn CGPointApplyAffineTransform(point: CGPoint, t: CGAffineTransform) -> CGPoint;
pub fn CGRectApplyAffineTransform(rect: CGRect, t: CGAffineTransform) -> CGRect;
pub fn CGSizeApplyAffineTransform(size: CGSize, t: CGAffineTransform) -> CGSize;
}
}

14
third_party/rust/core-graphics-types/src/lib.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,14 @@
// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
extern crate libc;
extern crate core_foundation;
pub mod base;
pub mod geometry;

Просмотреть файл

@ -1 +1 @@
{"files":{"COPYRIGHT":"ec82b96487e9e778ee610c7ab245162464782cfa1f555c2299333f8dbe5c036a","Cargo.toml":"fccf58052cf6a36aba8ce4936d5e62d953f73a1fbedbe89b6d099bcd3848a5a5","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","README.md":"6745c3c38183d2eda9b1fa265fb0a95018db5c110cbabc00b32327d951bbe2ea","src/base.rs":"89e01071e66f0c66fa22d94fd666100c89f6a20d988fb8bacbf86b8ed633bcbd","src/color.rs":"4c8ec4ab828cbc1b2a1538a34a51f5b380927f2f1daf187dff6f732f57a43656","src/color_space.rs":"b3d7ee8a21703c789160867cb8eb2188bd1daa193e3d030f21adb6f1a6f872de","src/context.rs":"b4b05d7c75337e8f8ece3143d1f1a48b3ae6868c473469c2ce7fd030512f9aff","src/data_provider.rs":"9e8a17075b1527f87111fd4102252e086bf9fde147483f21a661773e133f7c71","src/display.rs":"cc691712c3d27342ae97f04df6032d6f682570239ba51936fcc796c61bf08c8b","src/event.rs":"593d7f6c0621f8803546562548f98985f171eb74b513d6f9b9081fe6f2d1a1a8","src/event_source.rs":"d55a4f5b5e62789325028febc51bbf54c74b15ab1a4e70c6ad749a2f9753e081","src/font.rs":"e1d2be7f909fd5876f3cd1649d54ef0a9d7dcd4151c027a25049be7084ca8a9f","src/geometry.rs":"49d27dde6672e5654f796ec3399216ab6d1cf9ed9d3506a824c8e9eec6e3db00","src/image.rs":"0af720ee020fb1c6a2f4b1ce49e3d27f8f21f0be6b81ba4b9c824f87564efa58","src/lib.rs":"9b9601462de1bbc806e881b2b42e86b16372cad8eeefe1a96b772a9f7329958d","src/path.rs":"c429afeaed999b02ac00f89a867b5fc64f1e223039079a4e0529306b734ff117","src/private.rs":"da3fd61338bab2d8e26aa5433b2e18ecd2a0a408c62e1ac2b33a0f87f2dad88a","src/sys.rs":"cc90b690f172da51a87ffb234f6e74a9f501c4f1630d7b51fa2d5846e80fc164","src/window.rs":"2f6c3dc958ae2c0c9e2fc5033300b96e60ed0abee9823ea1f03797d64df0911a"},"package":"59e78b2e0aaf43f08e7ae0d6bc96895ef72ff0921c7d4ff4762201b2dba376dd"}
{"files":{"COPYRIGHT":"ec82b96487e9e778ee610c7ab245162464782cfa1f555c2299333f8dbe5c036a","Cargo.toml":"8ae209cd9a5905900c64dd3ec6cae30b2a4877804c2cb0a45452b03a8daa65ee","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","README.md":"6745c3c38183d2eda9b1fa265fb0a95018db5c110cbabc00b32327d951bbe2ea","src/base.rs":"838683ff67253f4aff1d4b4177531210ca73d4e61f05c5d96a8f196b2a88c787","src/color.rs":"4c8ec4ab828cbc1b2a1538a34a51f5b380927f2f1daf187dff6f732f57a43656","src/color_space.rs":"b3d7ee8a21703c789160867cb8eb2188bd1daa193e3d030f21adb6f1a6f872de","src/context.rs":"8bda7f9ecb5be768b09a29cc3b0a4f329f55d2a2ab74030d121610283862d833","src/data_provider.rs":"9badc70bdd1bdb18f6ba4a25fdfc56ab11c5747751b5473987d29898e5efe6fb","src/display.rs":"cc691712c3d27342ae97f04df6032d6f682570239ba51936fcc796c61bf08c8b","src/event.rs":"84d6035ab155e702be056f4f37d0cbb76ccfa8fb9277fcbfb42c7953d0cd3937","src/event_source.rs":"d55a4f5b5e62789325028febc51bbf54c74b15ab1a4e70c6ad749a2f9753e081","src/font.rs":"cfff63d8f07d8fe497fdef258163c1bf7b3755b845fffb8e3c99a5cb45986fc8","src/geometry.rs":"8e12dc89835406bfa514de8fb58f5fd435724d1ddb97dc3a70392efbcf1c42ed","src/gradient.rs":"8ee8661706f36914d08e903840c4f07414b38ba40ea4a482d34b900ac6ac7cf9","src/image.rs":"a5a5df8c0f310455f038eeb16688015f481688cb417f8e8f424a4c1d2a1cdd57","src/lib.rs":"78264571227db6fc9194cb90d64beaff1738a501f88b5da55eb17ae42592d26f","src/path.rs":"c429afeaed999b02ac00f89a867b5fc64f1e223039079a4e0529306b734ff117","src/private.rs":"da3fd61338bab2d8e26aa5433b2e18ecd2a0a408c62e1ac2b33a0f87f2dad88a","src/sys.rs":"72cd460e499734a9394a8ec57dcb30ea0a15717452ff9fb343f22effa5d6d308","src/window.rs":"2f6c3dc958ae2c0c9e2fc5033300b96e60ed0abee9823ea1f03797d64df0911a"},"package":"f6082396a349fa49674ba1bda4077332a18bf150e8fa75745ece07085e29a113"}

7
third_party/rust/core-graphics/Cargo.toml поставляемый
Просмотреть файл

@ -12,7 +12,7 @@
[package]
name = "core-graphics"
version = "0.19.0"
version = "0.22.0"
authors = ["The Servo Project Developers"]
description = "Bindings to Core Graphics for macOS"
homepage = "https://github.com/servo/core-graphics-rs"
@ -22,7 +22,10 @@ repository = "https://github.com/servo/core-foundation-rs"
version = "1.0"
[dependencies.core-foundation]
version = "0.7"
version = "0.9"
[dependencies.core-graphics-types]
version = "0.1"
[dependencies.foreign-types]
version = "0.3.0"

26
third_party/rust/core-graphics/src/base.rs поставляемый
Просмотреть файл

@ -12,21 +12,7 @@
#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
use libc;
#[cfg(any(target_arch = "x86",
target_arch = "arm",
target_arch = "aarch64"))]
pub type boolean_t = libc::c_int;
#[cfg(target_arch = "x86_64")]
pub type boolean_t = libc::c_uint;
#[cfg(target_pointer_width = "64")]
pub type CGFloat = libc::c_double;
#[cfg(not(target_pointer_width = "64"))]
pub type CGFloat = libc::c_float;
pub type CGError = i32;
pub use core_graphics_types::base::*;
pub const kCGImageAlphaNone: u32 = 0;
pub const kCGImageAlphaPremultipliedLast: u32 = 1;
@ -36,11 +22,11 @@ pub const kCGImageAlphaFirst: u32 = 4;
pub const kCGImageAlphaNoneSkipLast: u32 = 5;
pub const kCGImageAlphaNoneSkipFirst: u32 = 6;
pub const kCGBitmapByteOrderDefault: u32 = (0 << 12);
pub const kCGBitmapByteOrder16Little: u32 = (1 << 12);
pub const kCGBitmapByteOrder32Little: u32 = (2 << 12);
pub const kCGBitmapByteOrder16Big: u32 = (3 << 12);
pub const kCGBitmapByteOrder32Big: u32 = (4 << 12);
pub const kCGBitmapByteOrderDefault: u32 = 0 << 12;
pub const kCGBitmapByteOrder16Little: u32 = 1 << 12;
pub const kCGBitmapByteOrder32Little: u32 = 2 << 12;
pub const kCGBitmapByteOrder16Big: u32 = 3 << 12;
pub const kCGBitmapByteOrder32Big: u32 = 4 << 12;
pub const kCGRenderingIntentDefault: u32 = 0;
pub const kCGRenderingIntentAbsoluteColorimetric: u32 = 1;

102
third_party/rust/core-graphics/src/context.rs поставляемый
Просмотреть файл

@ -9,9 +9,10 @@
use base::CGFloat;
use color_space::CGColorSpace;
use core_foundation::base::{ToVoid, CFRelease, CFRetain, CFTypeID};
use core_foundation::base::{CFTypeID, TCFType};
use font::{CGFont, CGGlyph};
use geometry::CGPoint;
use geometry::{CGPoint, CGSize};
use gradient::{CGGradient, CGGradientDrawingOptions};
use color::CGColor;
use path::CGPathRef;
use libc::{c_int, size_t};
@ -66,6 +67,7 @@ pub enum CGTextDrawingMode {
CGTextInvisible,
CGTextFillClip,
CGTextStrokeClip,
CGTextFillStrokeClip,
CGTextClip
}
@ -95,11 +97,21 @@ pub enum CGPathDrawingMode {
CGPathEOFillStroke,
}
#[repr(C)]
#[derive(Clone, Copy, Debug)]
pub enum CGInterpolationQuality {
CGInterpolationQualityDefault,
CGInterpolationQualityNone,
CGInterpolationQualityLow,
CGInterpolationQualityMedium,
CGInterpolationQualityHigh,
}
foreign_type! {
#[doc(hidden)]
type CType = ::sys::CGContext;
fn drop = |cs| CFRelease(cs as *mut _);
fn clone = |p| CFRetain(p as *const _) as *mut _;
fn drop = |cs| CGContextRelease(cs);
fn clone = |p| CGContextRetain(p);
pub struct CGContext;
pub struct CGContextRef;
}
@ -111,6 +123,22 @@ impl CGContext {
}
}
/// Creates a `CGContext` instance from an existing [`CGContextRef`] pointer.
///
/// This funtion will internally call [`CGRetain`] and hence there is no need to call it explicitly.
///
/// This function is particularly useful for cases when the context is not instantiated/managed
/// by the caller, but it's retrieve via other means (e.g., by calling the method [`NSGraphicsContext::CGContext`]
/// in a cocoa application).
///
/// [`CGContextRef`]: https://developer.apple.com/documentation/coregraphics/cgcontextref
/// [`CGRetain`]: https://developer.apple.com/documentation/coregraphics/1586506-cgcontextretain
/// [`NSGraphicsContext::CGContext`]: https://developer.apple.com/documentation/appkit/nsgraphicscontext/1535352-currentcontext
pub unsafe fn from_existing_context_ptr(ctx: *mut ::sys::CGContext) -> CGContext {
CGContextRetain(ctx);
Self::from_ptr(ctx)
}
pub fn create_bitmap_context(data: Option<*mut c_void>,
width: size_t,
height: size_t,
@ -174,7 +202,7 @@ impl CGContextRef {
pub fn set_fill_color(&self, color: &CGColor) {
unsafe {
CGContextSetFillColorWithColor(self.as_ptr(), color.to_void());
CGContextSetFillColorWithColor(self.as_ptr(), color.as_concrete_TypeRef());
}
}
@ -427,6 +455,12 @@ impl CGContextRef {
}
}
pub fn clip_to_mask(&self, rect: CGRect, image: &CGImage) {
unsafe {
CGContextClipToMask(self.as_ptr(), rect, image.as_ptr())
}
}
pub fn replace_path_with_stroked_path(&self) {
unsafe {
CGContextReplacePathWithStrokedPath(self.as_ptr())
@ -451,6 +485,19 @@ impl CGContextRef {
}
}
pub fn set_interpolation_quality(&self, quality: CGInterpolationQuality) {
unsafe {
CGContextSetInterpolationQuality(self.as_ptr(), quality);
}
}
pub fn get_interpolation_quality(&self) -> CGInterpolationQuality {
unsafe {
CGContextGetInterpolationQuality(self.as_ptr())
}
}
pub fn draw_image(&self, rect: CGRect, image: &CGImage) {
unsafe {
CGContextDrawImage(self.as_ptr(), rect, image.as_ptr());
@ -484,6 +531,12 @@ impl CGContextRef {
}
}
pub fn set_text_position(&self, x: CGFloat, y: CGFloat) {
unsafe {
CGContextSetTextPosition(self.as_ptr(), x, y)
}
}
pub fn show_glyphs_at_positions(&self, glyphs: &[CGGlyph], positions: &[CGPoint]) {
unsafe {
let count = cmp::min(glyphs.len(), positions.len());
@ -535,6 +588,30 @@ impl CGContextRef {
CGContextConcatCTM(self.as_ptr(), transform)
}
}
pub fn draw_linear_gradient(&self, gradient: &CGGradient, start_point: CGPoint, end_point: CGPoint, options: CGGradientDrawingOptions) {
unsafe {
CGContextDrawLinearGradient(self.as_ptr(), gradient.as_ptr(), start_point, end_point, options);
}
}
pub fn draw_radial_gradient(&self, gradient: &CGGradient, start_center: CGPoint, start_radius: CGFloat, end_center: CGPoint, end_radius: CGFloat, options: CGGradientDrawingOptions) {
unsafe {
CGContextDrawRadialGradient(self.as_ptr(), gradient.as_ptr(), start_center, start_radius, end_center, end_radius, options);
}
}
pub fn set_shadow(&self, offset: CGSize, blur: CGFloat) {
unsafe {
CGContextSetShadow(self.as_ptr(), offset, blur);
}
}
pub fn set_shadow_with_color(&self, offset: CGSize, blur: CGFloat, color: &CGColor) {
unsafe {
CGContextSetShadowWithColor(self.as_ptr(), offset, blur, color.as_concrete_TypeRef());
}
}
}
#[test]
@ -564,6 +641,9 @@ fn create_bitmap_context_test() {
#[link(name = "CoreGraphics", kind = "framework")]
extern {
fn CGContextRetain(c: ::sys::CGContextRef) -> ::sys::CGContextRef;
fn CGContextRelease(c: ::sys::CGContextRef);
fn CGBitmapContextCreate(data: *mut c_void,
width: size_t,
height: size_t,
@ -595,7 +675,7 @@ extern {
fn CGContextSetShouldSubpixelPositionFonts(c: ::sys::CGContextRef,
shouldSubpixelPositionFonts: bool);
fn CGContextSetTextDrawingMode(c: ::sys::CGContextRef, mode: CGTextDrawingMode);
fn CGContextSetFillColorWithColor(c: ::sys::CGContextRef, color: *const c_void);
fn CGContextSetFillColorWithColor(c: ::sys::CGContextRef, color: ::sys::CGColorRef);
fn CGContextSetLineCap(c: ::sys::CGContextRef, cap: CGLineCap);
fn CGContextSetLineDash(c: ::sys::CGContextRef, phase: CGFloat, lengths: *const CGFloat, count: size_t);
fn CGContextSetLineJoin(c: ::sys::CGContextRef, join: CGLineJoin);
@ -657,6 +737,7 @@ extern {
fn CGContextClipToRects(context: ::sys::CGContextRef,
rects: *const CGRect,
count: size_t);
fn CGContextClipToMask(ctx: ::sys::CGContextRef, rect: CGRect, mask: ::sys::CGImageRef);
fn CGContextReplacePathWithStrokedPath(context: ::sys::CGContextRef);
fn CGContextFillEllipseInRect(context: ::sys::CGContextRef,
rect: CGRect);
@ -666,9 +747,12 @@ extern {
points: *const CGPoint,
count: size_t);
fn CGContextDrawImage(c: ::sys::CGContextRef, rect: CGRect, image: ::sys::CGImageRef);
fn CGContextSetInterpolationQuality(c: ::sys::CGContextRef, quality: CGInterpolationQuality);
fn CGContextGetInterpolationQuality(c: ::sys::CGContextRef) -> CGInterpolationQuality;
fn CGContextSetFont(c: ::sys::CGContextRef, font: ::sys::CGFontRef);
fn CGContextSetFontSize(c: ::sys::CGContextRef, size: CGFloat);
fn CGContextSetTextMatrix(c: ::sys::CGContextRef, t: CGAffineTransform);
fn CGContextSetTextPosition(c: ::sys::CGContextRef, x: CGFloat, y: CGFloat);
fn CGContextShowGlyphsAtPositions(c: ::sys::CGContextRef,
glyphs: *const CGGlyph,
positions: *const CGPoint,
@ -681,5 +765,11 @@ extern {
fn CGContextRotateCTM(c: ::sys::CGContextRef, angle: CGFloat);
fn CGContextGetCTM(c: ::sys::CGContextRef) -> CGAffineTransform;
fn CGContextConcatCTM(c: ::sys::CGContextRef, transform: CGAffineTransform);
fn CGContextDrawLinearGradient(c: ::sys::CGContextRef, gradient: ::sys::CGGradientRef, startPoint: CGPoint, endPoint: CGPoint, options: CGGradientDrawingOptions);
fn CGContextDrawRadialGradient(c: ::sys::CGContextRef, gradient: ::sys::CGGradientRef, startCenter: CGPoint, startRadius: CGFloat, endCenter:CGPoint, endRadius:CGFloat, options: CGGradientDrawingOptions);
fn CGContextSetShadow(c: ::sys::CGContextRef, offset: CGSize, blur: CGFloat);
fn CGContextSetShadowWithColor(c: ::sys::CGContextRef, offset: CGSize, blur: CGFloat, color: ::sys::CGColorRef);
}

Просмотреть файл

@ -50,17 +50,17 @@ impl CGDataProvider {
///
/// The `CGDataProvider` object takes ownership of the reference. Once the data provider
/// is destroyed, the reference count of the buffer is automatically decremented.
pub fn from_buffer(buffer: Arc<Vec<u8>>) -> Self {
pub fn from_buffer<T: AsRef<[u8]> + Sync + Send>(buffer: Arc<T>) -> Self {
unsafe {
let ptr = (*buffer).as_ptr() as *const c_void;
let len = buffer.len() as size_t;
let info = mem::transmute::<Arc<Vec<u8>>, *mut c_void>(buffer);
let result = CGDataProviderCreateWithData(info, ptr, len, Some(release));
let ptr = (*buffer).as_ref().as_ptr() as *const c_void;
let len = (*buffer).as_ref().len() as size_t;
let info = Arc::into_raw(buffer) as *mut c_void;
let result = CGDataProviderCreateWithData(info, ptr, len, Some(release::<T>));
return CGDataProvider::from_ptr(result);
}
unsafe extern "C" fn release(info: *mut c_void, _: *const c_void, _: size_t) {
drop(mem::transmute::<*mut c_void, Arc<Vec<u8>>>(info))
unsafe extern "C" fn release<T>(info: *mut c_void, _: *const c_void, _: size_t) {
drop(Arc::from_raw(info))
}
}
@ -106,6 +106,42 @@ pub trait CustomData {
unsafe fn len(&self) -> usize;
}
#[test]
fn test_data_provider() {
let l = vec![5];
CGDataProvider::from_buffer(Arc::new(l));
let l = vec![5];
CGDataProvider::from_buffer(Arc::new(l.into_boxed_slice()));
// Make sure the buffer is actually dropped
use std::sync::atomic::{AtomicBool, Ordering::SeqCst};
struct VecWrapper {
inner: Vec<u8>,
dropped: Arc<AtomicBool>,
}
impl Drop for VecWrapper {
fn drop(&mut self) {
self.dropped.store(true, SeqCst)
}
}
impl std::convert::AsRef<[u8]> for VecWrapper {
fn as_ref(&self) -> &[u8] {
&self.inner
}
}
let dropped = Arc::new(AtomicBool::default());
let l = Arc::new(VecWrapper {inner: vec![5], dropped: dropped.clone() });
let m = l.clone();
drop(CGDataProvider::from_buffer(l));
assert!(!dropped.load(SeqCst));
drop(m);
assert!(dropped.load(SeqCst))
}
#[link(name = "CoreGraphics", kind = "framework")]
extern {
fn CGDataProviderCopyData(provider: ::sys::CGDataProviderRef) -> CFDataRef;

6
third_party/rust/core-graphics/src/event.rs поставляемый
Просмотреть файл

@ -12,10 +12,10 @@ pub type CGEventField = u32;
pub type CGKeyCode = u16;
pub type CGScrollEventUnit = u32;
/// Flags for events
///
/// [Ref](http://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-700/IOHIDSystem/IOKit/hidsystem/IOLLEvent.h)
bitflags! {
/// Flags for events
///
/// [Ref](http://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-700/IOHIDSystem/IOKit/hidsystem/IOLLEvent.h)
#[repr(C)]
pub struct CGEventFlags: u64 {
const CGEventFlagNull = 0;

4
third_party/rust/core-graphics/src/font.rs поставляемый
Просмотреть файл

@ -18,9 +18,9 @@ use geometry::CGRect;
use foreign_types::ForeignType;
use libc::{self, c_int, size_t};
use libc::{c_int, size_t};
pub type CGGlyph = libc::c_ushort;
pub use core_graphics_types::base::CGGlyph;
foreign_type! {
#[doc(hidden)]

208
third_party/rust/core-graphics/src/geometry.rs поставляемый
Просмотреть файл

@ -7,210 +7,4 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use base::CGFloat;
use core_foundation::base::TCFType;
use core_foundation::dictionary::CFDictionary;
pub const CG_ZERO_POINT: CGPoint = CGPoint {
x: 0.0,
y: 0.0,
};
pub const CG_ZERO_SIZE: CGSize = CGSize {
width: 0.0,
height: 0.0,
};
pub const CG_ZERO_RECT: CGRect = CGRect {
origin: CG_ZERO_POINT,
size: CG_ZERO_SIZE,
};
pub const CG_AFFINE_TRANSFORM_IDENTITY: CGAffineTransform = CGAffineTransform {
a: 1.0, b: 0.0,
c: 0.0, d: 1.0,
tx: 0.0, ty: 0.0,
};
#[repr(C)]
#[derive(Clone, Copy, Debug, Default, PartialEq)]
pub struct CGSize {
pub width: CGFloat,
pub height: CGFloat,
}
impl CGSize {
#[inline]
pub fn new(width: CGFloat, height: CGFloat) -> CGSize {
CGSize {
width: width,
height: height,
}
}
#[inline]
pub fn apply_transform(&self, t: &CGAffineTransform) -> CGSize {
unsafe {
ffi::CGSizeApplyAffineTransform(*self, *t)
}
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Default, PartialEq)]
pub struct CGPoint {
pub x: CGFloat,
pub y: CGFloat,
}
impl CGPoint {
#[inline]
pub fn new(x: CGFloat, y: CGFloat) -> CGPoint {
CGPoint {
x: x,
y: y,
}
}
#[inline]
pub fn apply_transform(&self, t: &CGAffineTransform) -> CGPoint {
unsafe {
ffi::CGPointApplyAffineTransform(*self, *t)
}
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Default)]
pub struct CGRect {
pub origin: CGPoint,
pub size: CGSize
}
impl CGRect {
#[inline]
pub fn new(origin: &CGPoint, size: &CGSize) -> CGRect {
CGRect {
origin: *origin,
size: *size,
}
}
#[inline]
pub fn inset(&self, size: &CGSize) -> CGRect {
unsafe {
ffi::CGRectInset(*self, size.width, size.height)
}
}
#[inline]
pub fn from_dict_representation(dict: &CFDictionary) -> Option<CGRect> {
let mut rect = CGRect::new(&CGPoint::new(0., 0.), &CGSize::new(0., 0.));
let result = unsafe {
ffi::CGRectMakeWithDictionaryRepresentation(dict.as_concrete_TypeRef(), &mut rect)
};
if result == 0 {
None
} else {
Some(rect)
}
}
#[inline]
pub fn is_empty(&self) -> bool {
unsafe {
// I use one, as it seems that `YES` is not available from this crate.
ffi::CGRectIsEmpty(*self) == 1
}
}
#[inline]
pub fn is_intersects(&self, other: &CGRect) -> bool {
unsafe {
// I use one, as it seems that `YES` is not available from this crate.
ffi::CGRectIntersectsRect(*self, *other) == 1
}
}
#[inline]
pub fn apply_transform(&self, t: &CGAffineTransform) -> CGRect {
unsafe {
ffi::CGRectApplyAffineTransform(*self, *t)
}
}
}
impl PartialEq for CGRect {
#[inline]
fn eq(&self, other: &CGRect) -> bool {
unsafe {
ffi::CGRectEqualToRect(*self, *other) != 0
}
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Default)]
pub struct CGAffineTransform {
pub a: CGFloat,
pub b: CGFloat,
pub c: CGFloat,
pub d: CGFloat,
pub tx: CGFloat,
pub ty: CGFloat,
}
impl CGAffineTransform {
#[inline]
pub fn new(
a: CGFloat,
b: CGFloat,
c: CGFloat,
d: CGFloat,
tx: CGFloat,
ty: CGFloat,
) -> CGAffineTransform {
CGAffineTransform { a, b, c, d, tx, ty }
}
#[inline]
pub fn invert(&self) -> CGAffineTransform {
unsafe {
ffi::CGAffineTransformInvert(*self)
}
}
}
impl PartialEq for CGAffineTransform {
#[inline]
fn eq(&self, other: &CGAffineTransform) -> bool {
unsafe {
ffi::CGAffineTransformEqualToTransform(*self, *other) != 0
}
}
}
mod ffi {
use base::{CGFloat, boolean_t};
use geometry::{CGAffineTransform, CGPoint, CGRect, CGSize};
use core_foundation::dictionary::CFDictionaryRef;
#[link(name = "CoreGraphics", kind = "framework")]
extern {
pub fn CGRectInset(rect: CGRect, dx: CGFloat, dy: CGFloat) -> CGRect;
pub fn CGRectMakeWithDictionaryRepresentation(dict: CFDictionaryRef,
rect: *mut CGRect) -> boolean_t;
pub fn CGRectIsEmpty(rect: CGRect) -> boolean_t;
pub fn CGRectIntersectsRect(rect1: CGRect, rect2: CGRect) -> boolean_t;
pub fn CGRectEqualToRect(rect1: CGRect, rect2: CGRect) -> boolean_t;
pub fn CGAffineTransformInvert(t: CGAffineTransform) -> CGAffineTransform;
pub fn CGAffineTransformEqualToTransform(t1: CGAffineTransform,
t2: CGAffineTransform) -> boolean_t;
pub fn CGPointApplyAffineTransform(point: CGPoint, t: CGAffineTransform) -> CGPoint;
pub fn CGRectApplyAffineTransform(rect: CGRect, t: CGAffineTransform) -> CGRect;
pub fn CGSizeApplyAffineTransform(size: CGSize, t: CGAffineTransform) -> CGSize;
}
}
pub use core_graphics_types::geometry::*;

62
third_party/rust/core-graphics/src/gradient.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,62 @@
// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![allow(non_upper_case_globals)]
use base::CGFloat;
use color::CGColor;
use color_space::CGColorSpace;
use core_foundation::array::{ CFArray, CFArrayRef };
use core_foundation::base::{CFRelease, CFRetain, TCFType};
use foreign_types::ForeignType;
use libc::size_t;
bitflags! {
#[repr(C)]
pub struct CGGradientDrawingOptions: u32 {
const CGGradientDrawsBeforeStartLocation = (1 << 0);
const CGGradientDrawsAfterEndLocation = (1 << 1);
}
}
foreign_type! {
#[doc(hidden)]
type CType = ::sys::CGGradient;
fn drop = |p| CFRelease(p as *mut _);
fn clone = |p| CFRetain(p as *const _) as *mut _;
pub struct CGGradient;
pub struct CGGradientRef;
}
impl CGGradient {
pub fn create_with_color_components(color_space: &CGColorSpace, components: &[CGFloat], locations: &[CGFloat], count: usize) -> CGGradient {
unsafe {
let result = CGGradientCreateWithColorComponents(color_space.as_ptr(), components.as_ptr(), locations.as_ptr(), count);
assert!(!result.is_null());
Self::from_ptr(result)
}
}
pub fn create_with_colors(color_space: &CGColorSpace, colors: &CFArray<CGColor>, locations: &[CGFloat]) -> CGGradient {
unsafe {
let result = CGGradientCreateWithColors(color_space.as_ptr(), colors.as_concrete_TypeRef(), locations.as_ptr());
assert!(!result.is_null());
Self::from_ptr(result)
}
}
}
#[link(name = "CoreGraphics", kind = "framework")]
extern {
fn CGGradientCreateWithColorComponents(color_space: ::sys::CGColorSpaceRef, components: *const CGFloat, locations: *const CGFloat, count: size_t) -> ::sys::CGGradientRef;
fn CGGradientCreateWithColors(color_space: ::sys::CGColorSpaceRef, colors: CFArrayRef, locations: *const CGFloat) -> ::sys::CGGradientRef;
}

8
third_party/rust/core-graphics/src/image.rs поставляемый
Просмотреть файл

@ -24,10 +24,10 @@ pub enum CGImageAlphaInfo {
#[repr(C)]
pub enum CGImageByteOrderInfo {
CGImageByteOrderMask = 0x7000,
CGImageByteOrder16Little = (1 << 12),
CGImageByteOrder32Little = (2 << 12),
CGImageByteOrder16Big = (3 << 12),
CGImageByteOrder32Big = (4 << 12)
CGImageByteOrder16Little = 1 << 12,
CGImageByteOrder32Little = 2 << 12,
CGImageByteOrder16Big = 3 << 12,
CGImageByteOrder32Big = 4 << 12
}
foreign_type! {

6
third_party/rust/core-graphics/src/lib.rs поставляемый
Просмотреть файл

@ -13,12 +13,13 @@ extern crate libc;
extern crate core_foundation;
#[macro_use]
#[cfg(target_os = "macos")]
extern crate bitflags;
#[macro_use]
extern crate foreign_types;
extern crate core_graphics_types;
pub mod base;
pub mod color;
pub mod color_space;
@ -32,10 +33,11 @@ pub mod event;
pub mod event_source;
pub mod font;
pub mod geometry;
pub mod gradient;
#[cfg(target_os = "macos")]
pub mod window;
#[cfg(target_os = "macos")]
pub mod private;
pub mod image;
pub mod path;
mod sys;
pub mod sys;

3
third_party/rust/core-graphics/src/sys.rs поставляемый
Просмотреть файл

@ -23,6 +23,9 @@ pub type CGFontRef = *mut CGFont;
pub enum CGContext {}
pub type CGContextRef = *mut CGContext;
pub enum CGGradient {}
pub type CGGradientRef = *mut CGGradient;
#[cfg(target_os = "macos")]
mod macos {
pub enum CGEvent {}

Просмотреть файл

@ -1 +1 @@
{"files":{"COPYRIGHT":"ec82b96487e9e778ee610c7ab245162464782cfa1f555c2299333f8dbe5c036a","Cargo.toml":"f45c41b63719e265b213500c162ffd643098b6d09b762a6f56ec4b9afab38c64","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","README.md":"98d25015857a430aac32f34bdc979a1a66e672a0ea42c5f92dd9cfe23c1fccfd","src/font.rs":"aacf7a01fa8b4fe6fc598d08fcbec39cca368161806bcf8a68ca141115758638","src/font_collection.rs":"02de0ce2a61683314897a521d31ab9cc572a8b10ceda2ac47181fbe18bf4f235","src/font_descriptor.rs":"43910d733140861b8daf615b832d816a2e1a525af0a1c370c5e21dbaf5e42c65","src/font_manager.rs":"0abebafad90fc1cc74742493c812ec617a44a80969bab64807d6e32ae70033c0","src/frame.rs":"357691ef297a437ac88c2147312e3db0cb7f1c97c28bd6c22961b9931af961f6","src/framesetter.rs":"0f60f02dbb0673ec37914196b5c88f9533769e9015b5ec715b1bebd0b9d8d80c","src/lib.rs":"74646976f818f56abe5c68d67e7731080e2ca898ffd66f806625b92a8f3dd666","src/line.rs":"a53f2c36271eb9d0393af5e67ab4873b9326312f7c5af236bfe7145a109e1e24","src/run.rs":"9f127a6b6bde12f4e9ff6cf4524c1813d565dfbfe52c81d6e709792bdaf7fb17","src/string_attributes.rs":"ea0f854d64097d3626a03002323e2276e28affae7a698aaadd89dd6b744dd80f"},"package":"131b3fd1f8bd5db9f2b398fa4fdb6008c64afc04d447c306ac2c7e98fba2a61d"}
{"files":{"COPYRIGHT":"ec82b96487e9e778ee610c7ab245162464782cfa1f555c2299333f8dbe5c036a","Cargo.toml":"fd13910a84ac160e2f17a693091bce523f7c88c5f58e923c78a37f7ea17511ce","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","README.md":"98d25015857a430aac32f34bdc979a1a66e672a0ea42c5f92dd9cfe23c1fccfd","src/font.rs":"6c260c8e0ba08400b67835cfdfe0f1473bf94e4f385e8c509b48ae95164c3b75","src/font_collection.rs":"02de0ce2a61683314897a521d31ab9cc572a8b10ceda2ac47181fbe18bf4f235","src/font_descriptor.rs":"beba611e282150ff7d7551f858f1b001a0ec0863d708af035532d51ee307f5d0","src/font_manager.rs":"0abebafad90fc1cc74742493c812ec617a44a80969bab64807d6e32ae70033c0","src/frame.rs":"ed1e2aad7be9dafc3e9729f2caecefd4214a9552f834932a414239146142069a","src/framesetter.rs":"13e34b4111cee5f023aa05e2220d2a6f102e96fd18c51a356992bffd6c9fc7c1","src/lib.rs":"74646976f818f56abe5c68d67e7731080e2ca898ffd66f806625b92a8f3dd666","src/line.rs":"02fab7f07c3f6a003a7c35ffeb3d37546ae58e4da7fe05f26e520f283397a602","src/run.rs":"b86e9b9b39effe4a79c6002880d95f214742d448029a3111e288734abe75b827","src/string_attributes.rs":"ea0f854d64097d3626a03002323e2276e28affae7a698aaadd89dd6b744dd80f"},"package":"04dfae50af11e72657fe7174cddb1ecddc5398037f7f6f39533ad69207c9a4e2"}

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше