diff --git a/.cargo/config.in b/.cargo/config.in index e5d3e4adf70f7..7d61fb7c8e308 100644 --- a/.cargo/config.in +++ b/.cargo/config.in @@ -292,7 +292,7 @@ wgpu ? rev = -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " ] git @@ -315,7 +315,7 @@ wgpu rev = " -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " replace - diff --git a/Cargo.lock b/Cargo.lock index 63a78800670be..ca1136742fb51 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6686,9 +6686,9 @@ wgpu ? rev = -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d # -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " dependencies = @@ -20915,9 +20915,9 @@ wgpu ? rev = -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d # -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " dependencies = @@ -27486,7 +27486,7 @@ version . 0 . -193 +194 " source = @@ -27514,7 +27514,7 @@ index checksum = " -25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89 +0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773 " dependencies = @@ -27651,7 +27651,7 @@ version . 0 . -193 +194 " source = @@ -27679,7 +27679,7 @@ index checksum = " -43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3 +a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0 " dependencies = @@ -28870,15 +28870,19 @@ version " 0 . -2 +3 . 0 + +sdk +- 1 . -5 +3 . -4 +268 +. +0 " source = @@ -28906,23 +28910,18 @@ index checksum = " -246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830 +eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844 " dependencies = [ " bitflags -1 +2 . -999 +4 . -999 -" -" -num -- -traits +0 " ] [ @@ -35517,9 +35516,9 @@ wgpu ? rev = -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d # -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " dependencies = @@ -35546,12 +35545,23 @@ codespan reporting " " +indexmap +2 +. +999 +. +999 +" +" log " " naga " " +once_cell +" +" parking_lot " " @@ -35632,9 +35642,9 @@ wgpu ? rev = -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d # -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " dependencies = @@ -35805,9 +35815,9 @@ wgpu ? rev = -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d # -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " dependencies = diff --git a/gfx/wgpu_bindings/Cargo.toml b/gfx/wgpu_bindings/Cargo.toml index e3f9d67efd1f8..817f9460c110d 100644 --- a/gfx/wgpu_bindings/Cargo.toml +++ b/gfx/wgpu_bindings/Cargo.toml @@ -98,7 +98,7 @@ wgpu rev = " -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " # Note @@ -229,7 +229,7 @@ wgpu rev = " -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " features = @@ -291,7 +291,7 @@ wgpu rev = " -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " features = @@ -378,7 +378,7 @@ wgpu rev = " -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " features = @@ -419,7 +419,7 @@ wgpu rev = " -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " [ dependencies @@ -453,7 +453,7 @@ wgpu rev = " -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " [ target @@ -489,7 +489,7 @@ wgpu rev = " -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " [ target diff --git a/gfx/wgpu_bindings/moz.yaml b/gfx/wgpu_bindings/moz.yaml index c699e70b30cdf..96aab4ae235df 100644 --- a/gfx/wgpu_bindings/moz.yaml +++ b/gfx/wgpu_bindings/moz.yaml @@ -124,7 +124,7 @@ SSS release : commit -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d # Revision to @@ -145,7 +145,7 @@ preferred ) revision : -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d license : [ diff --git a/supply-chain/audits.toml b/supply-chain/audits.toml index cc62c5b28f8f6..c969070b3c14e 100644 --- a/supply-chain/audits.toml +++ b/supply-chain/audits.toml @@ -11940,7 +11940,7 @@ delta 0 git : -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " importable = @@ -24371,7 +24371,7 @@ delta 2 git : -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " importable = @@ -33401,6 +33401,66 @@ delta [ audits . +spirv +] +] +who += +" +Nicolas +Silva +< +nical +fastmail +. +com +> +" +criteria += +" +safe +- +to +- +deploy +" +delta += +" +0 +. +2 +. +0 ++ +1 +. +5 +. +4 +- +> +0 +. +3 +. +0 ++ +sdk +- +1 +. +3 +. +268 +. +0 +" +[ +[ +audits +. strck ] ] @@ -40890,7 +40950,7 @@ delta 0 git : -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " importable = @@ -41361,7 +41421,7 @@ delta 0 git : -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " importable = @@ -41832,7 +41892,7 @@ delta 0 git : -46757372cc02d6608124502104a0c225e1744fd7 +4b82121501a61c2c2e11cb472d70ba54af3aa12d " importable = diff --git a/supply-chain/imports.lock b/supply-chain/imports.lock index 740a340fc548a..c9bfe33ed1d41 100644 --- a/supply-chain/imports.lock +++ b/supply-chain/imports.lock @@ -3585,6 +3585,51 @@ Tolnay [ publisher . +serde +] +] +version += +" +1 +. +0 +. +194 +" +when += +" +2024 +- +01 +- +02 +" +user +- +id += +3618 +user +- +login += +" +dtolnay +" +user +- +name += +" +David +Tolnay +" +[ +[ +publisher +. serde_bytes ] ] @@ -3765,6 +3810,51 @@ Tolnay [ publisher . +serde_derive +] +] +version += +" +1 +. +0 +. +194 +" +when += +" +2024 +- +01 +- +02 +" +user +- +id += +3618 +user +- +login += +" +dtolnay +" +user +- +name += +" +David +Tolnay +" +[ +[ +publisher +. serde_json ] ] diff --git a/third_party/rust/naga/.cargo-checksum.json b/third_party/rust/naga/.cargo-checksum.json index c21d322a1e336..859f207eb4be9 100644 --- a/third_party/rust/naga/.cargo-checksum.json +++ b/third_party/rust/naga/.cargo-checksum.json @@ -32,7 +32,7 @@ toml " : " -db839f1b4ab6abd390be6fceaa0c79b0b7a61eed2ab2cf88a90ed92339167837 +7d17ae22195889b93b02b2adaff36d76ecf7a9ed24917f2c0eec44e7548bc75e " " README @@ -615,7 +615,7 @@ rs " : " -2f07a63209258a8459ae6a6ef8277313c4dc771ab96ef6f5ab3a383a0d3599ba +57b48140713241a92c8786791a02002076b1bc1869acd1d8651c6f082c7641f1 " " src @@ -874,7 +874,7 @@ rs " : " -9b4ecc53131b6250cde4cae93557eb467127e9e8d0536d29a851538684ae5371 +dccc6671e6a4a7f1139aecdf979faa3689609081af5fa2cbbd6a2e8c4128c004 " " src @@ -934,7 +934,7 @@ rs " : " -ccbeb4b80959c00323b2459e316b7c5c7e3f313ab94f2151fa44a2dee6255d4e +363775ff0e025963f95ec71b95221e79dee126efc6838bed0ee677f365c531d0 " " src diff --git a/third_party/rust/naga/Cargo.toml b/third_party/rust/naga/Cargo.toml index cb8e65de2adf2..37d2ff25dc798 100644 --- a/third_party/rust/naga/Cargo.toml +++ b/third_party/rust/naga/Cargo.toml @@ -343,7 +343,7 @@ thiserror . 0 . -52 +56 " [ dependencies @@ -465,7 +465,7 @@ version . 0 . -193 +194 " features = @@ -487,7 +487,7 @@ version " 0 . -2 +3 " optional = @@ -654,7 +654,7 @@ version " 0 . -2 +3 " features = diff --git a/third_party/rust/naga/src/front/glsl/context.rs b/third_party/rust/naga/src/front/glsl/context.rs index 815d21eadce90..ae711975f44a1 100644 --- a/third_party/rust/naga/src/front/glsl/context.rs +++ b/third_party/rust/naga/src/front/glsl/context.rs @@ -6922,6 +6922,23 @@ Self : Output { +if +self +. +is_const +{ +& +self +. +module +. +const_expressions +[ +index +] +} +else +{ & self . @@ -6931,6 +6948,7 @@ index ] } } +} # [ derive diff --git a/third_party/rust/naga/src/front/spv/convert.rs b/third_party/rust/naga/src/front/spv/convert.rs index 8dc47a5c7eae5..31ca6ac424ea5 100644 --- a/third_party/rust/naga/src/front/spv/convert.rs +++ b/third_party/rust/naga/src/front/spv/convert.rs @@ -8,15 +8,6 @@ error Error ; use -num_traits -: -: -cast -: -: -FromPrimitive -; -use std : : diff --git a/third_party/rust/naga/src/front/spv/mod.rs b/third_party/rust/naga/src/front/spv/mod.rs index bd056364fad34..529daf86e9c2b 100644 --- a/third_party/rust/naga/src/front/spv/mod.rs +++ b/third_party/rust/naga/src/front/spv/mod.rs @@ -58,15 +58,6 @@ FastIndexMap } ; use -num_traits -: -: -cast -: -: -FromPrimitive -; -use petgraph : : @@ -2662,9 +2653,11 @@ spirv Op : : -from_u16 +from_u32 ( opcode +as +u32 ) . ok_or diff --git a/third_party/rust/serde/.cargo-checksum.json b/third_party/rust/serde/.cargo-checksum.json index 45ed88175f50e..2c0afe8f64c0b 100644 --- a/third_party/rust/serde/.cargo-checksum.json +++ b/third_party/rust/serde/.cargo-checksum.json @@ -11,7 +11,7 @@ toml " : " -931117d542e190ad20b9c984a357c900c39fe8d59df2c229b6e3a711622a98c8 +1823c76d8cb6a803a6f29bb748445814da9249561e17c21827c5ca061460f5f2 " " LICENSE @@ -110,7 +110,7 @@ rs " : " -07cbf58cc8f45d8009558adfed7f7340ea68ad9296bb79d7c4a872ae1a635d09 +7fb7427de1981bfa13af06c898d213a6bc34697148e96cef08d3c447c1999527 " " src @@ -171,7 +171,7 @@ rs " : " -45e8ba8590fc9e78a7bd0bbfac14cdb1eeea5cb16f920997e0efc10e0b55e540 +84c4afda21e66fc28152099bcf182092fe8df409ba510296c66a54987bb4a107 " " src @@ -286,7 +286,7 @@ rs " : " -e95dabf07216136440d6a2822cf37775f583d141c21d1b37ec9c55ae2a5024ab +a7fd082203d63cbe4f0fe86d9be16bf4f3b2444653dac6bb61d82e0f4f6b4214 " " src @@ -305,6 +305,6 @@ package " : " -25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89 +0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773 " } diff --git a/third_party/rust/serde/Cargo.toml b/third_party/rust/serde/Cargo.toml index 8bf11b1efc373..cb37118ed624b 100644 --- a/third_party/rust/serde/Cargo.toml +++ b/third_party/rust/serde/Cargo.toml @@ -123,7 +123,7 @@ version . 0 . -193 +194 " authors = @@ -433,5 +433,5 @@ version . 0 . -193 +194 " diff --git a/third_party/rust/serde/src/lib.rs b/third_party/rust/serde/src/lib.rs index f6893c59ce54c..930f0a8775596 100644 --- a/third_party/rust/serde/src/lib.rs +++ b/third_party/rust/serde/src/lib.rs @@ -20,7 +20,7 @@ serde . 0 . -193 +194 " ) ] @@ -123,10 +123,6 @@ module_name_repetitions clippy : : -option_if_let_else -clippy -: -: single_match_else clippy : diff --git a/third_party/rust/serde_derive/.cargo-checksum.json b/third_party/rust/serde_derive/.cargo-checksum.json index 2d35260cd1465..318a0bffdc74d 100644 --- a/third_party/rust/serde_derive/.cargo-checksum.json +++ b/third_party/rust/serde_derive/.cargo-checksum.json @@ -11,7 +11,7 @@ toml " : " -e1855acc71acc2ca2c973f774d5942b647b954cfcc509832e828e22d7cb96cfa +6edb5218a4acfe9c7a8934931364e42e79afa74cb3c526bb88cbe954dfafe508 " " LICENSE @@ -221,7 +221,7 @@ rs " : " -9b755f1f68c5e18fb7be0ab32dd56dd4be2f919826fe1a9d3830c01a23662e52 +5007fb78556e468731d63f2e5973714a8c11bfa74ec593e6309913737f7e1861 " " src @@ -262,6 +262,6 @@ package " : " -43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3 +a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0 " } diff --git a/third_party/rust/serde_derive/Cargo.toml b/third_party/rust/serde_derive/Cargo.toml index baf538a8d3474..646c57b95f7b0 100644 --- a/third_party/rust/serde_derive/Cargo.toml +++ b/third_party/rust/serde_derive/Cargo.toml @@ -118,7 +118,7 @@ version . 0 . -193 +194 " authors = @@ -327,6 +327,8 @@ version 1 . 0 +. +74 " [ dependencies @@ -339,6 +341,8 @@ version 1 . 0 +. +35 " [ dependencies @@ -352,7 +356,7 @@ version . 0 . -28 +46 " [ dev diff --git a/third_party/rust/serde_derive/src/lib.rs b/third_party/rust/serde_derive/src/lib.rs index 80ad48ca384bc..cd3c5fac9ee9e 100644 --- a/third_party/rust/serde_derive/src/lib.rs +++ b/third_party/rust/serde_derive/src/lib.rs @@ -20,7 +20,7 @@ serde_derive . 0 . -193 +194 " ) ] @@ -143,10 +143,6 @@ must_use_candidate clippy : : -option_if_let_else -clippy -: -: similar_names clippy : diff --git a/third_party/rust/spirv/.cargo-checksum.json b/third_party/rust/spirv/.cargo-checksum.json index 1742c13b96413..4fd42438139a4 100644 --- a/third_party/rust/spirv/.cargo-checksum.json +++ b/third_party/rust/spirv/.cargo-checksum.json @@ -11,7 +11,7 @@ toml " : " -965504451cd792223d66d76e77778f823e5274acf1a06371815c6fcdc39cb602 +29fbbbc568f51d6ab5154843bdd673427f083c459db8c6d366ec8f2078c39431 " " README @@ -20,7 +20,7 @@ md " : " -b2fb89fc821eb3ecb38a229ed3dfed36a2f30ba9338b3695ee6ce96eab438d60 +d0a33acc70ea5212e5fc6b5d5c88db60b38753b2591f67ebf06644aa13d6e631 " " autogen_spirv @@ -29,7 +29,7 @@ rs " : " -6408f8408001fd1012e2731a737cb08f032114b390c3cf10d813ab89a7c84c03 +236bd685f9eb20b9a82a6c0fef1553a6365b24a7848ae2b681df3c1528edc080 " " lib @@ -47,7 +47,7 @@ toml " : " -acbbc8f28fd56745b98909e9f0928d97cdadeab242652a8596e716fe6d405b5e +a9c4eb6eaa1b3b8eb7ff742ec4963be32ec1ec7664c8a52218cc74898bad3ec4 " } " @@ -55,6 +55,6 @@ package " : " -246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830 +eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844 " } diff --git a/third_party/rust/spirv/Cargo.toml b/third_party/rust/spirv/Cargo.toml index 183df8eae3720..949b4e43db147 100644 --- a/third_party/rust/spirv/Cargo.toml +++ b/third_party/rust/spirv/Cargo.toml @@ -52,46 +52,20 @@ 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 +are +reading this file be aware that the -upstream +original Cargo . toml @@ -107,6 +81,19 @@ much more reasonable ) +. +# +See +Cargo +. +toml +. +orig +for +the +original +contents +. [ package ] @@ -125,15 +112,19 @@ version " 0 . -2 +3 . 0 + +sdk +- 1 . -5 +3 +. +268 . -4 +0 " authors = @@ -242,27 +233,10 @@ bitflags version = " -1 -" -[ -dependencies +2 . -num -- -traits -] -version -= -" 0 -. -2 " -default -- -features -= -false [ dependencies . @@ -292,6 +266,11 @@ deserialize " serde " +" +bitflags +/ +serde +" ] serialize = @@ -299,4 +278,9 @@ serialize " serde " +" +bitflags +/ +serde +" ] diff --git a/third_party/rust/spirv/README.md b/third_party/rust/spirv/README.md index 53b75761e0f6c..f7e3f5f87fc1b 100644 --- a/third_party/rust/spirv/README.md +++ b/third_party/rust/spirv/README.md @@ -168,15 +168,9 @@ spirv " 0 . -2 +3 . 0 -+ -1 -. -5 -. -4 " Version - diff --git a/third_party/rust/spirv/autogen_spirv.rs b/third_party/rust/spirv/autogen_spirv.rs index 60319c16609db..8ed02809e2374 100644 --- a/third_party/rust/spirv/autogen_spirv.rs +++ b/third_party/rust/spirv/autogen_spirv.rs @@ -26,7 +26,7 @@ MINOR_VERSION : u8 = -5u8 +6u8 ; pub const @@ -34,7 +34,7 @@ REVISION : u8 = -4u8 +1u8 ; bitflags ! @@ -84,6 +84,18 @@ _a_id_image_operands_a_image_operands ] # [ +derive +( +Clone +Copy +Debug +PartialEq +Eq +Hash +) +] +# +[ cfg_attr ( feature @@ -219,6 +231,16 @@ ZERO_EXTEND = 8192u32 ; +const +NONTEMPORAL += +16384u32 +; +const +OFFSETS += +65536u32 +; } } bitflags @@ -269,6 +291,18 @@ _a_id_fp_fast_math_mode_a_fp_fast_math_mode ] # [ +derive +( +Clone +Copy +Debug +PartialEq +Eq +Hash +) +] +# +[ cfg_attr ( feature @@ -339,6 +373,16 @@ FAST = 16u32 ; +const +ALLOW_CONTRACT_FAST_INTEL += +65536u32 +; +const +ALLOW_REASSOC_INTEL += +131072u32 +; } } bitflags @@ -389,6 +433,18 @@ _a_id_selection_control_a_selection_control ] # [ +derive +( +Clone +Copy +Debug +PartialEq +Eq +Hash +) +] +# +[ cfg_attr ( feature @@ -494,6 +550,18 @@ _a_id_loop_control_a_loop_control ] # [ +derive +( +Clone +Copy +Debug +PartialEq +Eq +Hash +) +] +# +[ cfg_attr ( feature @@ -619,6 +687,21 @@ SPECULATED_ITERATIONS_INTEL = 4194304u32 ; +const +NO_FUSION_INTEL += +8388608u32 +; +const +LOOP_COUNT_INTEL += +16777216u32 +; +const +MAX_REINVOCATION_DELAY_INTEL += +33554432u32 +; } } bitflags @@ -669,6 +752,18 @@ _a_id_function_control_a_function_control ] # [ +derive +( +Clone +Copy +Debug +PartialEq +Eq +Hash +) +] +# +[ cfg_attr ( feature @@ -734,6 +829,11 @@ CONST = 8u32 ; +const +OPT_NONE_INTEL += +65536u32 +; } } bitflags @@ -784,6 +884,18 @@ _a_id_memory_semantics_a_memory_semantics ] # [ +derive +( +Clone +Copy +Debug +PartialEq +Eq +Hash +) +] +# +[ cfg_attr ( feature @@ -969,6 +1081,18 @@ _a_id_memory_access_a_memory_access ] # [ +derive +( +Clone +Copy +Debug +PartialEq +Eq +Hash +) +] +# +[ cfg_attr ( feature @@ -1059,6 +1183,16 @@ NON_PRIVATE_POINTER_KHR = 32u32 ; +const +ALIAS_SCOPE_INTEL_MASK += +65536u32 +; +const +NO_ALIAS_INTEL_MASK += +131072u32 +; } } bitflags @@ -1109,6 +1243,18 @@ _a_id_kernel_profiling_info_a_kernel_profiling_info ] # [ +derive +( +Clone +Copy +Debug +PartialEq +Eq +Hash +) +] +# +[ cfg_attr ( feature @@ -1209,6 +1355,18 @@ _a_id_ray_flags_a_ray_flags ] # [ +derive +( +Clone +Copy +Debug +PartialEq +Eq +Hash +) +] +# +[ cfg_attr ( feature @@ -1304,6 +1462,11 @@ SKIP_AAB_BS_KHR = 512u32 ; +const +FORCE_OPACITY_MICROMAP2_STATE_EXT += +1024u32 +; } } bitflags @@ -1354,6 +1517,18 @@ _a_id_fragment_shading_rate_a_fragment_shading_rate ] # [ +derive +( +Clone +Copy +Debug +PartialEq +Eq +Hash +) +] +# +[ cfg_attr ( feature @@ -1421,9 +1596,6 @@ HORIZONTAL4_PIXELS doc = " -/ -/ -/ SPIR - V @@ -1551,39 +1723,35 @@ OpenCL_CPP HLSL = 5u32 -} -# -[ -allow -( -non_upper_case_globals -) -] -impl -SourceLanguage -{ +CPP_for_OpenCL += +6u32 +SYCL += +7u32 +HERO_C += +8u32 +NZSL += +9u32 +WGSL += +10u32 +Slang += +11u32 } impl -num_traits -: -: -FromPrimitive -for SourceLanguage { -# -[ -allow -( -trivial_numeric_casts -) -] +pub fn -from_i64 +from_u32 ( n : -i64 +u32 ) - > @@ -1596,51 +1764,33 @@ Some ( match n -as -u32 { 0u32 +. +. = -> -Self -: -: -Unknown -1u32 -= -> -Self -: -: -ESSL -2u32 +11u32 = > -Self +unsafe +{ +core : : -GLSL -3u32 -= -> -Self +mem : : -OpenCL_C -4u32 -= -> -Self +transmute : : -OpenCL_CPP -5u32 -= +< +u32 +SourceLanguage > -Self -: -: -HLSL +( +n +) +} _ = > @@ -1649,30 +1799,17 @@ None } ) } -fn -from_u64 +} +# +[ +allow ( -n -: -u64 +non_upper_case_globals ) -- -> -Option -< -Self -> +] +impl +SourceLanguage { -Self -: -: -from_i64 -( -n -as -i64 -) -} } impl core @@ -1785,6 +1922,78 @@ Self : HLSL ) +" +CPP_for_OpenCL +" += +> +Ok +( +Self +: +: +CPP_for_OpenCL +) +" +SYCL +" += +> +Ok +( +Self +: +: +SYCL +) +" +HERO_C +" += +> +Ok +( +Self +: +: +HERO_C +) +" +NZSL +" += +> +Ok +( +Self +: +: +NZSL +) +" +WGSL +" += +> +Ok +( +Self +: +: +WGSL +) +" +Slang +" += +> +Ok +( +Self +: +: +Slang +) _ = > @@ -1801,9 +2010,6 @@ Err doc = " -/ -/ -/ SPIR - V @@ -1958,6 +2164,148 @@ MissNV CallableNV = 5318u32 +TaskEXT += +5364u32 +MeshEXT += +5365u32 +} +impl +ExecutionModel +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. += +6u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +ExecutionModel +> +( +n +) +} +5267u32 +. +. += +5268u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +ExecutionModel +> +( +n +) +} +5313u32 +. +. += +5318u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +ExecutionModel +> +( +n +) +} +5364u32 +. +. += +5365u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +ExecutionModel +> +( +n +) +} +_ += +> +return +None +} +) +} } # [ @@ -2037,257 +2385,83 @@ CallableNV ; } impl -num_traits +core +: +: +str : : -FromPrimitive +FromStr for ExecutionModel { -# -[ -allow +type +Err += ( -trivial_numeric_casts ) -] +; fn -from_i64 +from_str ( -n +s : -i64 +& +str ) - > -Option +Result < Self +Self +: +: +Err > { -Some -( match -n -as -u32 +s { -0u32 +" +Vertex +" = > +Ok +( Self : : Vertex -1u32 +) +" +TessellationControl +" = > +Ok +( Self : : TessellationControl -2u32 +) +" +TessellationEvaluation +" = > +Ok +( Self : : TessellationEvaluation -3u32 -= -> -Self -: -: -Geometry -4u32 -= -> -Self -: -: -Fragment -5u32 -= -> -Self -: -: -GLCompute -6u32 -= -> -Self -: -: -Kernel -5267u32 -= -> -Self -: -: -TaskNV -5268u32 -= -> -Self -: -: -MeshNV -5313u32 -= -> -Self -: -: -RayGenerationNV -5314u32 -= -> -Self -: -: -IntersectionNV -5315u32 -= -> -Self -: -: -AnyHitNV -5316u32 -= -> -Self -: -: -ClosestHitNV -5317u32 -= -> -Self -: -: -MissNV -5318u32 -= -> -Self -: -: -CallableNV -_ -= -> -return -None -} -) -} -fn -from_u64 -( -n -: -u64 -) -- -> -Option -< -Self -> -{ -Self -: -: -from_i64 -( -n -as -i64 -) -} -} -impl -core -: -: -str -: -: -FromStr -for -ExecutionModel -{ -type -Err -= -( -) -; -fn -from_str -( -s -: -& -str -) -- -> -Result -< -Self -Self -: -: -Err -> -{ -match -s -{ -" -Vertex -" -= -> -Ok -( -Self -: -: -Vertex -) -" -TessellationControl -" -= -> -Ok -( -Self -: -: -TessellationControl -) -" -TessellationEvaluation -" -= -> -Ok -( -Self -: -: -TessellationEvaluation -) -" -Geometry -" +) +" +Geometry +" = > Ok @@ -2501,6 +2675,30 @@ Self : CallableNV ) +" +TaskEXT +" += +> +Ok +( +Self +: +: +TaskEXT +) +" +MeshEXT +" += +> +Ok +( +Self +: +: +MeshEXT +) _ = > @@ -2517,9 +2715,6 @@ Err doc = " -/ -/ -/ SPIR - V @@ -2642,49 +2837,16 @@ PhysicalStorageBuffer64 = 5348u32 } -# -[ -allow -( -non_upper_case_globals -) -] impl AddressingModel { pub -const -PhysicalStorageBuffer64EXT -: -Self -= -Self -: -: -PhysicalStorageBuffer64 -; -} -impl -num_traits -: -: -FromPrimitive -for -AddressingModel -{ -# -[ -allow -( -trivial_numeric_casts -) -] fn -from_i64 +from_u32 ( n : -i64 +u32 ) - > @@ -2697,37 +2859,55 @@ Some ( match n -as -u32 { 0u32 +. +. += +2u32 = > -Self +unsafe +{ +core : : -Logical -1u32 -= -> -Self +mem : : -Physical32 -2u32 -= -> -Self +transmute : : -Physical64 +< +u32 +AddressingModel +> +( +n +) +} 5348u32 = > -Self +unsafe +{ +core : : -PhysicalStorageBuffer64 +mem +: +: +transmute +: +: +< +u32 +AddressingModel +> +( +5348u32 +) +} _ = > @@ -2736,30 +2916,28 @@ None } ) } -fn -from_u64 +} +# +[ +allow ( -n -: -u64 +non_upper_case_globals ) -- -> -Option -< -Self -> +] +impl +AddressingModel { +pub +const +PhysicalStorageBuffer64EXT +: +Self += Self : : -from_i64 -( -n -as -i64 -) -} +PhysicalStorageBuffer64 +; } impl core @@ -2876,9 +3054,6 @@ Err doc = " -/ -/ -/ SPIR - V @@ -3001,49 +3176,16 @@ Vulkan = 3u32 } -# -[ -allow -( -non_upper_case_globals -) -] impl MemoryModel { pub -const -VulkanKHR -: -Self -= -Self -: -: -Vulkan -; -} -impl -num_traits -: -: -FromPrimitive -for -MemoryModel -{ -# -[ -allow -( -trivial_numeric_casts -) -] fn -from_i64 +from_u32 ( n : -i64 +u32 ) - > @@ -3056,37 +3198,33 @@ Some ( match n -as -u32 { 0u32 +. +. = -> -Self -: -: -Simple -1u32 +3u32 = > -Self +unsafe +{ +core : : -GLSL450 -2u32 -= -> -Self +mem : : -OpenCL -3u32 -= -> -Self +transmute : : -Vulkan +< +u32 +MemoryModel +> +( +n +) +} _ = > @@ -3095,30 +3233,28 @@ None } ) } -fn -from_u64 +} +# +[ +allow ( -n -: -u64 +non_upper_case_globals ) -- -> -Option -< -Self -> +] +impl +MemoryModel { +pub +const +VulkanKHR +: +Self += Self : : -from_i64 -( -n -as -i64 -) -} +Vulkan +; } impl core @@ -3235,9 +3371,6 @@ Err doc = " -/ -/ -/ SPIR - V @@ -3461,6 +3594,18 @@ LocalSizeId LocalSizeHintId = 39u32 +NonCoherentColorAttachmentReadEXT += +4169u32 +NonCoherentDepthAttachmentReadEXT += +4170u32 +NonCoherentStencilAttachmentReadEXT += +4171u32 +SubgroupUniformControlFlowKHR += +4421u32 PostDepthCoverage = 4446u32 @@ -3479,9 +3624,45 @@ RoundingModeRTE RoundingModeRTZ = 4463u32 +EarlyAndLateFragmentTestsAMD += +5017u32 StencilRefReplacingEXT = 5027u32 +CoalescingAMDX += +5069u32 +MaxNodeRecursionAMDX += +5071u32 +StaticNumWorkgroupsAMDX += +5072u32 +ShaderIndexAMDX += +5073u32 +MaxNumWorkgroupsAMDX += +5077u32 +StencilRefUnchangedFrontAMD += +5079u32 +StencilRefGreaterFrontAMD += +5080u32 +StencilRefLessFrontAMD += +5081u32 +StencilRefUnchangedBackAMD += +5082u32 +StencilRefGreaterBackAMD += +5083u32 +StencilRefLessBackAMD += +5084u32 OutputLinesNV = 5269u32 @@ -3515,6 +3696,21 @@ ShadingRateInterlockOrderedEXT ShadingRateInterlockUnorderedEXT = 5371u32 +SharedLocalMemorySizeINTEL += +5618u32 +RoundingModeRTPINTEL += +5620u32 +RoundingModeRTNINTEL += +5621u32 +FloatingPointModeALTINTEL += +5622u32 +FloatingPointModeIEEEINTEL += +5623u32 MaxWorkgroupSizeINTEL = 5893u32 @@ -3527,39 +3723,29 @@ NoGlobalOffsetINTEL NumSIMDWorkitemsINTEL = 5896u32 -} -# -[ -allow -( -non_upper_case_globals -) -] -impl -ExecutionMode -{ +SchedulerTargetFmaxMhzINTEL += +5903u32 +StreamingInterfaceINTEL += +6154u32 +RegisterMapInterfaceINTEL += +6160u32 +NamedBarrierCountINTEL += +6417u32 } impl -num_traits -: -: -FromPrimitive -for ExecutionMode { -# -[ -allow -( -trivial_numeric_casts -) -] +pub fn -from_i64 +from_u32 ( n : -i64 +u32 ) - > @@ -3572,497 +3758,671 @@ Some ( match n -as -u32 { 0u32 +. +. = -> -Self -: -: -Invocations -1u32 +12u32 = > -Self +unsafe +{ +core : : -SpacingEqual -2u32 -= -> -Self +mem : : -SpacingFractionalEven -3u32 -= -> -Self +transmute : : -SpacingFractionalOdd -4u32 +< +u32 +ExecutionMode +> +( +n +) +} +14u32 +. +. += +31u32 = > -Self +unsafe +{ +core : : -VertexOrderCw -5u32 -= -> -Self +mem : : -VertexOrderCcw -6u32 -= -> -Self +transmute : : -PixelCenterInteger -7u32 -= +< +u32 +ExecutionMode > -Self -: -: -OriginUpperLeft -8u32 +( +n +) +} +33u32 +. +. += +39u32 = > -Self +unsafe +{ +core : : -OriginLowerLeft -9u32 -= -> -Self +mem : : -EarlyFragmentTests -10u32 -= -> -Self +transmute : : -PointMode -11u32 +< +u32 +ExecutionMode +> +( +n +) +} +4169u32 +. +. += +4171u32 = > -Self +unsafe +{ +core : : -Xfb -12u32 -= -> -Self +mem : : -DepthReplacing -14u32 -= -> -Self +transmute : : -DepthGreater -15u32 +< +u32 +ExecutionMode +> +( +n +) +} +4421u32 = > -Self +unsafe +{ +core : : -DepthLess -16u32 -= -> -Self +mem : : -DepthUnchanged -17u32 -= -> -Self +transmute : : -LocalSize -18u32 +< +u32 +ExecutionMode +> +( +4421u32 +) +} +4446u32 = > -Self +unsafe +{ +core : : -LocalSizeHint -19u32 -= -> -Self +mem : : -InputPoints -20u32 -= -> -Self +transmute : : -InputLines -21u32 +< +u32 +ExecutionMode +> +( +4446u32 +) +} +4459u32 +. +. += +4463u32 = > -Self +unsafe +{ +core : : -InputLinesAdjacency -22u32 -= -> -Self +mem : : -Triangles -23u32 -= -> -Self +transmute : : -InputTrianglesAdjacency -24u32 +< +u32 +ExecutionMode +> +( +n +) +} +5017u32 = > -Self +unsafe +{ +core : : -Quads -25u32 -= -> -Self +mem : : -Isolines -26u32 -= -> -Self +transmute : : -OutputVertices -27u32 +< +u32 +ExecutionMode +> +( +5017u32 +) +} +5027u32 = > -Self +unsafe +{ +core : : -OutputPoints -28u32 -= -> -Self +mem : : -OutputLineStrip -29u32 -= -> -Self +transmute : : -OutputTriangleStrip -30u32 +< +u32 +ExecutionMode +> +( +5027u32 +) +} +5069u32 = > -Self +unsafe +{ +core : : -VecTypeHint -31u32 -= -> -Self +mem : : -ContractionOff -33u32 -= -> -Self +transmute : : -Initializer -34u32 +< +u32 +ExecutionMode +> +( +5069u32 +) +} +5071u32 +. +. += +5073u32 = > -Self +unsafe +{ +core : : -Finalizer -35u32 -= -> -Self +mem : : -SubgroupSize -36u32 -= -> -Self +transmute : : -SubgroupsPerWorkgroup -37u32 +< +u32 +ExecutionMode +> +( +n +) +} +5077u32 = > -Self +unsafe +{ +core : : -SubgroupsPerWorkgroupId -38u32 -= -> -Self +mem : : -LocalSizeId -39u32 -= -> -Self +transmute : : -LocalSizeHintId -4446u32 -= -> -Self -: -: -PostDepthCoverage -4459u32 -= +< +u32 +ExecutionMode > -Self -: -: -DenormPreserve -4460u32 +( +5077u32 +) +} +5079u32 +. +. = -> -Self -: -: -DenormFlushToZero -4461u32 +5084u32 = > -Self +unsafe +{ +core : : -SignedZeroInfNanPreserve -4462u32 -= -> -Self +mem : : -RoundingModeRTE -4463u32 -= -> -Self +transmute : : -RoundingModeRTZ -5027u32 -= +< +u32 +ExecutionMode > -Self -: -: -StencilRefReplacingEXT +( +n +) +} 5269u32 +. +. = -> -Self -: -: -OutputLinesNV 5270u32 = > -Self +unsafe +{ +core : : -OutputPrimitivesNV -5289u32 -= -> -Self +mem : : -DerivativeGroupQuadsNV +transmute +: +: +< +u32 +ExecutionMode +> +( +n +) +} +5289u32 +. +. += 5290u32 = > -Self +unsafe +{ +core : : -DerivativeGroupLinearNV +mem +: +: +transmute +: +: +< +u32 +ExecutionMode +> +( +n +) +} 5298u32 = > -Self +unsafe +{ +core : : -OutputTrianglesNV -5366u32 -= -> -Self +mem : : -PixelInterlockOrderedEXT -5367u32 -= -> -Self +transmute : : -PixelInterlockUnorderedEXT -5368u32 +< +u32 +ExecutionMode +> +( +5298u32 +) +} +5366u32 +. +. += +5371u32 = > -Self +unsafe +{ +core : : -SampleInterlockOrderedEXT -5369u32 -= -> -Self +mem : : -SampleInterlockUnorderedEXT -5370u32 -= -> -Self +transmute : : -ShadingRateInterlockOrderedEXT -5371u32 +< +u32 +ExecutionMode +> +( +n +) +} +5618u32 = > -Self +unsafe +{ +core : : -ShadingRateInterlockUnorderedEXT -5893u32 -= -> -Self +mem : : -MaxWorkgroupSizeINTEL -5894u32 -= -> -Self +transmute : : -MaxWorkDimINTEL -5895u32 +< +u32 +ExecutionMode +> +( +5618u32 +) +} +5620u32 +. +. += +5623u32 = > -Self +unsafe +{ +core : : -NoGlobalOffsetINTEL -5896u32 -= -> -Self +mem : : -NumSIMDWorkitemsINTEL -_ -= +transmute +: +: +< +u32 +ExecutionMode > -return -None -} -) -} -fn -from_u64 ( n -: -u64 ) -- -> -Option -< -Self +} +5893u32 +. +. += +5896u32 += > +unsafe { -Self +core +: : +mem : -from_i64 +: +transmute +: +: +< +u32 +ExecutionMode +> ( n -as -i64 ) } -} -impl +5903u32 += +> +unsafe +{ core : : -str +mem : : -FromStr -for +transmute +: +: +< +u32 ExecutionMode -{ -type -Err -= -( -) -; -fn -from_str +> ( -s -: -& -str +5903u32 ) -- +} +6154u32 += > -Result -< -Self -Self +unsafe +{ +core : : -Err -> +mem +: +: +transmute +: +: +< +u32 +ExecutionMode +> +( +6154u32 +) +} +6160u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +ExecutionMode +> +( +6160u32 +) +} +6417u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +ExecutionMode +> +( +6417u32 +) +} +_ += +> +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +ExecutionMode +{ +pub +const +OutputLinesEXT +: +Self += +Self +: +: +OutputLinesNV +; +pub +const +OutputPrimitivesEXT +: +Self += +Self +: +: +OutputPrimitivesNV +; +pub +const +OutputTrianglesEXT +: +Self += +Self +: +: +OutputTrianglesNV +; +} +impl +core +: +: +str +: +: +FromStr +for +ExecutionMode +{ +type +Err += +( +) +; +fn +from_str +( +s +: +& +str +) +- +> +Result +< +Self +Self +: +: +Err +> { match s @@ -4524,6 +4884,54 @@ Self LocalSizeHintId ) " +NonCoherentColorAttachmentReadEXT +" += +> +Ok +( +Self +: +: +NonCoherentColorAttachmentReadEXT +) +" +NonCoherentDepthAttachmentReadEXT +" += +> +Ok +( +Self +: +: +NonCoherentDepthAttachmentReadEXT +) +" +NonCoherentStencilAttachmentReadEXT +" += +> +Ok +( +Self +: +: +NonCoherentStencilAttachmentReadEXT +) +" +SubgroupUniformControlFlowKHR +" += +> +Ok +( +Self +: +: +SubgroupUniformControlFlowKHR +) +" PostDepthCoverage " = @@ -4596,6 +5004,18 @@ Self RoundingModeRTZ ) " +EarlyAndLateFragmentTestsAMD +" += +> +Ok +( +Self +: +: +EarlyAndLateFragmentTestsAMD +) +" StencilRefReplacingEXT " = @@ -4608,7 +5028,7 @@ Self StencilRefReplacingEXT ) " -OutputLinesNV +CoalescingAMDX " = > @@ -4617,10 +5037,10 @@ Ok Self : : -OutputLinesNV +CoalescingAMDX ) " -OutputPrimitivesNV +MaxNodeRecursionAMDX " = > @@ -4629,10 +5049,10 @@ Ok Self : : -OutputPrimitivesNV +MaxNodeRecursionAMDX ) " -DerivativeGroupQuadsNV +StaticNumWorkgroupsAMDX " = > @@ -4641,10 +5061,10 @@ Ok Self : : -DerivativeGroupQuadsNV +StaticNumWorkgroupsAMDX ) " -DerivativeGroupLinearNV +ShaderIndexAMDX " = > @@ -4653,10 +5073,10 @@ Ok Self : : -DerivativeGroupLinearNV +ShaderIndexAMDX ) " -OutputTrianglesNV +MaxNumWorkgroupsAMDX " = > @@ -4665,10 +5085,10 @@ Ok Self : : -OutputTrianglesNV +MaxNumWorkgroupsAMDX ) " -PixelInterlockOrderedEXT +StencilRefUnchangedFrontAMD " = > @@ -4677,10 +5097,10 @@ Ok Self : : -PixelInterlockOrderedEXT +StencilRefUnchangedFrontAMD ) " -PixelInterlockUnorderedEXT +StencilRefGreaterFrontAMD " = > @@ -4689,10 +5109,10 @@ Ok Self : : -PixelInterlockUnorderedEXT +StencilRefGreaterFrontAMD ) " -SampleInterlockOrderedEXT +StencilRefLessFrontAMD " = > @@ -4701,10 +5121,10 @@ Ok Self : : -SampleInterlockOrderedEXT +StencilRefLessFrontAMD ) " -SampleInterlockUnorderedEXT +StencilRefUnchangedBackAMD " = > @@ -4713,10 +5133,10 @@ Ok Self : : -SampleInterlockUnorderedEXT +StencilRefUnchangedBackAMD ) " -ShadingRateInterlockOrderedEXT +StencilRefGreaterBackAMD " = > @@ -4725,10 +5145,10 @@ Ok Self : : -ShadingRateInterlockOrderedEXT +StencilRefGreaterBackAMD ) " -ShadingRateInterlockUnorderedEXT +StencilRefLessBackAMD " = > @@ -4737,10 +5157,10 @@ Ok Self : : -ShadingRateInterlockUnorderedEXT +StencilRefLessBackAMD ) " -MaxWorkgroupSizeINTEL +OutputLinesNV " = > @@ -4749,10 +5169,10 @@ Ok Self : : -MaxWorkgroupSizeINTEL +OutputLinesNV ) " -MaxWorkDimINTEL +OutputLinesEXT " = > @@ -4761,10 +5181,10 @@ Ok Self : : -MaxWorkDimINTEL +OutputLinesNV ) " -NoGlobalOffsetINTEL +OutputPrimitivesNV " = > @@ -4773,10 +5193,10 @@ Ok Self : : -NoGlobalOffsetINTEL +OutputPrimitivesNV ) " -NumSIMDWorkitemsINTEL +OutputPrimitivesEXT " = > @@ -4785,1125 +5205,801 @@ Ok Self : : -NumSIMDWorkitemsINTEL +OutputPrimitivesNV ) -_ +" +DerivativeGroupQuadsNV +" = > -Err -( +Ok ( +Self +: +: +DerivativeGroupQuadsNV ) -) -} -} -} -# -[ -doc -= " -/ -/ -/ -SPIR -- -V -operand -kind -: -[ -StorageClass -] +DerivativeGroupLinearNV +" += +> +Ok ( -https +Self : -/ -/ -www -. -khronos -. -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -SPIRV -. -html -# -_a_id_storage_class_a_storage_class +: +DerivativeGroupLinearNV ) " -] -# -[ -repr -( -u32 -) -] -# -[ -derive +OutputTrianglesNV +" += +> +Ok ( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash +Self +: +: +OutputTrianglesNV ) -] -# -[ -cfg_attr -( -feature -= " -serialize +OutputTrianglesEXT " -derive += +> +Ok ( -serde +Self : : -Serialize -) +OutputTrianglesNV ) -] -# -[ -cfg_attr -( -feature -= " -deserialize +PixelInterlockOrderedEXT " -derive += +> +Ok ( -serde +Self : : -Deserialize -) +PixelInterlockOrderedEXT ) -] -# -[ -allow +" +PixelInterlockUnorderedEXT +" += +> +Ok ( -clippy +Self : : -upper_case_acronyms +PixelInterlockUnorderedEXT ) -] -pub -enum -StorageClass -{ -UniformConstant -= -0u32 -Input -= -1u32 -Uniform -= -2u32 -Output -= -3u32 -Workgroup -= -4u32 -CrossWorkgroup -= -5u32 -Private -= -6u32 -Function -= -7u32 -Generic -= -8u32 -PushConstant -= -9u32 -AtomicCounter -= -10u32 -Image -= -11u32 -StorageBuffer -= -12u32 -CallableDataNV -= -5328u32 -IncomingCallableDataNV -= -5329u32 -RayPayloadNV -= -5338u32 -HitAttributeNV -= -5339u32 -IncomingRayPayloadNV -= -5342u32 -ShaderRecordBufferNV -= -5343u32 -PhysicalStorageBuffer -= -5349u32 -CodeSectionINTEL +" +SampleInterlockOrderedEXT +" = -5605u32 -} -# -[ -allow +> +Ok ( -non_upper_case_globals -) -] -impl -StorageClass -{ -pub -const -CallableDataKHR -: Self +: +: +SampleInterlockOrderedEXT +) +" +SampleInterlockUnorderedEXT +" = +> +Ok +( Self : : -CallableDataNV -; -pub -const -IncomingCallableDataKHR -: -Self +SampleInterlockUnorderedEXT +) +" +ShadingRateInterlockOrderedEXT +" = +> +Ok +( Self : : -IncomingCallableDataNV -; -pub -const -RayPayloadKHR -: -Self +ShadingRateInterlockOrderedEXT +) +" +ShadingRateInterlockUnorderedEXT +" = +> +Ok +( Self : : -RayPayloadNV -; -pub -const -HitAttributeKHR -: -Self +ShadingRateInterlockUnorderedEXT +) +" +SharedLocalMemorySizeINTEL +" = +> +Ok +( Self : : -HitAttributeNV -; -pub -const -IncomingRayPayloadKHR -: -Self +SharedLocalMemorySizeINTEL +) +" +RoundingModeRTPINTEL +" = +> +Ok +( Self : : -IncomingRayPayloadNV -; -pub -const -ShaderRecordBufferKHR -: -Self -= -Self -: -: -ShaderRecordBufferNV -; -pub -const -PhysicalStorageBufferEXT -: -Self -= -Self -: -: -PhysicalStorageBuffer -; -} -impl -num_traits -: -: -FromPrimitive -for -StorageClass -{ -# -[ -allow -( -trivial_numeric_casts +RoundingModeRTPINTEL ) -] -fn -from_i64 -( -n -: -i64 -) -- -> -Option -< -Self -> -{ -Some -( -match -n -as -u32 -{ -0u32 -= -> -Self -: -: -UniformConstant -1u32 -= -> -Self -: -: -Input -2u32 -= -> -Self -: -: -Uniform -3u32 -= -> -Self -: -: -Output -4u32 -= -> -Self -: -: -Workgroup -5u32 -= -> -Self -: -: -CrossWorkgroup -6u32 -= -> -Self -: -: -Private -7u32 -= -> -Self -: -: -Function -8u32 -= -> -Self -: -: -Generic -9u32 -= -> -Self -: -: -PushConstant -10u32 +" +RoundingModeRTNINTEL +" = > +Ok +( Self : : -AtomicCounter -11u32 +RoundingModeRTNINTEL +) +" +FloatingPointModeALTINTEL +" = > +Ok +( Self : : -Image -12u32 +FloatingPointModeALTINTEL +) +" +FloatingPointModeIEEEINTEL +" = > +Ok +( Self : : -StorageBuffer -5328u32 +FloatingPointModeIEEEINTEL +) +" +MaxWorkgroupSizeINTEL +" = > +Ok +( Self : : -CallableDataNV -5329u32 +MaxWorkgroupSizeINTEL +) +" +MaxWorkDimINTEL +" = > +Ok +( Self : : -IncomingCallableDataNV -5338u32 +MaxWorkDimINTEL +) +" +NoGlobalOffsetINTEL +" = > +Ok +( Self : : -RayPayloadNV -5339u32 +NoGlobalOffsetINTEL +) +" +NumSIMDWorkitemsINTEL +" = > +Ok +( Self : : -HitAttributeNV -5342u32 +NumSIMDWorkitemsINTEL +) +" +SchedulerTargetFmaxMhzINTEL +" = > +Ok +( Self : : -IncomingRayPayloadNV -5343u32 +SchedulerTargetFmaxMhzINTEL +) +" +StreamingInterfaceINTEL +" = > +Ok +( Self : : -ShaderRecordBufferNV -5349u32 +StreamingInterfaceINTEL +) +" +RegisterMapInterfaceINTEL +" = > +Ok +( Self : : -PhysicalStorageBuffer -5605u32 +RegisterMapInterfaceINTEL +) +" +NamedBarrierCountINTEL +" = > +Ok +( Self : : -CodeSectionINTEL +NamedBarrierCountINTEL +) _ = > -return -None -} -) -} -fn -from_u64 +Err ( -n -: -u64 -) -- -> -Option -< -Self -> -{ -Self -: -: -from_i64 ( -n -as -i64 +) ) } } -impl -core -: -: -str -: +} +# +[ +doc += +" +SPIR +- +V +operand +kind : -FromStr -for +[ StorageClass -{ -type -Err -= +] ( -) -; -fn -from_str -( -s +https : -& -str -) +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir - -> -Result -< -Self -Self -: -: -Err -> -{ -match -s -{ -" -UniformConstant +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_storage_class_a_storage_class +) " -= -> -Ok +] +# +[ +repr ( -Self -: -: -UniformConstant +u32 ) -" -Input -" -= -> -Ok +] +# +[ +derive ( -Self -: -: -Input +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash ) +] +# +[ +cfg_attr +( +feature += " -Uniform +serialize " -= -> -Ok +derive ( -Self +serde : : -Uniform +Serialize ) +) +] +# +[ +cfg_attr +( +feature += " -Output +deserialize " -= -> -Ok +derive ( -Self +serde : : -Output +Deserialize ) -" -Workgroup -" -= -> -Ok +) +] +# +[ +allow ( -Self +clippy : : -Workgroup +upper_case_acronyms ) -" -CrossWorkgroup -" +] +pub +enum +StorageClass +{ +UniformConstant = -> -Ok -( -Self -: -: +0u32 +Input += +1u32 +Uniform += +2u32 +Output += +3u32 +Workgroup += +4u32 CrossWorkgroup -) -" -Private -" = -> -Ok -( -Self -: -: +5u32 Private -) -" -Function -" = -> -Ok -( -Self -: -: +6u32 Function -) -" -Generic -" = -> -Ok -( -Self -: -: +7u32 Generic -) -" -PushConstant -" = -> -Ok -( -Self -: -: +8u32 PushConstant -) -" -AtomicCounter -" = -> -Ok -( -Self -: -: +9u32 AtomicCounter -) -" -Image -" = -> -Ok -( -Self -: -: +10u32 Image -) -" -StorageBuffer -" = -> -Ok -( -Self -: -: +11u32 StorageBuffer -) -" -CallableDataNV -" = -> -Ok -( -Self -: -: +12u32 +TileImageEXT += +4172u32 +NodePayloadAMDX += +5068u32 +NodeOutputPayloadAMDX += +5076u32 CallableDataNV -) -" -CallableDataKHR -" = -> -Ok -( -Self -: -: -CallableDataNV -) -" +5328u32 IncomingCallableDataNV -" = -> -Ok +5329u32 +RayPayloadNV += +5338u32 +HitAttributeNV += +5339u32 +IncomingRayPayloadNV += +5342u32 +ShaderRecordBufferNV += +5343u32 +PhysicalStorageBuffer += +5349u32 +HitObjectAttributeNV += +5385u32 +TaskPayloadWorkgroupEXT += +5402u32 +CodeSectionINTEL += +5605u32 +DeviceOnlyINTEL += +5936u32 +HostOnlyINTEL += +5937u32 +} +impl +StorageClass +{ +pub +fn +from_u32 ( -Self -: +n : -IncomingCallableDataNV +u32 ) -" -IncomingCallableDataKHR -" -= +- > -Ok -( +Option +< Self -: -: -IncomingCallableDataNV -) -" -RayPayloadNV -" -= > -Ok +{ +Some ( -Self -: -: -RayPayloadNV -) -" -RayPayloadKHR -" +match +n +{ +0u32 +. +. += +12u32 = > -Ok -( -Self +unsafe +{ +core : : -RayPayloadNV -) -" -HitAttributeNV -" -= -> -Ok -( -Self +mem : : -HitAttributeNV -) -" -HitAttributeKHR -" -= -> -Ok -( -Self +transmute : : -HitAttributeNV -) -" -IncomingRayPayloadNV -" -= +< +u32 +StorageClass > -Ok ( -Self -: -: -IncomingRayPayloadNV +n ) -" -IncomingRayPayloadKHR -" +} +4172u32 = > -Ok -( -Self +unsafe +{ +core : : -IncomingRayPayloadNV +mem +: +: +transmute +: +: +< +u32 +StorageClass +> +( +4172u32 ) -" -ShaderRecordBufferNV -" +} +5068u32 = > -Ok -( -Self +unsafe +{ +core : : -ShaderRecordBufferNV +mem +: +: +transmute +: +: +< +u32 +StorageClass +> +( +5068u32 ) -" -ShaderRecordBufferKHR -" +} +5076u32 = > -Ok -( -Self +unsafe +{ +core : : -ShaderRecordBufferNV +mem +: +: +transmute +: +: +< +u32 +StorageClass +> +( +5076u32 ) -" -PhysicalStorageBuffer -" +} +5328u32 +. +. += +5329u32 = > -Ok -( -Self +unsafe +{ +core : : -PhysicalStorageBuffer +mem +: +: +transmute +: +: +< +u32 +StorageClass +> +( +n ) -" -PhysicalStorageBufferEXT -" +} +5338u32 +. +. += +5339u32 = > -Ok -( -Self +unsafe +{ +core : : -PhysicalStorageBuffer +mem +: +: +transmute +: +: +< +u32 +StorageClass +> +( +n ) -" -CodeSectionINTEL -" +} +5342u32 +. +. += +5343u32 = > -Ok -( -Self +unsafe +{ +core : : -CodeSectionINTEL -) -_ -= +mem +: +: +transmute +: +: +< +u32 +StorageClass > -Err ( -( -) +n ) } -} -} -# -[ -doc +5349u32 = -" -/ -/ -/ -SPIR -- -V -operand -kind +> +unsafe +{ +core : -[ -Dim -] -( -https : -/ -/ -www -. -khronos -. -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -SPIRV -. -html -# -_a_id_dim_a_dim -) -" -] -# -[ -repr -( +mem +: +: +transmute +: +: +< u32 -) -] -# -[ -derive +StorageClass +> ( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash +5349u32 ) -] -# -[ -cfg_attr -( -feature +} +5385u32 = -" -serialize -" -derive -( -serde +> +unsafe +{ +core : : -Serialize -) -) -] -# -[ -cfg_attr -( -feature -= -" -deserialize -" -derive -( -serde +mem : : -Deserialize -) -) -] -# -[ -allow -( -clippy +transmute : : -upper_case_acronyms -) -] -pub -enum -Dim -{ -Dim1D -= -0u32 -Dim2D -= -1u32 -Dim3D -= -2u32 -DimCube -= -3u32 -DimRect -= -4u32 -DimBuffer -= -5u32 -DimSubpassData -= -6u32 -} -# -[ -allow +< +u32 +StorageClass +> ( -non_upper_case_globals +5385u32 ) -] -impl -Dim -{ } -impl -num_traits +5402u32 += +> +unsafe +{ +core : : -FromPrimitive -for -Dim -{ -# -[ -allow -( -trivial_numeric_casts -) -] -fn -from_i64 -( -n +mem +: +: +transmute +: : -i64 -) -- -> -Option < -Self +u32 +StorageClass > -{ -Some ( -match -n -as -u32 -{ -0u32 +5402u32 +) +} +5605u32 = > -Self +unsafe +{ +core : : -Dim1D -1u32 -= -> -Self +mem : : -Dim2D -2u32 -= -> -Self +transmute : : -Dim3D -3u32 -= +< +u32 +StorageClass > -Self -: -: -DimCube -4u32 +( +5605u32 +) +} +5936u32 +. +. += +5937u32 = > -Self +unsafe +{ +core : : -DimRect -5u32 -= -> -Self +mem : : -DimBuffer -6u32 -= -> -Self +transmute : : -DimSubpassData +< +u32 +StorageClass +> +( +n +) +} _ = > @@ -5912,30 +6008,94 @@ None } ) } -fn -from_u64 +} +# +[ +allow ( -n -: -u64 +non_upper_case_globals ) -- -> -Option -< -Self -> +] +impl +StorageClass { +pub +const +CallableDataKHR +: +Self += Self : : -from_i64 -( -n -as -i64 -) -} +CallableDataNV +; +pub +const +IncomingCallableDataKHR +: +Self += +Self +: +: +IncomingCallableDataNV +; +pub +const +RayPayloadKHR +: +Self += +Self +: +: +RayPayloadNV +; +pub +const +HitAttributeKHR +: +Self += +Self +: +: +HitAttributeNV +; +pub +const +IncomingRayPayloadKHR +: +Self += +Self +: +: +IncomingRayPayloadNV +; +pub +const +ShaderRecordBufferKHR +: +Self += +Self +: +: +ShaderRecordBufferNV +; +pub +const +PhysicalStorageBufferEXT +: +Self += +Self +: +: +PhysicalStorageBuffer +; } impl core @@ -5946,7 +6106,7 @@ str : FromStr for -Dim +StorageClass { type Err @@ -5977,7 +6137,7 @@ match s { " -Dim1D +UniformConstant " = > @@ -5986,10 +6146,10 @@ Ok Self : : -Dim1D +UniformConstant ) " -Dim2D +Input " = > @@ -5998,10 +6158,10 @@ Ok Self : : -Dim2D +Input ) " -Dim3D +Uniform " = > @@ -6010,10 +6170,10 @@ Ok Self : : -Dim3D +Uniform ) " -DimCube +Output " = > @@ -6022,10 +6182,10 @@ Ok Self : : -DimCube +Output ) " -DimRect +Workgroup " = > @@ -6034,10 +6194,10 @@ Ok Self : : -DimRect +Workgroup ) " -DimBuffer +CrossWorkgroup " = > @@ -6046,10 +6206,10 @@ Ok Self : : -DimBuffer +CrossWorkgroup ) " -DimSubpassData +Private " = > @@ -6058,308 +6218,286 @@ Ok Self : : -DimSubpassData +Private ) -_ +" +Function +" = > -Err -( +Ok ( -) -) -} -} -} -# -[ -doc -= -" -/ -/ -/ -SPIR -- -V -operand -kind +Self : -[ -SamplerAddressingMode -] -( -https : -/ -/ -www -. -khronos -. -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -SPIRV -. -html -# -_a_id_sampler_addressing_mode_a_sampler_addressing_mode +Function ) " -] -# -[ -repr +Generic +" += +> +Ok ( -u32 +Self +: +: +Generic ) -] -# -[ -derive +" +PushConstant +" += +> +Ok ( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash +Self +: +: +PushConstant ) -] -# -[ -cfg_attr -( -feature -= " -serialize +AtomicCounter " -derive += +> +Ok ( -serde +Self : : -Serialize -) +AtomicCounter ) -] -# -[ -cfg_attr -( -feature -= " -deserialize +Image " -derive += +> +Ok ( -serde +Self : : -Deserialize -) +Image ) -] -# -[ -allow +" +StorageBuffer +" += +> +Ok ( -clippy +Self : : -upper_case_acronyms +StorageBuffer ) -] -pub -enum -SamplerAddressingMode -{ -None -= -0u32 -ClampToEdge -= -1u32 -Clamp -= -2u32 -Repeat -= -3u32 -RepeatMirrored +" +TileImageEXT +" = -4u32 -} -# -[ -allow +> +Ok ( -non_upper_case_globals -) -] -impl -SamplerAddressingMode -{ -} -impl -num_traits +Self : : -FromPrimitive -for -SamplerAddressingMode -{ -# -[ -allow -( -trivial_numeric_casts +TileImageEXT ) -] -fn -from_i64 +" +NodePayloadAMDX +" += +> +Ok ( -n +Self +: : -i64 +NodePayloadAMDX ) -- +" +NodeOutputPayloadAMDX +" += > -Option -< +Ok +( Self +: +: +NodeOutputPayloadAMDX +) +" +CallableDataNV +" += > -{ -Some +Ok ( -match -n -as -u32 -{ -0u32 +Self +: +: +CallableDataNV +) +" +CallableDataKHR +" = > +Ok +( Self : : -None -1u32 +CallableDataNV +) +" +IncomingCallableDataNV +" = > +Ok +( Self : : -ClampToEdge -2u32 +IncomingCallableDataNV +) +" +IncomingCallableDataKHR +" = > +Ok +( Self : : -Clamp -3u32 +IncomingCallableDataNV +) +" +RayPayloadNV +" = > +Ok +( Self : : -Repeat -4u32 +RayPayloadNV +) +" +RayPayloadKHR +" = > +Ok +( Self : : -RepeatMirrored -_ +RayPayloadNV +) +" +HitAttributeNV +" = > -return -None -} -) -} -fn -from_u64 +Ok ( -n +Self +: : -u64 +HitAttributeNV ) -- +" +HitAttributeKHR +" += > -Option -< +Ok +( Self +: +: +HitAttributeNV +) +" +IncomingRayPayloadNV +" += > -{ +Ok +( Self : : -from_i64 -( -n -as -i64 +IncomingRayPayloadNV ) -} -} -impl -core +" +IncomingRayPayloadKHR +" += +> +Ok +( +Self : : -str +IncomingRayPayloadNV +) +" +ShaderRecordBufferNV +" += +> +Ok +( +Self : : -FromStr -for -SamplerAddressingMode -{ -type -Err +ShaderRecordBufferNV +) +" +ShaderRecordBufferKHR +" = +> +Ok ( +Self +: +: +ShaderRecordBufferNV ) -; -fn -from_str +" +PhysicalStorageBuffer +" += +> +Ok ( -s +Self : -& -str +: +PhysicalStorageBuffer ) -- +" +PhysicalStorageBufferEXT +" += > -Result -< -Self +Ok +( Self : : -Err -> -{ -match -s -{ +PhysicalStorageBuffer +) " -None +HitObjectAttributeNV " = > @@ -6368,10 +6506,10 @@ Ok Self : : -None +HitObjectAttributeNV ) " -ClampToEdge +TaskPayloadWorkgroupEXT " = > @@ -6380,10 +6518,10 @@ Ok Self : : -ClampToEdge +TaskPayloadWorkgroupEXT ) " -Clamp +CodeSectionINTEL " = > @@ -6392,10 +6530,10 @@ Ok Self : : -Clamp +CodeSectionINTEL ) " -Repeat +DeviceOnlyINTEL " = > @@ -6404,10 +6542,10 @@ Ok Self : : -Repeat +DeviceOnlyINTEL ) " -RepeatMirrored +HostOnlyINTEL " = > @@ -6416,7 +6554,7 @@ Ok Self : : -RepeatMirrored +HostOnlyINTEL ) _ = @@ -6434,9 +6572,6 @@ Err doc = " -/ -/ -/ SPIR - V @@ -6444,7 +6579,7 @@ operand kind : [ -SamplerFilterMode +Dim ] ( https @@ -6471,7 +6606,7 @@ SPIRV . html # -_a_id_sampler_filter_mode_a_sampler_filter_mode +_a_id_dim_a_dim ) " ] @@ -6544,47 +6679,43 @@ upper_case_acronyms ] pub enum -SamplerFilterMode +Dim { -Nearest +Dim1D = 0u32 -Linear +Dim2D = 1u32 -} -# -[ -allow -( -non_upper_case_globals -) -] -impl -SamplerFilterMode -{ +Dim3D += +2u32 +DimCube += +3u32 +DimRect += +4u32 +DimBuffer += +5u32 +DimSubpassData += +6u32 +DimTileImageDataEXT += +4173u32 } impl -num_traits -: -: -FromPrimitive -for -SamplerFilterMode +Dim { -# -[ -allow -( -trivial_numeric_casts -) -] +pub fn -from_i64 +from_u32 ( n : -i64 +u32 ) - > @@ -6597,23 +6728,55 @@ Some ( match n -as -u32 { 0u32 +. +. += +6u32 = > -Self +unsafe +{ +core : : -Nearest -1u32 +mem +: +: +transmute +: +: +< +u32 +Dim +> +( +n +) +} +4173u32 = > -Self +unsafe +{ +core : : -Linear +mem +: +: +transmute +: +: +< +u32 +Dim +> +( +4173u32 +) +} _ = > @@ -6622,30 +6785,17 @@ None } ) } -fn -from_u64 +} +# +[ +allow ( -n -: -u64 +non_upper_case_globals ) -- -> -Option -< -Self -> +] +impl +Dim { -Self -: -: -from_i64 -( -n -as -i64 -) -} } impl core @@ -6656,7 +6806,7 @@ str : FromStr for -SamplerFilterMode +Dim { type Err @@ -6687,7 +6837,7 @@ match s { " -Nearest +Dim1D " = > @@ -6696,10 +6846,10 @@ Ok Self : : -Nearest +Dim1D ) " -Linear +Dim2D " = > @@ -6708,7 +6858,79 @@ Ok Self : : -Linear +Dim2D +) +" +Dim3D +" += +> +Ok +( +Self +: +: +Dim3D +) +" +DimCube +" += +> +Ok +( +Self +: +: +DimCube +) +" +DimRect +" += +> +Ok +( +Self +: +: +DimRect +) +" +DimBuffer +" += +> +Ok +( +Self +: +: +DimBuffer +) +" +DimSubpassData +" += +> +Ok +( +Self +: +: +DimSubpassData +) +" +DimTileImageDataEXT +" += +> +Ok +( +Self +: +: +DimTileImageDataEXT ) _ = @@ -6726,9 +6948,6 @@ Err doc = " -/ -/ -/ SPIR - V @@ -6736,7 +6955,7 @@ operand kind : [ -ImageFormat +SamplerAddressingMode ] ( https @@ -6763,7 +6982,7 @@ SPIRV . html # -_a_id_image_format_a_image_format +_a_id_sampler_addressing_mode_a_sampler_addressing_mode ) " ] @@ -6836,134 +7055,81 @@ upper_case_acronyms ] pub enum -ImageFormat +SamplerAddressingMode { -Unknown +None = 0u32 -Rgba32f +ClampToEdge = 1u32 -Rgba16f +Clamp = 2u32 -R32f +Repeat = 3u32 -Rgba8 +RepeatMirrored = 4u32 -Rgba8Snorm +} +impl +SamplerAddressingMode +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. = -5u32 -Rg32f +4u32 = -6u32 -Rg16f +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +SamplerAddressingMode +> +( +n +) +} +_ = -7u32 -R11fG11fB10f -= -8u32 -R16f -= -9u32 -Rgba16 -= -10u32 -Rgb10A2 -= -11u32 -Rg16 -= -12u32 -Rg8 -= -13u32 -R16 -= -14u32 -R8 -= -15u32 -Rgba16Snorm -= -16u32 -Rg16Snorm -= -17u32 -Rg8Snorm -= -18u32 -R16Snorm -= -19u32 -R8Snorm -= -20u32 -Rgba32i -= -21u32 -Rgba16i -= -22u32 -Rgba8i -= -23u32 -R32i -= -24u32 -Rg32i -= -25u32 -Rg16i -= -26u32 -Rg8i -= -27u32 -R16i -= -28u32 -R8i -= -29u32 -Rgba32ui -= -30u32 -Rgba16ui -= -31u32 -Rgba8ui -= -32u32 -R32ui -= -33u32 -Rgb10a2ui -= -34u32 -Rg32ui -= -35u32 -Rg16ui -= -36u32 -Rg8ui -= -37u32 -R16ui -= -38u32 -R8ui -= -39u32 -R64ui -= -40u32 -R64i -= -41u32 +> +return +None +} +) +} } # [ @@ -6973,713 +7139,734 @@ non_upper_case_globals ) ] impl -ImageFormat +SamplerAddressingMode { } impl -num_traits +core +: +: +str : : -FromPrimitive +FromStr for -ImageFormat +SamplerAddressingMode { -# -[ -allow +type +Err += ( -trivial_numeric_casts ) -] +; fn -from_i64 +from_str ( -n +s : -i64 +& +str ) - > -Option +Result < Self -> -{ -Some -( -match -n -as -u32 -{ -0u32 -= -> -Self -: -: -Unknown -1u32 -= -> -Self -: -: -Rgba32f -2u32 -= -> -Self -: -: -Rgba16f -3u32 -= -> Self : : -R32f -4u32 -= +Err > -Self -: -: -Rgba8 -5u32 +{ +match +s +{ +" +None +" = > +Ok +( Self : : -Rgba8Snorm -6u32 +None +) +" +ClampToEdge +" = > +Ok +( Self : : -Rg32f -7u32 +ClampToEdge +) +" +Clamp +" = > +Ok +( Self : : -Rg16f -8u32 +Clamp +) +" +Repeat +" = > +Ok +( Self : : -R11fG11fB10f -9u32 +Repeat +) +" +RepeatMirrored +" = > +Ok +( Self : : -R16f -10u32 +RepeatMirrored +) +_ = > -Self -: -: -Rgba16 -11u32 +Err +( +( +) +) +} +} +} +# +[ +doc = -> -Self +" +SPIR +- +V +operand +kind : +[ +SamplerFilterMode +] +( +https : -Rgb10A2 -12u32 -= -> -Self -: -: -Rg16 -13u32 +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_sampler_filter_mode_a_sampler_filter_mode +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +serialize +" +derive +( +serde : : -Rg8 -14u32 +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +deserialize +" +derive +( +serde : : -R16 -15u32 -= -> -Self +Deserialize +) +) +] +# +[ +allow +( +clippy : : -R8 -16u32 +upper_case_acronyms +) +] +pub +enum +SamplerFilterMode +{ +Nearest = -> -Self -: -: -Rgba16Snorm -17u32 +0u32 +Linear = -> -Self -: +1u32 +} +impl +SamplerFilterMode +{ +pub +fn +from_u32 +( +n : -Rg16Snorm -18u32 -= +u32 +) +- > +Option +< Self -: -: -Rg8Snorm -19u32 -= > -Self -: -: -R16Snorm -20u32 +{ +Some +( +match +n +{ +0u32 +. +. += +1u32 = > -Self +unsafe +{ +core : : -R8Snorm -21u32 -= -> -Self +mem : : -Rgba32i -22u32 -= -> -Self +transmute : : -Rgba16i -23u32 +< +u32 +SamplerFilterMode +> +( +n +) +} +_ = > -Self +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +SamplerFilterMode +{ +} +impl +core : : -Rgba8i -24u32 -= -> -Self +str : : -R32i -25u32 +FromStr +for +SamplerFilterMode +{ +type +Err = +( +) +; +fn +from_str +( +s +: +& +str +) +- > +Result +< +Self Self : : -Rg32i -26u32 +Err +> +{ +match +s +{ +" +Nearest +" = > +Ok +( Self : : -Rg16i -27u32 +Nearest +) +" +Linear +" = > +Ok +( Self : : -Rg8i -28u32 +Linear +) +_ = > -Self -: -: -R16i -29u32 -= -> -Self -: -: -R8i -30u32 -= -> -Self -: -: -Rgba32ui -31u32 -= -> -Self -: -: -Rgba16ui -32u32 -= -> -Self -: -: -Rgba8ui -33u32 -= -> -Self -: -: -R32ui -34u32 -= -> -Self -: -: -Rgb10a2ui -35u32 -= -> -Self -: -: -Rg32ui -36u32 -= -> -Self -: -: -Rg16ui -37u32 -= -> -Self -: -: -Rg8ui -38u32 -= -> -Self -: -: -R16ui -39u32 -= -> -Self -: -: -R8ui -40u32 -= -> -Self -: -: -R64ui -41u32 -= -> -Self -: -: -R64i -_ -= -> -return -None -} -) -} -fn -from_u64 +Err ( -n -: -u64 -) -- -> -Option -< -Self -> -{ -Self -: -: -from_i64 ( -n -as -i64 +) ) } } -impl -core -: -: -str -: +} +# +[ +doc += +" +SPIR +- +V +operand +kind : -FromStr -for +[ ImageFormat -{ -type -Err -= -( -) -; -fn -from_str +] ( -s +https : -& -str -) +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir - -> -Result -< -Self -Self -: -: -Err -> -{ -match -s -{ -" -Unknown +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_image_format_a_image_format +) " -= -> -Ok +] +# +[ +repr ( -Self -: -: -Unknown +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash ) +] +# +[ +cfg_attr +( +feature += " -Rgba32f +serialize " -= -> -Ok +derive ( -Self +serde : : -Rgba32f +Serialize ) +) +] +# +[ +cfg_attr +( +feature += " -Rgba16f +deserialize " -= -> -Ok +derive ( -Self +serde : : -Rgba16f +Deserialize ) -" -R32f -" -= -> -Ok +) +] +# +[ +allow ( -Self +clippy : : -R32f +upper_case_acronyms ) -" -Rgba8 -" +] +pub +enum +ImageFormat +{ +Unknown = -> -Ok -( -Self -: -: +0u32 +Rgba32f += +1u32 +Rgba16f += +2u32 +R32f += +3u32 Rgba8 -) -" -Rgba8Snorm -" = -> -Ok -( -Self -: -: +4u32 Rgba8Snorm -) -" -Rg32f -" = -> -Ok -( -Self -: -: +5u32 Rg32f -) -" -Rg16f -" = -> -Ok -( -Self -: -: +6u32 Rg16f -) -" -R11fG11fB10f -" = -> -Ok -( -Self -: -: +7u32 R11fG11fB10f -) -" -R16f -" = -> -Ok -( -Self -: -: +8u32 R16f -) -" -Rgba16 -" = -> -Ok -( -Self -: -: +9u32 Rgba16 -) -" -Rgb10A2 -" = -> -Ok -( -Self -: -: +10u32 Rgb10A2 -) -" -Rg16 -" = -> -Ok -( -Self -: -: +11u32 Rg16 -) -" -Rg8 -" = -> -Ok -( -Self -: -: +12u32 Rg8 -) -" -R16 -" = -> -Ok -( -Self -: -: +13u32 R16 -) -" -R8 -" = -> -Ok -( -Self -: -: +14u32 R8 -) -" -Rgba16Snorm -" = -> -Ok -( -Self -: -: +15u32 Rgba16Snorm -) -" -Rg16Snorm -" = -> -Ok -( -Self -: -: +16u32 Rg16Snorm -) -" -Rg8Snorm -" = -> -Ok -( -Self -: -: +17u32 Rg8Snorm -) -" -R16Snorm -" = -> -Ok -( -Self -: -: +18u32 R16Snorm -) -" -R8Snorm -" = -> -Ok -( -Self -: -: +19u32 R8Snorm -) -" -Rgba32i -" = -> -Ok -( -Self -: -: +20u32 Rgba32i -) -" -Rgba16i -" = -> -Ok -( -Self -: -: +21u32 Rgba16i -) -" -Rgba8i -" = -> -Ok -( -Self -: -: +22u32 Rgba8i -) -" += +23u32 R32i -" = -> -Ok -( -Self +24u32 +Rg32i += +25u32 +Rg16i += +26u32 +Rg8i += +27u32 +R16i += +28u32 +R8i += +29u32 +Rgba32ui += +30u32 +Rgba16ui += +31u32 +Rgba8ui += +32u32 +R32ui += +33u32 +Rgb10a2ui += +34u32 +Rg32ui += +35u32 +Rg16ui += +36u32 +Rg8ui += +37u32 +R16ui += +38u32 +R8ui += +39u32 +R64ui += +40u32 +R64i += +41u32 +} +impl +ImageFormat +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. += +41u32 += +> +unsafe +{ +core : : -R32i +mem +: +: +transmute +: +: +< +u32 +ImageFormat +> +( +n +) +} +_ += +> +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +ImageFormat +{ +} +impl +core +: +: +str +: +: +FromStr +for +ImageFormat +{ +type +Err += +( +) +; +fn +from_str +( +s +: +& +str ) +- +> +Result +< +Self +Self +: +: +Err +> +{ +match +s +{ " -Rg32i +Unknown " = > @@ -7688,10 +7875,10 @@ Ok Self : : -Rg32i +Unknown ) " -Rg16i +Rgba32f " = > @@ -7700,10 +7887,10 @@ Ok Self : : -Rg16i +Rgba32f ) " -Rg8i +Rgba16f " = > @@ -7712,10 +7899,10 @@ Ok Self : : -Rg8i +Rgba16f ) " -R16i +R32f " = > @@ -7724,10 +7911,10 @@ Ok Self : : -R16i +R32f ) " -R8i +Rgba8 " = > @@ -7736,10 +7923,10 @@ Ok Self : : -R8i +Rgba8 ) " -Rgba32ui +Rgba8Snorm " = > @@ -7748,10 +7935,10 @@ Ok Self : : -Rgba32ui +Rgba8Snorm ) " -Rgba16ui +Rg32f " = > @@ -7760,10 +7947,10 @@ Ok Self : : -Rgba16ui +Rg32f ) " -Rgba8ui +Rg16f " = > @@ -7772,10 +7959,10 @@ Ok Self : : -Rgba8ui +Rg16f ) " -R32ui +R11fG11fB10f " = > @@ -7784,10 +7971,10 @@ Ok Self : : -R32ui +R11fG11fB10f ) " -Rgb10a2ui +R16f " = > @@ -7796,10 +7983,10 @@ Ok Self : : -Rgb10a2ui +R16f ) " -Rg32ui +Rgba16 " = > @@ -7808,10 +7995,10 @@ Ok Self : : -Rg32ui +Rgba16 ) " -Rg16ui +Rgb10A2 " = > @@ -7820,10 +8007,10 @@ Ok Self : : -Rg16ui +Rgb10A2 ) " -Rg8ui +Rg16 " = > @@ -7832,10 +8019,10 @@ Ok Self : : -Rg8ui +Rg16 ) " -R16ui +Rg8 " = > @@ -7844,10 +8031,10 @@ Ok Self : : -R16ui +Rg8 ) " -R8ui +R16 " = > @@ -7856,10 +8043,10 @@ Ok Self : : -R8ui +R16 ) " -R64ui +R8 " = > @@ -7868,10 +8055,10 @@ Ok Self : : -R64ui +R8 ) " -R64i +Rgba16Snorm " = > @@ -7880,458 +8067,142 @@ Ok Self : : -R64i +Rgba16Snorm ) -_ +" +Rg16Snorm +" = > -Err -( +Ok ( +Self +: +: +Rg16Snorm ) -) -} -} -} -# -[ -doc +" +Rg8Snorm +" = +> +Ok +( +Self +: +: +Rg8Snorm +) " -/ -/ -/ -SPIR -- -V -operand -kind -: -[ -ImageChannelOrder -] -( -https -: -/ -/ -www -. -khronos -. -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -SPIRV -. -html -# -_a_id_image_channel_order_a_image_channel_order -) +R16Snorm " -] -# -[ -repr -( -u32 -) -] -# -[ -derive -( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash -) -] -# -[ -cfg_attr -( -feature = -" -serialize -" -derive +> +Ok ( -serde +Self : : -Serialize -) +R16Snorm ) -] -# -[ -cfg_attr -( -feature -= " -deserialize +R8Snorm " -derive += +> +Ok ( -serde +Self : : -Deserialize -) +R8Snorm ) -] -# -[ -allow +" +Rgba32i +" += +> +Ok ( -clippy +Self : : -upper_case_acronyms +Rgba32i ) -] -pub -enum -ImageChannelOrder -{ -R -= -0u32 -A -= -1u32 -RG -= -2u32 -RA -= -3u32 -RGB -= -4u32 -RGBA -= -5u32 -BGRA -= -6u32 -ARGB -= -7u32 -Intensity -= -8u32 -Luminance -= -9u32 -Rx -= -10u32 -RGx -= -11u32 -RGBx -= -12u32 -Depth -= -13u32 -DepthStencil -= -14u32 -sRGB -= -15u32 -sRGBx -= -16u32 -sRGBA -= -17u32 -sBGRA -= -18u32 -ABGR +" +Rgba16i +" = -19u32 -} -# -[ -allow +> +Ok ( -non_upper_case_globals -) -] -impl -ImageChannelOrder -{ -} -impl -num_traits +Self : : -FromPrimitive -for -ImageChannelOrder -{ -# -[ -allow -( -trivial_numeric_casts +Rgba16i ) -] -fn -from_i64 +" +Rgba8i +" += +> +Ok ( -n +Self : -i64 +: +Rgba8i ) -- -> -Option -< -Self -> -{ -Some -( -match -n -as -u32 -{ -0u32 +" +R32i +" = > +Ok +( Self : : -R -1u32 +R32i +) +" +Rg32i +" = > +Ok +( Self : : -A -2u32 +Rg32i +) +" +Rg16i +" = > +Ok +( Self : : -RG -3u32 +Rg16i +) +" +Rg8i +" = > +Ok +( Self : : -RA -4u32 -= -> -Self -: -: -RGB -5u32 -= -> -Self -: -: -RGBA -6u32 -= -> -Self -: -: -BGRA -7u32 -= -> -Self -: -: -ARGB -8u32 -= -> -Self -: -: -Intensity -9u32 -= -> -Self -: -: -Luminance -10u32 -= -> -Self -: -: -Rx -11u32 -= -> -Self -: -: -RGx -12u32 -= -> -Self -: -: -RGBx -13u32 -= -> -Self -: -: -Depth -14u32 -= -> -Self -: -: -DepthStencil -15u32 -= -> -Self -: -: -sRGB -16u32 -= -> -Self -: -: -sRGBx -17u32 -= -> -Self -: -: -sRGBA -18u32 -= -> -Self -: -: -sBGRA -19u32 -= -> -Self -: -: -ABGR -_ -= -> -return -None -} -) -} -fn -from_u64 -( -n -: -u64 -) -- -> -Option -< -Self -> -{ -Self -: -: -from_i64 -( -n -as -i64 -) -} -} -impl -core -: -: -str -: -: -FromStr -for -ImageChannelOrder -{ -type -Err -= -( -) -; -fn -from_str -( -s -: -& -str +Rg8i ) -- -> -Result -< -Self -Self -: -: -Err -> -{ -match -s -{ " -R +R16i " = > @@ -8340,10 +8211,10 @@ Ok Self : : -R +R16i ) " -A +R8i " = > @@ -8352,10 +8223,10 @@ Ok Self : : -A +R8i ) " -RG +Rgba32ui " = > @@ -8364,10 +8235,10 @@ Ok Self : : -RG +Rgba32ui ) " -RA +Rgba16ui " = > @@ -8376,10 +8247,10 @@ Ok Self : : -RA +Rgba16ui ) " -RGB +Rgba8ui " = > @@ -8388,10 +8259,10 @@ Ok Self : : -RGB +Rgba8ui ) " -RGBA +R32ui " = > @@ -8400,10 +8271,10 @@ Ok Self : : -RGBA +R32ui ) " -BGRA +Rgb10a2ui " = > @@ -8412,10 +8283,10 @@ Ok Self : : -BGRA +Rgb10a2ui ) " -ARGB +Rg32ui " = > @@ -8424,10 +8295,10 @@ Ok Self : : -ARGB +Rg32ui ) " -Intensity +Rg16ui " = > @@ -8436,10 +8307,10 @@ Ok Self : : -Intensity +Rg16ui ) " -Luminance +Rg8ui " = > @@ -8448,10 +8319,10 @@ Ok Self : : -Luminance +Rg8ui ) " -Rx +R16ui " = > @@ -8460,10 +8331,10 @@ Ok Self : : -Rx +R16ui ) " -RGx +R8ui " = > @@ -8472,10 +8343,10 @@ Ok Self : : -RGx +R8ui ) " -RGBx +R64ui " = > @@ -8484,10 +8355,10 @@ Ok Self : : -RGBx +R64ui ) " -Depth +R64i " = > @@ -8496,84 +8367,12 @@ Ok Self : : -Depth +R64i ) -" -DepthStencil -" +_ = > -Ok -( -Self -: -: -DepthStencil -) -" -sRGB -" -= -> -Ok -( -Self -: -: -sRGB -) -" -sRGBx -" -= -> -Ok -( -Self -: -: -sRGBx -) -" -sRGBA -" -= -> -Ok -( -Self -: -: -sRGBA -) -" -sBGRA -" -= -> -Ok -( -Self -: -: -sBGRA -) -" -ABGR -" -= -> -Ok -( -Self -: -: -ABGR -) -_ -= -> -Err +Err ( ( ) @@ -8586,9 +8385,6 @@ Err doc = " -/ -/ -/ SPIR - V @@ -8596,7 +8392,7 @@ operand kind : [ -ImageChannelDataType +ImageChannelOrder ] ( https @@ -8623,7 +8419,7 @@ SPIRV . html # -_a_id_image_channel_data_type_a_image_channel_data_type +_a_id_image_channel_order_a_image_channel_order ) " ] @@ -8696,59 +8492,126 @@ upper_case_acronyms ] pub enum -ImageChannelDataType +ImageChannelOrder { -SnormInt8 +R = 0u32 -SnormInt16 +A = 1u32 -UnormInt8 +RG = 2u32 -UnormInt16 +RA = 3u32 -UnormShort565 +RGB = 4u32 -UnormShort555 +RGBA = 5u32 -UnormInt101010 +BGRA = 6u32 -SignedInt8 +ARGB = 7u32 -SignedInt16 +Intensity = 8u32 -SignedInt32 +Luminance = 9u32 -UnsignedInt8 +Rx = 10u32 -UnsignedInt16 +RGx = 11u32 -UnsignedInt32 +RGBx = 12u32 -HalfFloat +Depth = 13u32 -Float +DepthStencil = 14u32 -UnormInt24 +sRGB = 15u32 -UnormInt101010_2 +sRGBx = 16u32 +sRGBA += +17u32 +sBGRA += +18u32 +ABGR += +19u32 +} +impl +ImageChannelOrder +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. += +19u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +ImageChannelOrder +> +( +n +) +} +_ += +> +return +None +} +) +} } # [ @@ -8758,286 +8621,134 @@ non_upper_case_globals ) ] impl -ImageChannelDataType +ImageChannelOrder { } impl -num_traits +core +: +: +str : : -FromPrimitive +FromStr for -ImageChannelDataType +ImageChannelOrder { -# -[ -allow +type +Err += ( -trivial_numeric_casts ) -] +; fn -from_i64 +from_str ( -n +s : -i64 +& +str ) - > -Option +Result < Self +Self +: +: +Err > { -Some -( match -n -as -u32 +s { -0u32 +" +R +" = > +Ok +( Self : : -SnormInt8 -1u32 +R +) +" +A +" = > +Ok +( Self : : -SnormInt16 -2u32 +A +) +" +RG +" = > +Ok +( Self : : -UnormInt8 -3u32 +RG +) +" +RA +" = > +Ok +( Self : : -UnormInt16 -4u32 +RA +) +" +RGB +" = > +Ok +( Self : : -UnormShort565 -5u32 +RGB +) +" +RGBA +" = > +Ok +( Self : : -UnormShort555 -6u32 +RGBA +) +" +BGRA +" = > +Ok +( Self : : -UnormInt101010 -7u32 -= -> -Self -: -: -SignedInt8 -8u32 -= -> -Self -: -: -SignedInt16 -9u32 -= -> -Self -: -: -SignedInt32 -10u32 -= -> -Self -: -: -UnsignedInt8 -11u32 -= -> -Self -: -: -UnsignedInt16 -12u32 -= -> -Self -: -: -UnsignedInt32 -13u32 -= -> -Self -: -: -HalfFloat -14u32 -= -> -Self -: -: -Float -15u32 -= -> -Self -: -: -UnormInt24 -16u32 -= -> -Self -: -: -UnormInt101010_2 -_ -= -> -return -None -} -) -} -fn -from_u64 -( -n -: -u64 -) -- -> -Option -< -Self -> -{ -Self -: -: -from_i64 -( -n -as -i64 -) -} -} -impl -core -: -: -str -: -: -FromStr -for -ImageChannelDataType -{ -type -Err -= -( -) -; -fn -from_str -( -s -: -& -str -) -- -> -Result -< -Self -Self -: -: -Err -> -{ -match -s -{ -" -SnormInt8 -" -= -> -Ok -( -Self -: -: -SnormInt8 -) -" -SnormInt16 -" -= -> -Ok -( -Self -: -: -SnormInt16 -) -" -UnormInt8 -" -= -> -Ok -( -Self -: -: -UnormInt8 -) -" -UnormInt16 -" -= -> -Ok -( -Self -: -: -UnormInt16 +BGRA ) " -UnormShort565 +ARGB " = > @@ -9046,10 +8757,10 @@ Ok Self : : -UnormShort565 +ARGB ) " -UnormShort555 +Intensity " = > @@ -9058,10 +8769,10 @@ Ok Self : : -UnormShort555 +Intensity ) " -UnormInt101010 +Luminance " = > @@ -9070,10 +8781,10 @@ Ok Self : : -UnormInt101010 +Luminance ) " -SignedInt8 +Rx " = > @@ -9082,10 +8793,10 @@ Ok Self : : -SignedInt8 +Rx ) " -SignedInt16 +RGx " = > @@ -9094,10 +8805,10 @@ Ok Self : : -SignedInt16 +RGx ) " -SignedInt32 +RGBx " = > @@ -9106,10 +8817,10 @@ Ok Self : : -SignedInt32 +RGBx ) " -UnsignedInt8 +Depth " = > @@ -9118,10 +8829,10 @@ Ok Self : : -UnsignedInt8 +Depth ) " -UnsignedInt16 +DepthStencil " = > @@ -9130,10 +8841,10 @@ Ok Self : : -UnsignedInt16 +DepthStencil ) " -UnsignedInt32 +sRGB " = > @@ -9142,10 +8853,10 @@ Ok Self : : -UnsignedInt32 +sRGB ) " -HalfFloat +sRGBx " = > @@ -9154,10 +8865,10 @@ Ok Self : : -HalfFloat +sRGBx ) " -Float +sRGBA " = > @@ -9166,10 +8877,10 @@ Ok Self : : -Float +sRGBA ) " -UnormInt24 +sBGRA " = > @@ -9178,10 +8889,10 @@ Ok Self : : -UnormInt24 +sBGRA ) " -UnormInt101010_2 +ABGR " = > @@ -9190,7 +8901,7 @@ Ok Self : : -UnormInt101010_2 +ABGR ) _ = @@ -9208,9 +8919,6 @@ Err doc = " -/ -/ -/ SPIR - V @@ -9218,7 +8926,7 @@ operand kind : [ -FPRoundingMode +ImageChannelDataType ] ( https @@ -9245,7 +8953,7 @@ SPIRV . html # -_a_id_fp_rounding_mode_a_fp_rounding_mode +_a_id_image_channel_data_type_a_image_channel_data_type ) " ] @@ -9318,53 +9026,76 @@ upper_case_acronyms ] pub enum -FPRoundingMode +ImageChannelDataType { -RTE +SnormInt8 = 0u32 -RTZ +SnormInt16 = 1u32 -RTP +UnormInt8 = 2u32 -RTN +UnormInt16 = 3u32 -} -# -[ -allow -( -non_upper_case_globals -) -] -impl -FPRoundingMode -{ +UnormShort565 += +4u32 +UnormShort555 += +5u32 +UnormInt101010 += +6u32 +SignedInt8 += +7u32 +SignedInt16 += +8u32 +SignedInt32 += +9u32 +UnsignedInt8 += +10u32 +UnsignedInt16 += +11u32 +UnsignedInt32 += +12u32 +HalfFloat += +13u32 +Float += +14u32 +UnormInt24 += +15u32 +UnormInt101010_2 += +16u32 +UnsignedIntRaw10EXT += +19u32 +UnsignedIntRaw12EXT += +20u32 } impl -num_traits -: -: -FromPrimitive -for -FPRoundingMode +ImageChannelDataType { -# -[ -allow -( -trivial_numeric_casts -) -] +pub fn -from_i64 +from_u32 ( n : -i64 +u32 ) - > @@ -9377,37 +9108,59 @@ Some ( match n -as -u32 { 0u32 +. +. += +16u32 = > -Self +unsafe +{ +core : : -RTE -1u32 -= -> -Self +mem : : -RTZ -2u32 -= -> -Self +transmute : : -RTP -3u32 +< +u32 +ImageChannelDataType +> +( +n +) +} +19u32 +. +. += +20u32 = > -Self +unsafe +{ +core : : -RTN +mem +: +: +transmute +: +: +< +u32 +ImageChannelDataType +> +( +n +) +} _ = > @@ -9416,30 +9169,17 @@ None } ) } -fn -from_u64 +} +# +[ +allow ( -n -: -u64 +non_upper_case_globals ) -- -> -Option -< -Self -> +] +impl +ImageChannelDataType { -Self -: -: -from_i64 -( -n -as -i64 -) -} } impl core @@ -9450,7 +9190,7 @@ str : FromStr for -FPRoundingMode +ImageChannelDataType { type Err @@ -9481,7 +9221,7 @@ match s { " -RTE +SnormInt8 " = > @@ -9490,10 +9230,10 @@ Ok Self : : -RTE +SnormInt8 ) " -RTZ +SnormInt16 " = > @@ -9502,10 +9242,10 @@ Ok Self : : -RTZ +SnormInt16 ) " -RTP +UnormInt8 " = > @@ -9514,10 +9254,10 @@ Ok Self : : -RTP +UnormInt8 ) " -RTN +UnormInt16 " = > @@ -9526,278 +9266,166 @@ Ok Self : : -RTN +UnormInt16 ) -_ +" +UnormShort565 +" = > -Err -( +Ok ( -) -) -} -} -} -# -[ -doc -= -" -/ -/ -/ -SPIR -- -V -operand -kind +Self : -[ -LinkageType -] -( -https : -/ -/ -www -. -khronos -. -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -SPIRV -. -html -# -_a_id_linkage_type_a_linkage_type +UnormShort565 ) " -] -# -[ -repr -( -u32 -) -] -# -[ -derive +UnormShort555 +" += +> +Ok ( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash +Self +: +: +UnormShort555 ) -] -# -[ -cfg_attr -( -feature -= " -serialize +UnormInt101010 " -derive += +> +Ok ( -serde +Self : : -Serialize -) +UnormInt101010 ) -] -# -[ -cfg_attr -( -feature -= " -deserialize +SignedInt8 " -derive += +> +Ok ( -serde +Self : : -Deserialize -) +SignedInt8 ) -] -# -[ -allow +" +SignedInt16 +" += +> +Ok ( -clippy +Self : : -upper_case_acronyms +SignedInt16 ) -] -pub -enum -LinkageType -{ -Export -= -0u32 -Import +" +SignedInt32 +" = -1u32 -} -# -[ -allow +> +Ok ( -non_upper_case_globals -) -] -impl -LinkageType -{ -} -impl -num_traits +Self : : -FromPrimitive -for -LinkageType -{ -# -[ -allow -( -trivial_numeric_casts +SignedInt32 ) -] -fn -from_i64 +" +UnsignedInt8 +" += +> +Ok ( -n +Self +: : -i64 +UnsignedInt8 ) -- -> -Option -< -Self -> -{ -Some -( -match -n -as -u32 -{ -0u32 +" +UnsignedInt16 +" = > +Ok +( Self : : -Export -1u32 +UnsignedInt16 +) +" +UnsignedInt32 +" = > +Ok +( Self : : -Import -_ +UnsignedInt32 +) +" +HalfFloat +" = > -return -None -} -) -} -fn -from_u64 +Ok ( -n +Self +: : -u64 +HalfFloat ) -- -> -Option -< -Self +" +Float +" += > -{ +Ok +( Self : : -from_i64 -( -n -as -i64 +Float ) -} -} -impl -core -: -: -str -: -: -FromStr -for -LinkageType -{ -type -Err +" +UnormInt24 +" = +> +Ok ( -) -; -fn -from_str -( -s +Self : -& -str +: +UnormInt24 ) -- +" +UnormInt101010_2 +" += > -Result -< -Self +Ok +( Self : : -Err -> -{ -match -s -{ +UnormInt101010_2 +) " -Export +UnsignedIntRaw10EXT " = > @@ -9806,10 +9434,10 @@ Ok Self : : -Export +UnsignedIntRaw10EXT ) " -Import +UnsignedIntRaw12EXT " = > @@ -9818,7 +9446,7 @@ Ok Self : : -Import +UnsignedIntRaw12EXT ) _ = @@ -9836,9 +9464,6 @@ Err doc = " -/ -/ -/ SPIR - V @@ -9846,7 +9471,7 @@ operand kind : [ -AccessQualifier +FPRoundingMode ] ( https @@ -9873,7 +9498,7 @@ SPIRV . html # -_a_id_access_qualifier_a_access_qualifier +_a_id_fp_rounding_mode_a_fp_rounding_mode ) " ] @@ -9946,50 +9571,31 @@ upper_case_acronyms ] pub enum -AccessQualifier +FPRoundingMode { -ReadOnly +RTE = 0u32 -WriteOnly +RTZ = 1u32 -ReadWrite +RTP = 2u32 -} -# -[ -allow -( -non_upper_case_globals -) -] -impl -AccessQualifier -{ +RTN += +3u32 } impl -num_traits -: -: -FromPrimitive -for -AccessQualifier +FPRoundingMode { -# -[ -allow -( -trivial_numeric_casts -) -] +pub fn -from_i64 +from_u32 ( n : -i64 +u32 ) - > @@ -10002,62 +9608,52 @@ Some ( match n -as -u32 { 0u32 +. +. += +3u32 = > -Self +unsafe +{ +core : : -ReadOnly -1u32 -= -> -Self +mem : : -WriteOnly -2u32 -= -> -Self +transmute : : -ReadWrite -_ -= +< +u32 +FPRoundingMode +> +( +n +) +} +_ += > return None } ) } -fn -from_u64 +} +# +[ +allow ( -n -: -u64 +non_upper_case_globals ) -- -> -Option -< -Self -> +] +impl +FPRoundingMode { -Self -: -: -from_i64 -( -n -as -i64 -) -} } impl core @@ -10068,7 +9664,7 @@ str : FromStr for -AccessQualifier +FPRoundingMode { type Err @@ -10099,7 +9695,7 @@ match s { " -ReadOnly +RTE " = > @@ -10108,10 +9704,10 @@ Ok Self : : -ReadOnly +RTE ) " -WriteOnly +RTZ " = > @@ -10120,10 +9716,10 @@ Ok Self : : -WriteOnly +RTZ ) " -ReadWrite +RTP " = > @@ -10132,7 +9728,19 @@ Ok Self : : -ReadWrite +RTP +) +" +RTN +" += +> +Ok +( +Self +: +: +RTN ) _ = @@ -10150,9 +9758,6 @@ Err doc = " -/ -/ -/ SPIR - V @@ -10160,7 +9765,7 @@ operand kind : [ -FunctionParameterAttribute +FPDenormMode ] ( https @@ -10187,7 +9792,7 @@ SPIRV . html # -_a_id_function_parameter_attribute_a_function_parameter_attribute +_a_id_fp_denorm_mode_a_fp_denorm_mode ) " ] @@ -10260,65 +9865,25 @@ upper_case_acronyms ] pub enum -FunctionParameterAttribute +FPDenormMode { -Zext +Preserve = 0u32 -Sext +FlushToZero = 1u32 -ByVal -= -2u32 -Sret -= -3u32 -NoAlias -= -4u32 -NoCapture -= -5u32 -NoWrite -= -6u32 -NoReadWrite -= -7u32 -} -# -[ -allow -( -non_upper_case_globals -) -] -impl -FunctionParameterAttribute -{ } impl -num_traits -: -: -FromPrimitive -for -FunctionParameterAttribute +FPDenormMode { -# -[ -allow -( -trivial_numeric_casts -) -] +pub fn -from_i64 +from_u32 ( n : -i64 +u32 ) - > @@ -10331,65 +9896,33 @@ Some ( match n -as -u32 { 0u32 +. +. = -> -Self -: -: -Zext 1u32 = > -Self -: -: -Sext -2u32 -= -> -Self -: -: -ByVal -3u32 -= -> -Self -: -: -Sret -4u32 -= -> -Self +unsafe +{ +core : : -NoAlias -5u32 -= -> -Self +mem : : -NoCapture -6u32 -= -> -Self +transmute : : -NoWrite -7u32 -= +< +u32 +FPDenormMode > -Self -: -: -NoReadWrite +( +n +) +} _ = > @@ -10398,30 +9931,17 @@ None } ) } -fn -from_u64 +} +# +[ +allow ( -n -: -u64 +non_upper_case_globals ) -- -> -Option -< -Self -> +] +impl +FPDenormMode { -Self -: -: -from_i64 -( -n -as -i64 -) -} } impl core @@ -10432,7 +9952,7 @@ str : FromStr for -FunctionParameterAttribute +FPDenormMode { type Err @@ -10463,7 +9983,7 @@ match s { " -Zext +Preserve " = > @@ -10472,10 +9992,10 @@ Ok Self : : -Zext +Preserve ) " -Sext +FlushToZero " = > @@ -10484,110 +10004,35 @@ Ok Self : : -Sext +FlushToZero ) -" -ByVal -" +_ = > -Ok +Err ( -Self -: -: -ByVal -) -" -Sret -" -= -> -Ok ( -Self -: -: -Sret ) -" -NoAlias -" -= -> -Ok -( -Self -: -: -NoAlias ) -" -NoCapture -" +} +} +} +# +[ +doc = -> -Ok -( -Self -: -: -NoCapture -) -" -NoWrite " -= -> -Ok +SPIR +- +V +operand +kind +: +[ +QuantizationModes +] ( -Self -: -: -NoWrite -) -" -NoReadWrite -" -= -> -Ok -( -Self -: -: -NoReadWrite -) -_ -= -> -Err -( -( -) -) -} -} -} -# -[ -doc -= -" -/ -/ -/ -SPIR -- -V -operand -kind -: -[ -Decoration -] -( -https +https : / / @@ -10611,7 +10056,7 @@ SPIRV . html # -_a_id_decoration_a_decoration +_a_id_quantization_modes_a_quantization_modes ) " ] @@ -10684,881 +10129,1540 @@ upper_case_acronyms ] pub enum -Decoration +QuantizationModes { -RelaxedPrecision +TRN = 0u32 -SpecId +TRN_ZERO = 1u32 -Block +RND = 2u32 -BufferBlock +RND_ZERO = 3u32 -RowMajor +RND_INF = 4u32 -ColMajor +RND_MIN_INF = 5u32 -ArrayStride +RND_CONV = 6u32 -MatrixStride +RND_CONV_ODD = 7u32 -GLSLShared -= -8u32 -GLSLPacked +} +impl +QuantizationModes +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. = -9u32 -CPacked +7u32 = -10u32 -BuiltIn +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +QuantizationModes +> +( +n +) +} +_ = -11u32 -NoPerspective +> +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +QuantizationModes +{ +} +impl +core +: +: +str +: +: +FromStr +for +QuantizationModes +{ +type +Err = -13u32 -Flat +( +) +; +fn +from_str +( +s +: +& +str +) +- +> +Result +< +Self +Self +: +: +Err +> +{ +match +s +{ +" +TRN +" = -14u32 -Patch +> +Ok +( +Self +: +: +TRN +) +" +TRN_ZERO +" = -15u32 -Centroid +> +Ok +( +Self +: +: +TRN_ZERO +) +" +RND +" = -16u32 -Sample +> +Ok +( +Self +: +: +RND +) +" +RND_ZERO +" = -17u32 -Invariant +> +Ok +( +Self +: +: +RND_ZERO +) +" +RND_INF +" = -18u32 -Restrict +> +Ok +( +Self +: +: +RND_INF +) +" +RND_MIN_INF +" = -19u32 -Aliased +> +Ok +( +Self +: +: +RND_MIN_INF +) +" +RND_CONV +" = -20u32 -Volatile +> +Ok +( +Self +: +: +RND_CONV +) +" +RND_CONV_ODD +" = -21u32 -Constant +> +Ok +( +Self +: +: +RND_CONV_ODD +) +_ = -22u32 -Coherent -= -23u32 -NonWritable -= -24u32 -NonReadable -= -25u32 -Uniform +> +Err +( +( +) +) +} +} +} +# +[ +doc = -26u32 -UniformId +" +SPIR +- +V +operand +kind +: +[ +FPOperationMode +] +( +https +: +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_fp_operation_mode_a_fp_operation_mode +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -27u32 -SaturatedConversion +" +serialize +" +derive +( +serde +: +: +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -28u32 -Stream +" +deserialize +" +derive +( +serde +: +: +Deserialize +) +) +] +# +[ +allow +( +clippy +: +: +upper_case_acronyms +) +] +pub +enum +FPOperationMode +{ +IEEE = -29u32 -Location +0u32 +ALT = -30u32 -Component +1u32 +} +impl +FPOperationMode +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. = -31u32 -Index +1u32 = -32u32 -Binding +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +FPOperationMode +> +( +n +) +} +_ = -33u32 -DescriptorSet +> +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +FPOperationMode +{ +} +impl +core +: +: +str +: +: +FromStr +for +FPOperationMode +{ +type +Err = -34u32 -Offset +( +) +; +fn +from_str +( +s +: +& +str +) +- +> +Result +< +Self +Self +: +: +Err +> +{ +match +s +{ +" +IEEE +" = -35u32 -XfbBuffer +> +Ok +( +Self +: +: +IEEE +) +" +ALT +" = -36u32 -XfbStride -= -37u32 -FuncParamAttr -= -38u32 -FPRoundingMode -= -39u32 -FPFastMathMode -= -40u32 -LinkageAttributes -= -41u32 -NoContraction -= -42u32 -InputAttachmentIndex -= -43u32 -Alignment -= -44u32 -MaxByteOffset -= -45u32 -AlignmentId -= -46u32 -MaxByteOffsetId -= -47u32 -NoSignedWrap -= -4469u32 -NoUnsignedWrap -= -4470u32 -ExplicitInterpAMD -= -4999u32 -OverrideCoverageNV -= -5248u32 -PassthroughNV -= -5250u32 -ViewportRelativeNV -= -5252u32 -SecondaryViewportRelativeNV -= -5256u32 -PerPrimitiveNV -= -5271u32 -PerViewNV -= -5272u32 -PerTaskNV -= -5273u32 -PerVertexNV -= -5285u32 -NonUniform -= -5300u32 -RestrictPointer -= -5355u32 -AliasedPointer -= -5356u32 -ReferencedIndirectlyINTEL -= -5602u32 -CounterBuffer -= -5634u32 -UserSemantic -= -5635u32 -UserTypeGOOGLE -= -5636u32 -RegisterINTEL -= -5825u32 -MemoryINTEL -= -5826u32 -NumbanksINTEL -= -5827u32 -BankwidthINTEL -= -5828u32 -MaxPrivateCopiesINTEL -= -5829u32 -SinglepumpINTEL -= -5830u32 -DoublepumpINTEL -= -5831u32 -MaxReplicatesINTEL -= -5832u32 -SimpleDualPortINTEL -= -5833u32 -MergeINTEL -= -5834u32 -BankBitsINTEL -= -5835u32 -ForcePow2DepthINTEL -= -5836u32 -} -# -[ -allow +> +Ok ( -non_upper_case_globals -) -] -impl -Decoration -{ -pub -const -NonUniformEXT -: -Self -= -Self -: -: -NonUniform -; -pub -const -RestrictPointerEXT -: -Self -= -Self -: -: -RestrictPointer -; -pub -const -AliasedPointerEXT -: -Self -= -Self -: -: -AliasedPointer -; -pub -const -HlslCounterBufferGOOGLE -: -Self -= Self : : -CounterBuffer -; -pub -const -HlslSemanticGOOGLE -: -Self +ALT +) +_ = -Self -: -: -UserSemantic -; +> +Err +( +( +) +) +} +} } -impl -num_traits -: -: -FromPrimitive -for -Decoration -{ # [ -allow -( -trivial_numeric_casts -) +doc += +" +SPIR +- +V +operand +kind +: +[ +OverflowModes ] -fn -from_i64 ( -n +https : -i64 -) +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir - -> -Option -< -Self -> -{ -Some +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_overflow_modes_a_overflow_modes +) +" +] +# +[ +repr ( -match -n -as u32 -{ -0u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +serialize +" +derive +( +serde : : -RelaxedPrecision -1u32 +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +deserialize +" +derive +( +serde : : -SpecId -2u32 -= -> -Self +Deserialize +) +) +] +# +[ +allow +( +clippy : : -Block -3u32 +upper_case_acronyms +) +] +pub +enum +OverflowModes +{ +WRAP = -> -Self -: -: -BufferBlock -4u32 +0u32 +SAT = -> -Self -: -: -RowMajor -5u32 +1u32 +SAT_ZERO = -> -Self -: -: -ColMajor -6u32 +2u32 +SAT_SYM = -> -Self -: +3u32 +} +impl +OverflowModes +{ +pub +fn +from_u32 +( +n : -ArrayStride -7u32 -= +u32 +) +- > +Option +< Self -: -: -MatrixStride -8u32 -= > -Self -: -: -GLSLShared -9u32 +{ +Some +( +match +n +{ +0u32 +. +. = -> -Self -: -: -GLSLPacked -10u32 +3u32 = > -Self +unsafe +{ +core : : -CPacked -11u32 -= -> -Self +mem : : -BuiltIn -13u32 -= -> -Self +transmute : : -NoPerspective -14u32 -= +< +u32 +OverflowModes > -Self -: -: -Flat -15u32 +( +n +) +} +_ = > -Self +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +OverflowModes +{ +} +impl +core : : -Patch -16u32 -= -> -Self +str : : -Centroid -17u32 +FromStr +for +OverflowModes +{ +type +Err = -> -Self -: +( +) +; +fn +from_str +( +s : -Sample -18u32 -= +& +str +) +- > +Result +< +Self Self : : -Invariant -19u32 +Err +> +{ +match +s +{ +" +WRAP +" = > +Ok +( Self : : -Restrict -20u32 +WRAP +) +" +SAT +" = > +Ok +( Self : : -Aliased -21u32 +SAT +) +" +SAT_ZERO +" = > +Ok +( Self : : -Volatile -22u32 +SAT_ZERO +) +" +SAT_SYM +" = > +Ok +( Self : : -Constant -23u32 +SAT_SYM +) +_ = > -Self +Err +( +( +) +) +} +} +} +# +[ +doc += +" +SPIR +- +V +operand +kind : +[ +LinkageType +] +( +https : -Coherent -24u32 +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_linkage_type_a_linkage_type +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +serialize +" +derive +( +serde : : -NonWritable -25u32 +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +deserialize +" +derive +( +serde : : -NonReadable -26u32 -= -> -Self +Deserialize +) +) +] +# +[ +allow +( +clippy : : -Uniform -27u32 +upper_case_acronyms +) +] +pub +enum +LinkageType +{ +Export = +0u32 +Import += +1u32 +LinkOnceODR += +2u32 +} +impl +LinkageType +{ +pub +fn +from_u32 +( +n +: +u32 +) +- > +Option +< Self -: -: -UniformId -28u32 +> +{ +Some +( +match +n +{ +0u32 +. +. += +2u32 = > -Self +unsafe +{ +core : : -SaturatedConversion -29u32 -= -> -Self +mem : : -Stream -30u32 -= -> -Self +transmute : : -Location -31u32 +< +u32 +LinkageType +> +( +n +) +} +_ = > -Self +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +LinkageType +{ +} +impl +core : : -Component -32u32 +str +: +: +FromStr +for +LinkageType +{ +type +Err = +( +) +; +fn +from_str +( +s +: +& +str +) +- > +Result +< +Self Self : : -Index -33u32 +Err +> +{ +match +s +{ +" +Export +" = > +Ok +( Self : : -Binding -34u32 +Export +) +" +Import +" = > +Ok +( Self : : -DescriptorSet -35u32 +Import +) +" +LinkOnceODR +" = > +Ok +( Self : : -Offset -36u32 +LinkOnceODR +) +_ = > -Self -: -: -XfbBuffer -37u32 +Err +( +( +) +) +} +} +} +# +[ +doc = -> -Self +" +SPIR +- +V +operand +kind : +[ +AccessQualifier +] +( +https : -XfbStride -38u32 +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_access_qualifier_a_access_qualifier +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +serialize +" +derive +( +serde : : -FuncParamAttr -39u32 +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +deserialize +" +derive +( +serde : : -FPRoundingMode -40u32 -= -> -Self +Deserialize +) +) +] +# +[ +allow +( +clippy : : -FPFastMathMode -41u32 +upper_case_acronyms +) +] +pub +enum +AccessQualifier +{ +ReadOnly += +0u32 +WriteOnly += +1u32 +ReadWrite = +2u32 +} +impl +AccessQualifier +{ +pub +fn +from_u32 +( +n +: +u32 +) +- > +Option +< Self -: -: -LinkageAttributes -42u32 +> +{ +Some +( +match +n +{ +0u32 +. +. += +2u32 = > -Self +unsafe +{ +core : : -NoContraction -43u32 -= -> -Self +mem : : -InputAttachmentIndex -44u32 -= -> -Self +transmute : : -Alignment -45u32 +< +u32 +AccessQualifier +> +( +n +) +} +_ = > -Self +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +AccessQualifier +{ +} +impl +core : : -MaxByteOffset -46u32 -= -> -Self +str : : -AlignmentId -47u32 +FromStr +for +AccessQualifier +{ +type +Err = +( +) +; +fn +from_str +( +s +: +& +str +) +- > +Result +< +Self Self : : -MaxByteOffsetId -4469u32 -= +Err > -Self -: -: -NoSignedWrap -4470u32 +{ +match +s +{ +" +ReadOnly +" = > +Ok +( Self : : -NoUnsignedWrap -4999u32 +ReadOnly +) +" +WriteOnly +" = > +Ok +( Self : : -ExplicitInterpAMD -5248u32 +WriteOnly +) +" +ReadWrite +" = > +Ok +( Self : : -OverrideCoverageNV -5250u32 +ReadWrite +) +_ = > -Self -: -: -PassthroughNV -5252u32 +Err +( +( +) +) +} +} +} +# +[ +doc = -> -Self +" +SPIR +- +V +operand +kind : +[ +HostAccessQualifier +] +( +https : -ViewportRelativeNV -5256u32 +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_host_access_qualifier_a_host_access_qualifier +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +serialize +" +derive +( +serde : : -SecondaryViewportRelativeNV -5271u32 +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +deserialize +" +derive +( +serde : : -PerPrimitiveNV -5272u32 -= -> -Self +Deserialize +) +) +] +# +[ +allow +( +clippy : : -PerViewNV -5273u32 +upper_case_acronyms +) +] +pub +enum +HostAccessQualifier +{ +NoneINTEL = -> -Self -: -: -PerTaskNV -5285u32 +0u32 +ReadINTEL = -> -Self -: -: -PerVertexNV -5300u32 +1u32 +WriteINTEL = -> -Self -: -: -NonUniform -5355u32 +2u32 +ReadWriteINTEL = -> -Self -: +3u32 +} +impl +HostAccessQualifier +{ +pub +fn +from_u32 +( +n : -RestrictPointer -5356u32 -= +u32 +) +- > +Option +< Self -: -: -AliasedPointer -5602u32 -= > -Self -: -: -ReferencedIndirectlyINTEL -5634u32 +{ +Some +( +match +n +{ +0u32 +. +. = -> -Self -: -: -CounterBuffer -5635u32 +3u32 = > -Self +unsafe +{ +core : : -UserSemantic -5636u32 -= -> -Self +mem : : -UserTypeGOOGLE -5825u32 -= -> -Self +transmute : : -RegisterINTEL -5826u32 -= +< +u32 +HostAccessQualifier > -Self -: -: -MemoryINTEL -5827u32 -= -> -Self -: -: -NumbanksINTEL -5828u32 -= -> -Self -: -: -BankwidthINTEL -5829u32 -= -> -Self -: -: -MaxPrivateCopiesINTEL -5830u32 -= -> -Self -: -: -SinglepumpINTEL -5831u32 -= -> -Self -: -: -DoublepumpINTEL -5832u32 -= -> -Self -: -: -MaxReplicatesINTEL -5833u32 -= -> -Self -: -: -SimpleDualPortINTEL -5834u32 -= -> -Self -: -: -MergeINTEL -5835u32 -= -> -Self -: -: -BankBitsINTEL -5836u32 -= -> -Self -: -: -ForcePow2DepthINTEL +( +n +) +} _ = > @@ -11567,30 +11671,17 @@ None } ) } -fn -from_u64 +} +# +[ +allow ( -n -: -u64 +non_upper_case_globals ) -- -> -Option -< -Self -> +] +impl +HostAccessQualifier { -Self -: -: -from_i64 -( -n -as -i64 -) -} } impl core @@ -11601,7 +11692,7 @@ str : FromStr for -Decoration +HostAccessQualifier { type Err @@ -11632,7 +11723,7 @@ match s { " -RelaxedPrecision +NoneINTEL " = > @@ -11641,10 +11732,10 @@ Ok Self : : -RelaxedPrecision +NoneINTEL ) " -SpecId +ReadINTEL " = > @@ -11653,10 +11744,10 @@ Ok Self : : -SpecId +ReadINTEL ) " -Block +WriteINTEL " = > @@ -11665,10 +11756,10 @@ Ok Self : : -Block +WriteINTEL ) " -BufferBlock +ReadWriteINTEL " = > @@ -11677,238 +11768,293 @@ Ok Self : : -BufferBlock +ReadWriteINTEL ) -" -RowMajor -" +_ = > -Ok +Err +( ( -Self -: -: -RowMajor ) -" -ColMajor -" +) +} +} +} +# +[ +doc = -> -Ok -( -Self +" +SPIR +- +V +operand +kind : +[ +FunctionParameterAttribute +] +( +https : -ColMajor +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_function_parameter_attribute_a_function_parameter_attribute ) " -ArrayStride -" -= -> -Ok +] +# +[ +repr ( -Self -: -: -ArrayStride +u32 ) -" -MatrixStride -" -= -> -Ok +] +# +[ +derive ( -Self -: -: -MatrixStride +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash ) +] +# +[ +cfg_attr +( +feature += " -GLSLShared +serialize " -= -> -Ok +derive ( -Self +serde : : -GLSLShared +Serialize ) +) +] +# +[ +cfg_attr +( +feature += " -GLSLPacked +deserialize " -= -> -Ok +derive ( -Self +serde : : -GLSLPacked +Deserialize ) -" -CPacked -" -= -> -Ok +) +] +# +[ +allow ( -Self +clippy : : -CPacked +upper_case_acronyms ) -" -BuiltIn -" +] +pub +enum +FunctionParameterAttribute +{ +Zext = -> -Ok +0u32 +Sext += +1u32 +ByVal += +2u32 +Sret += +3u32 +NoAlias += +4u32 +NoCapture += +5u32 +NoWrite += +6u32 +NoReadWrite += +7u32 +RuntimeAlignedINTEL += +5940u32 +} +impl +FunctionParameterAttribute +{ +pub +fn +from_u32 ( -Self -: +n : -BuiltIn +u32 ) -" -NoPerspective -" -= +- > -Ok -( +Option +< Self -: -: -NoPerspective -) -" -Flat -" -= > -Ok +{ +Some ( -Self -: -: -Flat -) -" -Patch -" +match +n +{ +0u32 +. +. += +7u32 = > -Ok -( -Self +unsafe +{ +core : : -Patch -) -" -Centroid -" -= -> -Ok -( -Self +mem : : -Centroid -) -" -Sample -" -= -> -Ok -( -Self +transmute : : -Sample -) -" -Invariant -" -= +< +u32 +FunctionParameterAttribute > -Ok ( -Self -: -: -Invariant +n ) -" -Restrict -" +} +5940u32 = > -Ok -( -Self +unsafe +{ +core : : -Restrict -) -" -Aliased -" -= -> -Ok -( -Self +mem : : -Aliased +transmute +: +: +< +u32 +FunctionParameterAttribute +> +( +5940u32 ) -" -Volatile -" +} +_ = > -Ok +return +None +} +) +} +} +# +[ +allow ( -Self +non_upper_case_globals +) +] +impl +FunctionParameterAttribute +{ +} +impl +core : : -Volatile -) -" -Constant -" +str +: +: +FromStr +for +FunctionParameterAttribute +{ +type +Err = -> -Ok ( -Self -: +) +; +fn +from_str +( +s : -Constant +& +str ) -" -Coherent -" -= +- > -Ok -( +Result +< +Self Self : : -Coherent -) +Err +> +{ +match +s +{ " -NonWritable +Zext " = > @@ -11917,10 +12063,10 @@ Ok Self : : -NonWritable +Zext ) " -NonReadable +Sext " = > @@ -11929,10 +12075,10 @@ Ok Self : : -NonReadable +Sext ) " -Uniform +ByVal " = > @@ -11941,10 +12087,10 @@ Ok Self : : -Uniform +ByVal ) " -UniformId +Sret " = > @@ -11953,10 +12099,10 @@ Ok Self : : -UniformId +Sret ) " -SaturatedConversion +NoAlias " = > @@ -11965,10 +12111,10 @@ Ok Self : : -SaturatedConversion +NoAlias ) " -Stream +NoCapture " = > @@ -11977,10 +12123,10 @@ Ok Self : : -Stream +NoCapture ) " -Location +NoWrite " = > @@ -11989,10 +12135,10 @@ Ok Self : : -Location +NoWrite ) " -Component +NoReadWrite " = > @@ -12001,10 +12147,10 @@ Ok Self : : -Component +NoReadWrite ) " -Index +RuntimeAlignedINTEL " = > @@ -12013,2058 +12159,2020 @@ Ok Self : : -Index +RuntimeAlignedINTEL ) -" -Binding -" +_ = > -Ok +Err ( -Self -: -: -Binding -) -" -DescriptorSet -" -= -> -Ok ( -Self -: -: -DescriptorSet ) -" -Offset -" -= -> -Ok -( -Self -: -: -Offset ) -" -XfbBuffer -" +} +} +} +# +[ +doc = -> -Ok -( -Self -: -: -XfbBuffer -) " -XfbStride -" -= -> -Ok -( -Self -: +SPIR +- +V +operand +kind : -XfbStride -) -" -FuncParamAttr -" -= -> -Ok +[ +Decoration +] ( -Self -: +https : -FuncParamAttr +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_decoration_a_decoration ) " -FPRoundingMode -" -= -> -Ok +] +# +[ +repr ( -Self -: -: -FPRoundingMode +u32 ) -" -FPFastMathMode -" -= -> -Ok +] +# +[ +derive ( -Self -: -: -FPFastMathMode +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash ) -" -LinkageAttributes -" -= -> -Ok +] +# +[ +cfg_attr ( -Self -: -: -LinkageAttributes -) -" -NoContraction -" +feature = -> -Ok -( -Self -: -: -NoContraction -) " -InputAttachmentIndex +serialize " -= -> -Ok +derive ( -Self +serde : : -InputAttachmentIndex +Serialize ) -" -Alignment -" -= -> -Ok -( -Self -: -: -Alignment ) -" -MaxByteOffset -" -= -> -Ok +] +# +[ +cfg_attr ( -Self -: -: -MaxByteOffset -) -" -AlignmentId -" +feature = -> -Ok -( -Self -: -: -AlignmentId -) " -MaxByteOffsetId +deserialize " -= -> -Ok +derive ( -Self +serde : : -MaxByteOffsetId +Deserialize ) -" -NoSignedWrap -" -= -> -Ok -( -Self -: -: -NoSignedWrap ) -" -NoUnsignedWrap -" -= -> -Ok +] +# +[ +allow ( -Self +clippy : : -NoUnsignedWrap +upper_case_acronyms ) -" -ExplicitInterpAMD -" +] +pub +enum +Decoration +{ +RelaxedPrecision = -> -Ok -( -Self -: -: -ExplicitInterpAMD -) -" -OverrideCoverageNV -" +0u32 +SpecId = -> -Ok -( -Self -: -: -OverrideCoverageNV -) -" -PassthroughNV -" +1u32 +Block = -> -Ok -( -Self -: -: -PassthroughNV -) -" -ViewportRelativeNV -" +2u32 +BufferBlock = -> -Ok -( -Self -: -: -ViewportRelativeNV -) -" -SecondaryViewportRelativeNV -" +3u32 +RowMajor = -> -Ok -( -Self -: -: -SecondaryViewportRelativeNV -) -" -PerPrimitiveNV -" +4u32 +ColMajor = -> -Ok -( -Self -: -: -PerPrimitiveNV -) -" -PerViewNV -" +5u32 +ArrayStride = -> -Ok -( -Self -: -: -PerViewNV -) -" -PerTaskNV -" +6u32 +MatrixStride = -> -Ok -( -Self -: -: -PerTaskNV -) -" -PerVertexNV -" +7u32 +GLSLShared = -> -Ok -( -Self -: -: -PerVertexNV -) -" -NonUniform -" +8u32 +GLSLPacked = -> -Ok -( -Self -: -: -NonUniform -) -" -NonUniformEXT -" +9u32 +CPacked = -> -Ok -( -Self -: -: -NonUniform -) -" -RestrictPointer -" +10u32 +BuiltIn = -> -Ok -( -Self -: -: -RestrictPointer -) -" -RestrictPointerEXT -" +11u32 +NoPerspective = -> -Ok -( -Self -: -: -RestrictPointer -) -" -AliasedPointer -" +13u32 +Flat = -> -Ok -( -Self -: -: -AliasedPointer -) -" -AliasedPointerEXT -" +14u32 +Patch = -> -Ok -( -Self -: -: -AliasedPointer -) -" -ReferencedIndirectlyINTEL -" +15u32 +Centroid = -> -Ok -( -Self -: -: -ReferencedIndirectlyINTEL -) -" -CounterBuffer -" +16u32 +Sample = -> -Ok -( -Self -: -: -CounterBuffer -) -" -HlslCounterBufferGOOGLE -" +17u32 +Invariant = -> -Ok -( -Self -: -: -CounterBuffer -) -" -UserSemantic -" +18u32 +Restrict = -> -Ok -( -Self -: -: -UserSemantic -) -" -HlslSemanticGOOGLE -" +19u32 +Aliased = -> -Ok -( -Self -: -: -UserSemantic -) -" -UserTypeGOOGLE -" +20u32 +Volatile = -> -Ok -( -Self -: -: +21u32 +Constant += +22u32 +Coherent += +23u32 +NonWritable += +24u32 +NonReadable += +25u32 +Uniform += +26u32 +UniformId += +27u32 +SaturatedConversion += +28u32 +Stream += +29u32 +Location += +30u32 +Component += +31u32 +Index += +32u32 +Binding += +33u32 +DescriptorSet += +34u32 +Offset += +35u32 +XfbBuffer += +36u32 +XfbStride += +37u32 +FuncParamAttr += +38u32 +FPRoundingMode += +39u32 +FPFastMathMode += +40u32 +LinkageAttributes += +41u32 +NoContraction += +42u32 +InputAttachmentIndex += +43u32 +Alignment += +44u32 +MaxByteOffset += +45u32 +AlignmentId += +46u32 +MaxByteOffsetId += +47u32 +NoSignedWrap += +4469u32 +NoUnsignedWrap += +4470u32 +WeightTextureQCOM += +4487u32 +BlockMatchTextureQCOM += +4488u32 +ExplicitInterpAMD += +4999u32 +NodeSharesPayloadLimitsWithAMDX += +5019u32 +NodeMaxPayloadsAMDX += +5020u32 +TrackFinishWritingAMDX += +5078u32 +PayloadNodeNameAMDX += +5091u32 +OverrideCoverageNV += +5248u32 +PassthroughNV += +5250u32 +ViewportRelativeNV += +5252u32 +SecondaryViewportRelativeNV += +5256u32 +PerPrimitiveNV += +5271u32 +PerViewNV += +5272u32 +PerTaskNV += +5273u32 +PerVertexKHR += +5285u32 +NonUniform += +5300u32 +RestrictPointer += +5355u32 +AliasedPointer += +5356u32 +HitObjectShaderRecordBufferNV += +5386u32 +BindlessSamplerNV += +5398u32 +BindlessImageNV += +5399u32 +BoundSamplerNV += +5400u32 +BoundImageNV += +5401u32 +SIMTCallINTEL += +5599u32 +ReferencedIndirectlyINTEL += +5602u32 +ClobberINTEL += +5607u32 +SideEffectsINTEL += +5608u32 +VectorComputeVariableINTEL += +5624u32 +FuncParamIOKindINTEL += +5625u32 +VectorComputeFunctionINTEL += +5626u32 +StackCallINTEL += +5627u32 +GlobalVariableOffsetINTEL += +5628u32 +CounterBuffer += +5634u32 +UserSemantic += +5635u32 UserTypeGOOGLE -) -" -RegisterINTEL -" = -> -Ok -( -Self -: -: +5636u32 +FunctionRoundingModeINTEL += +5822u32 +FunctionDenormModeINTEL += +5823u32 RegisterINTEL -) -" -MemoryINTEL -" = -> -Ok -( -Self -: -: +5825u32 MemoryINTEL -) -" -NumbanksINTEL -" = -> -Ok -( -Self -: -: +5826u32 NumbanksINTEL -) -" -BankwidthINTEL -" = -> -Ok -( -Self -: -: +5827u32 BankwidthINTEL -) -" -MaxPrivateCopiesINTEL -" = -> -Ok -( -Self -: -: +5828u32 MaxPrivateCopiesINTEL -) -" -SinglepumpINTEL -" = -> -Ok -( -Self -: -: +5829u32 SinglepumpINTEL -) -" -DoublepumpINTEL -" = -> -Ok -( -Self -: -: +5830u32 DoublepumpINTEL -) -" -MaxReplicatesINTEL -" = -> -Ok -( -Self -: -: +5831u32 MaxReplicatesINTEL -) -" -SimpleDualPortINTEL -" = -> -Ok -( -Self -: -: +5832u32 SimpleDualPortINTEL -) -" -MergeINTEL -" = -> -Ok -( -Self -: -: +5833u32 MergeINTEL -) -" -BankBitsINTEL -" = -> -Ok -( -Self -: -: +5834u32 BankBitsINTEL -) -" -ForcePow2DepthINTEL -" = -> -Ok -( -Self -: -: +5835u32 ForcePow2DepthINTEL -) -_ -= -> -Err -( -( -) -) -} -} -} -# -[ -doc -= -" -/ -/ -/ -SPIR -- -V -operand -kind -: -[ -BuiltIn -] -( -https -: -/ -/ -www -. -khronos -. -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -SPIRV -. -html -# -_a_id_built_in_a_built_in -) -" -] -# -[ -repr -( -u32 -) -] -# -[ -derive -( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash -) -] -# -[ -cfg_attr -( -feature = -" -serialize -" -derive -( -serde -: -: -Serialize -) -) -] -# -[ -cfg_attr -( -feature +5836u32 +BurstCoalesceINTEL = -" -deserialize -" -derive -( -serde -: -: -Deserialize -) -) -] -# -[ -allow -( -clippy -: -: -upper_case_acronyms -) -] -pub -enum -BuiltIn -{ -Position +5899u32 +CacheSizeINTEL = -0u32 -PointSize +5900u32 +DontStaticallyCoalesceINTEL = -1u32 -ClipDistance +5901u32 +PrefetchINTEL = -3u32 -CullDistance +5902u32 +StallEnableINTEL = -4u32 -VertexId +5905u32 +FuseLoopsInFunctionINTEL = -5u32 -InstanceId +5907u32 +MathOpDSPModeINTEL = -6u32 -PrimitiveId +5909u32 +AliasScopeINTEL = -7u32 -InvocationId +5914u32 +NoAliasINTEL = -8u32 -Layer +5915u32 +InitiationIntervalINTEL = -9u32 -ViewportIndex +5917u32 +MaxConcurrencyINTEL = -10u32 -TessLevelOuter +5918u32 +PipelineEnableINTEL = -11u32 -TessLevelInner +5919u32 +BufferLocationINTEL = -12u32 -TessCoord +5921u32 +IOPipeStorageINTEL = -13u32 -PatchVertices +5944u32 +FunctionFloatingPointModeINTEL = -14u32 -FragCoord +6080u32 +SingleElementVectorINTEL = -15u32 -PointCoord +6085u32 +VectorComputeCallableFunctionINTEL = -16u32 -FrontFacing +6087u32 +MediaBlockIOINTEL = -17u32 -SampleId +6140u32 +InitModeINTEL = -18u32 -SamplePosition +6147u32 +ImplementInRegisterMapINTEL = -19u32 -SampleMask +6148u32 +HostAccessINTEL = -20u32 -FragDepth +6168u32 +FPMaxErrorDecorationINTEL = -22u32 -HelperInvocation +6170u32 +LatencyControlLabelINTEL = -23u32 -NumWorkgroups +6172u32 +LatencyControlConstraintINTEL = -24u32 -WorkgroupSize +6173u32 +ConduitKernelArgumentINTEL = -25u32 -WorkgroupId +6175u32 +RegisterMapKernelArgumentINTEL = -26u32 -LocalInvocationId +6176u32 +MMHostInterfaceAddressWidthINTEL = -27u32 -GlobalInvocationId +6177u32 +MMHostInterfaceDataWidthINTEL = -28u32 -LocalInvocationIndex +6178u32 +MMHostInterfaceLatencyINTEL = -29u32 -WorkDim +6179u32 +MMHostInterfaceReadWriteModeINTEL = -30u32 -GlobalSize +6180u32 +MMHostInterfaceMaxBurstINTEL = -31u32 -EnqueuedWorkgroupSize +6181u32 +MMHostInterfaceWaitRequestINTEL = -32u32 -GlobalOffset +6182u32 +StableKernelArgumentINTEL = -33u32 -GlobalLinearId +6183u32 +CacheControlLoadINTEL = -34u32 -SubgroupSize +6442u32 +CacheControlStoreINTEL = -36u32 -SubgroupMaxSize +6443u32 +} +impl +Decoration +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. = -37u32 -NumSubgroups +11u32 = -38u32 -NumEnqueuedSubgroups +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Decoration +> +( +n +) +} +13u32 +. +. = -39u32 -SubgroupId +47u32 = -40u32 -SubgroupLocalInvocationId +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Decoration +> +( +n +) +} +4469u32 +. +. = -41u32 -VertexIndex +4470u32 = -42u32 -InstanceIndex +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Decoration +> +( +n +) +} +4487u32 +. +. = -43u32 -SubgroupEqMask +4488u32 = -4416u32 -SubgroupGeMask +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Decoration +> +( +n +) +} +4999u32 = -4417u32 -SubgroupGtMask +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Decoration +> +( +4999u32 +) +} +5019u32 +. +. = -4418u32 -SubgroupLeMask +5020u32 = -4419u32 -SubgroupLtMask +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Decoration +> +( +n +) +} +5078u32 = -4420u32 -BaseVertex +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Decoration +> +( +5078u32 +) +} +5091u32 = -4424u32 -BaseInstance +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Decoration +> +( +5091u32 +) +} +5248u32 = -4425u32 -DrawIndex +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Decoration +> +( +5248u32 +) +} +5250u32 = -4426u32 -PrimitiveShadingRateKHR +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Decoration +> +( +5250u32 +) +} +5252u32 = -4432u32 -DeviceIndex +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Decoration +> +( +5252u32 +) +} +5256u32 = -4438u32 -ViewIndex +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Decoration +> +( +5256u32 +) +} +5271u32 +. +. = -4440u32 -ShadingRateKHR -= -4444u32 -BaryCoordNoPerspAMD -= -4992u32 -BaryCoordNoPerspCentroidAMD -= -4993u32 -BaryCoordNoPerspSampleAMD -= -4994u32 -BaryCoordSmoothAMD -= -4995u32 -BaryCoordSmoothCentroidAMD -= -4996u32 -BaryCoordSmoothSampleAMD -= -4997u32 -BaryCoordPullModelAMD -= -4998u32 -FragStencilRefEXT -= -5014u32 -ViewportMaskNV -= -5253u32 -SecondaryPositionNV -= -5257u32 -SecondaryViewportMaskNV -= -5258u32 -PositionPerViewNV -= -5261u32 -ViewportMaskPerViewNV -= -5262u32 -FullyCoveredEXT -= -5264u32 -TaskCountNV -= -5274u32 -PrimitiveCountNV -= -5275u32 -PrimitiveIndicesNV -= -5276u32 -ClipDistancePerViewNV -= -5277u32 -CullDistancePerViewNV -= -5278u32 -LayerPerViewNV -= -5279u32 -MeshViewCountNV -= -5280u32 -MeshViewIndicesNV -= -5281u32 -BaryCoordNV -= -5286u32 -BaryCoordNoPerspNV -= -5287u32 -FragSizeEXT -= -5292u32 -FragInvocationCountEXT -= -5293u32 -LaunchIdNV -= -5319u32 -LaunchSizeNV -= -5320u32 -WorldRayOriginNV -= -5321u32 -WorldRayDirectionNV -= -5322u32 -ObjectRayOriginNV -= -5323u32 -ObjectRayDirectionNV -= -5324u32 -RayTminNV -= -5325u32 -RayTmaxNV -= -5326u32 -InstanceCustomIndexNV -= -5327u32 -ObjectToWorldNV -= -5330u32 -WorldToObjectNV -= -5331u32 -HitTNV -= -5332u32 -HitKindNV -= -5333u32 -IncomingRayFlagsNV -= -5351u32 -RayGeometryIndexKHR -= -5352u32 -WarpsPerSMNV -= -5374u32 -SMCountNV -= -5375u32 -WarpIDNV -= -5376u32 -SMIDNV +5273u32 = -5377u32 -} -# -[ -allow -( -non_upper_case_globals -) -] -impl -BuiltIn +> +unsafe { -pub -const -SubgroupEqMaskKHR -: -Self -= -Self +core : : -SubgroupEqMask -; -pub -const -SubgroupGeMaskKHR +mem : -Self -= -Self : +transmute : -SubgroupGeMask -; -pub -const -SubgroupGtMaskKHR : -Self +< +u32 +Decoration +> +( +n +) +} +5285u32 = -Self +> +unsafe +{ +core : : -SubgroupGtMask -; -pub -const -SubgroupLeMaskKHR +mem : -Self -= -Self : +transmute : -SubgroupLeMask -; -pub -const -SubgroupLtMaskKHR : -Self +< +u32 +Decoration +> +( +5285u32 +) +} +5300u32 = -Self +> +unsafe +{ +core : : -SubgroupLtMask -; -pub -const -FragmentSizeNV +mem : -Self -= -Self : +transmute : -FragSizeEXT -; -pub -const -InvocationsPerPixelNV : -Self +< +u32 +Decoration +> +( +5300u32 +) +} +5355u32 +. +. = -Self +5356u32 += +> +unsafe +{ +core : : -FragInvocationCountEXT -; -pub -const -LaunchIdKHR +mem : -Self -= -Self : +transmute : -LaunchIdNV -; -pub -const -LaunchSizeKHR : -Self -= -Self +< +u32 +Decoration +> +( +n +) +} +5386u32 += +> +unsafe +{ +core : : -LaunchSizeNV -; -pub -const -WorldRayOriginKHR +mem : -Self -= -Self : +transmute : -WorldRayOriginNV -; -pub -const -WorldRayDirectionKHR : -Self +< +u32 +Decoration +> +( +5386u32 +) +} +5398u32 +. +. = -Self +5401u32 += +> +unsafe +{ +core : : -WorldRayDirectionNV -; -pub -const -ObjectRayOriginKHR +mem : -Self -= -Self : +transmute : -ObjectRayOriginNV -; -pub -const -ObjectRayDirectionKHR : -Self +< +u32 +Decoration +> +( +n +) +} +5599u32 = -Self +> +unsafe +{ +core : : -ObjectRayDirectionNV -; -pub -const -RayTminKHR +mem : -Self -= -Self : +transmute : -RayTminNV -; -pub -const -RayTmaxKHR : -Self +< +u32 +Decoration +> +( +5599u32 +) +} +5602u32 = -Self +> +unsafe +{ +core : : -RayTmaxNV -; -pub -const -InstanceCustomIndexKHR +mem : -Self -= -Self : +transmute : -InstanceCustomIndexNV -; -pub -const -ObjectToWorldKHR : -Self +< +u32 +Decoration +> +( +5602u32 +) +} +5607u32 +. +. = -Self +5608u32 += +> +unsafe +{ +core : : -ObjectToWorldNV -; -pub -const -WorldToObjectKHR +mem : -Self -= -Self : +transmute : -WorldToObjectNV -; -pub -const -HitKindKHR : -Self +< +u32 +Decoration +> +( +n +) +} +5624u32 +. +. = -Self -: +5628u32 += +> +unsafe +{ +core : -HitKindNV -; -pub -const -IncomingRayFlagsKHR : -Self -= -Self +mem : : -IncomingRayFlagsNV -; -} -impl -num_traits +transmute : : -FromPrimitive -for -BuiltIn -{ -# -[ -allow -( -trivial_numeric_casts -) -] -fn -from_i64 +< +u32 +Decoration +> ( n -: -i64 ) -- +} +5634u32 +. +. += +5636u32 += > -Option +unsafe +{ +core +: +: +mem +: +: +transmute +: +: < -Self +u32 +Decoration > -{ -Some ( -match n -as -u32 -{ -0u32 +) +} +5822u32 +. +. = -> -Self -: -: -Position -1u32 +5823u32 = > -Self +unsafe +{ +core : : -PointSize -3u32 -= -> -Self +mem : : -ClipDistance -4u32 -= -> -Self +transmute : : -CullDistance -5u32 +< +u32 +Decoration +> +( +n +) +} +5825u32 +. +. += +5836u32 = > -Self +unsafe +{ +core : : -VertexId -6u32 -= -> -Self +mem : : -InstanceId -7u32 -= -> -Self +transmute : : -PrimitiveId -8u32 +< +u32 +Decoration +> +( +n +) +} +5899u32 +. +. += +5902u32 = > -Self +unsafe +{ +core : : -InvocationId -9u32 -= -> -Self +mem : : -Layer -10u32 -= -> -Self +transmute : : -ViewportIndex -11u32 +< +u32 +Decoration +> +( +n +) +} +5905u32 = > -Self +unsafe +{ +core : : -TessLevelOuter -12u32 -= -> -Self +mem : : -TessLevelInner -13u32 -= -> -Self +transmute : : -TessCoord -14u32 +< +u32 +Decoration +> +( +5905u32 +) +} +5907u32 = > -Self +unsafe +{ +core : : -PatchVertices -15u32 -= -> -Self +mem : : -FragCoord -16u32 -= -> -Self +transmute : : -PointCoord -17u32 +< +u32 +Decoration +> +( +5907u32 +) +} +5909u32 = > -Self +unsafe +{ +core : : -FrontFacing -18u32 -= -> -Self +mem : : -SampleId -19u32 -= -> -Self +transmute : : -SamplePosition -20u32 +< +u32 +Decoration +> +( +5909u32 +) +} +5914u32 +. +. += +5915u32 = > -Self +unsafe +{ +core : : -SampleMask -22u32 -= -> -Self +mem : : -FragDepth -23u32 -= -> -Self +transmute : : -HelperInvocation -24u32 +< +u32 +Decoration +> +( +n +) +} +5917u32 +. +. += +5919u32 = > -Self +unsafe +{ +core : : -NumWorkgroups -25u32 -= -> -Self +mem : : -WorkgroupSize -26u32 -= -> -Self +transmute : : -WorkgroupId -27u32 +< +u32 +Decoration +> +( +n +) +} +5921u32 = > -Self +unsafe +{ +core : : -LocalInvocationId -28u32 -= -> -Self +mem : : -GlobalInvocationId -29u32 -= -> -Self +transmute : : -LocalInvocationIndex -30u32 +< +u32 +Decoration +> +( +5921u32 +) +} +5944u32 = > -Self +unsafe +{ +core : : -WorkDim -31u32 -= -> -Self +mem : : -GlobalSize -32u32 -= -> -Self +transmute : : -EnqueuedWorkgroupSize -33u32 +< +u32 +Decoration +> +( +5944u32 +) +} +6080u32 = > -Self +unsafe +{ +core : : -GlobalOffset -34u32 -= -> -Self +mem : : -GlobalLinearId -36u32 -= -> -Self +transmute : : -SubgroupSize -37u32 +< +u32 +Decoration +> +( +6080u32 +) +} +6085u32 = > -Self +unsafe +{ +core : : -SubgroupMaxSize -38u32 -= -> -Self +mem : : -NumSubgroups -39u32 -= -> -Self +transmute : : -NumEnqueuedSubgroups -40u32 +< +u32 +Decoration +> +( +6085u32 +) +} +6087u32 = > -Self +unsafe +{ +core : : -SubgroupId -41u32 -= -> -Self +mem : : -SubgroupLocalInvocationId -42u32 -= -> -Self +transmute : : -VertexIndex -43u32 +< +u32 +Decoration +> +( +6087u32 +) +} +6140u32 = > -Self +unsafe +{ +core : : -InstanceIndex -4416u32 -= -> -Self +mem : : -SubgroupEqMask -4417u32 -= -> -Self +transmute : : -SubgroupGeMask -4418u32 +< +u32 +Decoration +> +( +6140u32 +) +} +6147u32 +. +. += +6148u32 = > -Self +unsafe +{ +core : : -SubgroupGtMask -4419u32 -= -> -Self +mem : : -SubgroupLeMask -4420u32 -= -> -Self +transmute : : -SubgroupLtMask -4424u32 +< +u32 +Decoration +> +( +n +) +} +6168u32 = > -Self +unsafe +{ +core : : -BaseVertex -4425u32 -= -> -Self +mem : : -BaseInstance -4426u32 -= -> -Self +transmute : : -DrawIndex -4432u32 +< +u32 +Decoration +> +( +6168u32 +) +} +6170u32 = > -Self +unsafe +{ +core : : -PrimitiveShadingRateKHR -4438u32 -= -> -Self +mem : : -DeviceIndex -4440u32 -= -> -Self +transmute : : -ViewIndex -4444u32 +< +u32 +Decoration +> +( +6170u32 +) +} +6172u32 +. +. += +6173u32 = > -Self +unsafe +{ +core : : -ShadingRateKHR -4992u32 -= -> -Self +mem : : -BaryCoordNoPerspAMD -4993u32 -= -> -Self +transmute : : -BaryCoordNoPerspCentroidAMD -4994u32 +< +u32 +Decoration +> +( +n +) +} +6175u32 +. +. += +6183u32 = > -Self +unsafe +{ +core : : -BaryCoordNoPerspSampleAMD -4995u32 -= -> -Self +mem : : -BaryCoordSmoothAMD -4996u32 -= -> -Self +transmute : : -BaryCoordSmoothCentroidAMD -4997u32 +< +u32 +Decoration +> +( +n +) +} +6442u32 +. +. += +6443u32 = > -Self +unsafe +{ +core : : -BaryCoordSmoothSampleAMD -4998u32 -= -> -Self +mem : : -BaryCoordPullModelAMD -5014u32 -= -> -Self +transmute : : -FragStencilRefEXT -5253u32 +< +u32 +Decoration +> +( +n +) +} +_ = > -Self -: +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +Decoration +{ +pub +const +PerPrimitiveEXT : -ViewportMaskNV -5257u32 +Self = -> Self : : -SecondaryPositionNV -5258u32 +PerPrimitiveNV +; +pub +const +PerVertexNV +: +Self = -> Self : : -SecondaryViewportMaskNV -5261u32 +PerVertexKHR +; +pub +const +NonUniformEXT +: +Self = -> Self : : -PositionPerViewNV -5262u32 +NonUniform +; +pub +const +RestrictPointerEXT +: +Self = -> Self : : -ViewportMaskPerViewNV -5264u32 +RestrictPointer +; +pub +const +AliasedPointerEXT +: +Self = -> Self : : -FullyCoveredEXT -5274u32 +AliasedPointer +; +pub +const +HlslCounterBufferGOOGLE +: +Self = -> Self : : -TaskCountNV -5275u32 -= -> -Self -: +CounterBuffer +; +pub +const +HlslSemanticGOOGLE : -PrimitiveCountNV -5276u32 +Self = -> Self : : -PrimitiveIndicesNV -5277u32 +UserSemantic +; +} +impl +core +: +: +str +: +: +FromStr +for +Decoration +{ +type +Err = +( +) +; +fn +from_str +( +s +: +& +str +) +- > +Result +< +Self Self : : -ClipDistancePerViewNV -5278u32 +Err +> +{ +match +s +{ +" +RelaxedPrecision +" = > +Ok +( Self : : -CullDistancePerViewNV -5279u32 +RelaxedPrecision +) +" +SpecId +" = > +Ok +( Self : : -LayerPerViewNV -5280u32 +SpecId +) +" +Block +" = > +Ok +( Self : : -MeshViewCountNV -5281u32 +Block +) +" +BufferBlock +" = > +Ok +( Self : : -MeshViewIndicesNV -5286u32 +BufferBlock +) +" +RowMajor +" = > +Ok +( Self : : -BaryCoordNV -5287u32 +RowMajor +) +" +ColMajor +" = > +Ok +( Self : : -BaryCoordNoPerspNV -5292u32 +ColMajor +) +" +ArrayStride +" = > +Ok +( Self : : -FragSizeEXT -5293u32 +ArrayStride +) +" +MatrixStride +" = > +Ok +( Self : : -FragInvocationCountEXT -5319u32 +MatrixStride +) +" +GLSLShared +" = > +Ok +( Self : : -LaunchIdNV -5320u32 +GLSLShared +) +" +GLSLPacked +" = > +Ok +( Self : : -LaunchSizeNV -5321u32 +GLSLPacked +) +" +CPacked +" = > +Ok +( Self : : -WorldRayOriginNV -5322u32 +CPacked +) +" +BuiltIn +" = > +Ok +( Self : : -WorldRayDirectionNV -5323u32 +BuiltIn +) +" +NoPerspective +" = > +Ok +( Self : : -ObjectRayOriginNV -5324u32 +NoPerspective +) +" +Flat +" = > +Ok +( Self : : -ObjectRayDirectionNV -5325u32 +Flat +) +" +Patch +" = > +Ok +( Self : : -RayTminNV -5326u32 +Patch +) +" +Centroid +" = > +Ok +( Self : : -RayTmaxNV -5327u32 +Centroid +) +" +Sample +" = > +Ok +( Self : : -InstanceCustomIndexNV -5330u32 +Sample +) +" +Invariant +" = > +Ok +( Self : : -ObjectToWorldNV -5331u32 +Invariant +) +" +Restrict +" = > +Ok +( Self : : -WorldToObjectNV -5332u32 +Restrict +) +" +Aliased +" = > +Ok +( Self : : -HitTNV -5333u32 +Aliased +) +" +Volatile +" = > +Ok +( Self : : -HitKindNV -5351u32 +Volatile +) +" +Constant +" = > +Ok +( Self : : -IncomingRayFlagsNV -5352u32 +Constant +) +" +Coherent +" = > +Ok +( Self : : -RayGeometryIndexKHR -5374u32 -= -> -Self -: -: -WarpsPerSMNV -5375u32 -= -> -Self -: -: -SMCountNV -5376u32 -= -> -Self -: -: -WarpIDNV -5377u32 -= -> -Self -: -: -SMIDNV -_ +Coherent +) +" +NonWritable +" = > -return -None -} -) -} -fn -from_u64 +Ok ( -n -: -u64 -) -- -> -Option -< -Self -> -{ Self : : -from_i64 -( -n -as -i64 +NonWritable ) -} -} -impl -core -: -: -str -: -: -FromStr -for -BuiltIn -{ -type -Err +" +NonReadable +" = -( -) -; -fn -from_str -( -s -: -& -str -) -- > -Result -< -Self +Ok +( Self : : -Err -> -{ -match -s -{ +NonReadable +) " -Position +Uniform " = > @@ -14073,10 +14181,10 @@ Ok Self : : -Position +Uniform ) " -PointSize +UniformId " = > @@ -14085,10 +14193,10 @@ Ok Self : : -PointSize +UniformId ) " -ClipDistance +SaturatedConversion " = > @@ -14097,10 +14205,10 @@ Ok Self : : -ClipDistance +SaturatedConversion ) " -CullDistance +Stream " = > @@ -14109,10 +14217,10 @@ Ok Self : : -CullDistance +Stream ) " -VertexId +Location " = > @@ -14121,10 +14229,10 @@ Ok Self : : -VertexId +Location ) " -InstanceId +Component " = > @@ -14133,10 +14241,10 @@ Ok Self : : -InstanceId +Component ) " -PrimitiveId +Index " = > @@ -14145,10 +14253,10 @@ Ok Self : : -PrimitiveId +Index ) " -InvocationId +Binding " = > @@ -14157,10 +14265,10 @@ Ok Self : : -InvocationId +Binding ) " -Layer +DescriptorSet " = > @@ -14169,10 +14277,10 @@ Ok Self : : -Layer +DescriptorSet ) " -ViewportIndex +Offset " = > @@ -14181,10 +14289,10 @@ Ok Self : : -ViewportIndex +Offset ) " -TessLevelOuter +XfbBuffer " = > @@ -14193,10 +14301,10 @@ Ok Self : : -TessLevelOuter +XfbBuffer ) " -TessLevelInner +XfbStride " = > @@ -14205,10 +14313,10 @@ Ok Self : : -TessLevelInner +XfbStride ) " -TessCoord +FuncParamAttr " = > @@ -14217,10 +14325,10 @@ Ok Self : : -TessCoord +FuncParamAttr ) " -PatchVertices +FPRoundingMode " = > @@ -14229,10 +14337,10 @@ Ok Self : : -PatchVertices +FPRoundingMode ) " -FragCoord +FPFastMathMode " = > @@ -14241,10 +14349,10 @@ Ok Self : : -FragCoord +FPFastMathMode ) " -PointCoord +LinkageAttributes " = > @@ -14253,10 +14361,10 @@ Ok Self : : -PointCoord +LinkageAttributes ) " -FrontFacing +NoContraction " = > @@ -14265,10 +14373,10 @@ Ok Self : : -FrontFacing +NoContraction ) " -SampleId +InputAttachmentIndex " = > @@ -14277,10 +14385,10 @@ Ok Self : : -SampleId +InputAttachmentIndex ) " -SamplePosition +Alignment " = > @@ -14289,10 +14397,10 @@ Ok Self : : -SamplePosition +Alignment ) " -SampleMask +MaxByteOffset " = > @@ -14301,10 +14409,10 @@ Ok Self : : -SampleMask +MaxByteOffset ) " -FragDepth +AlignmentId " = > @@ -14313,10 +14421,10 @@ Ok Self : : -FragDepth +AlignmentId ) " -HelperInvocation +MaxByteOffsetId " = > @@ -14325,10 +14433,10 @@ Ok Self : : -HelperInvocation +MaxByteOffsetId ) " -NumWorkgroups +NoSignedWrap " = > @@ -14337,10 +14445,10 @@ Ok Self : : -NumWorkgroups +NoSignedWrap ) " -WorkgroupSize +NoUnsignedWrap " = > @@ -14349,10 +14457,10 @@ Ok Self : : -WorkgroupSize +NoUnsignedWrap ) " -WorkgroupId +WeightTextureQCOM " = > @@ -14361,10 +14469,10 @@ Ok Self : : -WorkgroupId +WeightTextureQCOM ) " -LocalInvocationId +BlockMatchTextureQCOM " = > @@ -14373,10 +14481,10 @@ Ok Self : : -LocalInvocationId +BlockMatchTextureQCOM ) " -GlobalInvocationId +ExplicitInterpAMD " = > @@ -14385,10 +14493,10 @@ Ok Self : : -GlobalInvocationId +ExplicitInterpAMD ) " -LocalInvocationIndex +NodeSharesPayloadLimitsWithAMDX " = > @@ -14397,10 +14505,10 @@ Ok Self : : -LocalInvocationIndex +NodeSharesPayloadLimitsWithAMDX ) " -WorkDim +NodeMaxPayloadsAMDX " = > @@ -14409,10 +14517,10 @@ Ok Self : : -WorkDim +NodeMaxPayloadsAMDX ) " -GlobalSize +TrackFinishWritingAMDX " = > @@ -14421,10 +14529,10 @@ Ok Self : : -GlobalSize +TrackFinishWritingAMDX ) " -EnqueuedWorkgroupSize +PayloadNodeNameAMDX " = > @@ -14433,10 +14541,10 @@ Ok Self : : -EnqueuedWorkgroupSize +PayloadNodeNameAMDX ) " -GlobalOffset +OverrideCoverageNV " = > @@ -14445,10 +14553,10 @@ Ok Self : : -GlobalOffset +OverrideCoverageNV ) " -GlobalLinearId +PassthroughNV " = > @@ -14457,10 +14565,10 @@ Ok Self : : -GlobalLinearId +PassthroughNV ) " -SubgroupSize +ViewportRelativeNV " = > @@ -14469,10 +14577,10 @@ Ok Self : : -SubgroupSize +ViewportRelativeNV ) " -SubgroupMaxSize +SecondaryViewportRelativeNV " = > @@ -14481,10 +14589,10 @@ Ok Self : : -SubgroupMaxSize +SecondaryViewportRelativeNV ) " -NumSubgroups +PerPrimitiveNV " = > @@ -14493,10 +14601,10 @@ Ok Self : : -NumSubgroups +PerPrimitiveNV ) " -NumEnqueuedSubgroups +PerPrimitiveEXT " = > @@ -14505,10 +14613,10 @@ Ok Self : : -NumEnqueuedSubgroups +PerPrimitiveNV ) " -SubgroupId +PerViewNV " = > @@ -14517,10 +14625,10 @@ Ok Self : : -SubgroupId +PerViewNV ) " -SubgroupLocalInvocationId +PerTaskNV " = > @@ -14529,10 +14637,10 @@ Ok Self : : -SubgroupLocalInvocationId +PerTaskNV ) " -VertexIndex +PerVertexKHR " = > @@ -14541,10 +14649,10 @@ Ok Self : : -VertexIndex +PerVertexKHR ) " -InstanceIndex +PerVertexNV " = > @@ -14553,10 +14661,10 @@ Ok Self : : -InstanceIndex +PerVertexKHR ) " -SubgroupEqMask +NonUniform " = > @@ -14565,10 +14673,10 @@ Ok Self : : -SubgroupEqMask +NonUniform ) " -SubgroupGeMask +NonUniformEXT " = > @@ -14577,10 +14685,10 @@ Ok Self : : -SubgroupGeMask +NonUniform ) " -SubgroupGtMask +RestrictPointer " = > @@ -14589,46 +14697,10 @@ Ok Self : : -SubgroupGtMask -) -" -SubgroupLeMask -" -= -> -Ok -( -Self -: -: -SubgroupLeMask -) -" -SubgroupLtMask -" -= -> -Ok -( -Self -: -: -SubgroupLtMask -) -" -SubgroupEqMaskKHR -" -= -> -Ok -( -Self -: -: -SubgroupEqMask +RestrictPointer ) " -SubgroupGeMaskKHR +RestrictPointerEXT " = > @@ -14637,10 +14709,10 @@ Ok Self : : -SubgroupGeMask +RestrictPointer ) " -SubgroupGtMaskKHR +AliasedPointer " = > @@ -14649,10 +14721,10 @@ Ok Self : : -SubgroupGtMask +AliasedPointer ) " -SubgroupLeMaskKHR +AliasedPointerEXT " = > @@ -14661,10 +14733,10 @@ Ok Self : : -SubgroupLeMask +AliasedPointer ) " -SubgroupLtMaskKHR +HitObjectShaderRecordBufferNV " = > @@ -14673,10 +14745,10 @@ Ok Self : : -SubgroupLtMask +HitObjectShaderRecordBufferNV ) " -BaseVertex +BindlessSamplerNV " = > @@ -14685,10 +14757,10 @@ Ok Self : : -BaseVertex +BindlessSamplerNV ) " -BaseInstance +BindlessImageNV " = > @@ -14697,10 +14769,10 @@ Ok Self : : -BaseInstance +BindlessImageNV ) " -DrawIndex +BoundSamplerNV " = > @@ -14709,10 +14781,10 @@ Ok Self : : -DrawIndex +BoundSamplerNV ) " -PrimitiveShadingRateKHR +BoundImageNV " = > @@ -14721,10 +14793,10 @@ Ok Self : : -PrimitiveShadingRateKHR +BoundImageNV ) " -DeviceIndex +SIMTCallINTEL " = > @@ -14733,10 +14805,10 @@ Ok Self : : -DeviceIndex +SIMTCallINTEL ) " -ViewIndex +ReferencedIndirectlyINTEL " = > @@ -14745,10 +14817,10 @@ Ok Self : : -ViewIndex +ReferencedIndirectlyINTEL ) " -ShadingRateKHR +ClobberINTEL " = > @@ -14757,10 +14829,10 @@ Ok Self : : -ShadingRateKHR +ClobberINTEL ) " -BaryCoordNoPerspAMD +SideEffectsINTEL " = > @@ -14769,10 +14841,10 @@ Ok Self : : -BaryCoordNoPerspAMD +SideEffectsINTEL ) " -BaryCoordNoPerspCentroidAMD +VectorComputeVariableINTEL " = > @@ -14781,10 +14853,10 @@ Ok Self : : -BaryCoordNoPerspCentroidAMD +VectorComputeVariableINTEL ) " -BaryCoordNoPerspSampleAMD +FuncParamIOKindINTEL " = > @@ -14793,10 +14865,10 @@ Ok Self : : -BaryCoordNoPerspSampleAMD +FuncParamIOKindINTEL ) " -BaryCoordSmoothAMD +VectorComputeFunctionINTEL " = > @@ -14805,10 +14877,10 @@ Ok Self : : -BaryCoordSmoothAMD +VectorComputeFunctionINTEL ) " -BaryCoordSmoothCentroidAMD +StackCallINTEL " = > @@ -14817,10 +14889,10 @@ Ok Self : : -BaryCoordSmoothCentroidAMD +StackCallINTEL ) " -BaryCoordSmoothSampleAMD +GlobalVariableOffsetINTEL " = > @@ -14829,10 +14901,10 @@ Ok Self : : -BaryCoordSmoothSampleAMD +GlobalVariableOffsetINTEL ) " -BaryCoordPullModelAMD +CounterBuffer " = > @@ -14841,10 +14913,10 @@ Ok Self : : -BaryCoordPullModelAMD +CounterBuffer ) " -FragStencilRefEXT +HlslCounterBufferGOOGLE " = > @@ -14853,10 +14925,10 @@ Ok Self : : -FragStencilRefEXT +CounterBuffer ) " -ViewportMaskNV +UserSemantic " = > @@ -14865,10 +14937,10 @@ Ok Self : : -ViewportMaskNV +UserSemantic ) " -SecondaryPositionNV +HlslSemanticGOOGLE " = > @@ -14877,10 +14949,10 @@ Ok Self : : -SecondaryPositionNV +UserSemantic ) " -SecondaryViewportMaskNV +UserTypeGOOGLE " = > @@ -14889,10 +14961,10 @@ Ok Self : : -SecondaryViewportMaskNV +UserTypeGOOGLE ) " -PositionPerViewNV +FunctionRoundingModeINTEL " = > @@ -14901,10 +14973,10 @@ Ok Self : : -PositionPerViewNV +FunctionRoundingModeINTEL ) " -ViewportMaskPerViewNV +FunctionDenormModeINTEL " = > @@ -14913,10 +14985,10 @@ Ok Self : : -ViewportMaskPerViewNV +FunctionDenormModeINTEL ) " -FullyCoveredEXT +RegisterINTEL " = > @@ -14925,10 +14997,10 @@ Ok Self : : -FullyCoveredEXT +RegisterINTEL ) " -TaskCountNV +MemoryINTEL " = > @@ -14937,10 +15009,10 @@ Ok Self : : -TaskCountNV +MemoryINTEL ) " -PrimitiveCountNV +NumbanksINTEL " = > @@ -14949,10 +15021,10 @@ Ok Self : : -PrimitiveCountNV +NumbanksINTEL ) " -PrimitiveIndicesNV +BankwidthINTEL " = > @@ -14961,10 +15033,10 @@ Ok Self : : -PrimitiveIndicesNV +BankwidthINTEL ) " -ClipDistancePerViewNV +MaxPrivateCopiesINTEL " = > @@ -14973,10 +15045,10 @@ Ok Self : : -ClipDistancePerViewNV +MaxPrivateCopiesINTEL ) " -CullDistancePerViewNV +SinglepumpINTEL " = > @@ -14985,10 +15057,10 @@ Ok Self : : -CullDistancePerViewNV +SinglepumpINTEL ) " -LayerPerViewNV +DoublepumpINTEL " = > @@ -14997,10 +15069,10 @@ Ok Self : : -LayerPerViewNV +DoublepumpINTEL ) " -MeshViewCountNV +MaxReplicatesINTEL " = > @@ -15009,10 +15081,10 @@ Ok Self : : -MeshViewCountNV +MaxReplicatesINTEL ) " -MeshViewIndicesNV +SimpleDualPortINTEL " = > @@ -15021,10 +15093,10 @@ Ok Self : : -MeshViewIndicesNV +SimpleDualPortINTEL ) " -BaryCoordNV +MergeINTEL " = > @@ -15033,10 +15105,10 @@ Ok Self : : -BaryCoordNV +MergeINTEL ) " -BaryCoordNoPerspNV +BankBitsINTEL " = > @@ -15045,10 +15117,10 @@ Ok Self : : -BaryCoordNoPerspNV +BankBitsINTEL ) " -FragSizeEXT +ForcePow2DepthINTEL " = > @@ -15057,10 +15129,10 @@ Ok Self : : -FragSizeEXT +ForcePow2DepthINTEL ) " -FragmentSizeNV +BurstCoalesceINTEL " = > @@ -15069,10 +15141,10 @@ Ok Self : : -FragSizeEXT +BurstCoalesceINTEL ) " -FragInvocationCountEXT +CacheSizeINTEL " = > @@ -15081,10 +15153,10 @@ Ok Self : : -FragInvocationCountEXT +CacheSizeINTEL ) " -InvocationsPerPixelNV +DontStaticallyCoalesceINTEL " = > @@ -15093,10 +15165,10 @@ Ok Self : : -FragInvocationCountEXT +DontStaticallyCoalesceINTEL ) " -LaunchIdNV +PrefetchINTEL " = > @@ -15105,10 +15177,10 @@ Ok Self : : -LaunchIdNV +PrefetchINTEL ) " -LaunchIdKHR +StallEnableINTEL " = > @@ -15117,10 +15189,10 @@ Ok Self : : -LaunchIdNV +StallEnableINTEL ) " -LaunchSizeNV +FuseLoopsInFunctionINTEL " = > @@ -15129,10 +15201,10 @@ Ok Self : : -LaunchSizeNV +FuseLoopsInFunctionINTEL ) " -LaunchSizeKHR +MathOpDSPModeINTEL " = > @@ -15141,10 +15213,10 @@ Ok Self : : -LaunchSizeNV +MathOpDSPModeINTEL ) " -WorldRayOriginNV +AliasScopeINTEL " = > @@ -15153,10 +15225,10 @@ Ok Self : : -WorldRayOriginNV +AliasScopeINTEL ) " -WorldRayOriginKHR +NoAliasINTEL " = > @@ -15165,10 +15237,10 @@ Ok Self : : -WorldRayOriginNV +NoAliasINTEL ) " -WorldRayDirectionNV +InitiationIntervalINTEL " = > @@ -15177,10 +15249,10 @@ Ok Self : : -WorldRayDirectionNV +InitiationIntervalINTEL ) " -WorldRayDirectionKHR +MaxConcurrencyINTEL " = > @@ -15189,10 +15261,10 @@ Ok Self : : -WorldRayDirectionNV +MaxConcurrencyINTEL ) " -ObjectRayOriginNV +PipelineEnableINTEL " = > @@ -15201,10 +15273,10 @@ Ok Self : : -ObjectRayOriginNV +PipelineEnableINTEL ) " -ObjectRayOriginKHR +BufferLocationINTEL " = > @@ -15213,10 +15285,10 @@ Ok Self : : -ObjectRayOriginNV +BufferLocationINTEL ) " -ObjectRayDirectionNV +IOPipeStorageINTEL " = > @@ -15225,10 +15297,10 @@ Ok Self : : -ObjectRayDirectionNV +IOPipeStorageINTEL ) " -ObjectRayDirectionKHR +FunctionFloatingPointModeINTEL " = > @@ -15237,10 +15309,10 @@ Ok Self : : -ObjectRayDirectionNV +FunctionFloatingPointModeINTEL ) " -RayTminNV +SingleElementVectorINTEL " = > @@ -15249,10 +15321,10 @@ Ok Self : : -RayTminNV +SingleElementVectorINTEL ) " -RayTminKHR +VectorComputeCallableFunctionINTEL " = > @@ -15261,10 +15333,10 @@ Ok Self : : -RayTminNV +VectorComputeCallableFunctionINTEL ) " -RayTmaxNV +MediaBlockIOINTEL " = > @@ -15273,10 +15345,10 @@ Ok Self : : -RayTmaxNV +MediaBlockIOINTEL ) " -RayTmaxKHR +InitModeINTEL " = > @@ -15285,10 +15357,10 @@ Ok Self : : -RayTmaxNV +InitModeINTEL ) " -InstanceCustomIndexNV +ImplementInRegisterMapINTEL " = > @@ -15297,10 +15369,10 @@ Ok Self : : -InstanceCustomIndexNV +ImplementInRegisterMapINTEL ) " -InstanceCustomIndexKHR +HostAccessINTEL " = > @@ -15309,10 +15381,10 @@ Ok Self : : -InstanceCustomIndexNV +HostAccessINTEL ) " -ObjectToWorldNV +FPMaxErrorDecorationINTEL " = > @@ -15321,10 +15393,10 @@ Ok Self : : -ObjectToWorldNV +FPMaxErrorDecorationINTEL ) " -ObjectToWorldKHR +LatencyControlLabelINTEL " = > @@ -15333,10 +15405,10 @@ Ok Self : : -ObjectToWorldNV +LatencyControlLabelINTEL ) " -WorldToObjectNV +LatencyControlConstraintINTEL " = > @@ -15345,10 +15417,10 @@ Ok Self : : -WorldToObjectNV +LatencyControlConstraintINTEL ) " -WorldToObjectKHR +ConduitKernelArgumentINTEL " = > @@ -15357,10 +15429,10 @@ Ok Self : : -WorldToObjectNV +ConduitKernelArgumentINTEL ) " -HitTNV +RegisterMapKernelArgumentINTEL " = > @@ -15369,10 +15441,10 @@ Ok Self : : -HitTNV +RegisterMapKernelArgumentINTEL ) " -HitKindNV +MMHostInterfaceAddressWidthINTEL " = > @@ -15381,10 +15453,10 @@ Ok Self : : -HitKindNV +MMHostInterfaceAddressWidthINTEL ) " -HitKindKHR +MMHostInterfaceDataWidthINTEL " = > @@ -15393,10 +15465,10 @@ Ok Self : : -HitKindNV +MMHostInterfaceDataWidthINTEL ) " -IncomingRayFlagsNV +MMHostInterfaceLatencyINTEL " = > @@ -15405,10 +15477,10 @@ Ok Self : : -IncomingRayFlagsNV +MMHostInterfaceLatencyINTEL ) " -IncomingRayFlagsKHR +MMHostInterfaceReadWriteModeINTEL " = > @@ -15417,10 +15489,10 @@ Ok Self : : -IncomingRayFlagsNV +MMHostInterfaceReadWriteModeINTEL ) " -RayGeometryIndexKHR +MMHostInterfaceMaxBurstINTEL " = > @@ -15429,10 +15501,10 @@ Ok Self : : -RayGeometryIndexKHR +MMHostInterfaceMaxBurstINTEL ) " -WarpsPerSMNV +MMHostInterfaceWaitRequestINTEL " = > @@ -15441,10 +15513,10 @@ Ok Self : : -WarpsPerSMNV +MMHostInterfaceWaitRequestINTEL ) " -SMCountNV +StableKernelArgumentINTEL " = > @@ -15453,10 +15525,10 @@ Ok Self : : -SMCountNV +StableKernelArgumentINTEL ) " -WarpIDNV +CacheControlLoadINTEL " = > @@ -15465,10 +15537,10 @@ Ok Self : : -WarpIDNV +CacheControlLoadINTEL ) " -SMIDNV +CacheControlStoreINTEL " = > @@ -15477,7 +15549,7 @@ Ok Self : : -SMIDNV +CacheControlStoreINTEL ) _ = @@ -15495,9 +15567,6 @@ Err doc = " -/ -/ -/ SPIR - V @@ -15505,7 +15574,7 @@ operand kind : [ -Scope +BuiltIn ] ( https @@ -15532,7 +15601,7 @@ SPIRV . html # -_a_id_scope_a_scope +_a_id_built_in_a_built_in ) " ] @@ -15605,565 +15674,367 @@ upper_case_acronyms ] pub enum -Scope +BuiltIn { -CrossDevice +Position = 0u32 -Device +PointSize = 1u32 -Workgroup -= -2u32 -Subgroup +ClipDistance = 3u32 -Invocation +CullDistance = 4u32 -QueueFamily +VertexId = 5u32 -ShaderCallKHR +InstanceId = 6u32 -} -# -[ -allow -( -non_upper_case_globals -) -] -impl -Scope -{ -pub -const -QueueFamilyKHR -: -Self +PrimitiveId = -Self -: -: -QueueFamily -; -} -impl -num_traits -: -: -FromPrimitive -for -Scope -{ -# -[ -allow -( -trivial_numeric_casts -) -] -fn -from_i64 -( -n -: -i64 -) -- -> -Option -< -Self -> -{ -Some -( -match -n -as -u32 -{ -0u32 +7u32 +InvocationId = -> -Self -: -: -CrossDevice -1u32 +8u32 +Layer = -> -Self -: -: -Device -2u32 +9u32 +ViewportIndex = -> -Self -: -: -Workgroup -3u32 +10u32 +TessLevelOuter = -> -Self -: -: -Subgroup -4u32 +11u32 +TessLevelInner = -> -Self -: -: -Invocation -5u32 +12u32 +TessCoord = -> -Self -: -: -QueueFamily -6u32 +13u32 +PatchVertices = -> -Self -: -: -ShaderCallKHR -_ +14u32 +FragCoord = -> -return -None -} -) -} -fn -from_u64 -( -n -: -u64 -) -- -> -Option -< -Self -> -{ -Self -: -: -from_i64 -( -n -as -i64 -) -} -} -impl -core -: -: -str -: -: -FromStr -for -Scope -{ -type -Err +15u32 +PointCoord = -( -) -; -fn -from_str -( -s -: -& -str -) -- -> -Result -< -Self -Self -: -: -Err -> -{ -match -s -{ -" -CrossDevice -" +16u32 +FrontFacing = -> -Ok -( -Self -: -: -CrossDevice -) -" -Device -" +17u32 +SampleId = -> -Ok -( -Self -: -: -Device -) -" -Workgroup -" +18u32 +SamplePosition = -> -Ok -( -Self -: -: -Workgroup -) -" -Subgroup -" +19u32 +SampleMask = -> -Ok -( -Self -: -: -Subgroup -) -" -Invocation -" +20u32 +FragDepth = -> -Ok -( -Self -: -: -Invocation -) -" -QueueFamily -" +22u32 +HelperInvocation = -> -Ok -( -Self -: -: -QueueFamily -) -" -QueueFamilyKHR -" +23u32 +NumWorkgroups = -> -Ok -( -Self -: -: -QueueFamily -) -" -ShaderCallKHR -" +24u32 +WorkgroupSize = -> -Ok -( -Self -: -: -ShaderCallKHR -) -_ +25u32 +WorkgroupId = -> -Err -( -( -) -) -} -} -} -# -[ -doc +26u32 +LocalInvocationId = -" -/ -/ -/ -SPIR -- -V -operand -kind -: -[ -GroupOperation -] -( -https -: -/ -/ -www -. -khronos -. -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -SPIRV -. -html -# -_a_id_group_operation_a_group_operation -) -" -] -# -[ -repr -( -u32 -) -] -# -[ -derive -( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash -) -] -# -[ -cfg_attr -( -feature +27u32 +GlobalInvocationId = -" -serialize -" -derive -( -serde -: -: -Serialize -) -) -] -# -[ -cfg_attr -( -feature +28u32 +LocalInvocationIndex = -" -deserialize -" -derive -( -serde -: -: -Deserialize -) -) -] -# -[ -allow -( -clippy -: -: -upper_case_acronyms -) -] -pub -enum -GroupOperation -{ -Reduce +29u32 +WorkDim = -0u32 -InclusiveScan +30u32 +GlobalSize = -1u32 -ExclusiveScan +31u32 +EnqueuedWorkgroupSize = -2u32 -ClusteredReduce +32u32 +GlobalOffset = -3u32 -PartitionedReduceNV +33u32 +GlobalLinearId = -6u32 -PartitionedInclusiveScanNV +34u32 +SubgroupSize = -7u32 -PartitionedExclusiveScanNV +36u32 +SubgroupMaxSize = -8u32 -} -# -[ -allow -( -non_upper_case_globals -) -] -impl -GroupOperation -{ -} -impl -num_traits -: -: -FromPrimitive -for -GroupOperation -{ -# -[ -allow -( -trivial_numeric_casts -) -] -fn -from_i64 -( -n -: -i64 -) -- -> -Option -< -Self -> -{ -Some -( -match -n -as -u32 -{ -0u32 +37u32 +NumSubgroups = -> -Self -: -: -Reduce -1u32 +38u32 +NumEnqueuedSubgroups = -> -Self -: -: -InclusiveScan -2u32 +39u32 +SubgroupId = -> -Self -: -: -ExclusiveScan -3u32 +40u32 +SubgroupLocalInvocationId = -> -Self -: -: -ClusteredReduce -6u32 +41u32 +VertexIndex = -> -Self -: -: -PartitionedReduceNV -7u32 +42u32 +InstanceIndex = -> -Self -: -: -PartitionedInclusiveScanNV -8u32 +43u32 +CoreIDARM = -> -Self -: -: -PartitionedExclusiveScanNV -_ +4160u32 +CoreCountARM = -> -return -None -} -) +4161u32 +CoreMaxIDARM += +4162u32 +WarpIDARM += +4163u32 +WarpMaxIDARM += +4164u32 +SubgroupEqMask += +4416u32 +SubgroupGeMask += +4417u32 +SubgroupGtMask += +4418u32 +SubgroupLeMask += +4419u32 +SubgroupLtMask += +4420u32 +BaseVertex += +4424u32 +BaseInstance += +4425u32 +DrawIndex += +4426u32 +PrimitiveShadingRateKHR += +4432u32 +DeviceIndex += +4438u32 +ViewIndex += +4440u32 +ShadingRateKHR += +4444u32 +BaryCoordNoPerspAMD += +4992u32 +BaryCoordNoPerspCentroidAMD += +4993u32 +BaryCoordNoPerspSampleAMD += +4994u32 +BaryCoordSmoothAMD += +4995u32 +BaryCoordSmoothCentroidAMD += +4996u32 +BaryCoordSmoothSampleAMD += +4997u32 +BaryCoordPullModelAMD += +4998u32 +FragStencilRefEXT += +5014u32 +CoalescedInputCountAMDX += +5021u32 +ShaderIndexAMDX += +5073u32 +ViewportMaskNV += +5253u32 +SecondaryPositionNV += +5257u32 +SecondaryViewportMaskNV += +5258u32 +PositionPerViewNV += +5261u32 +ViewportMaskPerViewNV += +5262u32 +FullyCoveredEXT += +5264u32 +TaskCountNV += +5274u32 +PrimitiveCountNV += +5275u32 +PrimitiveIndicesNV += +5276u32 +ClipDistancePerViewNV += +5277u32 +CullDistancePerViewNV += +5278u32 +LayerPerViewNV += +5279u32 +MeshViewCountNV += +5280u32 +MeshViewIndicesNV += +5281u32 +BaryCoordKHR += +5286u32 +BaryCoordNoPerspKHR += +5287u32 +FragSizeEXT += +5292u32 +FragInvocationCountEXT += +5293u32 +PrimitivePointIndicesEXT += +5294u32 +PrimitiveLineIndicesEXT += +5295u32 +PrimitiveTriangleIndicesEXT += +5296u32 +CullPrimitiveEXT += +5299u32 +LaunchIdNV += +5319u32 +LaunchSizeNV += +5320u32 +WorldRayOriginNV += +5321u32 +WorldRayDirectionNV += +5322u32 +ObjectRayOriginNV += +5323u32 +ObjectRayDirectionNV += +5324u32 +RayTminNV += +5325u32 +RayTmaxNV += +5326u32 +InstanceCustomIndexNV += +5327u32 +ObjectToWorldNV += +5330u32 +WorldToObjectNV += +5331u32 +HitTNV += +5332u32 +HitKindNV += +5333u32 +CurrentRayTimeNV += +5334u32 +HitTriangleVertexPositionsKHR += +5335u32 +HitMicroTriangleVertexPositionsNV += +5337u32 +HitMicroTriangleVertexBarycentricsNV += +5344u32 +IncomingRayFlagsNV += +5351u32 +RayGeometryIndexKHR += +5352u32 +WarpsPerSMNV += +5374u32 +SMCountNV += +5375u32 +WarpIDNV += +5376u32 +SMIDNV += +5377u32 +HitKindFrontFacingMicroTriangleNV += +5405u32 +HitKindBackFacingMicroTriangleNV += +5406u32 +CullMaskKHR += +6021u32 } +impl +BuiltIn +{ +pub fn -from_u64 +from_u32 ( n : -u64 +u32 ) - > @@ -16172,7367 +16043,12505 @@ Option Self > { -Self +Some +( +match +n +{ +0u32 +. +. += +1u32 += +> +unsafe +{ +core +: +: +mem : : -from_i64 +transmute +: +: +< +u32 +BuiltIn +> ( n -as -i64 ) } -} -impl +3u32 +. +. += +20u32 += +> +unsafe +{ core : : -str +mem : : -FromStr -for -GroupOperation -{ -type -Err -= -( -) -; -fn -from_str -( -s +transmute : -& -str +: +< +u32 +BuiltIn +> +( +n ) -- +} +22u32 +. +. += +34u32 += > -Result -< -Self -Self +unsafe +{ +core : : -Err +mem +: +: +transmute +: +: +< +u32 +BuiltIn > -{ -match -s -{ -" -Reduce -" +( +n +) +} +36u32 +. +. += +43u32 = > -Ok -( -Self +unsafe +{ +core : : -Reduce +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> +( +n ) -" -InclusiveScan -" +} +4160u32 +. +. += +4164u32 = > -Ok -( -Self +unsafe +{ +core : : -InclusiveScan +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> +( +n ) -" -ExclusiveScan -" +} +4416u32 +. +. += +4420u32 = > -Ok -( -Self +unsafe +{ +core : : -ExclusiveScan +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> +( +n ) -" -ClusteredReduce -" +} +4424u32 +. +. += +4426u32 = > -Ok -( -Self +unsafe +{ +core : : -ClusteredReduce +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> +( +n ) -" -PartitionedReduceNV -" +} +4432u32 = > -Ok -( -Self +unsafe +{ +core : : -PartitionedReduceNV +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> +( +4432u32 ) -" -PartitionedInclusiveScanNV -" +} +4438u32 = > -Ok -( -Self +unsafe +{ +core : : -PartitionedInclusiveScanNV +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> +( +4438u32 ) -" -PartitionedExclusiveScanNV -" +} +4440u32 = > -Ok -( -Self +unsafe +{ +core : : -PartitionedExclusiveScanNV -) -_ -= +mem +: +: +transmute +: +: +< +u32 +BuiltIn > -Err -( ( +4440u32 ) -) -} -} } -# -[ -doc +4444u32 = -" -/ -/ -/ -SPIR -- -V -operand -kind +> +unsafe +{ +core : -[ -KernelEnqueueFlags -] -( -https : -/ -/ -www +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> +( +4444u32 +) +} +4992u32 . -khronos . -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -SPIRV -. -html -# -_a_id_kernel_enqueue_flags_a_kernel_enqueue_flags -) -" -] -# -[ -repr -( += +4998u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< u32 -) -] -# -[ -derive +BuiltIn +> ( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash +n ) -] -# -[ -cfg_attr -( -feature +} +5014u32 = -" -serialize -" -derive -( -serde +> +unsafe +{ +core : : -Serialize -) -) -] -# -[ -cfg_attr -( -feature -= -" -deserialize -" -derive -( -serde +mem : : -Deserialize -) -) -] -# -[ -allow -( -clippy +transmute : : -upper_case_acronyms -) -] -pub -enum -KernelEnqueueFlags -{ -NoWait -= -0u32 -WaitKernel -= -1u32 -WaitWorkGroup -= -2u32 -} -# -[ -allow +< +u32 +BuiltIn +> ( -non_upper_case_globals +5014u32 ) -] -impl -KernelEnqueueFlags -{ } -impl -num_traits +5021u32 += +> +unsafe +{ +core : : -FromPrimitive -for -KernelEnqueueFlags -{ -# -[ -allow -( -trivial_numeric_casts -) -] -fn -from_i64 -( -n +mem +: +: +transmute +: : -i64 -) -- -> -Option < -Self +u32 +BuiltIn > -{ -Some ( -match -n -as -u32 -{ -0u32 +5021u32 +) +} +5073u32 = > -Self +unsafe +{ +core : : -NoWait -1u32 -= -> -Self +mem : : -WaitKernel -2u32 +transmute +: +: +< +u32 +BuiltIn +> +( +5073u32 +) +} +5253u32 = > -Self +unsafe +{ +core : : -WaitWorkGroup -_ -= +mem +: +: +transmute +: +: +< +u32 +BuiltIn > -return -None -} +( +5253u32 ) } -fn -from_u64 +5257u32 +. +. += +5258u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> ( n -: -u64 ) -- -> -Option -< -Self +} +5261u32 +. +. += +5262u32 += > +unsafe { -Self +core : : -from_i64 +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> ( n -as -i64 ) } -} -impl +5264u32 += +> +unsafe +{ core : : -str +mem : : -FromStr -for -KernelEnqueueFlags -{ -type -Err -= -( -) -; -fn -from_str -( -s +transmute : -& -str +: +< +u32 +BuiltIn +> +( +5264u32 ) -- +} +5274u32 +. +. += +5281u32 += > -Result -< -Self -Self +unsafe +{ +core : : -Err +mem +: +: +transmute +: +: +< +u32 +BuiltIn > -{ -match -s -{ -" -NoWait -" +( +n +) +} +5286u32 +. +. += +5287u32 = > -Ok -( -Self +unsafe +{ +core : : -NoWait +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> +( +n ) -" -WaitKernel -" +} +5292u32 +. +. += +5296u32 = > -Ok -( -Self +unsafe +{ +core : : -WaitKernel +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> +( +n ) -" -WaitWorkGroup -" +} +5299u32 = > -Ok -( -Self +unsafe +{ +core : : -WaitWorkGroup -) -_ -= +mem +: +: +transmute +: +: +< +u32 +BuiltIn > -Err -( ( +5299u32 ) -) -} -} } -# -[ -doc +5319u32 +. +. = -" -/ -/ -/ -SPIR -- -V -operand -kind +5327u32 += +> +unsafe +{ +core : -[ -Capability -] -( -https : -/ -/ -www -. -khronos -. -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -SPIRV -. -html -# -_a_id_capability_a_capability -) -" -] -# -[ -repr -( +mem +: +: +transmute +: +: +< u32 -) -] -# -[ -derive +BuiltIn +> ( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash +n ) -] -# -[ -cfg_attr -( -feature +} +5330u32 +. +. = -" -serialize -" -derive -( -serde +5335u32 += +> +unsafe +{ +core : : -Serialize -) -) -] -# -[ -cfg_attr +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> ( -feature +n +) +} +5337u32 = -" -deserialize -" -derive -( -serde +> +unsafe +{ +core : : -Deserialize -) -) -] -# -[ -allow -( -clippy +mem : : -upper_case_acronyms +transmute +: +: +< +u32 +BuiltIn +> +( +5337u32 ) -] -pub -enum -Capability +} +5344u32 += +> +unsafe { -Matrix +core +: +: +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> +( +5344u32 +) +} +5351u32 +. +. = -0u32 -Shader +5352u32 = -1u32 -Geometry +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> +( +n +) +} +5374u32 +. +. = -2u32 -Tessellation +5377u32 = -3u32 -Addresses +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> +( +n +) +} +5405u32 +. +. = -4u32 -Linkage +5406u32 = -5u32 -Kernel +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> +( +n +) +} +6021u32 = -6u32 -Vector16 +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +BuiltIn +> +( +6021u32 +) +} +_ = -7u32 -Float16Buffer +> +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +BuiltIn +{ +pub +const +SubgroupEqMaskKHR +: +Self = -8u32 -Float16 +Self +: +: +SubgroupEqMask +; +pub +const +SubgroupGeMaskKHR +: +Self = -9u32 -Float64 +Self +: +: +SubgroupGeMask +; +pub +const +SubgroupGtMaskKHR +: +Self = -10u32 -Int64 +Self +: +: +SubgroupGtMask +; +pub +const +SubgroupLeMaskKHR +: +Self = -11u32 -Int64Atomics +Self +: +: +SubgroupLeMask +; +pub +const +SubgroupLtMaskKHR +: +Self = -12u32 -ImageBasic +Self +: +: +SubgroupLtMask +; +pub +const +BaryCoordNV +: +Self = -13u32 -ImageReadWrite +Self +: +: +BaryCoordKHR +; +pub +const +BaryCoordNoPerspNV +: +Self = -14u32 -ImageMipmap +Self +: +: +BaryCoordNoPerspKHR +; +pub +const +FragmentSizeNV +: +Self = -15u32 -Pipes +Self +: +: +FragSizeEXT +; +pub +const +InvocationsPerPixelNV +: +Self = -17u32 -Groups +Self +: +: +FragInvocationCountEXT +; +pub +const +LaunchIdKHR +: +Self = -18u32 -DeviceEnqueue -= -19u32 -LiteralSampler -= -20u32 -AtomicStorage -= -21u32 -Int16 +Self +: +: +LaunchIdNV +; +pub +const +LaunchSizeKHR +: +Self = -22u32 -TessellationPointSize +Self +: +: +LaunchSizeNV +; +pub +const +WorldRayOriginKHR +: +Self = -23u32 -GeometryPointSize +Self +: +: +WorldRayOriginNV +; +pub +const +WorldRayDirectionKHR +: +Self = -24u32 -ImageGatherExtended +Self +: +: +WorldRayDirectionNV +; +pub +const +ObjectRayOriginKHR +: +Self = -25u32 -StorageImageMultisample +Self +: +: +ObjectRayOriginNV +; +pub +const +ObjectRayDirectionKHR +: +Self = -27u32 -UniformBufferArrayDynamicIndexing +Self +: +: +ObjectRayDirectionNV +; +pub +const +RayTminKHR +: +Self = -28u32 -SampledImageArrayDynamicIndexing +Self +: +: +RayTminNV +; +pub +const +RayTmaxKHR +: +Self = -29u32 -StorageBufferArrayDynamicIndexing +Self +: +: +RayTmaxNV +; +pub +const +InstanceCustomIndexKHR +: +Self = -30u32 -StorageImageArrayDynamicIndexing +Self +: +: +InstanceCustomIndexNV +; +pub +const +ObjectToWorldKHR +: +Self = -31u32 -ClipDistance +Self +: +: +ObjectToWorldNV +; +pub +const +WorldToObjectKHR +: +Self = -32u32 -CullDistance +Self +: +: +WorldToObjectNV +; +pub +const +HitKindKHR +: +Self = -33u32 -ImageCubeArray +Self +: +: +HitKindNV +; +pub +const +IncomingRayFlagsKHR +: +Self = -34u32 -SampleRateShading +Self +: +: +IncomingRayFlagsNV +; +} +impl +core +: +: +str +: +: +FromStr +for +BuiltIn +{ +type +Err = -35u32 -ImageRect +( +) +; +fn +from_str +( +s +: +& +str +) +- +> +Result +< +Self +Self +: +: +Err +> +{ +match +s +{ +" +Position +" = -36u32 -SampledRect +> +Ok +( +Self +: +: +Position +) +" +PointSize +" = -37u32 -GenericPointer +> +Ok +( +Self +: +: +PointSize +) +" +ClipDistance +" = -38u32 -Int8 +> +Ok +( +Self +: +: +ClipDistance +) +" +CullDistance +" = -39u32 -InputAttachment +> +Ok +( +Self +: +: +CullDistance +) +" +VertexId +" = -40u32 -SparseResidency -= -41u32 -MinLod -= -42u32 -Sampled1D -= -43u32 -Image1D +> +Ok +( +Self +: +: +VertexId +) +" +InstanceId +" = -44u32 -SampledCubeArray +> +Ok +( +Self +: +: +InstanceId +) +" +PrimitiveId +" = -45u32 -SampledBuffer +> +Ok +( +Self +: +: +PrimitiveId +) +" +InvocationId +" = -46u32 -ImageBuffer +> +Ok +( +Self +: +: +InvocationId +) +" +Layer +" = -47u32 -ImageMSArray +> +Ok +( +Self +: +: +Layer +) +" +ViewportIndex +" = -48u32 -StorageImageExtendedFormats +> +Ok +( +Self +: +: +ViewportIndex +) +" +TessLevelOuter +" = -49u32 -ImageQuery +> +Ok +( +Self +: +: +TessLevelOuter +) +" +TessLevelInner +" = -50u32 -DerivativeControl +> +Ok +( +Self +: +: +TessLevelInner +) +" +TessCoord +" = -51u32 -InterpolationFunction +> +Ok +( +Self +: +: +TessCoord +) +" +PatchVertices +" = -52u32 -TransformFeedback +> +Ok +( +Self +: +: +PatchVertices +) +" +FragCoord +" = -53u32 -GeometryStreams +> +Ok +( +Self +: +: +FragCoord +) +" +PointCoord +" = -54u32 -StorageImageReadWithoutFormat +> +Ok +( +Self +: +: +PointCoord +) +" +FrontFacing +" = -55u32 -StorageImageWriteWithoutFormat +> +Ok +( +Self +: +: +FrontFacing +) +" +SampleId +" = -56u32 -MultiViewport +> +Ok +( +Self +: +: +SampleId +) +" +SamplePosition +" = -57u32 -SubgroupDispatch +> +Ok +( +Self +: +: +SamplePosition +) +" +SampleMask +" = -58u32 -NamedBarrier +> +Ok +( +Self +: +: +SampleMask +) +" +FragDepth +" = -59u32 -PipeStorage +> +Ok +( +Self +: +: +FragDepth +) +" +HelperInvocation +" = -60u32 -GroupNonUniform +> +Ok +( +Self +: +: +HelperInvocation +) +" +NumWorkgroups +" = -61u32 -GroupNonUniformVote +> +Ok +( +Self +: +: +NumWorkgroups +) +" +WorkgroupSize +" = -62u32 -GroupNonUniformArithmetic +> +Ok +( +Self +: +: +WorkgroupSize +) +" +WorkgroupId +" = -63u32 -GroupNonUniformBallot +> +Ok +( +Self +: +: +WorkgroupId +) +" +LocalInvocationId +" = -64u32 -GroupNonUniformShuffle +> +Ok +( +Self +: +: +LocalInvocationId +) +" +GlobalInvocationId +" = -65u32 -GroupNonUniformShuffleRelative +> +Ok +( +Self +: +: +GlobalInvocationId +) +" +LocalInvocationIndex +" = -66u32 -GroupNonUniformClustered +> +Ok +( +Self +: +: +LocalInvocationIndex +) +" +WorkDim +" = -67u32 -GroupNonUniformQuad +> +Ok +( +Self +: +: +WorkDim +) +" +GlobalSize +" = -68u32 -ShaderLayer +> +Ok +( +Self +: +: +GlobalSize +) +" +EnqueuedWorkgroupSize +" = -69u32 -ShaderViewportIndex +> +Ok +( +Self +: +: +EnqueuedWorkgroupSize +) +" +GlobalOffset +" = -70u32 -FragmentShadingRateKHR +> +Ok +( +Self +: +: +GlobalOffset +) +" +GlobalLinearId +" = -4422u32 -SubgroupBallotKHR +> +Ok +( +Self +: +: +GlobalLinearId +) +" +SubgroupSize +" = -4423u32 -DrawParameters +> +Ok +( +Self +: +: +SubgroupSize +) +" +SubgroupMaxSize +" = -4427u32 -SubgroupVoteKHR +> +Ok +( +Self +: +: +SubgroupMaxSize +) +" +NumSubgroups +" = -4431u32 -StorageBuffer16BitAccess +> +Ok +( +Self +: +: +NumSubgroups +) +" +NumEnqueuedSubgroups +" = -4433u32 -UniformAndStorageBuffer16BitAccess +> +Ok +( +Self +: +: +NumEnqueuedSubgroups +) +" +SubgroupId +" = -4434u32 -StoragePushConstant16 +> +Ok +( +Self +: +: +SubgroupId +) +" +SubgroupLocalInvocationId +" = -4435u32 -StorageInputOutput16 +> +Ok +( +Self +: +: +SubgroupLocalInvocationId +) +" +VertexIndex +" = -4436u32 -DeviceGroup +> +Ok +( +Self +: +: +VertexIndex +) +" +InstanceIndex +" = -4437u32 -MultiView +> +Ok +( +Self +: +: +InstanceIndex +) +" +CoreIDARM +" = -4439u32 -VariablePointersStorageBuffer +> +Ok +( +Self +: +: +CoreIDARM +) +" +CoreCountARM +" = -4441u32 -VariablePointers +> +Ok +( +Self +: +: +CoreCountARM +) +" +CoreMaxIDARM +" = -4442u32 -AtomicStorageOps +> +Ok +( +Self +: +: +CoreMaxIDARM +) +" +WarpIDARM +" = -4445u32 -SampleMaskPostDepthCoverage +> +Ok +( +Self +: +: +WarpIDARM +) +" +WarpMaxIDARM +" = -4447u32 -StorageBuffer8BitAccess +> +Ok +( +Self +: +: +WarpMaxIDARM +) +" +SubgroupEqMask +" = -4448u32 -UniformAndStorageBuffer8BitAccess +> +Ok +( +Self +: +: +SubgroupEqMask +) +" +SubgroupEqMaskKHR +" = -4449u32 -StoragePushConstant8 +> +Ok +( +Self +: +: +SubgroupEqMask +) +" +SubgroupGeMask +" = -4450u32 -DenormPreserve +> +Ok +( +Self +: +: +SubgroupGeMask +) +" +SubgroupGeMaskKHR +" = -4464u32 -DenormFlushToZero +> +Ok +( +Self +: +: +SubgroupGeMask +) +" +SubgroupGtMask +" = -4465u32 -SignedZeroInfNanPreserve +> +Ok +( +Self +: +: +SubgroupGtMask +) +" +SubgroupGtMaskKHR +" = -4466u32 -RoundingModeRTE +> +Ok +( +Self +: +: +SubgroupGtMask +) +" +SubgroupLeMask +" = -4467u32 -RoundingModeRTZ +> +Ok +( +Self +: +: +SubgroupLeMask +) +" +SubgroupLeMaskKHR +" = -4468u32 -RayQueryProvisionalKHR +> +Ok +( +Self +: +: +SubgroupLeMask +) +" +SubgroupLtMask +" = -4471u32 -RayQueryKHR +> +Ok +( +Self +: +: +SubgroupLtMask +) +" +SubgroupLtMaskKHR +" = -4472u32 -RayTraversalPrimitiveCullingKHR +> +Ok +( +Self +: +: +SubgroupLtMask +) +" +BaseVertex +" = -4478u32 -RayTracingKHR +> +Ok +( +Self +: +: +BaseVertex +) +" +BaseInstance +" = -4479u32 -Float16ImageAMD +> +Ok +( +Self +: +: +BaseInstance +) +" +DrawIndex +" = -5008u32 -ImageGatherBiasLodAMD +> +Ok +( +Self +: +: +DrawIndex +) +" +PrimitiveShadingRateKHR +" = -5009u32 -FragmentMaskAMD +> +Ok +( +Self +: +: +PrimitiveShadingRateKHR +) +" +DeviceIndex +" = -5010u32 -StencilExportEXT +> +Ok +( +Self +: +: +DeviceIndex +) +" +ViewIndex +" = -5013u32 -ImageReadWriteLodAMD +> +Ok +( +Self +: +: +ViewIndex +) +" +ShadingRateKHR +" = -5015u32 -Int64ImageEXT +> +Ok +( +Self +: +: +ShadingRateKHR +) +" +BaryCoordNoPerspAMD +" = -5016u32 -ShaderClockKHR -= -5055u32 -SampleMaskOverrideCoverageNV -= -5249u32 -GeometryShaderPassthroughNV -= -5251u32 -ShaderViewportIndexLayerEXT -= -5254u32 -ShaderViewportMaskNV -= -5255u32 -ShaderStereoViewNV -= -5259u32 -PerViewAttributesNV -= -5260u32 -FragmentFullyCoveredEXT -= -5265u32 -MeshShadingNV -= -5266u32 -ImageFootprintNV -= -5282u32 -FragmentBarycentricNV -= -5284u32 -ComputeDerivativeGroupQuadsNV -= -5288u32 -FragmentDensityEXT -= -5291u32 -GroupNonUniformPartitionedNV -= -5297u32 -ShaderNonUniform -= -5301u32 -RuntimeDescriptorArray -= -5302u32 -InputAttachmentArrayDynamicIndexing -= -5303u32 -UniformTexelBufferArrayDynamicIndexing -= -5304u32 -StorageTexelBufferArrayDynamicIndexing -= -5305u32 -UniformBufferArrayNonUniformIndexing -= -5306u32 -SampledImageArrayNonUniformIndexing -= -5307u32 -StorageBufferArrayNonUniformIndexing -= -5308u32 -StorageImageArrayNonUniformIndexing -= -5309u32 -InputAttachmentArrayNonUniformIndexing -= -5310u32 -UniformTexelBufferArrayNonUniformIndexing -= -5311u32 -StorageTexelBufferArrayNonUniformIndexing -= -5312u32 -RayTracingNV -= -5340u32 -VulkanMemoryModel -= -5345u32 -VulkanMemoryModelDeviceScope -= -5346u32 -PhysicalStorageBufferAddresses -= -5347u32 -ComputeDerivativeGroupLinearNV -= -5350u32 -RayTracingProvisionalKHR -= -5353u32 -CooperativeMatrixNV -= -5357u32 -FragmentShaderSampleInterlockEXT -= -5363u32 -FragmentShaderShadingRateInterlockEXT -= -5372u32 -ShaderSMBuiltinsNV -= -5373u32 -FragmentShaderPixelInterlockEXT -= -5378u32 -DemoteToHelperInvocationEXT -= -5379u32 -SubgroupShuffleINTEL -= -5568u32 -SubgroupBufferBlockIOINTEL -= -5569u32 -SubgroupImageBlockIOINTEL -= -5570u32 -SubgroupImageMediaBlockIOINTEL -= -5579u32 -IntegerFunctions2INTEL -= -5584u32 -FunctionPointersINTEL -= -5603u32 -IndirectReferencesINTEL -= -5604u32 -SubgroupAvcMotionEstimationINTEL -= -5696u32 -SubgroupAvcMotionEstimationIntraINTEL -= -5697u32 -SubgroupAvcMotionEstimationChromaINTEL -= -5698u32 -FPGAMemoryAttributesINTEL -= -5824u32 -UnstructuredLoopControlsINTEL -= -5886u32 -FPGALoopControlsINTEL -= -5888u32 -KernelAttributesINTEL -= -5892u32 -FPGAKernelAttributesINTEL -= -5897u32 -BlockingPipesINTEL -= -5945u32 -FPGARegINTEL -= -5948u32 -AtomicFloat32AddEXT -= -6033u32 -AtomicFloat64AddEXT -= -6034u32 -} -# -[ -allow +> +Ok ( -non_upper_case_globals -) -] -impl -Capability -{ -pub -const -StorageUniformBufferBlock16 -: Self +: +: +BaryCoordNoPerspAMD +) +" +BaryCoordNoPerspCentroidAMD +" = +> +Ok +( Self : : -StorageBuffer16BitAccess -; -pub -const -StorageUniform16 -: -Self +BaryCoordNoPerspCentroidAMD +) +" +BaryCoordNoPerspSampleAMD +" = +> +Ok +( Self : : -UniformAndStorageBuffer16BitAccess -; -pub -const -ShaderViewportIndexLayerNV -: -Self +BaryCoordNoPerspSampleAMD +) +" +BaryCoordSmoothAMD +" = +> +Ok +( Self : : -ShaderViewportIndexLayerEXT -; -pub -const -ShadingRateNV -: -Self +BaryCoordSmoothAMD +) +" +BaryCoordSmoothCentroidAMD +" = +> +Ok +( Self : : -FragmentDensityEXT -; -pub -const -ShaderNonUniformEXT -: -Self +BaryCoordSmoothCentroidAMD +) +" +BaryCoordSmoothSampleAMD +" = +> +Ok +( Self : : -ShaderNonUniform -; -pub -const -RuntimeDescriptorArrayEXT -: -Self +BaryCoordSmoothSampleAMD +) +" +BaryCoordPullModelAMD +" = +> +Ok +( Self : : -RuntimeDescriptorArray -; -pub -const -InputAttachmentArrayDynamicIndexingEXT -: -Self +BaryCoordPullModelAMD +) +" +FragStencilRefEXT +" = +> +Ok +( Self : : -InputAttachmentArrayDynamicIndexing -; -pub -const -UniformTexelBufferArrayDynamicIndexingEXT -: -Self +FragStencilRefEXT +) +" +CoalescedInputCountAMDX +" = +> +Ok +( Self : : -UniformTexelBufferArrayDynamicIndexing -; -pub -const -StorageTexelBufferArrayDynamicIndexingEXT -: -Self +CoalescedInputCountAMDX +) +" +ShaderIndexAMDX +" = +> +Ok +( Self : : -StorageTexelBufferArrayDynamicIndexing -; -pub -const -UniformBufferArrayNonUniformIndexingEXT -: -Self +ShaderIndexAMDX +) +" +ViewportMaskNV +" = +> +Ok +( Self : : -UniformBufferArrayNonUniformIndexing -; -pub -const -SampledImageArrayNonUniformIndexingEXT -: -Self +ViewportMaskNV +) +" +SecondaryPositionNV +" = +> +Ok +( Self : : -SampledImageArrayNonUniformIndexing -; -pub -const -StorageBufferArrayNonUniformIndexingEXT -: -Self +SecondaryPositionNV +) +" +SecondaryViewportMaskNV +" = +> +Ok +( Self : : -StorageBufferArrayNonUniformIndexing -; -pub -const -StorageImageArrayNonUniformIndexingEXT -: -Self +SecondaryViewportMaskNV +) +" +PositionPerViewNV +" = +> +Ok +( Self : : -StorageImageArrayNonUniformIndexing -; -pub -const -InputAttachmentArrayNonUniformIndexingEXT -: -Self +PositionPerViewNV +) +" +ViewportMaskPerViewNV +" = +> +Ok +( Self : : -InputAttachmentArrayNonUniformIndexing -; -pub -const -UniformTexelBufferArrayNonUniformIndexingEXT -: -Self +ViewportMaskPerViewNV +) +" +FullyCoveredEXT +" = +> +Ok +( Self : : -UniformTexelBufferArrayNonUniformIndexing -; -pub -const -StorageTexelBufferArrayNonUniformIndexingEXT -: -Self +FullyCoveredEXT +) +" +TaskCountNV +" = +> +Ok +( Self : : -StorageTexelBufferArrayNonUniformIndexing -; -pub -const -VulkanMemoryModelKHR -: -Self +TaskCountNV +) +" +PrimitiveCountNV +" = +> +Ok +( Self : : -VulkanMemoryModel -; -pub -const -VulkanMemoryModelDeviceScopeKHR -: -Self +PrimitiveCountNV +) +" +PrimitiveIndicesNV +" = +> +Ok +( Self : : -VulkanMemoryModelDeviceScope -; -pub -const -PhysicalStorageBufferAddressesEXT -: -Self +PrimitiveIndicesNV +) +" +ClipDistancePerViewNV +" = +> +Ok +( Self : : -PhysicalStorageBufferAddresses -; -} -impl -num_traits -: -: -FromPrimitive -for -Capability -{ -# -[ -allow -( -trivial_numeric_casts -) -] -fn -from_i64 -( -n -: -i64 +ClipDistancePerViewNV ) -- -> -Option -< -Self -> -{ -Some -( -match -n -as -u32 -{ -0u32 +" +CullDistancePerViewNV +" = > +Ok +( Self : : -Matrix -1u32 +CullDistancePerViewNV +) +" +LayerPerViewNV +" = > +Ok +( Self : : -Shader -2u32 +LayerPerViewNV +) +" +MeshViewCountNV +" = > +Ok +( Self : : -Geometry -3u32 +MeshViewCountNV +) +" +MeshViewIndicesNV +" = > +Ok +( Self : : -Tessellation -4u32 +MeshViewIndicesNV +) +" +BaryCoordKHR +" = > +Ok +( Self : : -Addresses -5u32 +BaryCoordKHR +) +" +BaryCoordNV +" = > +Ok +( Self : : -Linkage -6u32 +BaryCoordKHR +) +" +BaryCoordNoPerspKHR +" = > +Ok +( Self : : -Kernel -7u32 +BaryCoordNoPerspKHR +) +" +BaryCoordNoPerspNV +" = > +Ok +( Self : : -Vector16 -8u32 +BaryCoordNoPerspKHR +) +" +FragSizeEXT +" = > +Ok +( Self : : -Float16Buffer -9u32 +FragSizeEXT +) +" +FragmentSizeNV +" = > +Ok +( Self : : -Float16 -10u32 +FragSizeEXT +) +" +FragInvocationCountEXT +" = > +Ok +( Self : : -Float64 -11u32 +FragInvocationCountEXT +) +" +InvocationsPerPixelNV +" = > +Ok +( Self : : -Int64 -12u32 +FragInvocationCountEXT +) +" +PrimitivePointIndicesEXT +" = > +Ok +( Self : : -Int64Atomics -13u32 +PrimitivePointIndicesEXT +) +" +PrimitiveLineIndicesEXT +" = > +Ok +( Self : : -ImageBasic -14u32 +PrimitiveLineIndicesEXT +) +" +PrimitiveTriangleIndicesEXT +" = > +Ok +( Self : : -ImageReadWrite -15u32 +PrimitiveTriangleIndicesEXT +) +" +CullPrimitiveEXT +" = > +Ok +( Self : : -ImageMipmap -17u32 +CullPrimitiveEXT +) +" +LaunchIdNV +" = > +Ok +( Self : : -Pipes -18u32 +LaunchIdNV +) +" +LaunchIdKHR +" = > +Ok +( Self : : -Groups -19u32 +LaunchIdNV +) +" +LaunchSizeNV +" = > +Ok +( Self : : -DeviceEnqueue -20u32 +LaunchSizeNV +) +" +LaunchSizeKHR +" = > +Ok +( Self : : -LiteralSampler -21u32 +LaunchSizeNV +) +" +WorldRayOriginNV +" = > +Ok +( Self : : -AtomicStorage -22u32 +WorldRayOriginNV +) +" +WorldRayOriginKHR +" = > +Ok +( Self : : -Int16 -23u32 +WorldRayOriginNV +) +" +WorldRayDirectionNV +" = > +Ok +( Self : : -TessellationPointSize -24u32 +WorldRayDirectionNV +) +" +WorldRayDirectionKHR +" = > +Ok +( Self : : -GeometryPointSize -25u32 +WorldRayDirectionNV +) +" +ObjectRayOriginNV +" = > +Ok +( Self : : -ImageGatherExtended -27u32 +ObjectRayOriginNV +) +" +ObjectRayOriginKHR +" = > +Ok +( Self : : -StorageImageMultisample -28u32 +ObjectRayOriginNV +) +" +ObjectRayDirectionNV +" = > +Ok +( Self : : -UniformBufferArrayDynamicIndexing -29u32 +ObjectRayDirectionNV +) +" +ObjectRayDirectionKHR +" = > +Ok +( Self : : -SampledImageArrayDynamicIndexing -30u32 +ObjectRayDirectionNV +) +" +RayTminNV +" = > +Ok +( Self : : -StorageBufferArrayDynamicIndexing -31u32 +RayTminNV +) +" +RayTminKHR +" = > +Ok +( Self : : -StorageImageArrayDynamicIndexing -32u32 +RayTminNV +) +" +RayTmaxNV +" = > +Ok +( Self : : -ClipDistance -33u32 +RayTmaxNV +) +" +RayTmaxKHR +" = > +Ok +( Self : : -CullDistance -34u32 -= -> -Self -: -: -ImageCubeArray -35u32 -= -> -Self -: -: -SampleRateShading -36u32 -= -> -Self -: -: -ImageRect -37u32 -= -> -Self -: -: -SampledRect -38u32 +RayTmaxNV +) +" +InstanceCustomIndexNV +" = > +Ok +( Self : : -GenericPointer -39u32 +InstanceCustomIndexNV +) +" +InstanceCustomIndexKHR +" = > +Ok +( Self : : -Int8 -40u32 +InstanceCustomIndexNV +) +" +ObjectToWorldNV +" = > +Ok +( Self : : -InputAttachment -41u32 +ObjectToWorldNV +) +" +ObjectToWorldKHR +" = > +Ok +( Self : : -SparseResidency -42u32 +ObjectToWorldNV +) +" +WorldToObjectNV +" = > +Ok +( Self : : -MinLod -43u32 +WorldToObjectNV +) +" +WorldToObjectKHR +" = > +Ok +( Self : : -Sampled1D -44u32 +WorldToObjectNV +) +" +HitTNV +" = > +Ok +( Self : : -Image1D -45u32 +HitTNV +) +" +HitKindNV +" = > +Ok +( Self : : -SampledCubeArray -46u32 +HitKindNV +) +" +HitKindKHR +" = > +Ok +( Self : : -SampledBuffer -47u32 +HitKindNV +) +" +CurrentRayTimeNV +" = > +Ok +( Self : : -ImageBuffer -48u32 +CurrentRayTimeNV +) +" +HitTriangleVertexPositionsKHR +" = > +Ok +( Self : : -ImageMSArray -49u32 +HitTriangleVertexPositionsKHR +) +" +HitMicroTriangleVertexPositionsNV +" = > +Ok +( Self : : -StorageImageExtendedFormats -50u32 +HitMicroTriangleVertexPositionsNV +) +" +HitMicroTriangleVertexBarycentricsNV +" = > +{ +Ok +( Self : : -ImageQuery -51u32 +HitMicroTriangleVertexBarycentricsNV +) +} +" +IncomingRayFlagsNV +" = > +Ok +( Self : : -DerivativeControl -52u32 +IncomingRayFlagsNV +) +" +IncomingRayFlagsKHR +" = > +Ok +( Self : : -InterpolationFunction -53u32 +IncomingRayFlagsNV +) +" +RayGeometryIndexKHR +" = > +Ok +( Self : : -TransformFeedback -54u32 +RayGeometryIndexKHR +) +" +WarpsPerSMNV +" = > +Ok +( Self : : -GeometryStreams -55u32 +WarpsPerSMNV +) +" +SMCountNV +" = > +Ok +( Self : : -StorageImageReadWithoutFormat -56u32 +SMCountNV +) +" +WarpIDNV +" = > +Ok +( Self : : -StorageImageWriteWithoutFormat -57u32 +WarpIDNV +) +" +SMIDNV +" = > +Ok +( Self : : -MultiViewport -58u32 +SMIDNV +) +" +HitKindFrontFacingMicroTriangleNV +" = > +Ok +( Self : : -SubgroupDispatch -59u32 +HitKindFrontFacingMicroTriangleNV +) +" +HitKindBackFacingMicroTriangleNV +" = > +Ok +( Self : : -NamedBarrier -60u32 +HitKindBackFacingMicroTriangleNV +) +" +CullMaskKHR +" = > +Ok +( Self : : -PipeStorage -61u32 +CullMaskKHR +) +_ = > -Self -: -: -GroupNonUniform -62u32 +Err +( +( +) +) +} +} +} +# +[ +doc = -> -Self +" +SPIR +- +V +operand +kind : +[ +Scope +] +( +https : -GroupNonUniformVote -63u32 +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_scope_a_scope +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +serialize +" +derive +( +serde : : -GroupNonUniformArithmetic -64u32 +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +deserialize +" +derive +( +serde : : -GroupNonUniformBallot -65u32 -= -> -Self +Deserialize +) +) +] +# +[ +allow +( +clippy : : -GroupNonUniformShuffle -66u32 +upper_case_acronyms +) +] +pub +enum +Scope +{ +CrossDevice += +0u32 +Device += +1u32 +Workgroup += +2u32 +Subgroup += +3u32 +Invocation += +4u32 +QueueFamily += +5u32 +ShaderCallKHR = +6u32 +} +impl +Scope +{ +pub +fn +from_u32 +( +n +: +u32 +) +- > +Option +< Self -: -: -GroupNonUniformShuffleRelative -67u32 +> +{ +Some +( +match +n +{ +0u32 +. +. += +6u32 = > -Self +unsafe +{ +core : : -GroupNonUniformClustered -68u32 -= -> -Self +mem : : -GroupNonUniformQuad -69u32 -= -> -Self +transmute : : -ShaderLayer -70u32 +< +u32 +Scope +> +( +n +) +} +_ = > -Self -: +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +Scope +{ +pub +const +QueueFamilyKHR : -ShaderViewportIndex -4422u32 +Self = -> Self : : -FragmentShadingRateKHR -4423u32 -= -> -Self +QueueFamily +; +} +impl +core : : -SubgroupBallotKHR -4427u32 -= -> -Self +str : : -DrawParameters -4431u32 +FromStr +for +Scope +{ +type +Err = +( +) +; +fn +from_str +( +s +: +& +str +) +- > +Result +< +Self Self : : -SubgroupVoteKHR -4433u32 +Err +> +{ +match +s +{ +" +CrossDevice +" = > +Ok +( Self : : -StorageBuffer16BitAccess -4434u32 +CrossDevice +) +" +Device +" = > +Ok +( Self : : -UniformAndStorageBuffer16BitAccess -4435u32 +Device +) +" +Workgroup +" = > +Ok +( Self : : -StoragePushConstant16 -4436u32 +Workgroup +) +" +Subgroup +" = > +Ok +( Self : : -StorageInputOutput16 -4437u32 +Subgroup +) +" +Invocation +" = > +Ok +( Self : : -DeviceGroup -4439u32 +Invocation +) +" +QueueFamily +" = > +Ok +( Self : : -MultiView -4441u32 +QueueFamily +) +" +QueueFamilyKHR +" = > +Ok +( Self : : -VariablePointersStorageBuffer -4442u32 +QueueFamily +) +" +ShaderCallKHR +" = > +Ok +( Self : : -VariablePointers -4445u32 +ShaderCallKHR +) +_ = > -Self +Err +( +( +) +) +} +} +} +# +[ +doc += +" +SPIR +- +V +operand +kind : +[ +GroupOperation +] +( +https : -AtomicStorageOps -4447u32 +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_group_operation_a_group_operation +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +serialize +" +derive +( +serde : : -SampleMaskPostDepthCoverage -4448u32 +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +deserialize +" +derive +( +serde : : -StorageBuffer8BitAccess -4449u32 -= -> -Self +Deserialize +) +) +] +# +[ +allow +( +clippy : : -UniformAndStorageBuffer8BitAccess -4450u32 +upper_case_acronyms +) +] +pub +enum +GroupOperation +{ +Reduce += +0u32 +InclusiveScan += +1u32 +ExclusiveScan += +2u32 +ClusteredReduce += +3u32 +PartitionedReduceNV += +6u32 +PartitionedInclusiveScanNV += +7u32 +PartitionedExclusiveScanNV = +8u32 +} +impl +GroupOperation +{ +pub +fn +from_u32 +( +n +: +u32 +) +- > +Option +< Self -: -: -StoragePushConstant8 -4464u32 +> +{ +Some +( +match +n +{ +0u32 +. +. += +3u32 = > -Self +unsafe +{ +core : : -DenormPreserve -4465u32 -= -> -Self +mem : : -DenormFlushToZero -4466u32 -= -> -Self -: -: -SignedZeroInfNanPreserve -4467u32 -= -> -Self -: -: -RoundingModeRTE -4468u32 -= -> -Self -: -: -RoundingModeRTZ -4471u32 -= -> -Self -: -: -RayQueryProvisionalKHR -4472u32 -= -> -Self -: -: -RayQueryKHR -4478u32 -= -> -Self +transmute : : -RayTraversalPrimitiveCullingKHR -4479u32 -= +< +u32 +GroupOperation > -Self -: -: -RayTracingKHR -5008u32 +( +n +) +} +6u32 +. +. = -> -Self -: -: -Float16ImageAMD -5009u32 +8u32 = > -Self +unsafe +{ +core : : -ImageGatherBiasLodAMD -5010u32 -= -> -Self +mem : : -FragmentMaskAMD -5013u32 -= -> -Self +transmute : : -StencilExportEXT -5015u32 -= +< +u32 +GroupOperation > -Self -: -: -ImageReadWriteLodAMD -5016u32 +( +n +) +} +_ = > -Self +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +GroupOperation +{ +} +impl +core : : -Int64ImageEXT -5055u32 -= -> -Self +str : : -ShaderClockKHR -5249u32 +FromStr +for +GroupOperation +{ +type +Err = -> -Self -: +( +) +; +fn +from_str +( +s : -SampleMaskOverrideCoverageNV -5251u32 -= +& +str +) +- > +Result +< Self -: -: -GeometryShaderPassthroughNV -5254u32 -= -> Self : : -ShaderViewportIndexLayerEXT -5255u32 -= +Err > -Self -: -: -ShaderViewportMaskNV -5259u32 +{ +match +s +{ +" +Reduce +" = > +Ok +( Self : : -ShaderStereoViewNV -5260u32 +Reduce +) +" +InclusiveScan +" = > +Ok +( Self : : -PerViewAttributesNV -5265u32 +InclusiveScan +) +" +ExclusiveScan +" = > +Ok +( Self : : -FragmentFullyCoveredEXT -5266u32 +ExclusiveScan +) +" +ClusteredReduce +" = > +Ok +( Self : : -MeshShadingNV -5282u32 +ClusteredReduce +) +" +PartitionedReduceNV +" = > +Ok +( Self : : -ImageFootprintNV -5284u32 +PartitionedReduceNV +) +" +PartitionedInclusiveScanNV +" = > +Ok +( Self : : -FragmentBarycentricNV -5288u32 +PartitionedInclusiveScanNV +) +" +PartitionedExclusiveScanNV +" = > +Ok +( Self : : -ComputeDerivativeGroupQuadsNV -5291u32 +PartitionedExclusiveScanNV +) +_ = > -Self -: -: -FragmentDensityEXT -5297u32 +Err +( +( +) +) +} +} +} +# +[ +doc = -> -Self +" +SPIR +- +V +operand +kind : +[ +KernelEnqueueFlags +] +( +https : -GroupNonUniformPartitionedNV -5301u32 +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_kernel_enqueue_flags_a_kernel_enqueue_flags +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +serialize +" +derive +( +serde : : -ShaderNonUniform -5302u32 +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +deserialize +" +derive +( +serde : : -RuntimeDescriptorArray -5303u32 -= -> -Self +Deserialize +) +) +] +# +[ +allow +( +clippy : : -InputAttachmentArrayDynamicIndexing -5304u32 +upper_case_acronyms +) +] +pub +enum +KernelEnqueueFlags +{ +NoWait = -> -Self -: -: -UniformTexelBufferArrayDynamicIndexing -5305u32 +0u32 +WaitKernel = +1u32 +WaitWorkGroup += +2u32 +} +impl +KernelEnqueueFlags +{ +pub +fn +from_u32 +( +n +: +u32 +) +- > +Option +< Self -: -: -StorageTexelBufferArrayDynamicIndexing -5306u32 +> +{ +Some +( +match +n +{ +0u32 +. +. += +2u32 = > -Self +unsafe +{ +core : : -UniformBufferArrayNonUniformIndexing -5307u32 -= -> -Self +mem : : -SampledImageArrayNonUniformIndexing -5308u32 -= -> -Self +transmute : : -StorageBufferArrayNonUniformIndexing -5309u32 +< +u32 +KernelEnqueueFlags +> +( +n +) +} +_ = > -Self +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +KernelEnqueueFlags +{ +} +impl +core : : -StorageImageArrayNonUniformIndexing -5310u32 -= -> -Self +str : : -InputAttachmentArrayNonUniformIndexing -5311u32 +FromStr +for +KernelEnqueueFlags +{ +type +Err = +( +) +; +fn +from_str +( +s +: +& +str +) +- > +Result +< +Self Self : : -UniformTexelBufferArrayNonUniformIndexing -5312u32 +Err +> +{ +match +s +{ +" +NoWait +" = > +Ok +( Self : : -StorageTexelBufferArrayNonUniformIndexing -5340u32 +NoWait +) +" +WaitKernel +" = > +Ok +( Self : : -RayTracingNV -5345u32 +WaitKernel +) +" +WaitWorkGroup +" = > +Ok +( Self : : -VulkanMemoryModel -5346u32 +WaitWorkGroup +) +_ = > -Self -: -: -VulkanMemoryModelDeviceScope -5347u32 +Err +( +( +) +) +} +} +} +# +[ +doc = -> -Self +" +SPIR +- +V +operand +kind : +[ +Capability +] +( +https : -PhysicalStorageBufferAddresses -5350u32 +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_capability_a_capability +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +serialize +" +derive +( +serde : : -ComputeDerivativeGroupLinearNV -5353u32 +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -> -Self +" +deserialize +" +derive +( +serde : : -RayTracingProvisionalKHR -5357u32 -= -> -Self +Deserialize +) +) +] +# +[ +allow +( +clippy : : -CooperativeMatrixNV -5363u32 +upper_case_acronyms +) +] +pub +enum +Capability +{ +Matrix = -> -Self -: -: -FragmentShaderSampleInterlockEXT -5372u32 +0u32 +Shader = -> -Self -: -: -FragmentShaderShadingRateInterlockEXT -5373u32 +1u32 +Geometry = -> -Self -: -: -ShaderSMBuiltinsNV -5378u32 +2u32 +Tessellation = -> -Self -: -: -FragmentShaderPixelInterlockEXT -5379u32 +3u32 +Addresses = -> -Self -: -: -DemoteToHelperInvocationEXT -5568u32 +4u32 +Linkage = -> -Self -: -: -SubgroupShuffleINTEL -5569u32 +5u32 +Kernel = -> -Self -: -: -SubgroupBufferBlockIOINTEL -5570u32 +6u32 +Vector16 = -> -Self -: -: -SubgroupImageBlockIOINTEL -5579u32 +7u32 +Float16Buffer = -> -Self -: -: -SubgroupImageMediaBlockIOINTEL -5584u32 +8u32 +Float16 = -> -Self -: -: -IntegerFunctions2INTEL -5603u32 +9u32 +Float64 = -> -Self -: -: -FunctionPointersINTEL -5604u32 +10u32 +Int64 = -> -Self -: -: -IndirectReferencesINTEL -5696u32 +11u32 +Int64Atomics = -> -Self -: -: -SubgroupAvcMotionEstimationINTEL -5697u32 +12u32 +ImageBasic = -> -Self -: -: -SubgroupAvcMotionEstimationIntraINTEL -5698u32 +13u32 +ImageReadWrite = -> -Self -: -: -SubgroupAvcMotionEstimationChromaINTEL -5824u32 +14u32 +ImageMipmap = -> -Self -: -: -FPGAMemoryAttributesINTEL -5886u32 -= -> -Self -: -: -UnstructuredLoopControlsINTEL -5888u32 +15u32 +Pipes = -> -Self -: -: -FPGALoopControlsINTEL -5892u32 +17u32 +Groups = -> -Self -: -: -KernelAttributesINTEL -5897u32 +18u32 +DeviceEnqueue = -> -Self -: -: -FPGAKernelAttributesINTEL -5945u32 +19u32 +LiteralSampler = -> -Self -: -: -BlockingPipesINTEL -5948u32 +20u32 +AtomicStorage = -> -Self -: -: -FPGARegINTEL -6033u32 +21u32 +Int16 = -> -Self -: -: -AtomicFloat32AddEXT -6034u32 +22u32 +TessellationPointSize = -> -Self -: -: -AtomicFloat64AddEXT -_ +23u32 +GeometryPointSize = -> -return -None -} -) -} -fn -from_u64 -( -n -: -u64 -) -- -> -Option -< -Self -> -{ -Self -: -: -from_i64 -( -n -as -i64 -) -} -} -impl -core -: -: -str -: -: -FromStr -for -Capability -{ -type -Err +24u32 +ImageGatherExtended = -( -) -; -fn -from_str -( -s -: -& -str -) -- -> -Result -< -Self -Self -: -: -Err -> -{ -match -s -{ -" -Matrix -" +25u32 +StorageImageMultisample = -> -Ok -( -Self -: -: -Matrix -) -" -Shader -" +27u32 +UniformBufferArrayDynamicIndexing = -> -Ok -( -Self -: -: -Shader -) -" -Geometry -" +28u32 +SampledImageArrayDynamicIndexing = -> -Ok -( -Self -: -: -Geometry -) -" -Tessellation -" +29u32 +StorageBufferArrayDynamicIndexing = -> -Ok -( -Self -: -: -Tessellation -) -" -Addresses -" +30u32 +StorageImageArrayDynamicIndexing = -> -Ok -( -Self -: -: -Addresses -) -" -Linkage -" +31u32 +ClipDistance = -> -Ok -( -Self -: -: -Linkage -) -" -Kernel -" +32u32 +CullDistance = -> -Ok -( -Self -: -: -Kernel -) -" -Vector16 -" +33u32 +ImageCubeArray = -> -Ok -( -Self -: -: -Vector16 -) -" -Float16Buffer -" +34u32 +SampleRateShading = -> -Ok -( -Self -: -: -Float16Buffer -) -" -Float16 -" +35u32 +ImageRect = -> -Ok -( -Self -: -: -Float16 -) -" -Float64 -" +36u32 +SampledRect = -> -Ok -( -Self -: -: -Float64 -) -" -Int64 -" +37u32 +GenericPointer = -> -Ok -( -Self -: -: -Int64 -) -" -Int64Atomics -" +38u32 +Int8 = -> -Ok -( -Self -: -: -Int64Atomics -) -" -ImageBasic -" +39u32 +InputAttachment = -> -Ok -( -Self -: -: -ImageBasic -) -" -ImageReadWrite -" +40u32 +SparseResidency = -> -Ok -( -Self -: -: -ImageReadWrite -) -" -ImageMipmap -" +41u32 +MinLod = -> -Ok -( -Self -: -: -ImageMipmap -) -" -Pipes -" +42u32 +Sampled1D = -> -Ok -( -Self -: -: -Pipes -) -" -Groups -" +43u32 +Image1D = -> -Ok -( -Self -: -: -Groups -) -" -DeviceEnqueue -" +44u32 +SampledCubeArray = -> -Ok -( -Self -: -: -DeviceEnqueue -) -" -LiteralSampler -" +45u32 +SampledBuffer = -> -Ok -( -Self -: -: -LiteralSampler -) -" -AtomicStorage -" +46u32 +ImageBuffer = -> -Ok -( -Self -: -: -AtomicStorage -) -" -Int16 -" +47u32 +ImageMSArray = -> -Ok -( -Self -: -: -Int16 -) -" -TessellationPointSize -" +48u32 +StorageImageExtendedFormats = -> -Ok -( -Self -: -: -TessellationPointSize -) -" -GeometryPointSize -" +49u32 +ImageQuery = -> -Ok -( -Self -: -: -GeometryPointSize -) -" -ImageGatherExtended -" +50u32 +DerivativeControl = -> -Ok -( -Self -: -: -ImageGatherExtended -) -" -StorageImageMultisample -" +51u32 +InterpolationFunction = -> -Ok -( -Self -: -: -StorageImageMultisample -) -" -UniformBufferArrayDynamicIndexing -" +52u32 +TransformFeedback = -> -Ok -( -Self -: -: -UniformBufferArrayDynamicIndexing -) -" -SampledImageArrayDynamicIndexing -" +53u32 +GeometryStreams = -> -Ok -( -Self -: -: -SampledImageArrayDynamicIndexing -) -" -StorageBufferArrayDynamicIndexing -" +54u32 +StorageImageReadWithoutFormat = -> -Ok -( -Self -: -: -StorageBufferArrayDynamicIndexing -) -" -StorageImageArrayDynamicIndexing -" +55u32 +StorageImageWriteWithoutFormat = -> -Ok -( -Self -: -: -StorageImageArrayDynamicIndexing -) -" -ClipDistance -" +56u32 +MultiViewport = -> -Ok -( -Self -: -: -ClipDistance -) -" -CullDistance -" +57u32 +SubgroupDispatch = -> -Ok -( -Self -: -: -CullDistance -) -" -ImageCubeArray -" +58u32 +NamedBarrier = -> -Ok -( -Self -: -: -ImageCubeArray -) -" -SampleRateShading -" +59u32 +PipeStorage = -> -Ok -( -Self -: -: -SampleRateShading -) -" -ImageRect -" +60u32 +GroupNonUniform = -> -Ok -( -Self -: -: -ImageRect -) -" -SampledRect -" +61u32 +GroupNonUniformVote = -> -Ok -( -Self -: -: -SampledRect -) -" -GenericPointer -" +62u32 +GroupNonUniformArithmetic = -> -Ok -( -Self -: -: -GenericPointer -) -" -Int8 -" +63u32 +GroupNonUniformBallot = -> -Ok -( -Self -: -: -Int8 -) -" -InputAttachment -" +64u32 +GroupNonUniformShuffle = -> -Ok -( -Self -: -: -InputAttachment -) -" -SparseResidency -" +65u32 +GroupNonUniformShuffleRelative = -> -Ok -( -Self -: -: -SparseResidency -) -" -MinLod -" +66u32 +GroupNonUniformClustered = -> -Ok -( -Self -: -: -MinLod -) -" -Sampled1D -" +67u32 +GroupNonUniformQuad = -> -Ok -( -Self -: -: -Sampled1D -) -" -Image1D -" +68u32 +ShaderLayer = -> -Ok -( -Self -: -: -Image1D -) -" -SampledCubeArray -" +69u32 +ShaderViewportIndex = -> -Ok -( -Self -: -: -SampledCubeArray -) -" -SampledBuffer -" +70u32 +UniformDecoration = -> -Ok -( -Self -: -: -SampledBuffer -) -" -ImageBuffer -" +71u32 +CoreBuiltinsARM = -> -Ok -( -Self -: -: -ImageBuffer -) -" -ImageMSArray -" +4165u32 +TileImageColorReadAccessEXT = -> -Ok -( -Self -: -: -ImageMSArray -) -" -StorageImageExtendedFormats -" +4166u32 +TileImageDepthReadAccessEXT = -> -Ok -( -Self -: -: -StorageImageExtendedFormats -) -" -ImageQuery -" +4167u32 +TileImageStencilReadAccessEXT = -> -Ok -( -Self -: -: -ImageQuery -) -" -DerivativeControl -" +4168u32 +FragmentShadingRateKHR = -> -Ok -( -Self -: -: -DerivativeControl -) -" -InterpolationFunction -" +4422u32 +SubgroupBallotKHR = -> -Ok -( -Self -: -: -InterpolationFunction -) -" -TransformFeedback -" +4423u32 +DrawParameters = -> -Ok -( -Self -: -: -TransformFeedback -) -" -GeometryStreams -" +4427u32 +WorkgroupMemoryExplicitLayoutKHR = -> -Ok -( -Self -: -: -GeometryStreams -) -" -StorageImageReadWithoutFormat -" +4428u32 +WorkgroupMemoryExplicitLayout8BitAccessKHR = -> -Ok -( -Self -: -: -StorageImageReadWithoutFormat -) -" -StorageImageWriteWithoutFormat -" +4429u32 +WorkgroupMemoryExplicitLayout16BitAccessKHR = -> -Ok -( -Self -: -: -StorageImageWriteWithoutFormat -) -" -MultiViewport -" +4430u32 +SubgroupVoteKHR = -> -Ok -( -Self -: -: -MultiViewport -) -" -SubgroupDispatch -" +4431u32 +StorageBuffer16BitAccess = -> -Ok -( -Self -: -: -SubgroupDispatch -) -" -NamedBarrier -" +4433u32 +UniformAndStorageBuffer16BitAccess = -> -Ok -( -Self -: -: -NamedBarrier -) -" -PipeStorage -" +4434u32 +StoragePushConstant16 = -> -Ok -( -Self -: -: -PipeStorage -) -" -GroupNonUniform -" +4435u32 +StorageInputOutput16 = -> -Ok -( -Self -: -: -GroupNonUniform -) -" -GroupNonUniformVote -" +4436u32 +DeviceGroup = -> -Ok -( -Self -: -: -GroupNonUniformVote -) -" -GroupNonUniformArithmetic -" +4437u32 +MultiView = -> -Ok -( -Self -: -: -GroupNonUniformArithmetic -) -" -GroupNonUniformBallot -" +4439u32 +VariablePointersStorageBuffer = -> -Ok -( -Self -: -: -GroupNonUniformBallot -) -" -GroupNonUniformShuffle -" +4441u32 +VariablePointers = -> -Ok -( -Self -: -: -GroupNonUniformShuffle -) -" -GroupNonUniformShuffleRelative -" +4442u32 +AtomicStorageOps = -> -Ok -( -Self -: -: -GroupNonUniformShuffleRelative -) -" -GroupNonUniformClustered -" +4445u32 +SampleMaskPostDepthCoverage = -> -Ok -( -Self -: -: -GroupNonUniformClustered -) -" -GroupNonUniformQuad -" +4447u32 +StorageBuffer8BitAccess = -> -Ok -( -Self -: -: -GroupNonUniformQuad -) -" -ShaderLayer -" +4448u32 +UniformAndStorageBuffer8BitAccess = -> -Ok -( -Self -: -: -ShaderLayer -) -" -ShaderViewportIndex -" +4449u32 +StoragePushConstant8 = -> -Ok -( -Self -: -: -ShaderViewportIndex -) -" -FragmentShadingRateKHR -" +4450u32 +DenormPreserve = -> -Ok -( -Self -: -: -FragmentShadingRateKHR -) -" -SubgroupBallotKHR -" +4464u32 +DenormFlushToZero = -> -Ok -( -Self -: -: -SubgroupBallotKHR -) -" -DrawParameters -" +4465u32 +SignedZeroInfNanPreserve = -> -Ok -( -Self -: -: -DrawParameters -) -" -SubgroupVoteKHR -" +4466u32 +RoundingModeRTE = -> -Ok -( -Self -: -: -SubgroupVoteKHR -) -" -StorageBuffer16BitAccess -" +4467u32 +RoundingModeRTZ = -> -Ok -( -Self -: -: -StorageBuffer16BitAccess -) -" -StorageUniformBufferBlock16 -" +4468u32 +RayQueryProvisionalKHR = -> -Ok -( -Self -: -: -StorageBuffer16BitAccess -) -" -UniformAndStorageBuffer16BitAccess -" +4471u32 +RayQueryKHR = -> -Ok -( -Self -: -: -UniformAndStorageBuffer16BitAccess -) -" -StorageUniform16 -" +4472u32 +RayTraversalPrimitiveCullingKHR = -> -Ok -( -Self -: -: -UniformAndStorageBuffer16BitAccess -) -" -StoragePushConstant16 -" +4478u32 +RayTracingKHR = -> -Ok -( -Self -: -: -StoragePushConstant16 -) -" -StorageInputOutput16 -" +4479u32 +TextureSampleWeightedQCOM = -> -Ok -( -Self -: -: -StorageInputOutput16 -) -" -DeviceGroup -" +4484u32 +TextureBoxFilterQCOM = -> -Ok -( -Self -: -: -DeviceGroup -) -" -MultiView -" +4485u32 +TextureBlockMatchQCOM = -> -Ok -( -Self -: -: -MultiView -) -" -VariablePointersStorageBuffer -" +4486u32 +Float16ImageAMD = -> -Ok -( -Self -: -: -VariablePointersStorageBuffer -) -" -VariablePointers -" +5008u32 +ImageGatherBiasLodAMD = -> -Ok -( -Self -: -: -VariablePointers -) -" -AtomicStorageOps -" +5009u32 +FragmentMaskAMD = -> -Ok -( -Self -: -: -AtomicStorageOps -) -" -SampleMaskPostDepthCoverage -" +5010u32 +StencilExportEXT = -> -Ok -( -Self -: -: -SampleMaskPostDepthCoverage -) -" -StorageBuffer8BitAccess -" +5013u32 +ImageReadWriteLodAMD = -> -Ok -( -Self -: -: -StorageBuffer8BitAccess -) -" -UniformAndStorageBuffer8BitAccess -" +5015u32 +Int64ImageEXT = -> -Ok -( -Self -: -: -UniformAndStorageBuffer8BitAccess -) -" -StoragePushConstant8 -" +5016u32 +ShaderClockKHR = -> -Ok -( -Self -: -: -StoragePushConstant8 -) -" -DenormPreserve -" +5055u32 +ShaderEnqueueAMDX = -> -Ok -( -Self -: -: -DenormPreserve -) -" -DenormFlushToZero -" +5067u32 +SampleMaskOverrideCoverageNV = -> -Ok -( -Self -: -: -DenormFlushToZero -) -" -SignedZeroInfNanPreserve -" +5249u32 +GeometryShaderPassthroughNV = -> -Ok -( -Self -: -: -SignedZeroInfNanPreserve -) -" -RoundingModeRTE -" +5251u32 +ShaderViewportIndexLayerEXT = -> -Ok -( -Self -: -: -RoundingModeRTE -) -" -RoundingModeRTZ -" +5254u32 +ShaderViewportMaskNV = -> -Ok -( -Self -: -: -RoundingModeRTZ -) -" -RayQueryProvisionalKHR -" +5255u32 +ShaderStereoViewNV = -> -Ok -( -Self -: -: -RayQueryProvisionalKHR -) -" -RayQueryKHR -" +5259u32 +PerViewAttributesNV = -> -Ok -( -Self -: -: -RayQueryKHR -) -" -RayTraversalPrimitiveCullingKHR -" +5260u32 +FragmentFullyCoveredEXT = -> -Ok -( -Self -: -: -RayTraversalPrimitiveCullingKHR -) -" -RayTracingKHR -" +5265u32 +MeshShadingNV = -> -Ok -( -Self -: -: -RayTracingKHR -) -" -Float16ImageAMD -" +5266u32 +ImageFootprintNV = -> -Ok -( -Self -: -: -Float16ImageAMD -) -" -ImageGatherBiasLodAMD -" +5282u32 +MeshShadingEXT = -> -Ok -( -Self -: -: -ImageGatherBiasLodAMD -) -" -FragmentMaskAMD -" +5283u32 +FragmentBarycentricKHR = -> -Ok -( -Self -: -: -FragmentMaskAMD -) -" -StencilExportEXT -" +5284u32 +ComputeDerivativeGroupQuadsNV = -> -Ok -( -Self -: -: -StencilExportEXT -) -" -ImageReadWriteLodAMD -" +5288u32 +FragmentDensityEXT = -> -Ok -( -Self -: -: -ImageReadWriteLodAMD -) -" -Int64ImageEXT -" +5291u32 +GroupNonUniformPartitionedNV = -> -Ok -( -Self -: -: -Int64ImageEXT -) -" -ShaderClockKHR -" +5297u32 +ShaderNonUniform = -> -Ok -( -Self -: -: -ShaderClockKHR -) -" -SampleMaskOverrideCoverageNV -" +5301u32 +RuntimeDescriptorArray = -> -Ok -( -Self -: -: -SampleMaskOverrideCoverageNV -) -" -GeometryShaderPassthroughNV -" +5302u32 +InputAttachmentArrayDynamicIndexing = -> -Ok -( -Self -: -: -GeometryShaderPassthroughNV -) -" -ShaderViewportIndexLayerEXT -" +5303u32 +UniformTexelBufferArrayDynamicIndexing = -> -Ok -( -Self -: -: -ShaderViewportIndexLayerEXT -) -" -ShaderViewportIndexLayerNV -" +5304u32 +StorageTexelBufferArrayDynamicIndexing = -> -Ok -( -Self -: -: -ShaderViewportIndexLayerEXT -) -" -ShaderViewportMaskNV -" +5305u32 +UniformBufferArrayNonUniformIndexing = -> -Ok -( -Self -: -: -ShaderViewportMaskNV -) -" -ShaderStereoViewNV -" +5306u32 +SampledImageArrayNonUniformIndexing = -> -Ok -( -Self -: -: -ShaderStereoViewNV -) -" -PerViewAttributesNV -" +5307u32 +StorageBufferArrayNonUniformIndexing = -> -Ok -( -Self -: -: -PerViewAttributesNV -) -" -FragmentFullyCoveredEXT -" +5308u32 +StorageImageArrayNonUniformIndexing = -> -Ok -( -Self -: -: -FragmentFullyCoveredEXT -) -" -MeshShadingNV -" +5309u32 +InputAttachmentArrayNonUniformIndexing = -> -Ok -( -Self -: -: -MeshShadingNV -) -" -ImageFootprintNV -" +5310u32 +UniformTexelBufferArrayNonUniformIndexing = -> -Ok -( -Self -: -: -ImageFootprintNV -) -" -FragmentBarycentricNV -" +5311u32 +StorageTexelBufferArrayNonUniformIndexing = -> -Ok -( -Self -: -: -FragmentBarycentricNV -) -" -ComputeDerivativeGroupQuadsNV -" +5312u32 +RayTracingPositionFetchKHR = -> -Ok -( -Self -: -: -ComputeDerivativeGroupQuadsNV -) -" -FragmentDensityEXT -" +5336u32 +RayTracingNV = -> -Ok -( -Self -: -: -FragmentDensityEXT -) -" -ShadingRateNV -" +5340u32 +RayTracingMotionBlurNV = -> -Ok -( -Self -: -: -FragmentDensityEXT -) -" -GroupNonUniformPartitionedNV -" +5341u32 +VulkanMemoryModel = -> -Ok -( -Self -: -: -GroupNonUniformPartitionedNV -) -" -ShaderNonUniform -" +5345u32 +VulkanMemoryModelDeviceScope = -> -Ok -( -Self -: -: -ShaderNonUniform -) -" -ShaderNonUniformEXT -" +5346u32 +PhysicalStorageBufferAddresses = -> -Ok -( -Self -: -: -ShaderNonUniform -) -" -RuntimeDescriptorArray -" +5347u32 +ComputeDerivativeGroupLinearNV = -> -Ok -( -Self -: -: -RuntimeDescriptorArray -) -" -RuntimeDescriptorArrayEXT -" +5350u32 +RayTracingProvisionalKHR = -> -Ok -( -Self -: -: -RuntimeDescriptorArray -) -" -InputAttachmentArrayDynamicIndexing -" +5353u32 +CooperativeMatrixNV = -> -Ok -( -Self -: -: -InputAttachmentArrayDynamicIndexing -) -" -InputAttachmentArrayDynamicIndexingEXT -" +5357u32 +FragmentShaderSampleInterlockEXT = -> -{ -Ok -( -Self -: -: -InputAttachmentArrayDynamicIndexing -) -} -" -UniformTexelBufferArrayDynamicIndexing -" +5363u32 +FragmentShaderShadingRateInterlockEXT = -> -{ -Ok -( -Self -: -: -UniformTexelBufferArrayDynamicIndexing -) -} -" -UniformTexelBufferArrayDynamicIndexingEXT -" +5372u32 +ShaderSMBuiltinsNV = -> -{ -Ok -( -Self -: -: -UniformTexelBufferArrayDynamicIndexing -) -} -" -StorageTexelBufferArrayDynamicIndexing -" +5373u32 +FragmentShaderPixelInterlockEXT = -> -{ -Ok -( -Self -: -: -StorageTexelBufferArrayDynamicIndexing -) -} -" -StorageTexelBufferArrayDynamicIndexingEXT -" +5378u32 +DemoteToHelperInvocation = -> -{ -Ok -( -Self -: -: -StorageTexelBufferArrayDynamicIndexing -) -} -" -UniformBufferArrayNonUniformIndexing -" +5379u32 +DisplacementMicromapNV = -> +5380u32 +RayTracingOpacityMicromapEXT += +5381u32 +ShaderInvocationReorderNV += +5383u32 +BindlessTextureNV += +5390u32 +RayQueryPositionFetchKHR += +5391u32 +RayTracingDisplacementMicromapNV += +5409u32 +SubgroupShuffleINTEL += +5568u32 +SubgroupBufferBlockIOINTEL += +5569u32 +SubgroupImageBlockIOINTEL += +5570u32 +SubgroupImageMediaBlockIOINTEL += +5579u32 +RoundToInfinityINTEL += +5582u32 +FloatingPointModeINTEL += +5583u32 +IntegerFunctions2INTEL += +5584u32 +FunctionPointersINTEL += +5603u32 +IndirectReferencesINTEL += +5604u32 +AsmINTEL += +5606u32 +AtomicFloat32MinMaxEXT += +5612u32 +AtomicFloat64MinMaxEXT += +5613u32 +AtomicFloat16MinMaxEXT += +5616u32 +VectorComputeINTEL += +5617u32 +VectorAnyINTEL += +5619u32 +ExpectAssumeKHR += +5629u32 +SubgroupAvcMotionEstimationINTEL += +5696u32 +SubgroupAvcMotionEstimationIntraINTEL += +5697u32 +SubgroupAvcMotionEstimationChromaINTEL += +5698u32 +VariableLengthArrayINTEL += +5817u32 +FunctionFloatControlINTEL += +5821u32 +FPGAMemoryAttributesINTEL += +5824u32 +FPFastMathModeINTEL += +5837u32 +ArbitraryPrecisionIntegersINTEL += +5844u32 +ArbitraryPrecisionFloatingPointINTEL += +5845u32 +UnstructuredLoopControlsINTEL += +5886u32 +FPGALoopControlsINTEL += +5888u32 +KernelAttributesINTEL += +5892u32 +FPGAKernelAttributesINTEL += +5897u32 +FPGAMemoryAccessesINTEL += +5898u32 +FPGAClusterAttributesINTEL += +5904u32 +LoopFuseINTEL += +5906u32 +FPGADSPControlINTEL += +5908u32 +MemoryAccessAliasingINTEL += +5910u32 +FPGAInvocationPipeliningAttributesINTEL += +5916u32 +FPGABufferLocationINTEL += +5920u32 +ArbitraryPrecisionFixedPointINTEL += +5922u32 +USMStorageClassesINTEL += +5935u32 +RuntimeAlignedAttributeINTEL += +5939u32 +IOPipesINTEL += +5943u32 +BlockingPipesINTEL += +5945u32 +FPGARegINTEL += +5948u32 +DotProductInputAll += +6016u32 +DotProductInput4x8Bit += +6017u32 +DotProductInput4x8BitPacked += +6018u32 +DotProduct += +6019u32 +RayCullMaskKHR += +6020u32 +CooperativeMatrixKHR += +6022u32 +BitInstructions += +6025u32 +GroupNonUniformRotateKHR += +6026u32 +AtomicFloat32AddEXT += +6033u32 +AtomicFloat64AddEXT += +6034u32 +LongConstantCompositeINTEL += +6089u32 +OptNoneINTEL += +6094u32 +AtomicFloat16AddEXT += +6095u32 +DebugInfoModuleINTEL += +6114u32 +BFloat16ConversionINTEL += +6115u32 +SplitBarrierINTEL += +6141u32 +GlobalVariableFPGADecorationsINTEL += +6146u32 +FPGAKernelAttributesv2INTEL += +6161u32 +GlobalVariableHostAccessINTEL += +6167u32 +FPMaxErrorINTEL += +6169u32 +FPGALatencyControlINTEL += +6171u32 +FPGAArgumentInterfacesINTEL += +6174u32 +GroupUniformArithmeticKHR += +6400u32 +CacheControlsINTEL += +6441u32 +} +impl +Capability { -Ok +pub +fn +from_u32 ( -Self -: +n : -UniformBufferArrayNonUniformIndexing +u32 ) -} -" -UniformBufferArrayNonUniformIndexingEXT -" -= +- +> +Option +< +Self > { -Ok +Some ( -Self +match +n +{ +0u32 +. +. += +15u32 += +> +unsafe +{ +core : : -UniformBufferArrayNonUniformIndexing +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) } -" -SampledImageArrayNonUniformIndexing -" +17u32 +. +. += +25u32 = > -Ok -( -Self +unsafe +{ +core : : -SampledImageArrayNonUniformIndexing +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) -" -SampledImageArrayNonUniformIndexingEXT -" +} +27u32 +. +. += +71u32 = > +unsafe { -Ok -( -Self +core : : -SampledImageArrayNonUniformIndexing +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) } -" -StorageBufferArrayNonUniformIndexing -" +4165u32 +. +. += +4168u32 = > +unsafe { -Ok -( -Self +core : : -StorageBufferArrayNonUniformIndexing +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) } -" -StorageBufferArrayNonUniformIndexingEXT -" +4422u32 +. +. += +4423u32 = > +unsafe { -Ok -( -Self +core : : -StorageBufferArrayNonUniformIndexing -) -} -" -StorageImageArrayNonUniformIndexing -" -= -> -Ok -( -Self +mem : : -StorageImageArrayNonUniformIndexing +transmute +: +: +< +u32 +Capability +> +( +n ) -" -StorageImageArrayNonUniformIndexingEXT -" +} +4427u32 +. +. += +4431u32 = > +unsafe { -Ok -( -Self +core : : -StorageImageArrayNonUniformIndexing +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) } -" -InputAttachmentArrayNonUniformIndexing -" +4433u32 +. +. += +4437u32 = > +unsafe { -Ok -( -Self +core : : -InputAttachmentArrayNonUniformIndexing +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) } -" -InputAttachmentArrayNonUniformIndexingEXT -" +4439u32 = > +unsafe { -Ok -( -Self +core : : -InputAttachmentArrayNonUniformIndexing +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +4439u32 ) } -" -UniformTexelBufferArrayNonUniformIndexing -" +4441u32 +. +. += +4442u32 = > +unsafe { -Ok -( -Self +core : : -UniformTexelBufferArrayNonUniformIndexing +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) } -" -UniformTexelBufferArrayNonUniformIndexingEXT -" +4445u32 = > +unsafe { -Ok -( -Self +core : : -UniformTexelBufferArrayNonUniformIndexing +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +4445u32 ) } -" -StorageTexelBufferArrayNonUniformIndexing -" +4447u32 +. +. += +4450u32 = > +unsafe { -Ok -( -Self +core : : -StorageTexelBufferArrayNonUniformIndexing +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) } -" -StorageTexelBufferArrayNonUniformIndexingEXT -" +4464u32 +. +. += +4468u32 = > +unsafe { -Ok -( -Self +core : : -StorageTexelBufferArrayNonUniformIndexing +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) } -" -RayTracingNV -" +4471u32 +. +. += +4472u32 = > -Ok -( -Self +unsafe +{ +core : : -RayTracingNV -) -" -VulkanMemoryModel -" -= -> -Ok -( -Self +mem : : -VulkanMemoryModel -) -" -VulkanMemoryModelKHR -" -= -> -Ok -( -Self +transmute : : -VulkanMemoryModel -) -" -VulkanMemoryModelDeviceScope -" -= +< +u32 +Capability > -Ok ( -Self -: -: -VulkanMemoryModelDeviceScope +n ) -" -VulkanMemoryModelDeviceScopeKHR -" +} +4478u32 +. +. += +4479u32 = > -Ok -( -Self +unsafe +{ +core : : -VulkanMemoryModelDeviceScope -) -" -PhysicalStorageBufferAddresses -" -= -> -Ok -( -Self +mem : : -PhysicalStorageBufferAddresses -) -" -PhysicalStorageBufferAddressesEXT -" -= -> -Ok -( -Self +transmute : : -PhysicalStorageBufferAddresses -) -" -ComputeDerivativeGroupLinearNV -" -= +< +u32 +Capability > -Ok ( -Self -: -: -ComputeDerivativeGroupLinearNV +n ) -" -RayTracingProvisionalKHR -" +} +4484u32 +. +. += +4486u32 = > -Ok -( -Self +unsafe +{ +core : : -RayTracingProvisionalKHR -) -" -CooperativeMatrixNV -" -= -> -Ok -( -Self +mem : : -CooperativeMatrixNV -) -" -FragmentShaderSampleInterlockEXT -" -= -> -Ok -( -Self +transmute : : -FragmentShaderSampleInterlockEXT +< +u32 +Capability +> +( +n ) -" -FragmentShaderShadingRateInterlockEXT -" +} +5008u32 +. +. += +5010u32 = > +unsafe { -Ok -( -Self +core : : -FragmentShaderShadingRateInterlockEXT +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) } -" -ShaderSMBuiltinsNV -" +5013u32 = > -Ok -( -Self +unsafe +{ +core : : -ShaderSMBuiltinsNV -) -" -FragmentShaderPixelInterlockEXT -" -= -> -Ok -( -Self +mem : : -FragmentShaderPixelInterlockEXT -) -" -DemoteToHelperInvocationEXT -" -= -> -Ok -( -Self +transmute : : -DemoteToHelperInvocationEXT -) -" -SubgroupShuffleINTEL -" -= +< +u32 +Capability > -Ok ( -Self -: -: -SubgroupShuffleINTEL +5013u32 ) -" -SubgroupBufferBlockIOINTEL -" +} +5015u32 +. +. += +5016u32 = > -Ok -( -Self +unsafe +{ +core : : -SubgroupBufferBlockIOINTEL -) -" -SubgroupImageBlockIOINTEL -" -= -> -Ok -( -Self +mem : : -SubgroupImageBlockIOINTEL -) -" -SubgroupImageMediaBlockIOINTEL -" -= -> -Ok -( -Self +transmute : : -SubgroupImageMediaBlockIOINTEL -) -" -IntegerFunctions2INTEL -" -= +< +u32 +Capability > -Ok ( -Self -: -: -IntegerFunctions2INTEL +n ) -" -FunctionPointersINTEL -" +} +5055u32 = > -Ok -( -Self +unsafe +{ +core : : -FunctionPointersINTEL -) -" -IndirectReferencesINTEL -" -= -> -Ok -( -Self +mem : : -IndirectReferencesINTEL -) -" -SubgroupAvcMotionEstimationINTEL -" -= -> -Ok -( -Self +transmute : : -SubgroupAvcMotionEstimationINTEL +< +u32 +Capability +> +( +5055u32 ) -" -SubgroupAvcMotionEstimationIntraINTEL -" +} +5067u32 = > +unsafe { -Ok -( -Self +core : : -SubgroupAvcMotionEstimationIntraINTEL +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5067u32 ) } -" -SubgroupAvcMotionEstimationChromaINTEL -" +5249u32 = > +unsafe { -Ok -( -Self +core : : -SubgroupAvcMotionEstimationChromaINTEL +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5249u32 ) } -" -FPGAMemoryAttributesINTEL -" +5251u32 = > -Ok -( -Self +unsafe +{ +core : : -FPGAMemoryAttributesINTEL -) -" -UnstructuredLoopControlsINTEL -" -= -> -Ok -( -Self +mem : : -UnstructuredLoopControlsINTEL +transmute +: +: +< +u32 +Capability +> +( +5251u32 ) -" -FPGALoopControlsINTEL -" +} +5254u32 +. +. += +5255u32 = > -Ok -( -Self +unsafe +{ +core : : -FPGALoopControlsINTEL +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) -" -KernelAttributesINTEL -" +} +5259u32 +. +. += +5260u32 = > -Ok -( -Self +unsafe +{ +core : : -KernelAttributesINTEL +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) -" -FPGAKernelAttributesINTEL -" +} +5265u32 +. +. += +5266u32 = > -Ok -( -Self +unsafe +{ +core : : -FPGAKernelAttributesINTEL +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) -" -BlockingPipesINTEL -" +} +5282u32 +. +. += +5284u32 = > -Ok -( -Self +unsafe +{ +core : : -BlockingPipesINTEL +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) -" -FPGARegINTEL -" +} +5288u32 = > -Ok -( -Self +unsafe +{ +core : : -FPGARegINTEL +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5288u32 ) -" -AtomicFloat32AddEXT -" +} +5291u32 = > -Ok -( -Self +unsafe +{ +core : : -AtomicFloat32AddEXT +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5291u32 ) -" -AtomicFloat64AddEXT -" +} +5297u32 = > -Ok -( -Self +unsafe +{ +core : : -AtomicFloat64AddEXT +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5297u32 ) -_ +} +5301u32 +. +. += +5312u32 = > -Err -( +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> ( +n ) -) -} } -} -# -[ -doc +5336u32 = -" -/ -/ -/ -SPIR -- -V -operand -kind +> +unsafe +{ +core : -[ -RayQueryIntersection -] -( -https : -/ -/ -www +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5336u32 +) +} +5340u32 . -khronos . -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -SPIRV -. -html -# -_a_id_ray_query_intersection_a_ray_query_intersection -) -" -] -# -[ -repr -( -u32 -) -] -# -[ -derive -( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash -) -] -# -[ -cfg_attr -( -feature = -" -serialize -" -derive -( -serde +5341u32 += +> +unsafe +{ +core : : -Serialize -) -) -] -# -[ -cfg_attr -( -feature -= -" -deserialize -" -derive -( -serde +mem : : -Deserialize -) -) -] -# -[ -allow -( -clippy +transmute : : -upper_case_acronyms +< +u32 +Capability +> +( +n ) -] -pub -enum -RayQueryIntersection -{ -RayQueryCandidateIntersectionKHR +} +5345u32 +. +. = -0u32 -RayQueryCommittedIntersectionKHR +5347u32 = -1u32 -} -# -[ -allow -( -non_upper_case_globals -) -] -impl -RayQueryIntersection +> +unsafe { -} -impl -num_traits +core : : -FromPrimitive -for -RayQueryIntersection -{ -# -[ -allow -( -trivial_numeric_casts -) -] -fn -from_i64 -( -n +mem +: +: +transmute +: : -i64 -) -- -> -Option < -Self +u32 +Capability > -{ -Some ( -match n -as -u32 -{ -0u32 +) +} +5350u32 = > -Self +unsafe +{ +core : : -RayQueryCandidateIntersectionKHR -1u32 -= -> -Self +mem : : -RayQueryCommittedIntersectionKHR -_ -= +transmute +: +: +< +u32 +Capability > -return -None -} -) -} -fn -from_u64 ( -n -: -u64 +5350u32 ) -- -> -Option -< -Self +} +5353u32 += > +unsafe { -Self +core +: +: +mem : : -from_i64 +transmute +: +: +< +u32 +Capability +> ( -n -as -i64 +5353u32 ) } -} -impl +5357u32 += +> +unsafe +{ core : : -str -: +mem : -FromStr -for -RayQueryIntersection -{ -type -Err -= -( -) -; -fn -from_str -( -s : -& -str -) -- -> -Result -< -Self -Self +transmute : : -Err -> -{ -match -s -{ -" -RayQueryCandidateIntersectionKHR -" -= +< +u32 +Capability > -Ok ( -Self -: -: -RayQueryCandidateIntersectionKHR +5357u32 ) -" -RayQueryCommittedIntersectionKHR -" +} +5363u32 = > -Ok -( -Self +unsafe +{ +core : : -RayQueryCommittedIntersectionKHR -) -_ -= +mem +: +: +transmute +: +: +< +u32 +Capability > -Err ( -( -) +5363u32 ) } -} -} -# -[ -doc -= -" -/ -/ -/ -SPIR -- -V -operand -kind -: -[ -RayQueryCommittedIntersectionType -] -( -https -: -/ -/ -www -. -khronos +5372u32 . -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -SPIRV . -html -# -_a_id_ray_query_committed_intersection_type_a_ray_query_committed_intersection_type -) -" -] -# -[ -repr -( -u32 -) -] -# -[ -derive -( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash -) -] -# -[ -cfg_attr -( -feature = -" -serialize -" -derive -( -serde +5373u32 += +> +unsafe +{ +core : : -Serialize -) -) -] -# -[ -cfg_attr -( -feature -= -" -deserialize -" -derive -( -serde +mem : : -Deserialize -) -) -] -# -[ -allow -( -clippy +transmute : : -upper_case_acronyms +< +u32 +Capability +> +( +n ) -] -pub -enum -RayQueryCommittedIntersectionType -{ -RayQueryCommittedIntersectionNoneKHR -= -0u32 -RayQueryCommittedIntersectionTriangleKHR +} +5378u32 +. +. = -1u32 -RayQueryCommittedIntersectionGeneratedKHR +5381u32 = -2u32 -} -# -[ -allow -( -non_upper_case_globals -) -] -impl -RayQueryCommittedIntersectionType +> +unsafe { -} -impl -num_traits +core : : -FromPrimitive -for -RayQueryCommittedIntersectionType -{ -# -[ -allow -( -trivial_numeric_casts -) -] -fn -from_i64 -( -n +mem +: +: +transmute +: : -i64 -) -- -> -Option < -Self +u32 +Capability > -{ -Some ( -match n -as -u32 -{ -0u32 +) +} +5383u32 = > -Self +unsafe +{ +core : : -RayQueryCommittedIntersectionNoneKHR -1u32 -= -> -Self +mem : : -RayQueryCommittedIntersectionTriangleKHR -2u32 -= -> -Self +transmute : : -RayQueryCommittedIntersectionGeneratedKHR -_ -= +< +u32 +Capability > -return -None -} -) -} -fn -from_u64 ( -n -: -u64 +5383u32 ) -- -> -Option -< -Self +} +5390u32 +. +. += +5391u32 += > +unsafe { -Self +core +: : +mem : -from_i64 +: +transmute +: +: +< +u32 +Capability +> ( n -as -i64 ) } -} -impl +5409u32 += +> +unsafe +{ core : : -str -: +mem : -FromStr -for -RayQueryCommittedIntersectionType -{ -type -Err -= -( -) -; -fn -from_str -( -s : -& -str -) -- -> -Result -< -Self -Self +transmute : : -Err -> -{ -match -s -{ -" -RayQueryCommittedIntersectionNoneKHR -" -= +< +u32 +Capability > -{ -Ok ( -Self -: -: -RayQueryCommittedIntersectionNoneKHR +5409u32 ) } -" -RayQueryCommittedIntersectionTriangleKHR -" +5568u32 +. +. += +5570u32 = > +unsafe { -Ok -( -Self +core : : -RayQueryCommittedIntersectionTriangleKHR +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) } -" -RayQueryCommittedIntersectionGeneratedKHR -" +5579u32 = > +unsafe { -Ok -( -Self +core : : -RayQueryCommittedIntersectionGeneratedKHR -) -} -_ -= +mem +: +: +transmute +: +: +< +u32 +Capability > -Err ( -( -) +5579u32 ) } -} -} -# -[ -doc -= -" -/ -/ -/ -SPIR -- -V -operand -kind -: -[ -RayQueryCandidateIntersectionType -] -( -https -: -/ -/ -www +5582u32 . -khronos -. -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -SPIRV . -html -# -_a_id_ray_query_candidate_intersection_type_a_ray_query_candidate_intersection_type -) -" -] -# -[ -repr -( -u32 -) -] -# -[ -derive -( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash -) -] -# -[ -cfg_attr -( -feature = -" -serialize -" -derive -( -serde +5584u32 += +> +unsafe +{ +core : : -Serialize -) -) -] -# -[ -cfg_attr -( -feature -= -" -deserialize -" -derive -( -serde +mem : : -Deserialize -) -) -] -# -[ -allow -( -clippy +transmute : : -upper_case_acronyms +< +u32 +Capability +> +( +n ) -] -pub -enum -RayQueryCandidateIntersectionType -{ -RayQueryCandidateIntersectionTriangleKHR +} +5603u32 +. +. = -0u32 -RayQueryCandidateIntersectionAABBKHR +5604u32 = -1u32 -} -# -[ -allow -( -non_upper_case_globals -) -] -impl -RayQueryCandidateIntersectionType +> +unsafe { -} -impl -num_traits +core : : -FromPrimitive -for -RayQueryCandidateIntersectionType -{ -# -[ -allow -( -trivial_numeric_casts -) -] -fn -from_i64 -( -n +mem +: +: +transmute +: : -i64 -) -- -> -Option < -Self +u32 +Capability > -{ -Some ( -match n -as -u32 -{ -0u32 +) +} +5606u32 = > -Self +unsafe +{ +core : : -RayQueryCandidateIntersectionTriangleKHR -1u32 -= -> -Self +mem : : -RayQueryCandidateIntersectionAABBKHR -_ -= +transmute +: +: +< +u32 +Capability > -return -None -} +( +5606u32 ) } -fn -from_u64 -( -n -: -u64 -) -- -> -Option -< -Self +5612u32 +. +. += +5613u32 += > +unsafe { -Self +core : : -from_i64 +mem +: +: +transmute +: +: +< +u32 +Capability +> ( n -as -i64 ) } -} -impl +5616u32 +. +. += +5617u32 += +> +unsafe +{ core : : -str +mem : : -FromStr -for -RayQueryCandidateIntersectionType -{ -type -Err -= -( -) -; -fn -from_str -( -s +transmute : -& -str +: +< +u32 +Capability +> +( +n ) -- +} +5619u32 += > -Result -< -Self -Self +unsafe +{ +core : : -Err +mem +: +: +transmute +: +: +< +u32 +Capability > -{ -match -s -{ -" -RayQueryCandidateIntersectionTriangleKHR -" +( +5619u32 +) +} +5629u32 = > +unsafe { -Ok -( -Self +core : : -RayQueryCandidateIntersectionTriangleKHR +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5629u32 ) } -" -RayQueryCandidateIntersectionAABBKHR -" +5696u32 +. +. += +5698u32 = > +unsafe { -Ok -( -Self +core : : -RayQueryCandidateIntersectionAABBKHR +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n ) } -_ +5817u32 = > -Err -( +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> ( -) +5817u32 ) } -} -} -# -[ -doc +5821u32 = -" -SPIR -- -V -[ -instructions -] -( -https +> +unsafe +{ +core : -/ -/ -www -. -khronos -. -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -SPIRV -. -html -# -_a_id_instructions_a_instructions -) -opcodes -" -] -# -[ -repr -( +: +mem +: +: +transmute +: +: +< u32 -) -] -# -[ -derive +Capability +> ( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash +5821u32 ) -] -# -[ -cfg_attr -( -feature +} +5824u32 = -" -serialize -" -derive -( -serde +> +unsafe +{ +core : : -Serialize -) -) -] -# -[ -cfg_attr -( -feature -= -" -deserialize -" -derive -( -serde +mem : : -Deserialize -) -) -] -# -[ -allow -( -clippy +transmute : : -upper_case_acronyms +< +u32 +Capability +> +( +5824u32 ) -] -pub -enum -Op -{ -Nop +} +5837u32 = -0u32 -Undef +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5837u32 +) +} +5844u32 +. +. = -1u32 -SourceContinued +5845u32 = -2u32 -Source +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n +) +} +5886u32 = -3u32 -SourceExtension +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5886u32 +) +} +5888u32 = -4u32 -Name +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5888u32 +) +} +5892u32 = -5u32 -MemberName +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5892u32 +) +} +5897u32 +. +. = -6u32 -String +5898u32 = -7u32 -Line +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n +) +} +5904u32 = -8u32 -Extension +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5904u32 +) +} +5906u32 = -10u32 -ExtInstImport +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5906u32 +) +} +5908u32 = -11u32 -ExtInst +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5908u32 +) +} +5910u32 = -12u32 -MemoryModel +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5910u32 +) +} +5916u32 = -14u32 -EntryPoint +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5916u32 +) +} +5920u32 = -15u32 -ExecutionMode +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5920u32 +) +} +5922u32 = -16u32 +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 Capability +> +( +5922u32 +) +} +5935u32 = -17u32 -TypeVoid -= -19u32 -TypeBool +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5935u32 +) +} +5939u32 = -20u32 -TypeInt +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5939u32 +) +} +5943u32 = -21u32 -TypeFloat +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5943u32 +) +} +5945u32 = -22u32 -TypeVector +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5945u32 +) +} +5948u32 = -23u32 -TypeMatrix +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +5948u32 +) +} +6016u32 +. +. = -24u32 -TypeImage +6020u32 = -25u32 -TypeSampler +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n +) +} +6022u32 = -26u32 -TypeSampledImage +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +6022u32 +) +} +6025u32 +. +. = -27u32 -TypeArray +6026u32 = -28u32 -TypeRuntimeArray +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n +) +} +6033u32 +. +. = -29u32 -TypeStruct +6034u32 = -30u32 -TypeOpaque +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n +) +} +6089u32 = -31u32 -TypePointer +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +6089u32 +) +} +6094u32 +. +. = -32u32 -TypeFunction +6095u32 = -33u32 -TypeEvent +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n +) +} +6114u32 +. +. = -34u32 -TypeDeviceEvent +6115u32 = -35u32 -TypeReserveId +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +n +) +} +6141u32 = -36u32 -TypeQueue +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +6141u32 +) +} +6146u32 = -37u32 -TypePipe +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +6146u32 +) +} +6161u32 = -38u32 -TypeForwardPointer +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +6161u32 +) +} +6167u32 = -39u32 -ConstantTrue +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +6167u32 +) +} +6169u32 = -41u32 -ConstantFalse +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +6169u32 +) +} +6171u32 = -42u32 -Constant +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +6171u32 +) +} +6174u32 = -43u32 -ConstantComposite +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +6174u32 +) +} +6400u32 = -44u32 -ConstantSampler +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +6400u32 +) +} +6441u32 = -45u32 -ConstantNull +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Capability +> +( +6441u32 +) +} +_ = -46u32 -SpecConstantTrue +> +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +Capability +{ +pub +const +StorageUniformBufferBlock16 +: +Self = -48u32 -SpecConstantFalse +Self +: +: +StorageBuffer16BitAccess +; +pub +const +StorageUniform16 +: +Self = -49u32 -SpecConstant +Self +: +: +UniformAndStorageBuffer16BitAccess +; +pub +const +ShaderViewportIndexLayerNV +: +Self = -50u32 -SpecConstantComposite +Self +: +: +ShaderViewportIndexLayerEXT +; +pub +const +FragmentBarycentricNV +: +Self = -51u32 -SpecConstantOp +Self +: +: +FragmentBarycentricKHR +; +pub +const +ShadingRateNV +: +Self = -52u32 -Function +Self +: +: +FragmentDensityEXT +; +pub +const +ShaderNonUniformEXT +: +Self = -54u32 -FunctionParameter +Self +: +: +ShaderNonUniform +; +pub +const +RuntimeDescriptorArrayEXT +: +Self = -55u32 -FunctionEnd -= -56u32 -FunctionCall -= -57u32 -Variable -= -59u32 -ImageTexelPointer -= -60u32 -Load -= -61u32 -Store -= -62u32 -CopyMemory -= -63u32 -CopyMemorySized -= -64u32 -AccessChain -= -65u32 -InBoundsAccessChain +Self +: +: +RuntimeDescriptorArray +; +pub +const +InputAttachmentArrayDynamicIndexingEXT +: +Self = -66u32 -PtrAccessChain +Self +: +: +InputAttachmentArrayDynamicIndexing +; +pub +const +UniformTexelBufferArrayDynamicIndexingEXT +: +Self = -67u32 -ArrayLength +Self +: +: +UniformTexelBufferArrayDynamicIndexing +; +pub +const +StorageTexelBufferArrayDynamicIndexingEXT +: +Self = -68u32 -GenericPtrMemSemantics +Self +: +: +StorageTexelBufferArrayDynamicIndexing +; +pub +const +UniformBufferArrayNonUniformIndexingEXT +: +Self = -69u32 -InBoundsPtrAccessChain +Self +: +: +UniformBufferArrayNonUniformIndexing +; +pub +const +SampledImageArrayNonUniformIndexingEXT +: +Self = -70u32 -Decorate +Self +: +: +SampledImageArrayNonUniformIndexing +; +pub +const +StorageBufferArrayNonUniformIndexingEXT +: +Self = -71u32 -MemberDecorate +Self +: +: +StorageBufferArrayNonUniformIndexing +; +pub +const +StorageImageArrayNonUniformIndexingEXT +: +Self = -72u32 -DecorationGroup +Self +: +: +StorageImageArrayNonUniformIndexing +; +pub +const +InputAttachmentArrayNonUniformIndexingEXT +: +Self = -73u32 -GroupDecorate +Self +: +: +InputAttachmentArrayNonUniformIndexing +; +pub +const +UniformTexelBufferArrayNonUniformIndexingEXT +: +Self = -74u32 -GroupMemberDecorate +Self +: +: +UniformTexelBufferArrayNonUniformIndexing +; +pub +const +StorageTexelBufferArrayNonUniformIndexingEXT +: +Self = -75u32 -VectorExtractDynamic +Self +: +: +StorageTexelBufferArrayNonUniformIndexing +; +pub +const +VulkanMemoryModelKHR +: +Self = -77u32 -VectorInsertDynamic +Self +: +: +VulkanMemoryModel +; +pub +const +VulkanMemoryModelDeviceScopeKHR +: +Self = -78u32 -VectorShuffle +Self +: +: +VulkanMemoryModelDeviceScope +; +pub +const +PhysicalStorageBufferAddressesEXT +: +Self = -79u32 -CompositeConstruct +Self +: +: +PhysicalStorageBufferAddresses +; +pub +const +DemoteToHelperInvocationEXT +: +Self = -80u32 -CompositeExtract +Self +: +: +DemoteToHelperInvocation +; +pub +const +DotProductInputAllKHR +: +Self = -81u32 -CompositeInsert +Self +: +: +DotProductInputAll +; +pub +const +DotProductInput4x8BitKHR +: +Self = -82u32 -CopyObject +Self +: +: +DotProductInput4x8Bit +; +pub +const +DotProductInput4x8BitPackedKHR +: +Self = -83u32 -Transpose +Self +: +: +DotProductInput4x8BitPacked +; +pub +const +DotProductKHR +: +Self = -84u32 -SampledImage +Self +: +: +DotProduct +; +} +impl +core +: +: +str +: +: +FromStr +for +Capability +{ +type +Err = -86u32 -ImageSampleImplicitLod -= -87u32 -ImageSampleExplicitLod -= -88u32 -ImageSampleDrefImplicitLod +( +) +; +fn +from_str +( +s +: +& +str +) +- +> +Result +< +Self +Self +: +: +Err +> +{ +match +s +{ +" +Matrix +" = -89u32 -ImageSampleDrefExplicitLod +> +Ok +( +Self +: +: +Matrix +) +" +Shader +" = -90u32 -ImageSampleProjImplicitLod +> +Ok +( +Self +: +: +Shader +) +" +Geometry +" = -91u32 -ImageSampleProjExplicitLod +> +Ok +( +Self +: +: +Geometry +) +" +Tessellation +" = -92u32 -ImageSampleProjDrefImplicitLod +> +Ok +( +Self +: +: +Tessellation +) +" +Addresses +" = -93u32 -ImageSampleProjDrefExplicitLod +> +Ok +( +Self +: +: +Addresses +) +" +Linkage +" = -94u32 -ImageFetch +> +Ok +( +Self +: +: +Linkage +) +" +Kernel +" = -95u32 -ImageGather +> +Ok +( +Self +: +: +Kernel +) +" +Vector16 +" = -96u32 -ImageDrefGather +> +Ok +( +Self +: +: +Vector16 +) +" +Float16Buffer +" = -97u32 -ImageRead +> +Ok +( +Self +: +: +Float16Buffer +) +" +Float16 +" = -98u32 -ImageWrite +> +Ok +( +Self +: +: +Float16 +) +" +Float64 +" = -99u32 -Image +> +Ok +( +Self +: +: +Float64 +) +" +Int64 +" = -100u32 -ImageQueryFormat +> +Ok +( +Self +: +: +Int64 +) +" +Int64Atomics +" = -101u32 -ImageQueryOrder +> +Ok +( +Self +: +: +Int64Atomics +) +" +ImageBasic +" = -102u32 -ImageQuerySizeLod +> +Ok +( +Self +: +: +ImageBasic +) +" +ImageReadWrite +" = -103u32 -ImageQuerySize +> +Ok +( +Self +: +: +ImageReadWrite +) +" +ImageMipmap +" = -104u32 -ImageQueryLod +> +Ok +( +Self +: +: +ImageMipmap +) +" +Pipes +" = -105u32 -ImageQueryLevels +> +Ok +( +Self +: +: +Pipes +) +" +Groups +" = -106u32 -ImageQuerySamples -= -107u32 -ConvertFToU -= -109u32 -ConvertFToS -= -110u32 -ConvertSToF +> +Ok +( +Self +: +: +Groups +) +" +DeviceEnqueue +" = -111u32 -ConvertUToF +> +Ok +( +Self +: +: +DeviceEnqueue +) +" +LiteralSampler +" = -112u32 -UConvert +> +Ok +( +Self +: +: +LiteralSampler +) +" +AtomicStorage +" = -113u32 -SConvert +> +Ok +( +Self +: +: +AtomicStorage +) +" +Int16 +" = -114u32 -FConvert +> +Ok +( +Self +: +: +Int16 +) +" +TessellationPointSize +" = -115u32 -QuantizeToF16 +> +Ok +( +Self +: +: +TessellationPointSize +) +" +GeometryPointSize +" = -116u32 -ConvertPtrToU +> +Ok +( +Self +: +: +GeometryPointSize +) +" +ImageGatherExtended +" = -117u32 -SatConvertSToU +> +Ok +( +Self +: +: +ImageGatherExtended +) +" +StorageImageMultisample +" = -118u32 -SatConvertUToS +> +Ok +( +Self +: +: +StorageImageMultisample +) +" +UniformBufferArrayDynamicIndexing +" = -119u32 -ConvertUToPtr +> +Ok +( +Self +: +: +UniformBufferArrayDynamicIndexing +) +" +SampledImageArrayDynamicIndexing +" = -120u32 -PtrCastToGeneric +> +Ok +( +Self +: +: +SampledImageArrayDynamicIndexing +) +" +StorageBufferArrayDynamicIndexing +" = -121u32 -GenericCastToPtr +> +Ok +( +Self +: +: +StorageBufferArrayDynamicIndexing +) +" +StorageImageArrayDynamicIndexing +" = -122u32 -GenericCastToPtrExplicit +> +Ok +( +Self +: +: +StorageImageArrayDynamicIndexing +) +" +ClipDistance +" = -123u32 -Bitcast +> +Ok +( +Self +: +: +ClipDistance +) +" +CullDistance +" = -124u32 -SNegate +> +Ok +( +Self +: +: +CullDistance +) +" +ImageCubeArray +" = -126u32 -FNegate +> +Ok +( +Self +: +: +ImageCubeArray +) +" +SampleRateShading +" = -127u32 -IAdd +> +Ok +( +Self +: +: +SampleRateShading +) +" +ImageRect +" = -128u32 -FAdd +> +Ok +( +Self +: +: +ImageRect +) +" +SampledRect +" = -129u32 -ISub +> +Ok +( +Self +: +: +SampledRect +) +" +GenericPointer +" = -130u32 -FSub -= -131u32 -IMul -= -132u32 -FMul -= -133u32 -UDiv +> +Ok +( +Self +: +: +GenericPointer +) +" +Int8 +" = -134u32 -SDiv +> +Ok +( +Self +: +: +Int8 +) +" +InputAttachment +" = -135u32 -FDiv +> +Ok +( +Self +: +: +InputAttachment +) +" +SparseResidency +" = -136u32 -UMod +> +Ok +( +Self +: +: +SparseResidency +) +" +MinLod +" = -137u32 -SRem +> +Ok +( +Self +: +: +MinLod +) +" +Sampled1D +" = -138u32 -SMod +> +Ok +( +Self +: +: +Sampled1D +) +" +Image1D +" = -139u32 -FRem +> +Ok +( +Self +: +: +Image1D +) +" +SampledCubeArray +" = -140u32 -FMod +> +Ok +( +Self +: +: +SampledCubeArray +) +" +SampledBuffer +" = -141u32 -VectorTimesScalar +> +Ok +( +Self +: +: +SampledBuffer +) +" +ImageBuffer +" = -142u32 -MatrixTimesScalar +> +Ok +( +Self +: +: +ImageBuffer +) +" +ImageMSArray +" = -143u32 -VectorTimesMatrix +> +Ok +( +Self +: +: +ImageMSArray +) +" +StorageImageExtendedFormats +" = -144u32 -MatrixTimesVector +> +Ok +( +Self +: +: +StorageImageExtendedFormats +) +" +ImageQuery +" = -145u32 -MatrixTimesMatrix +> +Ok +( +Self +: +: +ImageQuery +) +" +DerivativeControl +" = -146u32 -OuterProduct +> +Ok +( +Self +: +: +DerivativeControl +) +" +InterpolationFunction +" = -147u32 -Dot +> +Ok +( +Self +: +: +InterpolationFunction +) +" +TransformFeedback +" = -148u32 -IAddCarry +> +Ok +( +Self +: +: +TransformFeedback +) +" +GeometryStreams +" = -149u32 -ISubBorrow +> +Ok +( +Self +: +: +GeometryStreams +) +" +StorageImageReadWithoutFormat +" = -150u32 -UMulExtended +> +Ok +( +Self +: +: +StorageImageReadWithoutFormat +) +" +StorageImageWriteWithoutFormat +" = -151u32 -SMulExtended +> +Ok +( +Self +: +: +StorageImageWriteWithoutFormat +) +" +MultiViewport +" = -152u32 -Any -= -154u32 -All -= -155u32 -IsNan +> +Ok +( +Self +: +: +MultiViewport +) +" +SubgroupDispatch +" = -156u32 -IsInf +> +Ok +( +Self +: +: +SubgroupDispatch +) +" +NamedBarrier +" = -157u32 -IsFinite +> +Ok +( +Self +: +: +NamedBarrier +) +" +PipeStorage +" = -158u32 -IsNormal +> +Ok +( +Self +: +: +PipeStorage +) +" +GroupNonUniform +" = -159u32 -SignBitSet +> +Ok +( +Self +: +: +GroupNonUniform +) +" +GroupNonUniformVote +" = -160u32 -LessOrGreater +> +Ok +( +Self +: +: +GroupNonUniformVote +) +" +GroupNonUniformArithmetic +" = -161u32 -Ordered +> +Ok +( +Self +: +: +GroupNonUniformArithmetic +) +" +GroupNonUniformBallot +" = -162u32 -Unordered +> +Ok +( +Self +: +: +GroupNonUniformBallot +) +" +GroupNonUniformShuffle +" = -163u32 -LogicalEqual +> +Ok +( +Self +: +: +GroupNonUniformShuffle +) +" +GroupNonUniformShuffleRelative +" = -164u32 -LogicalNotEqual +> +Ok +( +Self +: +: +GroupNonUniformShuffleRelative +) +" +GroupNonUniformClustered +" = -165u32 -LogicalOr +> +Ok +( +Self +: +: +GroupNonUniformClustered +) +" +GroupNonUniformQuad +" = -166u32 -LogicalAnd +> +Ok +( +Self +: +: +GroupNonUniformQuad +) +" +ShaderLayer +" = -167u32 -LogicalNot +> +Ok +( +Self +: +: +ShaderLayer +) +" +ShaderViewportIndex +" = -168u32 -Select +> +Ok +( +Self +: +: +ShaderViewportIndex +) +" +UniformDecoration +" = -169u32 -IEqual +> +Ok +( +Self +: +: +UniformDecoration +) +" +CoreBuiltinsARM +" = -170u32 -INotEqual +> +Ok +( +Self +: +: +CoreBuiltinsARM +) +" +TileImageColorReadAccessEXT +" = -171u32 -UGreaterThan +> +Ok +( +Self +: +: +TileImageColorReadAccessEXT +) +" +TileImageDepthReadAccessEXT +" = -172u32 -SGreaterThan +> +Ok +( +Self +: +: +TileImageDepthReadAccessEXT +) +" +TileImageStencilReadAccessEXT +" = -173u32 -UGreaterThanEqual +> +Ok +( +Self +: +: +TileImageStencilReadAccessEXT +) +" +FragmentShadingRateKHR +" = -174u32 -SGreaterThanEqual +> +Ok +( +Self +: +: +FragmentShadingRateKHR +) +" +SubgroupBallotKHR +" = -175u32 -ULessThan -= -176u32 -SLessThan -= -177u32 -ULessThanEqual -= -178u32 -SLessThanEqual +> +Ok +( +Self +: +: +SubgroupBallotKHR +) +" +DrawParameters +" = -179u32 -FOrdEqual +> +Ok +( +Self +: +: +DrawParameters +) +" +WorkgroupMemoryExplicitLayoutKHR +" = -180u32 -FUnordEqual +> +Ok +( +Self +: +: +WorkgroupMemoryExplicitLayoutKHR +) +" +WorkgroupMemoryExplicitLayout8BitAccessKHR +" = -181u32 -FOrdNotEqual +> +{ +Ok +( +Self +: +: +WorkgroupMemoryExplicitLayout8BitAccessKHR +) +} +" +WorkgroupMemoryExplicitLayout16BitAccessKHR +" = -182u32 -FUnordNotEqual +> +{ +Ok +( +Self +: +: +WorkgroupMemoryExplicitLayout16BitAccessKHR +) +} +" +SubgroupVoteKHR +" = -183u32 -FOrdLessThan +> +Ok +( +Self +: +: +SubgroupVoteKHR +) +" +StorageBuffer16BitAccess +" = -184u32 -FUnordLessThan +> +Ok +( +Self +: +: +StorageBuffer16BitAccess +) +" +StorageUniformBufferBlock16 +" = -185u32 -FOrdGreaterThan +> +Ok +( +Self +: +: +StorageBuffer16BitAccess +) +" +UniformAndStorageBuffer16BitAccess +" = -186u32 -FUnordGreaterThan +> +Ok +( +Self +: +: +UniformAndStorageBuffer16BitAccess +) +" +StorageUniform16 +" = -187u32 -FOrdLessThanEqual +> +Ok +( +Self +: +: +UniformAndStorageBuffer16BitAccess +) +" +StoragePushConstant16 +" = -188u32 -FUnordLessThanEqual +> +Ok +( +Self +: +: +StoragePushConstant16 +) +" +StorageInputOutput16 +" = -189u32 -FOrdGreaterThanEqual +> +Ok +( +Self +: +: +StorageInputOutput16 +) +" +DeviceGroup +" = -190u32 -FUnordGreaterThanEqual +> +Ok +( +Self +: +: +DeviceGroup +) +" +MultiView +" = -191u32 -ShiftRightLogical +> +Ok +( +Self +: +: +MultiView +) +" +VariablePointersStorageBuffer +" = -194u32 -ShiftRightArithmetic +> +Ok +( +Self +: +: +VariablePointersStorageBuffer +) +" +VariablePointers +" = -195u32 -ShiftLeftLogical +> +Ok +( +Self +: +: +VariablePointers +) +" +AtomicStorageOps +" = -196u32 -BitwiseOr +> +Ok +( +Self +: +: +AtomicStorageOps +) +" +SampleMaskPostDepthCoverage +" = -197u32 -BitwiseXor +> +Ok +( +Self +: +: +SampleMaskPostDepthCoverage +) +" +StorageBuffer8BitAccess +" = -198u32 -BitwiseAnd +> +Ok +( +Self +: +: +StorageBuffer8BitAccess +) +" +UniformAndStorageBuffer8BitAccess +" = -199u32 -Not -= -200u32 -BitFieldInsert +> +Ok +( +Self +: +: +UniformAndStorageBuffer8BitAccess +) +" +StoragePushConstant8 +" = -201u32 -BitFieldSExtract +> +Ok +( +Self +: +: +StoragePushConstant8 +) +" +DenormPreserve +" = -202u32 -BitFieldUExtract +> +Ok +( +Self +: +: +DenormPreserve +) +" +DenormFlushToZero +" = -203u32 -BitReverse +> +Ok +( +Self +: +: +DenormFlushToZero +) +" +SignedZeroInfNanPreserve +" = -204u32 -BitCount +> +Ok +( +Self +: +: +SignedZeroInfNanPreserve +) +" +RoundingModeRTE +" = -205u32 -DPdx +> +Ok +( +Self +: +: +RoundingModeRTE +) +" +RoundingModeRTZ +" = -207u32 -DPdy +> +Ok +( +Self +: +: +RoundingModeRTZ +) +" +RayQueryProvisionalKHR +" = -208u32 -Fwidth +> +Ok +( +Self +: +: +RayQueryProvisionalKHR +) +" +RayQueryKHR +" = -209u32 -DPdxFine +> +Ok +( +Self +: +: +RayQueryKHR +) +" +RayTraversalPrimitiveCullingKHR +" = -210u32 -DPdyFine +> +Ok +( +Self +: +: +RayTraversalPrimitiveCullingKHR +) +" +RayTracingKHR +" = -211u32 -FwidthFine +> +Ok +( +Self +: +: +RayTracingKHR +) +" +TextureSampleWeightedQCOM +" = -212u32 -DPdxCoarse +> +Ok +( +Self +: +: +TextureSampleWeightedQCOM +) +" +TextureBoxFilterQCOM +" = -213u32 -DPdyCoarse +> +Ok +( +Self +: +: +TextureBoxFilterQCOM +) +" +TextureBlockMatchQCOM +" = -214u32 -FwidthCoarse +> +Ok +( +Self +: +: +TextureBlockMatchQCOM +) +" +Float16ImageAMD +" = -215u32 -EmitVertex +> +Ok +( +Self +: +: +Float16ImageAMD +) +" +ImageGatherBiasLodAMD +" = -218u32 -EndPrimitive +> +Ok +( +Self +: +: +ImageGatherBiasLodAMD +) +" +FragmentMaskAMD +" = -219u32 -EmitStreamVertex +> +Ok +( +Self +: +: +FragmentMaskAMD +) +" +StencilExportEXT +" = -220u32 -EndStreamPrimitive +> +Ok +( +Self +: +: +StencilExportEXT +) +" +ImageReadWriteLodAMD +" = -221u32 -ControlBarrier +> +Ok +( +Self +: +: +ImageReadWriteLodAMD +) +" +Int64ImageEXT +" = -224u32 -MemoryBarrier +> +Ok +( +Self +: +: +Int64ImageEXT +) +" +ShaderClockKHR +" = -225u32 -AtomicLoad -= -227u32 -AtomicStore +> +Ok +( +Self +: +: +ShaderClockKHR +) +" +ShaderEnqueueAMDX +" = -228u32 -AtomicExchange +> +Ok +( +Self +: +: +ShaderEnqueueAMDX +) +" +SampleMaskOverrideCoverageNV +" = -229u32 -AtomicCompareExchange +> +Ok +( +Self +: +: +SampleMaskOverrideCoverageNV +) +" +GeometryShaderPassthroughNV +" = -230u32 -AtomicCompareExchangeWeak +> +Ok +( +Self +: +: +GeometryShaderPassthroughNV +) +" +ShaderViewportIndexLayerEXT +" = -231u32 -AtomicIIncrement +> +Ok +( +Self +: +: +ShaderViewportIndexLayerEXT +) +" +ShaderViewportIndexLayerNV +" = -232u32 -AtomicIDecrement +> +Ok +( +Self +: +: +ShaderViewportIndexLayerEXT +) +" +ShaderViewportMaskNV +" = -233u32 -AtomicIAdd +> +Ok +( +Self +: +: +ShaderViewportMaskNV +) +" +ShaderStereoViewNV +" = -234u32 -AtomicISub +> +Ok +( +Self +: +: +ShaderStereoViewNV +) +" +PerViewAttributesNV +" = -235u32 -AtomicSMin +> +Ok +( +Self +: +: +PerViewAttributesNV +) +" +FragmentFullyCoveredEXT +" = -236u32 -AtomicUMin +> +Ok +( +Self +: +: +FragmentFullyCoveredEXT +) +" +MeshShadingNV +" = -237u32 -AtomicSMax +> +Ok +( +Self +: +: +MeshShadingNV +) +" +ImageFootprintNV +" = -238u32 -AtomicUMax +> +Ok +( +Self +: +: +ImageFootprintNV +) +" +MeshShadingEXT +" = -239u32 -AtomicAnd +> +Ok +( +Self +: +: +MeshShadingEXT +) +" +FragmentBarycentricKHR +" = -240u32 -AtomicOr +> +Ok +( +Self +: +: +FragmentBarycentricKHR +) +" +FragmentBarycentricNV +" = -241u32 -AtomicXor +> +Ok +( +Self +: +: +FragmentBarycentricKHR +) +" +ComputeDerivativeGroupQuadsNV +" = -242u32 -Phi +> +Ok +( +Self +: +: +ComputeDerivativeGroupQuadsNV +) +" +FragmentDensityEXT +" = -245u32 -LoopMerge +> +Ok +( +Self +: +: +FragmentDensityEXT +) +" +ShadingRateNV +" = -246u32 -SelectionMerge +> +Ok +( +Self +: +: +FragmentDensityEXT +) +" +GroupNonUniformPartitionedNV +" = -247u32 -Label +> +Ok +( +Self +: +: +GroupNonUniformPartitionedNV +) +" +ShaderNonUniform +" = -248u32 -Branch +> +Ok +( +Self +: +: +ShaderNonUniform +) +" +ShaderNonUniformEXT +" = -249u32 -BranchConditional -= -250u32 -Switch -= -251u32 -Kill -= -252u32 -Return -= -253u32 -ReturnValue +> +Ok +( +Self +: +: +ShaderNonUniform +) +" +RuntimeDescriptorArray +" = -254u32 -Unreachable +> +Ok +( +Self +: +: +RuntimeDescriptorArray +) +" +RuntimeDescriptorArrayEXT +" = -255u32 -LifetimeStart +> +Ok +( +Self +: +: +RuntimeDescriptorArray +) +" +InputAttachmentArrayDynamicIndexing +" = -256u32 -LifetimeStop +> +Ok +( +Self +: +: +InputAttachmentArrayDynamicIndexing +) +" +InputAttachmentArrayDynamicIndexingEXT +" = -257u32 -GroupAsyncCopy +> +{ +Ok +( +Self +: +: +InputAttachmentArrayDynamicIndexing +) +} +" +UniformTexelBufferArrayDynamicIndexing +" = -259u32 -GroupWaitEvents +> +{ +Ok +( +Self +: +: +UniformTexelBufferArrayDynamicIndexing +) +} +" +UniformTexelBufferArrayDynamicIndexingEXT +" = -260u32 -GroupAll +> +{ +Ok +( +Self +: +: +UniformTexelBufferArrayDynamicIndexing +) +} +" +StorageTexelBufferArrayDynamicIndexing +" = -261u32 -GroupAny +> +{ +Ok +( +Self +: +: +StorageTexelBufferArrayDynamicIndexing +) +} +" +StorageTexelBufferArrayDynamicIndexingEXT +" = -262u32 -GroupBroadcast +> +{ +Ok +( +Self +: +: +StorageTexelBufferArrayDynamicIndexing +) +} +" +UniformBufferArrayNonUniformIndexing +" = -263u32 -GroupIAdd +> +{ +Ok +( +Self +: +: +UniformBufferArrayNonUniformIndexing +) +} +" +UniformBufferArrayNonUniformIndexingEXT +" = -264u32 -GroupFAdd +> +{ +Ok +( +Self +: +: +UniformBufferArrayNonUniformIndexing +) +} +" +SampledImageArrayNonUniformIndexing +" = -265u32 -GroupFMin +> +Ok +( +Self +: +: +SampledImageArrayNonUniformIndexing +) +" +SampledImageArrayNonUniformIndexingEXT +" = -266u32 -GroupUMin +> +{ +Ok +( +Self +: +: +SampledImageArrayNonUniformIndexing +) +} +" +StorageBufferArrayNonUniformIndexing +" = -267u32 -GroupSMin +> +{ +Ok +( +Self +: +: +StorageBufferArrayNonUniformIndexing +) +} +" +StorageBufferArrayNonUniformIndexingEXT +" = -268u32 -GroupFMax +> +{ +Ok +( +Self +: +: +StorageBufferArrayNonUniformIndexing +) +} +" +StorageImageArrayNonUniformIndexing +" = -269u32 -GroupUMax +> +Ok +( +Self +: +: +StorageImageArrayNonUniformIndexing +) +" +StorageImageArrayNonUniformIndexingEXT +" = -270u32 -GroupSMax +> +{ +Ok +( +Self +: +: +StorageImageArrayNonUniformIndexing +) +} +" +InputAttachmentArrayNonUniformIndexing +" = -271u32 -ReadPipe -= -274u32 -WritePipe +> +{ +Ok +( +Self +: +: +InputAttachmentArrayNonUniformIndexing +) +} +" +InputAttachmentArrayNonUniformIndexingEXT +" = -275u32 -ReservedReadPipe +> +{ +Ok +( +Self +: +: +InputAttachmentArrayNonUniformIndexing +) +} +" +UniformTexelBufferArrayNonUniformIndexing +" = -276u32 -ReservedWritePipe +> +{ +Ok +( +Self +: +: +UniformTexelBufferArrayNonUniformIndexing +) +} +" +UniformTexelBufferArrayNonUniformIndexingEXT +" = -277u32 -ReserveReadPipePackets +> +{ +Ok +( +Self +: +: +UniformTexelBufferArrayNonUniformIndexing +) +} +" +StorageTexelBufferArrayNonUniformIndexing +" = -278u32 -ReserveWritePipePackets +> +{ +Ok +( +Self +: +: +StorageTexelBufferArrayNonUniformIndexing +) +} +" +StorageTexelBufferArrayNonUniformIndexingEXT +" = -279u32 -CommitReadPipe +> +{ +Ok +( +Self +: +: +StorageTexelBufferArrayNonUniformIndexing +) +} +" +RayTracingPositionFetchKHR +" = -280u32 -CommitWritePipe +> +Ok +( +Self +: +: +RayTracingPositionFetchKHR +) +" +RayTracingNV +" = -281u32 -IsValidReserveId +> +Ok +( +Self +: +: +RayTracingNV +) +" +RayTracingMotionBlurNV +" = -282u32 -GetNumPipePackets +> +Ok +( +Self +: +: +RayTracingMotionBlurNV +) +" +VulkanMemoryModel +" = -283u32 -GetMaxPipePackets +> +Ok +( +Self +: +: +VulkanMemoryModel +) +" +VulkanMemoryModelKHR +" = -284u32 -GroupReserveReadPipePackets +> +Ok +( +Self +: +: +VulkanMemoryModel +) +" +VulkanMemoryModelDeviceScope +" = -285u32 -GroupReserveWritePipePackets +> +Ok +( +Self +: +: +VulkanMemoryModelDeviceScope +) +" +VulkanMemoryModelDeviceScopeKHR +" = -286u32 -GroupCommitReadPipe +> +Ok +( +Self +: +: +VulkanMemoryModelDeviceScope +) +" +PhysicalStorageBufferAddresses +" = -287u32 -GroupCommitWritePipe +> +Ok +( +Self +: +: +PhysicalStorageBufferAddresses +) +" +PhysicalStorageBufferAddressesEXT +" = -288u32 -EnqueueMarker +> +Ok +( +Self +: +: +PhysicalStorageBufferAddresses +) +" +ComputeDerivativeGroupLinearNV +" = -291u32 -EnqueueKernel +> +Ok +( +Self +: +: +ComputeDerivativeGroupLinearNV +) +" +RayTracingProvisionalKHR +" = -292u32 -GetKernelNDrangeSubGroupCount +> +Ok +( +Self +: +: +RayTracingProvisionalKHR +) +" +CooperativeMatrixNV +" = -293u32 -GetKernelNDrangeMaxSubGroupSize +> +Ok +( +Self +: +: +CooperativeMatrixNV +) +" +FragmentShaderSampleInterlockEXT +" = -294u32 -GetKernelWorkGroupSize +> +Ok +( +Self +: +: +FragmentShaderSampleInterlockEXT +) +" +FragmentShaderShadingRateInterlockEXT +" = -295u32 -GetKernelPreferredWorkGroupSizeMultiple -= -296u32 -RetainEvent +> +{ +Ok +( +Self +: +: +FragmentShaderShadingRateInterlockEXT +) +} +" +ShaderSMBuiltinsNV +" = -297u32 -ReleaseEvent +> +Ok +( +Self +: +: +ShaderSMBuiltinsNV +) +" +FragmentShaderPixelInterlockEXT +" = -298u32 -CreateUserEvent +> +Ok +( +Self +: +: +FragmentShaderPixelInterlockEXT +) +" +DemoteToHelperInvocation +" = -299u32 -IsValidEvent +> +Ok +( +Self +: +: +DemoteToHelperInvocation +) +" +DemoteToHelperInvocationEXT +" = -300u32 -SetUserEventStatus +> +Ok +( +Self +: +: +DemoteToHelperInvocation +) +" +DisplacementMicromapNV +" = -301u32 -CaptureEventProfilingInfo +> +Ok +( +Self +: +: +DisplacementMicromapNV +) +" +RayTracingOpacityMicromapEXT +" = -302u32 -GetDefaultQueue +> +Ok +( +Self +: +: +RayTracingOpacityMicromapEXT +) +" +ShaderInvocationReorderNV +" = -303u32 -BuildNDRange +> +Ok +( +Self +: +: +ShaderInvocationReorderNV +) +" +BindlessTextureNV +" = -304u32 -ImageSparseSampleImplicitLod +> +Ok +( +Self +: +: +BindlessTextureNV +) +" +RayQueryPositionFetchKHR +" = -305u32 -ImageSparseSampleExplicitLod +> +Ok +( +Self +: +: +RayQueryPositionFetchKHR +) +" +RayTracingDisplacementMicromapNV +" = -306u32 -ImageSparseSampleDrefImplicitLod +> +Ok +( +Self +: +: +RayTracingDisplacementMicromapNV +) +" +SubgroupShuffleINTEL +" = -307u32 -ImageSparseSampleDrefExplicitLod +> +Ok +( +Self +: +: +SubgroupShuffleINTEL +) +" +SubgroupBufferBlockIOINTEL +" = -308u32 -ImageSparseSampleProjImplicitLod +> +Ok +( +Self +: +: +SubgroupBufferBlockIOINTEL +) +" +SubgroupImageBlockIOINTEL +" = -309u32 -ImageSparseSampleProjExplicitLod +> +Ok +( +Self +: +: +SubgroupImageBlockIOINTEL +) +" +SubgroupImageMediaBlockIOINTEL +" = -310u32 -ImageSparseSampleProjDrefImplicitLod +> +Ok +( +Self +: +: +SubgroupImageMediaBlockIOINTEL +) +" +RoundToInfinityINTEL +" = -311u32 -ImageSparseSampleProjDrefExplicitLod +> +Ok +( +Self +: +: +RoundToInfinityINTEL +) +" +FloatingPointModeINTEL +" = -312u32 -ImageSparseFetch +> +Ok +( +Self +: +: +FloatingPointModeINTEL +) +" +IntegerFunctions2INTEL +" = -313u32 -ImageSparseGather +> +Ok +( +Self +: +: +IntegerFunctions2INTEL +) +" +FunctionPointersINTEL +" = -314u32 -ImageSparseDrefGather +> +Ok +( +Self +: +: +FunctionPointersINTEL +) +" +IndirectReferencesINTEL +" = -315u32 -ImageSparseTexelsResident +> +Ok +( +Self +: +: +IndirectReferencesINTEL +) +" +AsmINTEL +" = -316u32 -NoLine +> +Ok +( +Self +: +: +AsmINTEL +) +" +AtomicFloat32MinMaxEXT +" = -317u32 -AtomicFlagTestAndSet -= -318u32 -AtomicFlagClear +> +Ok +( +Self +: +: +AtomicFloat32MinMaxEXT +) +" +AtomicFloat64MinMaxEXT +" = -319u32 -ImageSparseRead +> +Ok +( +Self +: +: +AtomicFloat64MinMaxEXT +) +" +AtomicFloat16MinMaxEXT +" = -320u32 -SizeOf +> +Ok +( +Self +: +: +AtomicFloat16MinMaxEXT +) +" +VectorComputeINTEL +" = -321u32 -TypePipeStorage +> +Ok +( +Self +: +: +VectorComputeINTEL +) +" +VectorAnyINTEL +" = -322u32 -ConstantPipeStorage +> +Ok +( +Self +: +: +VectorAnyINTEL +) +" +ExpectAssumeKHR +" = -323u32 -CreatePipeFromPipeStorage +> +Ok +( +Self +: +: +ExpectAssumeKHR +) +" +SubgroupAvcMotionEstimationINTEL +" = -324u32 -GetKernelLocalSizeForSubgroupCount +> +Ok +( +Self +: +: +SubgroupAvcMotionEstimationINTEL +) +" +SubgroupAvcMotionEstimationIntraINTEL +" = -325u32 -GetKernelMaxNumSubgroups +> +{ +Ok +( +Self +: +: +SubgroupAvcMotionEstimationIntraINTEL +) +} +" +SubgroupAvcMotionEstimationChromaINTEL +" = -326u32 -TypeNamedBarrier +> +{ +Ok +( +Self +: +: +SubgroupAvcMotionEstimationChromaINTEL +) +} +" +VariableLengthArrayINTEL +" = -327u32 -NamedBarrierInitialize +> +Ok +( +Self +: +: +VariableLengthArrayINTEL +) +" +FunctionFloatControlINTEL +" = -328u32 -MemoryNamedBarrier +> +Ok +( +Self +: +: +FunctionFloatControlINTEL +) +" +FPGAMemoryAttributesINTEL +" = -329u32 -ModuleProcessed +> +Ok +( +Self +: +: +FPGAMemoryAttributesINTEL +) +" +FPFastMathModeINTEL +" = -330u32 -ExecutionModeId +> +Ok +( +Self +: +: +FPFastMathModeINTEL +) +" +ArbitraryPrecisionIntegersINTEL +" = -331u32 -DecorateId +> +Ok +( +Self +: +: +ArbitraryPrecisionIntegersINTEL +) +" +ArbitraryPrecisionFloatingPointINTEL +" = -332u32 -GroupNonUniformElect +> +{ +Ok +( +Self +: +: +ArbitraryPrecisionFloatingPointINTEL +) +} +" +UnstructuredLoopControlsINTEL +" = -333u32 -GroupNonUniformAll +> +Ok +( +Self +: +: +UnstructuredLoopControlsINTEL +) +" +FPGALoopControlsINTEL +" = -334u32 -GroupNonUniformAny +> +Ok +( +Self +: +: +FPGALoopControlsINTEL +) +" +KernelAttributesINTEL +" = -335u32 -GroupNonUniformAllEqual +> +Ok +( +Self +: +: +KernelAttributesINTEL +) +" +FPGAKernelAttributesINTEL +" = -336u32 -GroupNonUniformBroadcast +> +Ok +( +Self +: +: +FPGAKernelAttributesINTEL +) +" +FPGAMemoryAccessesINTEL +" = -337u32 -GroupNonUniformBroadcastFirst +> +Ok +( +Self +: +: +FPGAMemoryAccessesINTEL +) +" +FPGAClusterAttributesINTEL +" = -338u32 -GroupNonUniformBallot +> +Ok +( +Self +: +: +FPGAClusterAttributesINTEL +) +" +LoopFuseINTEL +" = -339u32 -GroupNonUniformInverseBallot -= -340u32 -GroupNonUniformBallotBitExtract -= -341u32 -GroupNonUniformBallotBitCount +> +Ok +( +Self +: +: +LoopFuseINTEL +) +" +FPGADSPControlINTEL +" = -342u32 -GroupNonUniformBallotFindLSB +> +Ok +( +Self +: +: +FPGADSPControlINTEL +) +" +MemoryAccessAliasingINTEL +" = -343u32 -GroupNonUniformBallotFindMSB +> +Ok +( +Self +: +: +MemoryAccessAliasingINTEL +) +" +FPGAInvocationPipeliningAttributesINTEL +" = -344u32 -GroupNonUniformShuffle +> +{ +Ok +( +Self +: +: +FPGAInvocationPipeliningAttributesINTEL +) +} +" +FPGABufferLocationINTEL +" = -345u32 -GroupNonUniformShuffleXor +> +Ok +( +Self +: +: +FPGABufferLocationINTEL +) +" +ArbitraryPrecisionFixedPointINTEL +" = -346u32 -GroupNonUniformShuffleUp +> +Ok +( +Self +: +: +ArbitraryPrecisionFixedPointINTEL +) +" +USMStorageClassesINTEL +" = -347u32 -GroupNonUniformShuffleDown +> +Ok +( +Self +: +: +USMStorageClassesINTEL +) +" +RuntimeAlignedAttributeINTEL +" = -348u32 -GroupNonUniformIAdd +> +Ok +( +Self +: +: +RuntimeAlignedAttributeINTEL +) +" +IOPipesINTEL +" = -349u32 -GroupNonUniformFAdd +> +Ok +( +Self +: +: +IOPipesINTEL +) +" +BlockingPipesINTEL +" = -350u32 -GroupNonUniformIMul +> +Ok +( +Self +: +: +BlockingPipesINTEL +) +" +FPGARegINTEL +" = -351u32 -GroupNonUniformFMul +> +Ok +( +Self +: +: +FPGARegINTEL +) +" +DotProductInputAll +" = -352u32 -GroupNonUniformSMin +> +Ok +( +Self +: +: +DotProductInputAll +) +" +DotProductInputAllKHR +" = -353u32 -GroupNonUniformUMin +> +Ok +( +Self +: +: +DotProductInputAll +) +" +DotProductInput4x8Bit +" = -354u32 -GroupNonUniformFMin +> +Ok +( +Self +: +: +DotProductInput4x8Bit +) +" +DotProductInput4x8BitKHR +" = -355u32 -GroupNonUniformSMax +> +Ok +( +Self +: +: +DotProductInput4x8Bit +) +" +DotProductInput4x8BitPacked +" = -356u32 -GroupNonUniformUMax +> +Ok +( +Self +: +: +DotProductInput4x8BitPacked +) +" +DotProductInput4x8BitPackedKHR +" = -357u32 -GroupNonUniformFMax +> +Ok +( +Self +: +: +DotProductInput4x8BitPacked +) +" +DotProduct +" = -358u32 -GroupNonUniformBitwiseAnd +> +Ok +( +Self +: +: +DotProduct +) +" +DotProductKHR +" = -359u32 -GroupNonUniformBitwiseOr +> +Ok +( +Self +: +: +DotProduct +) +" +RayCullMaskKHR +" = -360u32 -GroupNonUniformBitwiseXor +> +Ok +( +Self +: +: +RayCullMaskKHR +) +" +CooperativeMatrixKHR +" = -361u32 -GroupNonUniformLogicalAnd +> +Ok +( +Self +: +: +CooperativeMatrixKHR +) +" +BitInstructions +" = -362u32 -GroupNonUniformLogicalOr +> +Ok +( +Self +: +: +BitInstructions +) +" +GroupNonUniformRotateKHR +" = -363u32 -GroupNonUniformLogicalXor -= -364u32 -GroupNonUniformQuadBroadcast -= -365u32 -GroupNonUniformQuadSwap -= -366u32 -CopyLogical -= -400u32 -PtrEqual -= -401u32 -PtrNotEqual -= -402u32 -PtrDiff -= -403u32 -TerminateInvocation -= -4416u32 -SubgroupBallotKHR -= -4421u32 -SubgroupFirstInvocationKHR -= -4422u32 -SubgroupAllKHR -= -4428u32 -SubgroupAnyKHR -= -4429u32 -SubgroupAllEqualKHR -= -4430u32 -SubgroupReadInvocationKHR -= -4432u32 -TraceRayKHR -= -4445u32 -ExecuteCallableKHR -= -4446u32 -ConvertUToAccelerationStructureKHR -= -4447u32 -IgnoreIntersectionKHR -= -4448u32 -TerminateRayKHR +> +Ok +( +Self +: +: +GroupNonUniformRotateKHR +) +" +AtomicFloat32AddEXT +" = -4449u32 -TypeRayQueryKHR +> +Ok +( +Self +: +: +AtomicFloat32AddEXT +) +" +AtomicFloat64AddEXT +" = -4472u32 -RayQueryInitializeKHR +> +Ok +( +Self +: +: +AtomicFloat64AddEXT +) +" +LongConstantCompositeINTEL +" = -4473u32 -RayQueryTerminateKHR +> +Ok +( +Self +: +: +LongConstantCompositeINTEL +) +" +OptNoneINTEL +" = -4474u32 -RayQueryGenerateIntersectionKHR +> +Ok +( +Self +: +: +OptNoneINTEL +) +" +AtomicFloat16AddEXT +" = -4475u32 -RayQueryConfirmIntersectionKHR +> +Ok +( +Self +: +: +AtomicFloat16AddEXT +) +" +DebugInfoModuleINTEL +" = -4476u32 -RayQueryProceedKHR +> +Ok +( +Self +: +: +DebugInfoModuleINTEL +) +" +BFloat16ConversionINTEL +" = -4477u32 -RayQueryGetIntersectionTypeKHR +> +Ok +( +Self +: +: +BFloat16ConversionINTEL +) +" +SplitBarrierINTEL +" = -4479u32 -GroupIAddNonUniformAMD +> +Ok +( +Self +: +: +SplitBarrierINTEL +) +" +GlobalVariableFPGADecorationsINTEL +" = -5000u32 -GroupFAddNonUniformAMD +> +Ok +( +Self +: +: +GlobalVariableFPGADecorationsINTEL +) +" +FPGAKernelAttributesv2INTEL +" = -5001u32 -GroupFMinNonUniformAMD +> +Ok +( +Self +: +: +FPGAKernelAttributesv2INTEL +) +" +GlobalVariableHostAccessINTEL +" = -5002u32 -GroupUMinNonUniformAMD +> +Ok +( +Self +: +: +GlobalVariableHostAccessINTEL +) +" +FPMaxErrorINTEL +" = -5003u32 -GroupSMinNonUniformAMD +> +Ok +( +Self +: +: +FPMaxErrorINTEL +) +" +FPGALatencyControlINTEL +" = -5004u32 -GroupFMaxNonUniformAMD +> +Ok +( +Self +: +: +FPGALatencyControlINTEL +) +" +FPGAArgumentInterfacesINTEL +" = -5005u32 -GroupUMaxNonUniformAMD +> +Ok +( +Self +: +: +FPGAArgumentInterfacesINTEL +) +" +GroupUniformArithmeticKHR +" = -5006u32 -GroupSMaxNonUniformAMD +> +Ok +( +Self +: +: +GroupUniformArithmeticKHR +) +" +CacheControlsINTEL +" = -5007u32 -FragmentMaskFetchAMD +> +Ok +( +Self +: +: +CacheControlsINTEL +) +_ = -5011u32 -FragmentFetchAMD +> +Err +( +( +) +) +} +} +} +# +[ +doc = -5012u32 -ReadClockKHR -= -5056u32 -ImageSampleFootprintNV -= -5283u32 -GroupNonUniformPartitionNV -= -5296u32 -WritePackedPrimitiveIndices4x8NV -= -5299u32 -ReportIntersectionNV -= -5334u32 -IgnoreIntersectionNV -= -5335u32 -TerminateRayNV -= -5336u32 -TraceNV -= -5337u32 -TypeAccelerationStructureNV -= -5341u32 -ExecuteCallableNV -= -5344u32 -TypeCooperativeMatrixNV -= -5358u32 -CooperativeMatrixLoadNV -= -5359u32 -CooperativeMatrixStoreNV -= -5360u32 -CooperativeMatrixMulAddNV -= -5361u32 -CooperativeMatrixLengthNV -= -5362u32 -BeginInvocationInterlockEXT -= -5364u32 -EndInvocationInterlockEXT -= -5365u32 -DemoteToHelperInvocationEXT -= -5380u32 -IsHelperInvocationEXT -= -5381u32 -SubgroupShuffleINTEL -= -5571u32 -SubgroupShuffleDownINTEL -= -5572u32 -SubgroupShuffleUpINTEL -= -5573u32 -SubgroupShuffleXorINTEL -= -5574u32 -SubgroupBlockReadINTEL -= -5575u32 -SubgroupBlockWriteINTEL -= -5576u32 -SubgroupImageBlockReadINTEL -= -5577u32 -SubgroupImageBlockWriteINTEL -= -5578u32 -SubgroupImageMediaBlockReadINTEL -= -5580u32 -SubgroupImageMediaBlockWriteINTEL -= -5581u32 -UCountLeadingZerosINTEL -= -5585u32 -UCountTrailingZerosINTEL -= -5586u32 -AbsISubINTEL -= -5587u32 -AbsUSubINTEL -= -5588u32 -IAddSatINTEL -= -5589u32 -UAddSatINTEL -= -5590u32 -IAverageINTEL -= -5591u32 -UAverageINTEL -= -5592u32 -IAverageRoundedINTEL -= -5593u32 -UAverageRoundedINTEL -= -5594u32 -ISubSatINTEL -= -5595u32 -USubSatINTEL -= -5596u32 -IMul32x16INTEL -= -5597u32 -UMul32x16INTEL -= -5598u32 -FunctionPointerINTEL -= -5600u32 -FunctionPointerCallINTEL -= -5601u32 -DecorateString -= -5632u32 -MemberDecorateString -= -5633u32 -VmeImageINTEL -= -5699u32 -TypeVmeImageINTEL -= -5700u32 -TypeAvcImePayloadINTEL -= -5701u32 -TypeAvcRefPayloadINTEL -= -5702u32 -TypeAvcSicPayloadINTEL -= -5703u32 -TypeAvcMcePayloadINTEL -= -5704u32 -TypeAvcMceResultINTEL -= -5705u32 -TypeAvcImeResultINTEL -= -5706u32 -TypeAvcImeResultSingleReferenceStreamoutINTEL -= -5707u32 -TypeAvcImeResultDualReferenceStreamoutINTEL -= -5708u32 -TypeAvcImeSingleReferenceStreaminINTEL -= -5709u32 -TypeAvcImeDualReferenceStreaminINTEL -= -5710u32 -TypeAvcRefResultINTEL -= -5711u32 -TypeAvcSicResultINTEL -= -5712u32 -SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL -= -5713u32 -SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL -= -5714u32 -SubgroupAvcMceGetDefaultInterShapePenaltyINTEL -= -5715u32 -SubgroupAvcMceSetInterShapePenaltyINTEL -= -5716u32 -SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL -= -5717u32 -SubgroupAvcMceSetInterDirectionPenaltyINTEL -= -5718u32 -SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL -= -5719u32 -SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL -= -5720u32 -SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL -= -5721u32 -SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL -= -5722u32 -SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL +" +SPIR +- +V +operand +kind +: +[ +RayQueryIntersection +] +( +https +: +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_ray_query_intersection_a_ray_query_intersection +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -5723u32 -SubgroupAvcMceSetMotionVectorCostFunctionINTEL +" +serialize +" +derive +( +serde +: +: +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -5724u32 -SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL +" +deserialize +" +derive +( +serde +: +: +Deserialize +) +) +] +# +[ +allow +( +clippy +: +: +upper_case_acronyms +) +] +pub +enum +RayQueryIntersection +{ +RayQueryCandidateIntersectionKHR = -5725u32 -SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL +0u32 +RayQueryCommittedIntersectionKHR = -5726u32 -SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL +1u32 +} +impl +RayQueryIntersection +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. = -5727u32 -SubgroupAvcMceSetAcOnlyHaarINTEL +1u32 = -5728u32 -SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +RayQueryIntersection +> +( +n +) +} +_ = -5729u32 -SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL +> +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +RayQueryIntersection +{ +} +impl +core +: +: +str +: +: +FromStr +for +RayQueryIntersection +{ +type +Err = -5730u32 -SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL +( +) +; +fn +from_str +( +s +: +& +str +) +- +> +Result +< +Self +Self +: +: +Err +> +{ +match +s +{ +" +RayQueryCandidateIntersectionKHR +" = -5731u32 -SubgroupAvcMceConvertToImePayloadINTEL +> +Ok +( +Self +: +: +RayQueryCandidateIntersectionKHR +) +" +RayQueryCommittedIntersectionKHR +" = -5732u32 -SubgroupAvcMceConvertToImeResultINTEL +> +Ok +( +Self +: +: +RayQueryCommittedIntersectionKHR +) +_ = -5733u32 -SubgroupAvcMceConvertToRefPayloadINTEL +> +Err +( +( +) +) +} +} +} +# +[ +doc = -5734u32 -SubgroupAvcMceConvertToRefResultINTEL +" +SPIR +- +V +operand +kind +: +[ +RayQueryCommittedIntersectionType +] +( +https +: +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_ray_query_committed_intersection_type_a_ray_query_committed_intersection_type +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -5735u32 -SubgroupAvcMceConvertToSicPayloadINTEL +" +serialize +" +derive +( +serde +: +: +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -5736u32 -SubgroupAvcMceConvertToSicResultINTEL +" +deserialize +" +derive +( +serde +: +: +Deserialize +) +) +] +# +[ +allow +( +clippy +: +: +upper_case_acronyms +) +] +pub +enum +RayQueryCommittedIntersectionType +{ +RayQueryCommittedIntersectionNoneKHR = -5737u32 -SubgroupAvcMceGetMotionVectorsINTEL +0u32 +RayQueryCommittedIntersectionTriangleKHR = -5738u32 -SubgroupAvcMceGetInterDistortionsINTEL +1u32 +RayQueryCommittedIntersectionGeneratedKHR = -5739u32 -SubgroupAvcMceGetBestInterDistortionsINTEL +2u32 +} +impl +RayQueryCommittedIntersectionType +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. = -5740u32 -SubgroupAvcMceGetInterMajorShapeINTEL +2u32 = -5741u32 -SubgroupAvcMceGetInterMinorShapeINTEL +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +RayQueryCommittedIntersectionType +> +( +n +) +} +_ = -5742u32 -SubgroupAvcMceGetInterDirectionsINTEL +> +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +RayQueryCommittedIntersectionType +{ +} +impl +core +: +: +str +: +: +FromStr +for +RayQueryCommittedIntersectionType +{ +type +Err = -5743u32 -SubgroupAvcMceGetInterMotionVectorCountINTEL +( +) +; +fn +from_str +( +s +: +& +str +) +- +> +Result +< +Self +Self +: +: +Err +> +{ +match +s +{ +" +RayQueryCommittedIntersectionNoneKHR +" = -5744u32 -SubgroupAvcMceGetInterReferenceIdsINTEL +> +{ +Ok +( +Self +: +: +RayQueryCommittedIntersectionNoneKHR +) +} +" +RayQueryCommittedIntersectionTriangleKHR +" = -5745u32 -SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL +> +{ +Ok +( +Self +: +: +RayQueryCommittedIntersectionTriangleKHR +) +} +" +RayQueryCommittedIntersectionGeneratedKHR +" = -5746u32 -SubgroupAvcImeInitializeINTEL +> +{ +Ok +( +Self +: +: +RayQueryCommittedIntersectionGeneratedKHR +) +} +_ = -5747u32 -SubgroupAvcImeSetSingleReferenceINTEL +> +Err +( +( +) +) +} +} +} +# +[ +doc = -5748u32 -SubgroupAvcImeSetDualReferenceINTEL +" +SPIR +- +V +operand +kind +: +[ +RayQueryCandidateIntersectionType +] +( +https +: +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_ray_query_candidate_intersection_type_a_ray_query_candidate_intersection_type +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -5749u32 -SubgroupAvcImeRefWindowSizeINTEL +" +serialize +" +derive +( +serde +: +: +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -5750u32 -SubgroupAvcImeAdjustRefOffsetINTEL +" +deserialize +" +derive +( +serde +: +: +Deserialize +) +) +] +# +[ +allow +( +clippy +: +: +upper_case_acronyms +) +] +pub +enum +RayQueryCandidateIntersectionType +{ +RayQueryCandidateIntersectionTriangleKHR = -5751u32 -SubgroupAvcImeConvertToMcePayloadINTEL +0u32 +RayQueryCandidateIntersectionAABBKHR = -5752u32 -SubgroupAvcImeSetMaxMotionVectorCountINTEL +1u32 +} +impl +RayQueryCandidateIntersectionType +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. = -5753u32 -SubgroupAvcImeSetUnidirectionalMixDisableINTEL +1u32 = -5754u32 -SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +RayQueryCandidateIntersectionType +> +( +n +) +} +_ = -5755u32 -SubgroupAvcImeSetWeightedSadINTEL +> +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +RayQueryCandidateIntersectionType +{ +} +impl +core +: +: +str +: +: +FromStr +for +RayQueryCandidateIntersectionType +{ +type +Err = -5756u32 -SubgroupAvcImeEvaluateWithSingleReferenceINTEL +( +) +; +fn +from_str +( +s +: +& +str +) +- +> +Result +< +Self +Self +: +: +Err +> +{ +match +s +{ +" +RayQueryCandidateIntersectionTriangleKHR +" = -5757u32 -SubgroupAvcImeEvaluateWithDualReferenceINTEL +> +{ +Ok +( +Self +: +: +RayQueryCandidateIntersectionTriangleKHR +) +} +" +RayQueryCandidateIntersectionAABBKHR +" = -5758u32 -SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL +> +{ +Ok +( +Self +: +: +RayQueryCandidateIntersectionAABBKHR +) +} +_ = -5759u32 -SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL +> +Err +( +( +) +) +} +} +} +# +[ +doc = -5760u32 -SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL +" +SPIR +- +V +operand +kind +: +[ +PackedVectorFormat +] +( +https +: +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_packed_vector_format_a_packed_vector_format +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -5761u32 -SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL +" +serialize +" +derive +( +serde +: +: +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -5762u32 -SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL +" +deserialize +" +derive +( +serde +: +: +Deserialize +) +) +] +# +[ +allow +( +clippy +: +: +upper_case_acronyms +) +] +pub +enum +PackedVectorFormat +{ +PackedVectorFormat4x8Bit = -5763u32 -SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL +0u32 +} +impl +PackedVectorFormat +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 = -5764u32 -SubgroupAvcImeConvertToMceResultINTEL +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +PackedVectorFormat +> +( +0u32 +) +} +_ = -5765u32 -SubgroupAvcImeGetSingleReferenceStreaminINTEL +> +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +PackedVectorFormat +{ +pub +const +PackedVectorFormat4x8BitKHR +: +Self = -5766u32 -SubgroupAvcImeGetDualReferenceStreaminINTEL +Self +: +: +PackedVectorFormat4x8Bit +; +} +impl +core +: +: +str +: +: +FromStr +for +PackedVectorFormat +{ +type +Err = -5767u32 -SubgroupAvcImeStripSingleReferenceStreamoutINTEL +( +) +; +fn +from_str +( +s +: +& +str +) +- +> +Result +< +Self +Self +: +: +Err +> +{ +match +s +{ +" +PackedVectorFormat4x8Bit +" = -5768u32 -SubgroupAvcImeStripDualReferenceStreamoutINTEL +> +Ok +( +Self +: +: +PackedVectorFormat4x8Bit +) +" +PackedVectorFormat4x8BitKHR +" = -5769u32 -SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL +> +Ok +( +Self +: +: +PackedVectorFormat4x8Bit +) +_ = -5770u32 -SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL +> +Err +( +( +) +) +} +} +} +bitflags +! +{ +# +[ +doc = -5771u32 -SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL +" +SPIR +- +V +operand +kind +: +[ +CooperativeMatrixOperands +] +( +https +: +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_cooperative_matrix_operands_a_cooperative_matrix_operands +) +" +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +Hash +) +] +# +[ +cfg_attr +( +feature = -5772u32 -SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL +" +serialize +" +derive +( +serde +: +: +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -5773u32 -SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL +" +deserialize +" +derive +( +serde +: +: +Deserialize +) +) +] +pub +struct +CooperativeMatrixOperands +: +u32 +{ +const +NONE_KHR = -5774u32 -SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL +0u32 +; +const +MATRIX_A_SIGNED_COMPONENTS_KHR = -5775u32 -SubgroupAvcImeGetBorderReachedINTEL +1u32 +; +const +MATRIX_B_SIGNED_COMPONENTS_KHR = -5776u32 -SubgroupAvcImeGetTruncatedSearchIndicationINTEL +2u32 +; +const +MATRIX_C_SIGNED_COMPONENTS_KHR = -5777u32 -SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL +4u32 +; +const +MATRIX_RESULT_SIGNED_COMPONENTS_KHR = -5778u32 -SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL +8u32 +; +const +SATURATING_ACCUMULATION_KHR = -5779u32 -SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL +16u32 +; +} +} +# +[ +doc = -5780u32 -SubgroupAvcFmeInitializeINTEL +" +SPIR +- +V +operand +kind +: +[ +CooperativeMatrixLayout +] +( +https +: +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_cooperative_matrix_layout_a_cooperative_matrix_layout +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -5781u32 -SubgroupAvcBmeInitializeINTEL +" +serialize +" +derive +( +serde +: +: +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -5782u32 -SubgroupAvcRefConvertToMcePayloadINTEL +" +deserialize +" +derive +( +serde +: +: +Deserialize +) +) +] +# +[ +allow +( +clippy +: +: +upper_case_acronyms +) +] +pub +enum +CooperativeMatrixLayout +{ +RowMajorKHR = -5783u32 -SubgroupAvcRefSetBidirectionalMixDisableINTEL +0u32 +ColumnMajorKHR = -5784u32 -SubgroupAvcRefSetBilinearFilterEnableINTEL +1u32 +} +impl +CooperativeMatrixLayout +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. = -5785u32 -SubgroupAvcRefEvaluateWithSingleReferenceINTEL +1u32 = -5786u32 -SubgroupAvcRefEvaluateWithDualReferenceINTEL +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +CooperativeMatrixLayout +> +( +n +) +} +_ = -5787u32 -SubgroupAvcRefEvaluateWithMultiReferenceINTEL +> +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +CooperativeMatrixLayout +{ +} +impl +core +: +: +str +: +: +FromStr +for +CooperativeMatrixLayout +{ +type +Err = -5788u32 -SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL +( +) +; +fn +from_str +( +s +: +& +str +) +- +> +Result +< +Self +Self +: +: +Err +> +{ +match +s +{ +" +RowMajorKHR +" = -5789u32 -SubgroupAvcRefConvertToMceResultINTEL +> +Ok +( +Self +: +: +RowMajorKHR +) +" +ColumnMajorKHR +" = -5790u32 -SubgroupAvcSicInitializeINTEL +> +Ok +( +Self +: +: +ColumnMajorKHR +) +_ = -5791u32 -SubgroupAvcSicConfigureSkcINTEL +> +Err +( +( +) +) +} +} +} +# +[ +doc = -5792u32 -SubgroupAvcSicConfigureIpeLumaINTEL +" +SPIR +- +V +operand +kind +: +[ +CooperativeMatrixUse +] +( +https +: +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_cooperative_matrix_use_a_cooperative_matrix_use +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -5793u32 -SubgroupAvcSicConfigureIpeLumaChromaINTEL +" +serialize +" +derive +( +serde +: +: +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -5794u32 -SubgroupAvcSicGetMotionVectorMaskINTEL +" +deserialize +" +derive +( +serde +: +: +Deserialize +) +) +] +# +[ +allow +( +clippy +: +: +upper_case_acronyms +) +] +pub +enum +CooperativeMatrixUse +{ +MatrixAKHR = -5795u32 -SubgroupAvcSicConvertToMcePayloadINTEL +0u32 +MatrixBKHR = -5796u32 -SubgroupAvcSicSetIntraLumaShapePenaltyINTEL +1u32 +MatrixAccumulatorKHR = -5797u32 -SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL +2u32 +} +impl +CooperativeMatrixUse +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. = -5798u32 -SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL +2u32 = -5799u32 -SubgroupAvcSicSetBilinearFilterEnableINTEL +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +CooperativeMatrixUse +> +( +n +) +} +_ = -5800u32 -SubgroupAvcSicSetSkcForwardTransformEnableINTEL +> +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +CooperativeMatrixUse +{ +} +impl +core +: +: +str +: +: +FromStr +for +CooperativeMatrixUse +{ +type +Err = -5801u32 -SubgroupAvcSicSetBlockBasedRawSkipSadINTEL +( +) +; +fn +from_str +( +s +: +& +str +) +- +> +Result +< +Self +Self +: +: +Err +> +{ +match +s +{ +" +MatrixAKHR +" = -5802u32 -SubgroupAvcSicEvaluateIpeINTEL +> +Ok +( +Self +: +: +MatrixAKHR +) +" +MatrixBKHR +" = -5803u32 -SubgroupAvcSicEvaluateWithSingleReferenceINTEL +> +Ok +( +Self +: +: +MatrixBKHR +) +" +MatrixAccumulatorKHR +" = -5804u32 -SubgroupAvcSicEvaluateWithDualReferenceINTEL +> +Ok +( +Self +: +: +MatrixAccumulatorKHR +) +_ = -5805u32 -SubgroupAvcSicEvaluateWithMultiReferenceINTEL +> +Err +( +( +) +) +} +} +} +# +[ +doc = -5806u32 -SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL +" +SPIR +- +V +operand +kind +: +[ +InitializationModeQualifier +] +( +https +: +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_initialization_mode_qualifier_a_initialization_mode_qualifier +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -5807u32 -SubgroupAvcSicConvertToMceResultINTEL +" +serialize +" +derive +( +serde +: +: +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -5808u32 -SubgroupAvcSicGetIpeLumaShapeINTEL +" +deserialize +" +derive +( +serde +: +: +Deserialize +) +) +] +# +[ +allow +( +clippy +: +: +upper_case_acronyms +) +] +pub +enum +InitializationModeQualifier +{ +InitOnDeviceReprogramINTEL = -5809u32 -SubgroupAvcSicGetBestIpeLumaDistortionINTEL +0u32 +InitOnDeviceResetINTEL = -5810u32 -SubgroupAvcSicGetBestIpeChromaDistortionINTEL +1u32 +} +impl +InitializationModeQualifier +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. = -5811u32 -SubgroupAvcSicGetPackedIpeLumaModesINTEL +1u32 = -5812u32 -SubgroupAvcSicGetIpeChromaModeINTEL +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +InitializationModeQualifier +> +( +n +) +} +_ = -5813u32 -SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL +> +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +InitializationModeQualifier +{ +} +impl +core +: +: +str +: +: +FromStr +for +InitializationModeQualifier +{ +type +Err = -5814u32 -SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL +( +) +; +fn +from_str +( +s +: +& +str +) +- +> +Result +< +Self +Self +: +: +Err +> +{ +match +s +{ +" +InitOnDeviceReprogramINTEL +" = -5815u32 -SubgroupAvcSicGetInterRawSadsINTEL +> +Ok +( +Self +: +: +InitOnDeviceReprogramINTEL +) +" +InitOnDeviceResetINTEL +" = -5816u32 -LoopControlINTEL +> +Ok +( +Self +: +: +InitOnDeviceResetINTEL +) +_ = -5887u32 -ReadPipeBlockingINTEL +> +Err +( +( +) +) +} +} +} +# +[ +doc = -5946u32 -WritePipeBlockingINTEL +" +SPIR +- +V +operand +kind +: +[ +LoadCacheControl +] +( +https +: +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_load_cache_control_a_load_cache_control +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -5947u32 -FPGARegINTEL +" +serialize +" +derive +( +serde +: +: +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -5949u32 -RayQueryGetRayTMinKHR +" +deserialize +" +derive +( +serde +: +: +Deserialize +) +) +] +# +[ +allow +( +clippy +: +: +upper_case_acronyms +) +] +pub +enum +LoadCacheControl +{ +UncachedINTEL = -6016u32 -RayQueryGetRayFlagsKHR +0u32 +CachedINTEL = -6017u32 -RayQueryGetIntersectionTKHR +1u32 +StreamingINTEL = -6018u32 -RayQueryGetIntersectionInstanceCustomIndexKHR +2u32 +InvalidateAfterReadINTEL = -6019u32 -RayQueryGetIntersectionInstanceIdKHR +3u32 +ConstCachedINTEL = -6020u32 -RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR +4u32 +} +impl +LoadCacheControl +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. = -6021u32 -RayQueryGetIntersectionGeometryIndexKHR +4u32 = -6022u32 -RayQueryGetIntersectionPrimitiveIndexKHR +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +LoadCacheControl +> +( +n +) +} +_ = -6023u32 -RayQueryGetIntersectionBarycentricsKHR +> +return +None +} +) +} +} +# +[ +allow +( +non_upper_case_globals +) +] +impl +LoadCacheControl +{ +} +impl +core +: +: +str +: +: +FromStr +for +LoadCacheControl +{ +type +Err = -6024u32 -RayQueryGetIntersectionFrontFaceKHR +( +) +; +fn +from_str +( +s +: +& +str +) +- +> +Result +< +Self +Self +: +: +Err +> +{ +match +s +{ +" +UncachedINTEL +" = -6025u32 -RayQueryGetIntersectionCandidateAABBOpaqueKHR +> +Ok +( +Self +: +: +UncachedINTEL +) +" +CachedINTEL +" = -6026u32 -RayQueryGetIntersectionObjectRayDirectionKHR +> +Ok +( +Self +: +: +CachedINTEL +) +" +StreamingINTEL +" = -6027u32 -RayQueryGetIntersectionObjectRayOriginKHR +> +Ok +( +Self +: +: +StreamingINTEL +) +" +InvalidateAfterReadINTEL +" = -6028u32 -RayQueryGetWorldRayDirectionKHR +> +Ok +( +Self +: +: +InvalidateAfterReadINTEL +) +" +ConstCachedINTEL +" = -6029u32 -RayQueryGetWorldRayOriginKHR +> +Ok +( +Self +: +: +ConstCachedINTEL +) +_ = -6030u32 -RayQueryGetIntersectionObjectToWorldKHR +> +Err +( +( +) +) +} +} +} +# +[ +doc = -6031u32 -RayQueryGetIntersectionWorldToObjectKHR +" +SPIR +- +V +operand +kind +: +[ +StoreCacheControl +] +( +https +: +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_store_cache_control_a_store_cache_control +) +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -6032u32 -AtomicFAddEXT +" +serialize +" +derive +( +serde +: +: +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -6035u32 -} +" +deserialize +" +derive +( +serde +: +: +Deserialize +) +) +] # [ allow @@ -23542,7 +28551,82 @@ clippy : upper_case_acronyms ) -] +] +pub +enum +StoreCacheControl +{ +UncachedINTEL += +0u32 +WriteThroughINTEL += +1u32 +WriteBackINTEL += +2u32 +StreamingINTEL += +3u32 +} +impl +StoreCacheControl +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. += +3u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +StoreCacheControl +> +( +n +) +} +_ += +> +return +None +} +) +} +} # [ allow @@ -23551,6825 +28635,5333 @@ non_upper_case_globals ) ] impl -Op +StoreCacheControl { -pub -const -ReportIntersectionKHR -: -Op -= -Op -: -: -ReportIntersectionNV -; -pub -const -TypeAccelerationStructureKHR -: -Op -= -Op -: -: -TypeAccelerationStructureNV -; -pub -const -DecorateStringGOOGLE -: -Op -= -Op -: -: -DecorateString -; -pub -const -MemberDecorateStringGOOGLE -: -Op -= -Op -: -: -MemberDecorateString -; } impl -num_traits +core +: +: +str : : -FromPrimitive +FromStr for -Op +StoreCacheControl { -# -[ -allow +type +Err += ( -trivial_numeric_casts ) -] +; fn -from_i64 +from_str ( -n +s : -i64 +& +str ) - > -Option +Result < Self +Self +: +: +Err > { -Some -( match -n -as -u32 +s { -0u32 +" +UncachedINTEL +" = > -Op +Ok +( +Self : : -Nop -1u32 +UncachedINTEL +) +" +WriteThroughINTEL +" = > -Op +Ok +( +Self : : -Undef -2u32 +WriteThroughINTEL +) +" +WriteBackINTEL +" = > -Op +Ok +( +Self : : -SourceContinued -3u32 +WriteBackINTEL +) +" +StreamingINTEL +" = > -Op +Ok +( +Self : : -Source -4u32 +StreamingINTEL +) +_ = > -Op -: +Err +( +( +) +) +} +} +} +# +[ +doc += +" +SPIR +- +V +[ +instructions +] +( +https : -SourceExtension -5u32 +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +SPIRV +. +html +# +_a_id_instructions_a_instructions +) +opcodes +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -> -Op +" +serialize +" +derive +( +serde : : -Name -6u32 +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -> -Op +" +deserialize +" +derive +( +serde +: +: +Deserialize +) +) +] +# +[ +allow +( +clippy : : +upper_case_acronyms +) +] +pub +enum +Op +{ +Nop += +0u32 +Undef += +1u32 +SourceContinued += +2u32 +Source += +3u32 +SourceExtension += +4u32 +Name += +5u32 MemberName -7u32 = -> -Op -: -: +6u32 String -8u32 = -> -Op -: -: +7u32 Line -10u32 = -> -Op -: -: +8u32 Extension -11u32 = -> -Op -: -: +10u32 ExtInstImport -12u32 = -> -Op -: -: +11u32 ExtInst -14u32 = -> -Op -: -: +12u32 MemoryModel -15u32 = -> -Op -: -: +14u32 EntryPoint -16u32 = -> -Op -: -: +15u32 ExecutionMode -17u32 = -> -Op -: -: +16u32 Capability -19u32 = -> -Op -: -: +17u32 TypeVoid -20u32 = -> -Op -: -: +19u32 TypeBool -21u32 = -> -Op -: -: +20u32 TypeInt -22u32 = -> -Op -: -: +21u32 TypeFloat -23u32 = -> -Op -: -: +22u32 TypeVector -24u32 = -> -Op -: -: +23u32 TypeMatrix -25u32 = -> -Op -: -: +24u32 TypeImage -26u32 = -> -Op -: -: +25u32 TypeSampler -27u32 = -> -Op -: -: +26u32 TypeSampledImage -28u32 = -> -Op -: -: +27u32 TypeArray -29u32 = -> -Op -: -: +28u32 TypeRuntimeArray -30u32 = -> -Op -: -: +29u32 TypeStruct -31u32 = -> -Op -: -: +30u32 TypeOpaque -32u32 = -> -Op -: -: +31u32 TypePointer -33u32 = -> -Op -: -: +32u32 TypeFunction -34u32 = -> -Op -: -: +33u32 TypeEvent -35u32 = -> -Op -: -: +34u32 TypeDeviceEvent -36u32 = -> -Op -: -: +35u32 TypeReserveId -37u32 = -> -Op -: -: +36u32 TypeQueue -38u32 = -> -Op -: -: +37u32 TypePipe -39u32 = -> -Op -: -: +38u32 TypeForwardPointer -41u32 = -> -Op -: -: +39u32 ConstantTrue -42u32 = -> -Op -: -: +41u32 ConstantFalse -43u32 = -> -Op -: -: +42u32 Constant -44u32 = -> -Op -: -: +43u32 ConstantComposite -45u32 = -> -Op -: -: +44u32 ConstantSampler -46u32 = -> -Op -: -: +45u32 ConstantNull -48u32 = -> -Op -: -: +46u32 SpecConstantTrue -49u32 = -> -Op -: -: +48u32 SpecConstantFalse -50u32 = -> -Op -: -: +49u32 SpecConstant -51u32 = -> -Op -: -: +50u32 SpecConstantComposite -52u32 -= -> -Op -: -: -SpecConstantOp -54u32 = -> -Op -: -: +51u32 +SpecConstantOp += +52u32 Function -55u32 = -> -Op -: -: +54u32 FunctionParameter -56u32 = -> -Op -: -: +55u32 FunctionEnd -57u32 = -> -Op -: -: +56u32 FunctionCall -59u32 = -> -Op -: -: +57u32 Variable -60u32 = -> -Op -: -: +59u32 ImageTexelPointer -61u32 = -> -Op -: -: +60u32 Load -62u32 = -> -Op -: -: +61u32 Store -63u32 = -> -Op -: -: +62u32 CopyMemory -64u32 = -> -Op -: -: +63u32 CopyMemorySized -65u32 = -> -Op -: -: +64u32 AccessChain -66u32 = -> -Op -: -: +65u32 InBoundsAccessChain -67u32 = -> -Op -: -: +66u32 PtrAccessChain -68u32 = -> -Op -: -: +67u32 ArrayLength -69u32 = -> -Op -: -: +68u32 GenericPtrMemSemantics -70u32 = -> -Op -: -: +69u32 InBoundsPtrAccessChain -71u32 = -> -Op -: -: +70u32 Decorate -72u32 = -> -Op -: -: +71u32 MemberDecorate -73u32 = -> -Op -: -: +72u32 DecorationGroup -74u32 = -> -Op -: -: +73u32 GroupDecorate -75u32 = -> -Op -: -: +74u32 GroupMemberDecorate -77u32 = -> -Op -: -: +75u32 VectorExtractDynamic -78u32 = -> -Op -: -: +77u32 VectorInsertDynamic -79u32 = -> -Op -: -: +78u32 VectorShuffle -80u32 = -> -Op -: -: +79u32 CompositeConstruct -81u32 = -> -Op -: -: +80u32 CompositeExtract -82u32 = -> -Op -: -: +81u32 CompositeInsert -83u32 = -> -Op -: -: +82u32 CopyObject -84u32 = -> -Op -: -: +83u32 Transpose -86u32 = -> -Op -: -: +84u32 SampledImage -87u32 = -> -Op -: -: +86u32 ImageSampleImplicitLod -88u32 = -> -Op -: -: +87u32 ImageSampleExplicitLod -89u32 = -> -Op -: -: +88u32 ImageSampleDrefImplicitLod -90u32 = -> -Op -: -: +89u32 ImageSampleDrefExplicitLod -91u32 = -> -Op -: -: +90u32 ImageSampleProjImplicitLod -92u32 = -> -Op -: -: +91u32 ImageSampleProjExplicitLod -93u32 = -> -Op -: -: +92u32 ImageSampleProjDrefImplicitLod -94u32 = -> -Op -: -: +93u32 ImageSampleProjDrefExplicitLod -95u32 = -> -Op -: -: +94u32 ImageFetch -96u32 = -> -Op -: -: +95u32 ImageGather -97u32 = -> -Op -: -: +96u32 ImageDrefGather -98u32 -= -> -Op -: -: -ImageRead -99u32 = -> -Op -: -: +97u32 +ImageRead += +98u32 ImageWrite -100u32 = -> -Op -: -: +99u32 Image -101u32 = -> -Op -: -: +100u32 ImageQueryFormat -102u32 = -> -Op -: -: +101u32 ImageQueryOrder -103u32 = -> -Op -: -: +102u32 ImageQuerySizeLod -104u32 = -> -Op -: -: +103u32 ImageQuerySize -105u32 = -> -Op -: -: +104u32 ImageQueryLod -106u32 = -> -Op -: -: +105u32 ImageQueryLevels -107u32 = -> -Op -: -: +106u32 ImageQuerySamples -109u32 = -> -Op -: -: +107u32 ConvertFToU -110u32 = -> -Op -: -: +109u32 ConvertFToS -111u32 = -> -Op -: -: +110u32 ConvertSToF -112u32 = -> -Op -: -: +111u32 ConvertUToF -113u32 = -> -Op -: -: +112u32 UConvert -114u32 = -> -Op -: -: +113u32 SConvert -115u32 = -> -Op -: -: +114u32 FConvert -116u32 = -> -Op -: -: +115u32 QuantizeToF16 -117u32 = -> -Op -: -: +116u32 ConvertPtrToU -118u32 = -> -Op -: -: +117u32 SatConvertSToU -119u32 = -> -Op -: -: +118u32 SatConvertUToS -120u32 = -> -Op -: -: +119u32 ConvertUToPtr -121u32 = -> -Op -: -: +120u32 PtrCastToGeneric -122u32 = -> -Op -: -: +121u32 GenericCastToPtr -123u32 = -> -Op -: -: +122u32 GenericCastToPtrExplicit -124u32 = -> -Op -: -: +123u32 Bitcast -126u32 = -> -Op -: -: +124u32 SNegate -127u32 = -> -Op -: -: +126u32 FNegate -128u32 = -> -Op -: -: +127u32 IAdd -129u32 = -> -Op -: -: +128u32 FAdd -130u32 = -> -Op -: -: +129u32 ISub -131u32 = -> -Op -: -: +130u32 FSub -132u32 = -> -Op -: -: +131u32 IMul -133u32 = -> -Op -: -: +132u32 FMul -134u32 = -> -Op -: -: +133u32 UDiv -135u32 = -> -Op -: -: +134u32 SDiv -136u32 = -> -Op -: -: +135u32 FDiv -137u32 = -> -Op -: -: +136u32 UMod -138u32 = -> -Op -: -: +137u32 SRem -139u32 = -> -Op -: -: +138u32 SMod -140u32 = -> -Op -: -: +139u32 FRem -141u32 = -> -Op -: -: +140u32 FMod -142u32 -= -> -Op -: -: -VectorTimesScalar -143u32 = -> -Op -: -: +141u32 +VectorTimesScalar += +142u32 MatrixTimesScalar -144u32 = -> -Op -: -: +143u32 VectorTimesMatrix -145u32 = -> -Op -: -: +144u32 MatrixTimesVector -146u32 = -> -Op -: -: +145u32 MatrixTimesMatrix -147u32 = -> -Op -: -: +146u32 OuterProduct -148u32 = -> -Op -: -: +147u32 Dot -149u32 = -> -Op -: -: +148u32 IAddCarry -150u32 = -> -Op -: -: +149u32 ISubBorrow -151u32 = -> -Op -: -: +150u32 UMulExtended -152u32 = -> -Op -: -: +151u32 SMulExtended -154u32 = -> -Op -: -: +152u32 Any -155u32 = -> -Op -: -: +154u32 All -156u32 = -> -Op -: -: +155u32 IsNan -157u32 = -> -Op -: -: +156u32 IsInf -158u32 = -> -Op -: -: +157u32 IsFinite -159u32 = -> -Op -: -: +158u32 IsNormal -160u32 = -> -Op -: -: +159u32 SignBitSet -161u32 = -> -Op -: -: +160u32 LessOrGreater -162u32 = -> -Op -: -: +161u32 Ordered -163u32 = -> -Op -: -: +162u32 Unordered -164u32 = -> -Op -: -: +163u32 LogicalEqual -165u32 = -> -Op -: -: +164u32 LogicalNotEqual -166u32 = -> -Op -: -: +165u32 LogicalOr -167u32 = -> -Op -: -: +166u32 LogicalAnd -168u32 = -> -Op -: -: +167u32 LogicalNot -169u32 = -> -Op -: -: +168u32 Select -170u32 = -> -Op -: -: +169u32 IEqual -171u32 = -> -Op -: -: +170u32 INotEqual -172u32 = -> -Op -: -: +171u32 UGreaterThan -173u32 = -> -Op -: -: +172u32 SGreaterThan -174u32 = -> -Op -: -: +173u32 UGreaterThanEqual -175u32 = -> -Op -: -: +174u32 SGreaterThanEqual -176u32 = -> -Op -: -: +175u32 ULessThan -177u32 = -> -Op -: -: +176u32 SLessThan -178u32 = -> -Op -: -: +177u32 ULessThanEqual -179u32 = -> -Op -: -: +178u32 SLessThanEqual -180u32 = -> -Op -: -: +179u32 FOrdEqual -181u32 = -> -Op -: -: +180u32 FUnordEqual -182u32 = -> -Op -: -: +181u32 FOrdNotEqual -183u32 = -> -Op -: -: +182u32 FUnordNotEqual -184u32 = -> -Op -: -: +183u32 FOrdLessThan -185u32 -= -> -Op -: -: -FUnordLessThan -186u32 = -> -Op -: -: +184u32 +FUnordLessThan += +185u32 FOrdGreaterThan -187u32 = -> -Op -: -: +186u32 FUnordGreaterThan -188u32 = -> -Op -: -: +187u32 FOrdLessThanEqual -189u32 = -> -Op -: -: +188u32 FUnordLessThanEqual -190u32 = -> -Op -: -: +189u32 FOrdGreaterThanEqual -191u32 = -> -Op -: -: +190u32 FUnordGreaterThanEqual -194u32 = -> -Op -: -: +191u32 ShiftRightLogical -195u32 = -> -Op -: -: +194u32 ShiftRightArithmetic -196u32 = -> -Op -: -: +195u32 ShiftLeftLogical -197u32 = -> -Op -: -: +196u32 BitwiseOr -198u32 = -> -Op -: -: +197u32 BitwiseXor -199u32 = -> -Op -: -: +198u32 BitwiseAnd -200u32 = -> -Op -: -: +199u32 Not -201u32 = -> -Op -: -: +200u32 BitFieldInsert -202u32 = -> -Op -: -: +201u32 BitFieldSExtract -203u32 = -> -Op -: -: +202u32 BitFieldUExtract -204u32 = -> -Op -: -: +203u32 BitReverse -205u32 = -> -Op -: -: +204u32 BitCount -207u32 = -> -Op -: -: +205u32 DPdx -208u32 = -> -Op -: -: +207u32 DPdy -209u32 = -> -Op -: -: +208u32 Fwidth -210u32 = -> -Op -: -: +209u32 DPdxFine -211u32 = -> -Op -: -: +210u32 DPdyFine -212u32 = -> -Op -: -: +211u32 FwidthFine -213u32 = -> -Op -: -: +212u32 DPdxCoarse -214u32 = -> -Op -: -: +213u32 DPdyCoarse -215u32 = -> -Op -: -: +214u32 FwidthCoarse -218u32 = -> -Op -: -: +215u32 EmitVertex -219u32 = -> -Op -: -: +218u32 EndPrimitive -220u32 = -> -Op -: -: +219u32 EmitStreamVertex -221u32 = -> -Op -: -: +220u32 EndStreamPrimitive -224u32 = -> -Op -: -: +221u32 ControlBarrier -225u32 = -> -Op -: -: +224u32 MemoryBarrier -227u32 = -> -Op -: -: +225u32 AtomicLoad -228u32 = -> -Op -: -: +227u32 AtomicStore -229u32 = -> -Op -: -: +228u32 AtomicExchange -230u32 = -> -Op -: -: +229u32 AtomicCompareExchange -231u32 = -> -Op -: -: +230u32 AtomicCompareExchangeWeak -232u32 = -> -Op -: -: +231u32 AtomicIIncrement -233u32 = -> -Op -: -: +232u32 AtomicIDecrement -234u32 = -> -Op -: -: +233u32 AtomicIAdd -235u32 -= -> -Op -: -: -AtomicISub -236u32 = -> -Op -: -: +234u32 +AtomicISub += +235u32 AtomicSMin -237u32 = -> -Op -: -: +236u32 AtomicUMin -238u32 = -> -Op -: -: +237u32 AtomicSMax -239u32 = -> -Op -: -: +238u32 AtomicUMax -240u32 = -> -Op -: -: +239u32 AtomicAnd -241u32 = -> -Op -: -: +240u32 AtomicOr -242u32 = -> -Op -: -: +241u32 AtomicXor -245u32 = -> -Op -: -: +242u32 Phi -246u32 = -> -Op -: -: +245u32 LoopMerge -247u32 = -> -Op -: -: +246u32 SelectionMerge -248u32 = -> -Op -: -: +247u32 Label -249u32 = -> -Op -: -: +248u32 Branch -250u32 = -> -Op -: -: +249u32 BranchConditional -251u32 = -> -Op -: -: +250u32 Switch -252u32 = -> -Op -: -: +251u32 Kill -253u32 = -> -Op -: -: +252u32 Return -254u32 = -> -Op -: -: +253u32 ReturnValue -255u32 = -> -Op -: -: +254u32 Unreachable -256u32 = -> -Op -: -: +255u32 LifetimeStart -257u32 = -> -Op -: -: +256u32 LifetimeStop -259u32 = -> -Op -: -: +257u32 GroupAsyncCopy -260u32 = -> -Op -: -: +259u32 GroupWaitEvents -261u32 = -> -Op -: -: +260u32 GroupAll -262u32 = -> -Op -: -: +261u32 GroupAny -263u32 = -> -Op -: -: +262u32 GroupBroadcast -264u32 = -> -Op -: -: +263u32 GroupIAdd -265u32 = -> -Op -: -: +264u32 GroupFAdd -266u32 = -> -Op -: -: +265u32 GroupFMin -267u32 = -> -Op -: -: +266u32 GroupUMin -268u32 = -> -Op -: -: +267u32 GroupSMin -269u32 = -> -Op -: -: +268u32 GroupFMax -270u32 = -> -Op -: -: +269u32 GroupUMax -271u32 = -> -Op -: -: +270u32 GroupSMax -274u32 = -> -Op -: -: +271u32 ReadPipe -275u32 = -> -Op -: -: +274u32 WritePipe -276u32 = -> -Op -: -: +275u32 ReservedReadPipe -277u32 = -> -Op -: -: +276u32 ReservedWritePipe -278u32 = -> -Op -: -: +277u32 ReserveReadPipePackets -279u32 = -> -Op -: -: +278u32 ReserveWritePipePackets -280u32 = -> -Op -: -: +279u32 CommitReadPipe -281u32 = -> -Op -: -: +280u32 CommitWritePipe -282u32 -= -> -Op -: -: -IsValidReserveId -283u32 = -> -Op -: -: +281u32 +IsValidReserveId += +282u32 GetNumPipePackets -284u32 = -> -Op -: -: +283u32 GetMaxPipePackets -285u32 = -> -Op -: -: +284u32 GroupReserveReadPipePackets -286u32 = -> -Op -: -: +285u32 GroupReserveWritePipePackets -287u32 = -> -Op -: -: +286u32 GroupCommitReadPipe -288u32 = -> -Op -: -: +287u32 GroupCommitWritePipe -291u32 = -> -Op -: -: +288u32 EnqueueMarker -292u32 = -> -Op -: -: +291u32 EnqueueKernel -293u32 = -> -Op -: -: +292u32 GetKernelNDrangeSubGroupCount -294u32 = -> -Op -: -: +293u32 GetKernelNDrangeMaxSubGroupSize -295u32 = -> -Op -: -: +294u32 GetKernelWorkGroupSize -296u32 = -> -Op -: -: +295u32 GetKernelPreferredWorkGroupSizeMultiple -297u32 = -> -Op -: -: +296u32 RetainEvent -298u32 = -> -Op -: -: +297u32 ReleaseEvent -299u32 = -> -Op -: -: +298u32 CreateUserEvent -300u32 = -> -Op -: -: +299u32 IsValidEvent -301u32 = -> -Op -: -: +300u32 SetUserEventStatus -302u32 = -> -Op -: -: +301u32 CaptureEventProfilingInfo -303u32 = -> -Op -: -: +302u32 GetDefaultQueue -304u32 = -> -Op -: -: +303u32 BuildNDRange -305u32 = -> -Op -: -: +304u32 ImageSparseSampleImplicitLod -306u32 = -> -Op -: -: +305u32 ImageSparseSampleExplicitLod -307u32 = -> -Op -: -: +306u32 ImageSparseSampleDrefImplicitLod -308u32 = -> -Op -: -: +307u32 ImageSparseSampleDrefExplicitLod -309u32 = -> -Op -: -: +308u32 ImageSparseSampleProjImplicitLod -310u32 = -> -Op -: -: +309u32 ImageSparseSampleProjExplicitLod -311u32 = -> -Op -: -: +310u32 ImageSparseSampleProjDrefImplicitLod -312u32 = -> -Op -: -: +311u32 ImageSparseSampleProjDrefExplicitLod -313u32 = -> -Op -: -: +312u32 ImageSparseFetch -314u32 = -> -Op -: -: +313u32 ImageSparseGather -315u32 = -> -Op -: -: +314u32 ImageSparseDrefGather -316u32 = -> -Op -: -: +315u32 ImageSparseTexelsResident -317u32 = -> -Op -: -: +316u32 NoLine -318u32 = -> -Op -: -: +317u32 AtomicFlagTestAndSet -319u32 = -> -Op -: -: +318u32 AtomicFlagClear -320u32 = -> -Op -: -: +319u32 ImageSparseRead -321u32 = -> -Op -: -: +320u32 SizeOf -322u32 = -> -Op -: -: +321u32 TypePipeStorage -323u32 = -> -Op -: -: +322u32 ConstantPipeStorage -324u32 = -> -Op -: -: +323u32 CreatePipeFromPipeStorage -325u32 = -> -Op -: -: +324u32 GetKernelLocalSizeForSubgroupCount -326u32 -= -> -Op -: -: -GetKernelMaxNumSubgroups -327u32 = -> -Op -: -: +325u32 +GetKernelMaxNumSubgroups += +326u32 TypeNamedBarrier -328u32 = -> -Op -: -: +327u32 NamedBarrierInitialize -329u32 = -> -Op -: -: +328u32 MemoryNamedBarrier -330u32 = -> -Op -: -: +329u32 ModuleProcessed -331u32 = -> -Op -: -: +330u32 ExecutionModeId -332u32 = -> -Op -: -: +331u32 DecorateId -333u32 = -> -Op -: -: +332u32 GroupNonUniformElect -334u32 = -> -Op -: -: +333u32 GroupNonUniformAll -335u32 = -> -Op -: -: +334u32 GroupNonUniformAny -336u32 = -> -Op -: -: +335u32 GroupNonUniformAllEqual -337u32 = -> -Op -: -: +336u32 GroupNonUniformBroadcast -338u32 = -> -Op -: -: +337u32 GroupNonUniformBroadcastFirst -339u32 = -> -Op -: -: +338u32 GroupNonUniformBallot -340u32 = -> -Op -: -: +339u32 GroupNonUniformInverseBallot -341u32 = -> -Op -: -: +340u32 GroupNonUniformBallotBitExtract -342u32 = -> -Op -: -: +341u32 GroupNonUniformBallotBitCount -343u32 = -> -Op -: -: +342u32 GroupNonUniformBallotFindLSB -344u32 = -> -Op -: -: +343u32 GroupNonUniformBallotFindMSB -345u32 = -> -Op -: -: +344u32 GroupNonUniformShuffle -346u32 = -> -Op -: -: +345u32 GroupNonUniformShuffleXor -347u32 = -> -Op -: -: +346u32 GroupNonUniformShuffleUp -348u32 = -> -Op -: -: +347u32 GroupNonUniformShuffleDown -349u32 = -> -Op -: -: +348u32 GroupNonUniformIAdd -350u32 = -> -Op -: -: +349u32 GroupNonUniformFAdd -351u32 = -> -Op -: -: +350u32 GroupNonUniformIMul -352u32 = -> -Op -: -: +351u32 GroupNonUniformFMul -353u32 = -> -Op -: -: +352u32 GroupNonUniformSMin -354u32 = -> -Op -: -: +353u32 GroupNonUniformUMin -355u32 = -> -Op -: -: +354u32 GroupNonUniformFMin -356u32 = -> -Op -: -: +355u32 GroupNonUniformSMax -357u32 = -> -Op -: -: +356u32 GroupNonUniformUMax -358u32 = -> -Op -: -: +357u32 GroupNonUniformFMax -359u32 = -> -Op -: -: +358u32 GroupNonUniformBitwiseAnd -360u32 = -> -Op -: -: +359u32 GroupNonUniformBitwiseOr -361u32 = -> -Op -: -: +360u32 GroupNonUniformBitwiseXor -362u32 = -> -Op -: -: +361u32 GroupNonUniformLogicalAnd -363u32 = -> -Op -: -: +362u32 GroupNonUniformLogicalOr -364u32 = -> -Op -: -: +363u32 GroupNonUniformLogicalXor -365u32 = -> -Op -: -: +364u32 GroupNonUniformQuadBroadcast -366u32 = -> -Op -: -: +365u32 GroupNonUniformQuadSwap -400u32 = -> -Op -: -: +366u32 CopyLogical -401u32 = -> -Op -: -: +400u32 PtrEqual -402u32 = -> -Op -: -: +401u32 PtrNotEqual -403u32 = -> -Op -: -: +402u32 PtrDiff -4416u32 = -> -Op -: -: +403u32 +ColorAttachmentReadEXT += +4160u32 +DepthAttachmentReadEXT += +4161u32 +StencilAttachmentReadEXT += +4162u32 TerminateInvocation -4421u32 = -> -Op -: -: +4416u32 SubgroupBallotKHR -4422u32 = -> -Op -: -: +4421u32 SubgroupFirstInvocationKHR -4428u32 = -> -Op -: -: +4422u32 SubgroupAllKHR -4429u32 = -> -Op -: -: +4428u32 SubgroupAnyKHR -4430u32 = -> -Op -: -: +4429u32 SubgroupAllEqualKHR -4432u32 = -> -Op -: -: +4430u32 +GroupNonUniformRotateKHR += +4431u32 SubgroupReadInvocationKHR -4445u32 = -> -Op -: -: +4432u32 TraceRayKHR -4446u32 = -> -Op -: -: +4445u32 ExecuteCallableKHR -4447u32 = -> -Op -: -: +4446u32 ConvertUToAccelerationStructureKHR -4448u32 = -> -Op -: -: +4447u32 IgnoreIntersectionKHR -4449u32 = -> -Op -: -: +4448u32 TerminateRayKHR -4472u32 = -> -Op -: -: +4449u32 +SDot += +4450u32 +UDot += +4451u32 +SUDot += +4452u32 +SDotAccSat += +4453u32 +UDotAccSat += +4454u32 +SUDotAccSat += +4455u32 +TypeCooperativeMatrixKHR += +4456u32 +CooperativeMatrixLoadKHR += +4457u32 +CooperativeMatrixStoreKHR += +4458u32 +CooperativeMatrixMulAddKHR += +4459u32 +CooperativeMatrixLengthKHR += +4460u32 TypeRayQueryKHR -4473u32 = -> -Op -: -: +4472u32 RayQueryInitializeKHR -4474u32 = -> -Op -: -: +4473u32 RayQueryTerminateKHR -4475u32 = -> -Op -: -: +4474u32 RayQueryGenerateIntersectionKHR -4476u32 = -> -Op -: -: +4475u32 RayQueryConfirmIntersectionKHR -4477u32 = -> -Op -: -: +4476u32 RayQueryProceedKHR -4479u32 = -> -Op -: -: +4477u32 RayQueryGetIntersectionTypeKHR -5000u32 = -> -Op -: -: +4479u32 +ImageSampleWeightedQCOM += +4480u32 +ImageBoxFilterQCOM += +4481u32 +ImageBlockMatchSSDQCOM += +4482u32 +ImageBlockMatchSADQCOM += +4483u32 GroupIAddNonUniformAMD -5001u32 = -> -Op -: -: +5000u32 GroupFAddNonUniformAMD -5002u32 = -> -Op -: -: +5001u32 GroupFMinNonUniformAMD -5003u32 = -> -Op -: -: +5002u32 GroupUMinNonUniformAMD -5004u32 = -> -Op -: -: +5003u32 GroupSMinNonUniformAMD -5005u32 = -> -Op -: -: +5004u32 GroupFMaxNonUniformAMD -5006u32 = -> -Op -: -: +5005u32 GroupUMaxNonUniformAMD += +5006u32 +GroupSMaxNonUniformAMD += 5007u32 +FragmentMaskFetchAMD += +5011u32 +FragmentFetchAMD += +5012u32 +ReadClockKHR += +5056u32 +FinalizeNodePayloadsAMDX += +5075u32 +FinishWritingNodePayloadAMDX += +5078u32 +InitializeNodePayloadsAMDX += +5090u32 +HitObjectRecordHitMotionNV += +5249u32 +HitObjectRecordHitWithIndexMotionNV += +5250u32 +HitObjectRecordMissMotionNV += +5251u32 +HitObjectGetWorldToObjectNV += +5252u32 +HitObjectGetObjectToWorldNV += +5253u32 +HitObjectGetObjectRayDirectionNV += +5254u32 +HitObjectGetObjectRayOriginNV += +5255u32 +HitObjectTraceRayMotionNV += +5256u32 +HitObjectGetShaderRecordBufferHandleNV += +5257u32 +HitObjectGetShaderBindingTableRecordIndexNV += +5258u32 +HitObjectRecordEmptyNV += +5259u32 +HitObjectTraceRayNV += +5260u32 +HitObjectRecordHitNV += +5261u32 +HitObjectRecordHitWithIndexNV += +5262u32 +HitObjectRecordMissNV += +5263u32 +HitObjectExecuteShaderNV += +5264u32 +HitObjectGetCurrentTimeNV += +5265u32 +HitObjectGetAttributesNV += +5266u32 +HitObjectGetHitKindNV += +5267u32 +HitObjectGetPrimitiveIndexNV += +5268u32 +HitObjectGetGeometryIndexNV += +5269u32 +HitObjectGetInstanceIdNV += +5270u32 +HitObjectGetInstanceCustomIndexNV += +5271u32 +HitObjectGetWorldRayDirectionNV += +5272u32 +HitObjectGetWorldRayOriginNV += +5273u32 +HitObjectGetRayTMaxNV += +5274u32 +HitObjectGetRayTMinNV += +5275u32 +HitObjectIsEmptyNV += +5276u32 +HitObjectIsHitNV += +5277u32 +HitObjectIsMissNV = -> -Op -: -: -GroupSMaxNonUniformAMD -5011u32 +5278u32 +ReorderThreadWithHitObjectNV = -> -Op -: -: -FragmentMaskFetchAMD -5012u32 +5279u32 +ReorderThreadWithHintNV = -> -Op -: -: -FragmentFetchAMD -5056u32 +5280u32 +TypeHitObjectNV += +5281u32 +ImageSampleFootprintNV = -> -Op -: -: -ReadClockKHR 5283u32 +EmitMeshTasksEXT = -> -Op -: -: -ImageSampleFootprintNV -5296u32 +5294u32 +SetMeshOutputsEXT = -> -Op -: -: +5295u32 GroupNonUniformPartitionNV -5299u32 = -> -Op -: -: +5296u32 WritePackedPrimitiveIndices4x8NV += +5299u32 +FetchMicroTriangleVertexPositionNV += +5300u32 +FetchMicroTriangleVertexBarycentricNV += +5301u32 +ReportIntersectionKHR += 5334u32 +IgnoreIntersectionNV = -> -Op -: -: -ReportIntersectionNV 5335u32 +TerminateRayNV = -> -Op -: -: -IgnoreIntersectionNV 5336u32 +TraceNV = -> -Op -: -: -TerminateRayNV 5337u32 +TraceMotionNV += +5338u32 +TraceRayMotionNV += +5339u32 +RayQueryGetIntersectionTriangleVertexPositionsKHR += +5340u32 +TypeAccelerationStructureKHR = -> -Op -: -: -TraceNV 5341u32 +ExecuteCallableNV = -> -Op -: -: -TypeAccelerationStructureNV 5344u32 +TypeCooperativeMatrixNV = -> -Op -: -: -ExecuteCallableNV 5358u32 +CooperativeMatrixLoadNV = -> -Op -: -: -TypeCooperativeMatrixNV 5359u32 +CooperativeMatrixStoreNV = -> -Op -: -: -CooperativeMatrixLoadNV 5360u32 +CooperativeMatrixMulAddNV = -> -Op -: -: -CooperativeMatrixStoreNV 5361u32 +CooperativeMatrixLengthNV = -> -Op -: -: -CooperativeMatrixMulAddNV 5362u32 +BeginInvocationInterlockEXT = -> -Op -: -: -CooperativeMatrixLengthNV 5364u32 +EndInvocationInterlockEXT = -> -Op -: -: -BeginInvocationInterlockEXT 5365u32 +DemoteToHelperInvocation = -> -Op -: -: -EndInvocationInterlockEXT 5380u32 +IsHelperInvocationEXT = -> -Op -: -: -DemoteToHelperInvocationEXT 5381u32 +ConvertUToImageNV = -> -Op -: -: -IsHelperInvocationEXT -5571u32 +5391u32 +ConvertUToSamplerNV = -> -Op -: -: +5392u32 +ConvertImageToUNV += +5393u32 +ConvertSamplerToUNV += +5394u32 +ConvertUToSampledImageNV += +5395u32 +ConvertSampledImageToUNV += +5396u32 +SamplerImageAddressingModeNV += +5397u32 SubgroupShuffleINTEL -5572u32 = -> -Op -: -: +5571u32 SubgroupShuffleDownINTEL -5573u32 = -> -Op -: -: +5572u32 SubgroupShuffleUpINTEL -5574u32 = -> -Op -: -: +5573u32 SubgroupShuffleXorINTEL -5575u32 = -> -Op -: -: +5574u32 SubgroupBlockReadINTEL -5576u32 = -> -Op -: -: +5575u32 SubgroupBlockWriteINTEL -5577u32 = -> -Op -: -: +5576u32 SubgroupImageBlockReadINTEL -5578u32 = -> -Op -: -: +5577u32 SubgroupImageBlockWriteINTEL -5580u32 = -> -Op -: -: +5578u32 SubgroupImageMediaBlockReadINTEL -5581u32 = -> -Op -: -: +5580u32 SubgroupImageMediaBlockWriteINTEL -5585u32 = -> -Op -: -: +5581u32 UCountLeadingZerosINTEL -5586u32 = -> -Op -: -: +5585u32 UCountTrailingZerosINTEL -5587u32 = -> -Op -: -: +5586u32 AbsISubINTEL -5588u32 = -> -Op -: -: +5587u32 AbsUSubINTEL -5589u32 = -> -Op -: -: +5588u32 IAddSatINTEL -5590u32 = -> -Op -: -: +5589u32 UAddSatINTEL -5591u32 = -> -Op -: -: +5590u32 IAverageINTEL += +5591u32 +UAverageINTEL += 5592u32 +IAverageRoundedINTEL = -> -Op -: -: -UAverageINTEL 5593u32 +UAverageRoundedINTEL = -> -Op -: -: -IAverageRoundedINTEL 5594u32 +ISubSatINTEL = -> -Op -: -: -UAverageRoundedINTEL 5595u32 +USubSatINTEL = -> -Op -: -: -ISubSatINTEL 5596u32 +IMul32x16INTEL = -> -Op -: -: -USubSatINTEL 5597u32 +UMul32x16INTEL = -> -Op -: -: -IMul32x16INTEL 5598u32 +ConstantFunctionPointerINTEL = -> -Op -: -: -UMul32x16INTEL 5600u32 +FunctionPointerCallINTEL = -> -Op -: -: -FunctionPointerINTEL 5601u32 +AsmTargetINTEL = -> -Op -: -: -FunctionPointerCallINTEL -5632u32 +5609u32 +AsmINTEL = -> -Op -: -: +5610u32 +AsmCallINTEL += +5611u32 +AtomicFMinEXT += +5614u32 +AtomicFMaxEXT += +5615u32 +AssumeTrueKHR += +5630u32 +ExpectKHR += +5631u32 DecorateString -5633u32 = -> -Op -: -: +5632u32 MemberDecorateString -5699u32 = -> -Op -: -: +5633u32 VmeImageINTEL -5700u32 = -> -Op -: -: +5699u32 TypeVmeImageINTEL -5701u32 = -> -Op -: -: +5700u32 TypeAvcImePayloadINTEL -5702u32 = -> -Op -: -: +5701u32 TypeAvcRefPayloadINTEL -5703u32 = -> -Op -: -: +5702u32 TypeAvcSicPayloadINTEL -5704u32 = -> -Op -: -: +5703u32 TypeAvcMcePayloadINTEL -5705u32 = -> -Op -: -: +5704u32 TypeAvcMceResultINTEL -5706u32 = -> -Op -: -: +5705u32 TypeAvcImeResultINTEL -5707u32 = -> -Op -: -: +5706u32 TypeAvcImeResultSingleReferenceStreamoutINTEL -5708u32 = -> -Op -: -: +5707u32 TypeAvcImeResultDualReferenceStreamoutINTEL -5709u32 = -> -Op -: -: +5708u32 TypeAvcImeSingleReferenceStreaminINTEL -5710u32 = -> -Op -: -: +5709u32 TypeAvcImeDualReferenceStreaminINTEL -5711u32 = -> -Op -: -: +5710u32 TypeAvcRefResultINTEL -5712u32 = -> -Op -: -: +5711u32 TypeAvcSicResultINTEL -5713u32 = -> -Op -: -: +5712u32 SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL -5714u32 = -> -Op -: -: +5713u32 SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL -5715u32 = -> -Op -: -: +5714u32 SubgroupAvcMceGetDefaultInterShapePenaltyINTEL -5716u32 = -> -Op -: -: +5715u32 SubgroupAvcMceSetInterShapePenaltyINTEL -5717u32 = -> -Op -: -: +5716u32 SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL -5718u32 = -> -Op -: -: +5717u32 SubgroupAvcMceSetInterDirectionPenaltyINTEL -5719u32 = -> -Op -: -: +5718u32 SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL -5720u32 = -> -Op -: -: +5719u32 SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL -5721u32 = -> -Op -: -: +5720u32 SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL -5722u32 = -> -Op -: -: +5721u32 SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL -5723u32 = -> -Op -: -: +5722u32 SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL -5724u32 = -> -Op -: -: +5723u32 SubgroupAvcMceSetMotionVectorCostFunctionINTEL -5725u32 = -> -Op -: -: +5724u32 SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL -5726u32 = -> -Op -: -: +5725u32 SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL -5727u32 = -> -Op -: -: +5726u32 SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL -5728u32 -= -> -Op -: -: -SubgroupAvcMceSetAcOnlyHaarINTEL -5729u32 = -> -Op -: -: +5727u32 +SubgroupAvcMceSetAcOnlyHaarINTEL += +5728u32 SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL -5730u32 = -> -Op -: -: +5729u32 SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL -5731u32 = -> -Op -: -: +5730u32 SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL -5732u32 = -> -Op -: -: +5731u32 SubgroupAvcMceConvertToImePayloadINTEL -5733u32 = -> -Op -: -: +5732u32 SubgroupAvcMceConvertToImeResultINTEL -5734u32 = -> -Op -: -: +5733u32 SubgroupAvcMceConvertToRefPayloadINTEL -5735u32 = -> -Op -: -: +5734u32 SubgroupAvcMceConvertToRefResultINTEL -5736u32 = -> -Op -: -: +5735u32 SubgroupAvcMceConvertToSicPayloadINTEL -5737u32 = -> -Op -: -: +5736u32 SubgroupAvcMceConvertToSicResultINTEL -5738u32 = -> -Op -: -: +5737u32 SubgroupAvcMceGetMotionVectorsINTEL -5739u32 = -> -Op -: -: +5738u32 SubgroupAvcMceGetInterDistortionsINTEL -5740u32 = -> -Op -: -: +5739u32 SubgroupAvcMceGetBestInterDistortionsINTEL -5741u32 = -> -Op -: -: +5740u32 SubgroupAvcMceGetInterMajorShapeINTEL -5742u32 = -> -Op -: -: +5741u32 SubgroupAvcMceGetInterMinorShapeINTEL -5743u32 = -> -Op -: -: +5742u32 SubgroupAvcMceGetInterDirectionsINTEL -5744u32 = -> -Op -: -: +5743u32 SubgroupAvcMceGetInterMotionVectorCountINTEL -5745u32 = -> -Op -: -: +5744u32 SubgroupAvcMceGetInterReferenceIdsINTEL -5746u32 = -> -Op -: -: +5745u32 SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL -5747u32 = -> -Op -: -: +5746u32 SubgroupAvcImeInitializeINTEL -5748u32 = -> -Op -: -: +5747u32 SubgroupAvcImeSetSingleReferenceINTEL -5749u32 = -> -Op -: -: +5748u32 SubgroupAvcImeSetDualReferenceINTEL -5750u32 = -> -Op -: -: +5749u32 SubgroupAvcImeRefWindowSizeINTEL -5751u32 = -> -Op -: -: +5750u32 SubgroupAvcImeAdjustRefOffsetINTEL -5752u32 = -> -Op -: -: +5751u32 SubgroupAvcImeConvertToMcePayloadINTEL -5753u32 = -> -Op -: -: +5752u32 SubgroupAvcImeSetMaxMotionVectorCountINTEL -5754u32 = -> -Op -: -: +5753u32 SubgroupAvcImeSetUnidirectionalMixDisableINTEL -5755u32 = -> -Op -: -: +5754u32 SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL -5756u32 = -> -Op -: -: +5755u32 SubgroupAvcImeSetWeightedSadINTEL -5757u32 = -> -Op -: -: +5756u32 SubgroupAvcImeEvaluateWithSingleReferenceINTEL -5758u32 = -> -Op -: -: +5757u32 SubgroupAvcImeEvaluateWithDualReferenceINTEL -5759u32 = -> -Op -: -: +5758u32 SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL -5760u32 = -> -Op -: -: +5759u32 SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL -5761u32 = -> -Op -: -: +5760u32 SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL -5762u32 = -> -Op -: -: +5761u32 SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL -5763u32 = -> -Op -: -: +5762u32 SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL -5764u32 = -> -Op -: -: +5763u32 SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL -5765u32 = -> -Op -: -: +5764u32 SubgroupAvcImeConvertToMceResultINTEL -5766u32 = -> -Op -: -: +5765u32 SubgroupAvcImeGetSingleReferenceStreaminINTEL -5767u32 = -> -Op -: -: +5766u32 SubgroupAvcImeGetDualReferenceStreaminINTEL -5768u32 = -> -Op -: -: +5767u32 SubgroupAvcImeStripSingleReferenceStreamoutINTEL -5769u32 = -> -Op -: -: +5768u32 SubgroupAvcImeStripDualReferenceStreamoutINTEL -5770u32 -= -> -Op -: -: -SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL -5771u32 = -> -Op -: -: +5769u32 +SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL += +5770u32 SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL -5772u32 = -> -Op -: -: +5771u32 SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL -5773u32 = -> -Op -: -: +5772u32 SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL -5774u32 = -> -Op -: -: +5773u32 SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL -5775u32 = -> -Op -: -: +5774u32 SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL -5776u32 = -> -Op -: -: +5775u32 SubgroupAvcImeGetBorderReachedINTEL -5777u32 = -> -Op -: -: +5776u32 SubgroupAvcImeGetTruncatedSearchIndicationINTEL -5778u32 = -> -Op -: -: +5777u32 SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL -5779u32 = -> -Op -: -: +5778u32 SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL -5780u32 = -> -Op -: -: +5779u32 SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL -5781u32 = -> -Op -: -: +5780u32 SubgroupAvcFmeInitializeINTEL -5782u32 = -> -Op -: -: +5781u32 SubgroupAvcBmeInitializeINTEL -5783u32 = -> -Op -: -: +5782u32 SubgroupAvcRefConvertToMcePayloadINTEL -5784u32 = -> -Op -: -: +5783u32 SubgroupAvcRefSetBidirectionalMixDisableINTEL -5785u32 = -> -Op -: -: +5784u32 SubgroupAvcRefSetBilinearFilterEnableINTEL -5786u32 = -> -Op -: -: +5785u32 SubgroupAvcRefEvaluateWithSingleReferenceINTEL -5787u32 = -> -Op -: -: +5786u32 SubgroupAvcRefEvaluateWithDualReferenceINTEL -5788u32 = -> -Op -: -: +5787u32 SubgroupAvcRefEvaluateWithMultiReferenceINTEL -5789u32 = -> -Op -: -: +5788u32 SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL -5790u32 = -> -Op -: -: +5789u32 SubgroupAvcRefConvertToMceResultINTEL -5791u32 = -> -Op -: -: +5790u32 SubgroupAvcSicInitializeINTEL -5792u32 = -> -Op -: -: +5791u32 SubgroupAvcSicConfigureSkcINTEL -5793u32 = -> -Op -: -: +5792u32 SubgroupAvcSicConfigureIpeLumaINTEL -5794u32 = -> -Op -: -: +5793u32 SubgroupAvcSicConfigureIpeLumaChromaINTEL -5795u32 = -> -Op -: -: +5794u32 SubgroupAvcSicGetMotionVectorMaskINTEL -5796u32 = -> -Op -: -: +5795u32 SubgroupAvcSicConvertToMcePayloadINTEL -5797u32 = -> -Op -: -: +5796u32 SubgroupAvcSicSetIntraLumaShapePenaltyINTEL -5798u32 = -> -Op -: -: +5797u32 SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL -5799u32 = -> -Op -: -: +5798u32 SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL -5800u32 = -> -Op -: -: +5799u32 SubgroupAvcSicSetBilinearFilterEnableINTEL -5801u32 = -> -Op -: -: +5800u32 SubgroupAvcSicSetSkcForwardTransformEnableINTEL -5802u32 = -> -Op -: -: +5801u32 SubgroupAvcSicSetBlockBasedRawSkipSadINTEL -5803u32 = -> -Op -: -: +5802u32 SubgroupAvcSicEvaluateIpeINTEL -5804u32 = -> -Op -: -: +5803u32 SubgroupAvcSicEvaluateWithSingleReferenceINTEL -5805u32 = -> -Op -: -: +5804u32 SubgroupAvcSicEvaluateWithDualReferenceINTEL -5806u32 = -> -Op -: -: +5805u32 SubgroupAvcSicEvaluateWithMultiReferenceINTEL -5807u32 = -> -Op -: -: +5806u32 SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL -5808u32 = -> -Op -: -: +5807u32 SubgroupAvcSicConvertToMceResultINTEL -5809u32 = -> -Op -: -: +5808u32 SubgroupAvcSicGetIpeLumaShapeINTEL -5810u32 = -> -Op -: -: +5809u32 SubgroupAvcSicGetBestIpeLumaDistortionINTEL -5811u32 = -> -Op -: -: +5810u32 SubgroupAvcSicGetBestIpeChromaDistortionINTEL -5812u32 = -> -Op -: -: +5811u32 SubgroupAvcSicGetPackedIpeLumaModesINTEL -5813u32 = -> -Op -: -: +5812u32 SubgroupAvcSicGetIpeChromaModeINTEL -5814u32 = -> -Op -: -: +5813u32 SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL -5815u32 = -> -Op -: -: +5814u32 SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL -5816u32 = -> -Op -: -: +5815u32 SubgroupAvcSicGetInterRawSadsINTEL -5887u32 = -> -Op -: -: -LoopControlINTEL -5946u32 +5816u32 +VariableLengthArrayINTEL = -> -Op -: -: -ReadPipeBlockingINTEL -5947u32 +5818u32 +SaveMemoryINTEL = -> -Op -: -: -WritePipeBlockingINTEL -5949u32 +5819u32 +RestoreMemoryINTEL = -> -Op -: -: -FPGARegINTEL -6016u32 +5820u32 +ArbitraryFloatSinCosPiINTEL = -> -Op -: -: -RayQueryGetRayTMinKHR -6017u32 +5840u32 +ArbitraryFloatCastINTEL = -> -Op -: -: -RayQueryGetRayFlagsKHR -6018u32 +5841u32 +ArbitraryFloatCastFromIntINTEL = -> -Op -: -: -RayQueryGetIntersectionTKHR -6019u32 +5842u32 +ArbitraryFloatCastToIntINTEL = -> -Op -: -: -RayQueryGetIntersectionInstanceCustomIndexKHR -6020u32 +5843u32 +ArbitraryFloatAddINTEL = -> -Op -: -: -RayQueryGetIntersectionInstanceIdKHR -6021u32 +5846u32 +ArbitraryFloatSubINTEL = -> -Op -: -: -RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR -6022u32 +5847u32 +ArbitraryFloatMulINTEL = -> -Op -: -: -RayQueryGetIntersectionGeometryIndexKHR -6023u32 +5848u32 +ArbitraryFloatDivINTEL = -> -Op -: -: -RayQueryGetIntersectionPrimitiveIndexKHR -6024u32 +5849u32 +ArbitraryFloatGTINTEL = -> -Op -: -: -RayQueryGetIntersectionBarycentricsKHR -6025u32 +5850u32 +ArbitraryFloatGEINTEL = -> -Op -: -: -RayQueryGetIntersectionFrontFaceKHR -6026u32 +5851u32 +ArbitraryFloatLTINTEL = -> -Op -: -: -RayQueryGetIntersectionCandidateAABBOpaqueKHR -6027u32 +5852u32 +ArbitraryFloatLEINTEL = -> -Op -: -: -RayQueryGetIntersectionObjectRayDirectionKHR -6028u32 +5853u32 +ArbitraryFloatEQINTEL = -> -Op -: -: -RayQueryGetIntersectionObjectRayOriginKHR -6029u32 +5854u32 +ArbitraryFloatRecipINTEL = -> -Op -: -: -RayQueryGetWorldRayDirectionKHR -6030u32 +5855u32 +ArbitraryFloatRSqrtINTEL = -> -Op -: -: -RayQueryGetWorldRayOriginKHR -6031u32 +5856u32 +ArbitraryFloatCbrtINTEL = -> -Op -: -: -RayQueryGetIntersectionObjectToWorldKHR -6032u32 +5857u32 +ArbitraryFloatHypotINTEL = -> -Op -: -: -RayQueryGetIntersectionWorldToObjectKHR -6035u32 +5858u32 +ArbitraryFloatSqrtINTEL = -> -Op -: -: -AtomicFAddEXT -_ +5859u32 +ArbitraryFloatLogINTEL = -> -return -None -} -) -} -fn -from_u64 -( -n -: -u64 -) -- -> -Option -< -Self -> -{ -Self -: -: -from_i64 -( -n -as -i64 -) -} -} -# -[ -doc +5860u32 +ArbitraryFloatLog2INTEL = -" -[ -GLSL -. -std -. -450 -] -( -https -: -/ -/ -www -. -khronos -. -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -GLSL -. -std -. -450 -. -html -) -extended -instruction -opcode -" -] -# -[ -repr -( -u32 -) -] -# -[ -derive -( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash -) -] -# -[ -cfg_attr -( -feature +5861u32 +ArbitraryFloatLog10INTEL += +5862u32 +ArbitraryFloatLog1pINTEL += +5863u32 +ArbitraryFloatExpINTEL += +5864u32 +ArbitraryFloatExp2INTEL += +5865u32 +ArbitraryFloatExp10INTEL += +5866u32 +ArbitraryFloatExpm1INTEL += +5867u32 +ArbitraryFloatSinINTEL += +5868u32 +ArbitraryFloatCosINTEL += +5869u32 +ArbitraryFloatSinCosINTEL = -" -serialize -" -derive -( -serde -: -: -Serialize -) -) -] -# -[ -cfg_attr -( -feature +5870u32 +ArbitraryFloatSinPiINTEL = -" -deserialize -" -derive -( -serde -: -: -Deserialize -) -) -] -# -[ -allow -( -clippy -: -: -upper_case_acronyms -) -] -pub -enum -GLOp -{ -Round +5871u32 +ArbitraryFloatCosPiINTEL = -1u32 -RoundEven +5872u32 +ArbitraryFloatASinINTEL = -2u32 -Trunc +5873u32 +ArbitraryFloatASinPiINTEL = -3u32 -FAbs +5874u32 +ArbitraryFloatACosINTEL = -4u32 -SAbs +5875u32 +ArbitraryFloatACosPiINTEL = -5u32 -FSign +5876u32 +ArbitraryFloatATanINTEL = -6u32 -SSign +5877u32 +ArbitraryFloatATanPiINTEL = -7u32 -Floor +5878u32 +ArbitraryFloatATan2INTEL = -8u32 -Ceil +5879u32 +ArbitraryFloatPowINTEL = -9u32 -Fract +5880u32 +ArbitraryFloatPowRINTEL = -10u32 -Radians +5881u32 +ArbitraryFloatPowNINTEL = -11u32 -Degrees +5882u32 +LoopControlINTEL = -12u32 -Sin +5887u32 +AliasDomainDeclINTEL = -13u32 -Cos +5911u32 +AliasScopeDeclINTEL = -14u32 -Tan +5912u32 +AliasScopeListDeclINTEL = -15u32 -Asin +5913u32 +FixedSqrtINTEL = -16u32 -Acos +5923u32 +FixedRecipINTEL = -17u32 -Atan +5924u32 +FixedRsqrtINTEL = -18u32 -Sinh +5925u32 +FixedSinINTEL = -19u32 -Cosh +5926u32 +FixedCosINTEL = -20u32 -Tanh +5927u32 +FixedSinCosINTEL = -21u32 -Asinh +5928u32 +FixedSinPiINTEL = -22u32 -Acosh +5929u32 +FixedCosPiINTEL = -23u32 -Atanh +5930u32 +FixedSinCosPiINTEL = -24u32 -Atan2 +5931u32 +FixedLogINTEL = -25u32 -Pow +5932u32 +FixedExpINTEL = -26u32 -Exp +5933u32 +PtrCastToCrossWorkgroupINTEL = -27u32 -Log +5934u32 +CrossWorkgroupCastToPtrINTEL = -28u32 -Exp2 +5938u32 +ReadPipeBlockingINTEL = -29u32 -Log2 +5946u32 +WritePipeBlockingINTEL = -30u32 -Sqrt +5947u32 +FPGARegINTEL = -31u32 -InverseSqrt +5949u32 +RayQueryGetRayTMinKHR = -32u32 -Determinant +6016u32 +RayQueryGetRayFlagsKHR = -33u32 -MatrixInverse +6017u32 +RayQueryGetIntersectionTKHR = -34u32 -Modf +6018u32 +RayQueryGetIntersectionInstanceCustomIndexKHR = -35u32 -ModfStruct +6019u32 +RayQueryGetIntersectionInstanceIdKHR = -36u32 -FMin +6020u32 +RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR += +6021u32 +RayQueryGetIntersectionGeometryIndexKHR += +6022u32 +RayQueryGetIntersectionPrimitiveIndexKHR += +6023u32 +RayQueryGetIntersectionBarycentricsKHR += +6024u32 +RayQueryGetIntersectionFrontFaceKHR += +6025u32 +RayQueryGetIntersectionCandidateAABBOpaqueKHR += +6026u32 +RayQueryGetIntersectionObjectRayDirectionKHR += +6027u32 +RayQueryGetIntersectionObjectRayOriginKHR += +6028u32 +RayQueryGetWorldRayDirectionKHR += +6029u32 +RayQueryGetWorldRayOriginKHR += +6030u32 +RayQueryGetIntersectionObjectToWorldKHR += +6031u32 +RayQueryGetIntersectionWorldToObjectKHR += +6032u32 +AtomicFAddEXT += +6035u32 +TypeBufferSurfaceINTEL += +6086u32 +TypeStructContinuedINTEL += +6090u32 +ConstantCompositeContinuedINTEL += +6091u32 +SpecConstantCompositeContinuedINTEL += +6092u32 +ConvertFToBF16INTEL += +6116u32 +ConvertBF16ToFINTEL += +6117u32 +ControlBarrierArriveINTEL += +6142u32 +ControlBarrierWaitINTEL += +6143u32 +GroupIMulKHR += +6401u32 +GroupFMulKHR += +6402u32 +GroupBitwiseAndKHR += +6403u32 +GroupBitwiseOrKHR += +6404u32 +GroupBitwiseXorKHR += +6405u32 +GroupLogicalAndKHR += +6406u32 +GroupLogicalOrKHR += +6407u32 +GroupLogicalXorKHR += +6408u32 +} +impl +Op +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +0u32 +. +. += +8u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +10u32 +. +. += +12u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +14u32 +. +. = -37u32 -UMin +17u32 = -38u32 -SMin +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +19u32 +. +. = 39u32 -FMax -= -40u32 -UMax = +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} 41u32 -SMax -= -42u32 -FClamp -= -43u32 -UClamp -= -44u32 -SClamp -= -45u32 -FMix +. +. = 46u32 -IMix -= -47u32 -Step = +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} 48u32 -SmoothStep -= -49u32 -Fma +. +. = -50u32 -Frexp +52u32 = -51u32 -FrexpStruct +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +54u32 +. +. = -52u32 -Ldexp +57u32 = -53u32 -PackSnorm4x8 +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +59u32 +. +. = -54u32 -PackUnorm4x8 +75u32 = -55u32 -PackSnorm2x16 +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +77u32 +. +. = -56u32 -PackUnorm2x16 +84u32 = -57u32 -PackHalf2x16 +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +86u32 +. +. = -58u32 -PackDouble2x32 +107u32 = -59u32 -UnpackSnorm2x16 +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +109u32 +. +. = -60u32 -UnpackUnorm2x16 +124u32 = -61u32 -UnpackHalf2x16 +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +126u32 +. +. = -62u32 -UnpackSnorm4x8 +152u32 = -63u32 -UnpackUnorm4x8 +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +154u32 +. +. = -64u32 -UnpackDouble2x32 +191u32 = -65u32 -Length +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +194u32 +. +. = -66u32 -Distance +205u32 = -67u32 -Cross +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +207u32 +. +. = -68u32 -Normalize +215u32 = -69u32 -FaceForward +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +218u32 +. +. = -70u32 -Reflect +221u32 = -71u32 -Refract +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +224u32 +. +. = -72u32 -FindILsb +225u32 = -73u32 -FindSMsb +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +227u32 +. +. = -74u32 -FindUMsb +242u32 = -75u32 -InterpolateAtCentroid +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +245u32 +. +. = -76u32 -InterpolateAtSample +257u32 = -77u32 -InterpolateAtOffset +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +259u32 +. +. = -78u32 -NMin +271u32 = -79u32 -NMax +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +274u32 +. +. = -80u32 -NClamp +288u32 = -81u32 -} -impl -num_traits +> +unsafe +{ +core : : -FromPrimitive -for -GLOp -{ -# -[ -allow +mem +: +: +transmute +: +: +< +u32 +Op +> ( -trivial_numeric_casts +n ) -] -fn -from_i64 +} +291u32 +. +. += +366u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> ( n -: -i64 ) -- +} +400u32 +. +. += +403u32 += > -Option +unsafe +{ +core +: +: +mem +: +: +transmute +: +: < -Self +u32 +Op > -{ -Some ( -match n -as -u32 -{ -1u32 +) +} +4160u32 +. +. += +4162u32 = > -GLOp +unsafe +{ +core : : -Round -2u32 -= -> -GLOp +mem : : -RoundEven -3u32 -= -> -GLOp +transmute : : -Trunc -4u32 +< +u32 +Op +> +( +n +) +} +4416u32 = > -GLOp +unsafe +{ +core : : -FAbs -5u32 -= -> -GLOp +mem : : -SAbs -6u32 -= -> -GLOp +transmute : : -FSign -7u32 +< +u32 +Op +> +( +4416u32 +) +} +4421u32 +. +. += +4422u32 = > -GLOp +unsafe +{ +core : : -SSign -8u32 -= -> -GLOp +mem : : -Floor -9u32 -= -> -GLOp +transmute : : -Ceil -10u32 +< +u32 +Op +> +( +n +) +} +4428u32 +. +. += +4432u32 = > -GLOp +unsafe +{ +core : : -Fract -11u32 -= -> -GLOp +mem : : -Radians -12u32 -= -> -GLOp +transmute : : -Degrees -13u32 +< +u32 +Op +> +( +n +) +} +4445u32 +. +. += +4460u32 = > -GLOp +unsafe +{ +core : : -Sin -14u32 -= -> -GLOp +mem : : -Cos -15u32 -= -> -GLOp +transmute : : -Tan -16u32 +< +u32 +Op +> +( +n +) +} +4472u32 +. +. += +4477u32 = > -GLOp +unsafe +{ +core : : -Asin -17u32 -= -> -GLOp +mem : : -Acos -18u32 +transmute +: +: +< +u32 +Op +> +( +n +) +} +4479u32 +. +. += +4483u32 = > -GLOp +unsafe +{ +core : : -Atan -19u32 +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +5000u32 +. +. += +5007u32 = > -GLOp +unsafe +{ +core : : -Sinh -20u32 +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +5011u32 +. +. += +5012u32 = > -GLOp +unsafe +{ +core : : -Cosh -21u32 +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +5056u32 = > -GLOp +unsafe +{ +core : : -Tanh -22u32 -= -> -GLOp +mem : : -Asinh -23u32 -= -> -GLOp +transmute : : -Acosh -24u32 -= +< +u32 +Op > -GLOp -: -: -Atanh -25u32 +( +5056u32 +) +} +5075u32 = > -GLOp +unsafe +{ +core : : -Atan2 -26u32 -= -> -GLOp +mem : : -Pow -27u32 -= -> -GLOp +transmute : : -Exp -28u32 +< +u32 +Op +> +( +5075u32 +) +} +5078u32 = > -GLOp +unsafe +{ +core : : -Log -29u32 -= -> -GLOp +mem : : -Exp2 -30u32 -= -> -GLOp +transmute : : -Log2 -31u32 +< +u32 +Op +> +( +5078u32 +) +} +5090u32 = > -GLOp +unsafe +{ +core : : -Sqrt -32u32 -= -> -GLOp +mem : : -InverseSqrt -33u32 -= -> -GLOp +transmute : : -Determinant -34u32 +< +u32 +Op +> +( +5090u32 +) +} +5249u32 +. +. += +5281u32 = > -GLOp +unsafe +{ +core : : -MatrixInverse -35u32 -= -> -GLOp +mem : : -Modf -36u32 -= -> -GLOp +transmute : : -ModfStruct -37u32 +< +u32 +Op +> +( +n +) +} +5283u32 = > -GLOp +unsafe +{ +core : : -FMin -38u32 -= -> -GLOp +mem : : -UMin -39u32 -= -> -GLOp +transmute : : -SMin -40u32 +< +u32 +Op +> +( +5283u32 +) +} +5294u32 +. +. += +5296u32 = > -GLOp +unsafe +{ +core : : -FMax -41u32 -= -> -GLOp +mem : : -UMax -42u32 -= -> -GLOp +transmute : : -SMax -43u32 +< +u32 +Op +> +( +n +) +} +5299u32 +. +. += +5301u32 = > -GLOp +unsafe +{ +core : : -FClamp -44u32 -= -> -GLOp +mem : : -UClamp -45u32 -= -> -GLOp +transmute : : -SClamp -46u32 +< +u32 +Op +> +( +n +) +} +5334u32 +. +. += +5341u32 = > -GLOp +unsafe +{ +core : : -FMix -47u32 -= -> -GLOp +mem : : -IMix -48u32 -= -> -GLOp +transmute : : -Step -49u32 +< +u32 +Op +> +( +n +) +} +5344u32 = > -GLOp +unsafe +{ +core : : -SmoothStep -50u32 -= -> -GLOp +mem : : -Fma -51u32 -= -> -GLOp +transmute : : -Frexp -52u32 +< +u32 +Op +> +( +5344u32 +) +} +5358u32 +. +. = -> -GLOp -: -: -FrexpStruct -53u32 +5362u32 = > -GLOp +unsafe +{ +core : : -Ldexp -54u32 -= -> -GLOp +mem : : -PackSnorm4x8 -55u32 -= -> -GLOp +transmute : : -PackUnorm4x8 -56u32 -= +< +u32 +Op > -GLOp -: -: -PackSnorm2x16 -57u32 +( +n +) +} +5364u32 +. +. = -> -GLOp -: -: -PackUnorm2x16 -58u32 +5365u32 = > -GLOp +unsafe +{ +core : : -PackHalf2x16 -59u32 -= -> -GLOp +mem : : -PackDouble2x32 -60u32 -= -> -GLOp +transmute : : -UnpackSnorm2x16 -61u32 +< +u32 +Op +> +( +n +) +} +5380u32 +. +. += +5381u32 = > -GLOp +unsafe +{ +core : : -UnpackUnorm2x16 -62u32 -= -> -GLOp +mem : : -UnpackHalf2x16 -63u32 -= -> -GLOp +transmute : : -UnpackSnorm4x8 -64u32 +< +u32 +Op +> +( +n +) +} +5391u32 +. +. += +5397u32 = > -GLOp +unsafe +{ +core : : -UnpackUnorm4x8 -65u32 -= -> -GLOp +mem : : -UnpackDouble2x32 -66u32 -= -> -GLOp +transmute : : -Length -67u32 +< +u32 +Op +> +( +n +) +} +5571u32 +. +. += +5578u32 = > -GLOp +unsafe +{ +core : : -Distance -68u32 -= -> -GLOp +mem : : -Cross -69u32 -= -> -GLOp +transmute : : -Normalize -70u32 +< +u32 +Op +> +( +n +) +} +5580u32 +. +. += +5581u32 = > -GLOp +unsafe +{ +core : : -FaceForward -71u32 -= -> -GLOp +mem : : -Reflect -72u32 -= -> -GLOp +transmute : : -Refract -73u32 +< +u32 +Op +> +( +n +) +} +5585u32 +. +. += +5598u32 = > -GLOp +unsafe +{ +core : : -FindILsb -74u32 -= -> -GLOp +mem : : -FindSMsb -75u32 -= -> -GLOp +transmute : : -FindUMsb -76u32 +< +u32 +Op +> +( +n +) +} +5600u32 +. +. += +5601u32 = > -GLOp +unsafe +{ +core : : -InterpolateAtCentroid -77u32 -= -> -GLOp +mem : : -InterpolateAtSample -78u32 -= -> -GLOp +transmute : : -InterpolateAtOffset -79u32 +< +u32 +Op +> +( +n +) +} +5609u32 +. +. += +5611u32 = > -GLOp +unsafe +{ +core : : -NMin -80u32 -= -> -GLOp +mem : : -NMax -81u32 -= -> -GLOp +transmute : : -NClamp -_ -= +< +u32 +Op > -return -None -} -) -} -fn -from_u64 ( n -: -u64 ) -- -> -Option -< -Self +} +5614u32 +. +. += +5615u32 += > +unsafe { -Self +core +: : +mem : -from_i64 +: +transmute +: +: +< +u32 +Op +> ( n -as -i64 ) } -} -# -[ -doc -= -" -[ -OpenCL -. -std -] -( -https -: -/ -/ -www -. -khronos -. -org -/ -registry -/ -spir -- -v -/ -specs -/ -unified1 -/ -OpenCL +5630u32 . -ExtendedInstructionSet -. -100 . -html -) -extended -instruction -opcode -" -] -# -[ -repr -( -u32 -) -] -# -[ -derive -( -Clone -Copy -Debug -PartialEq -Eq -PartialOrd -Ord -Hash -) -] -# -[ -cfg_attr -( -feature = -" -serialize -" -derive -( -serde +5633u32 += +> +unsafe +{ +core : : -Serialize -) -) -] -# -[ -cfg_attr -( -feature -= -" -deserialize -" -derive -( -serde +mem : : -Deserialize -) -) -] -# -[ -allow -( -clippy +transmute : : -upper_case_acronyms +< +u32 +Op +> +( +n ) -] -pub -enum -CLOp -{ -acos -= -0u32 -acosh -= -1u32 -acospi -= -2u32 -asin -= -3u32 -asinh -= -4u32 -asinpi -= -5u32 -atan -= -6u32 -atan2 -= -7u32 -atanh -= -8u32 -atanpi -= -9u32 -atan2pi -= -10u32 -cbrt -= -11u32 -ceil -= -12u32 -copysign -= -13u32 -cos -= -14u32 -cosh -= -15u32 -cospi -= -16u32 -erfc -= -17u32 -erf -= -18u32 -exp -= -19u32 -exp2 -= -20u32 -exp10 -= -21u32 -expm1 -= -22u32 -fabs -= -23u32 -fdim -= -24u32 -floor -= -25u32 -fma -= -26u32 -fmax -= -27u32 -fmin -= -28u32 -fmod -= -29u32 -fract -= -30u32 -frexp -= -31u32 -hypot -= -32u32 -ilogb -= -33u32 -ldexp +} +5699u32 +. +. = -34u32 -lgamma +5816u32 = -35u32 -lgamma_r +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +5818u32 +. +. = -36u32 -log +5820u32 = -37u32 -log2 +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +5840u32 +. +. = -38u32 -log10 +5843u32 = -39u32 -log1p +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +5846u32 +. +. = -40u32 -logb +5882u32 = -41u32 -mad +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +5887u32 = -42u32 -maxmag +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +5887u32 +) +} +5911u32 +. +. = -43u32 -minmag +5913u32 = -44u32 -modf +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +5923u32 +. +. = -45u32 -nan +5934u32 = -46u32 -nextafter +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +5938u32 = -47u32 -pow +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +5938u32 +) +} +5946u32 +. +. = -48u32 -pown +5947u32 = -49u32 -powr +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +5949u32 = -50u32 -remainder +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +5949u32 +) +} +6016u32 +. +. = -51u32 -remquo +6032u32 = -52u32 -rint +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +6035u32 = -53u32 -rootn +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +6035u32 +) +} +6086u32 = -54u32 -round +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +6086u32 +) +} +6090u32 +. +. = -55u32 -rsqrt +6092u32 = -56u32 -sin +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +6116u32 +. +. = -57u32 -sincos +6117u32 = -58u32 -sinh +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +6142u32 +. +. = -59u32 -sinpi +6143u32 = -60u32 -sqrt +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +6401u32 +. +. = -61u32 -tan +6408u32 = -62u32 -tanh +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +Op +> +( +n +) +} +_ = -63u32 -tanpi +> +return +None +} +) +} +} +# +[ +allow +( +clippy +: +: +upper_case_acronyms +) +] +# +[ +allow +( +non_upper_case_globals +) +] +impl +Op +{ +pub +const +SDotKHR +: +Op = -64u32 -tgamma +Op +: +: +SDot +; +pub +const +UDotKHR +: +Op = -65u32 -trunc +Op +: +: +UDot +; +pub +const +SUDotKHR +: +Op = -66u32 -half_cos +Op +: +: +SUDot +; +pub +const +SDotAccSatKHR +: +Op = -67u32 -half_divide +Op +: +: +SDotAccSat +; +pub +const +UDotAccSatKHR +: +Op = -68u32 -half_exp +Op +: +: +UDotAccSat +; +pub +const +SUDotAccSatKHR +: +Op = -69u32 -half_exp2 +Op +: +: +SUDotAccSat +; +pub +const +ReportIntersectionNV +: +Op = -70u32 -half_exp10 +Op +: +: +ReportIntersectionKHR +; +pub +const +TypeAccelerationStructureNV +: +Op = -71u32 -half_log +Op +: +: +TypeAccelerationStructureKHR +; +pub +const +DemoteToHelperInvocationEXT +: +Op = -72u32 -half_log2 +Op +: +: +DemoteToHelperInvocation +; +pub +const +DecorateStringGOOGLE +: +Op = -73u32 -half_log10 +Op +: +: +DecorateString +; +pub +const +MemberDecorateStringGOOGLE +: +Op = -74u32 -half_powr +Op +: +: +MemberDecorateString +; +} +# +[ +doc = -75u32 -half_recip +" +[ +GLSL +. +std +. +450 +] +( +https +: +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +GLSL +. +std +. +450 +. +html +) +extended +instruction +opcode +" +] +# +[ +repr +( +u32 +) +] +# +[ +derive +( +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash +) +] +# +[ +cfg_attr +( +feature = -76u32 -half_rsqrt +" +serialize +" +derive +( +serde +: +: +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -77u32 -half_sin +" +deserialize +" +derive +( +serde +: +: +Deserialize +) +) +] +# +[ +allow +( +clippy +: +: +upper_case_acronyms +) +] +pub +enum +GLOp +{ +Round = -78u32 -half_sqrt +1u32 +RoundEven = -79u32 -half_tan +2u32 +Trunc = -80u32 -native_cos +3u32 +FAbs = -81u32 -native_divide +4u32 +SAbs = -82u32 -native_exp +5u32 +FSign = -83u32 -native_exp2 +6u32 +SSign = -84u32 -native_exp10 +7u32 +Floor = -85u32 -native_log +8u32 +Ceil = -86u32 -native_log2 +9u32 +Fract = -87u32 -native_log10 +10u32 +Radians = -88u32 -native_powr +11u32 +Degrees = -89u32 -native_recip +12u32 +Sin = -90u32 -native_rsqrt +13u32 +Cos = -91u32 -native_sin +14u32 +Tan = -92u32 -native_sqrt +15u32 +Asin = -93u32 -native_tan +16u32 +Acos = -94u32 -s_abs +17u32 +Atan = -141u32 -s_abs_diff +18u32 +Sinh = -142u32 -s_add_sat +19u32 +Cosh = -143u32 -u_add_sat +20u32 +Tanh = -144u32 -s_hadd +21u32 +Asinh = -145u32 -u_hadd +22u32 +Acosh = -146u32 -s_rhadd +23u32 +Atanh = -147u32 -u_rhadd +24u32 +Atan2 = -148u32 -s_clamp +25u32 +Pow = -149u32 -u_clamp +26u32 +Exp = -150u32 -clz +27u32 +Log = -151u32 -ctz +28u32 +Exp2 = -152u32 -s_mad_hi +29u32 +Log2 = -153u32 -u_mad_sat +30u32 +Sqrt = -154u32 -s_mad_sat +31u32 +InverseSqrt += +32u32 +Determinant = -155u32 -s_max +33u32 +MatrixInverse = -156u32 -u_max +34u32 +Modf = -157u32 -s_min +35u32 +ModfStruct = -158u32 -u_min +36u32 +FMin = -159u32 -s_mul_hi +37u32 +UMin = -160u32 -rotate +38u32 +SMin = -161u32 -s_sub_sat +39u32 +FMax = -162u32 -u_sub_sat +40u32 +UMax = -163u32 -u_upsample +41u32 +SMax = -164u32 -s_upsample +42u32 +FClamp = -165u32 -popcount +43u32 +UClamp = -166u32 -s_mad24 +44u32 +SClamp = -167u32 -u_mad24 +45u32 +FMix = -168u32 -s_mul24 +46u32 +IMix = -169u32 -u_mul24 +47u32 +Step = -170u32 -u_abs +48u32 +SmoothStep = -201u32 -u_abs_diff +49u32 +Fma = -202u32 -u_mul_hi +50u32 +Frexp = -203u32 -u_mad_hi +51u32 +FrexpStruct = -204u32 -fclamp +52u32 +Ldexp = -95u32 -degrees +53u32 +PackSnorm4x8 = -96u32 -fmax_common +54u32 +PackUnorm4x8 = -97u32 -fmin_common +55u32 +PackSnorm2x16 = -98u32 -mix +56u32 +PackUnorm2x16 = -99u32 -radians +57u32 +PackHalf2x16 = -100u32 -step +58u32 +PackDouble2x32 = -101u32 -smoothstep +59u32 +UnpackSnorm2x16 = -102u32 -sign +60u32 +UnpackUnorm2x16 = -103u32 -cross +61u32 +UnpackHalf2x16 = -104u32 -distance +62u32 +UnpackSnorm4x8 = -105u32 -length +63u32 +UnpackUnorm4x8 = -106u32 -normalize +64u32 +UnpackDouble2x32 = -107u32 -fast_distance +65u32 +Length = -108u32 -fast_length +66u32 +Distance = -109u32 -fast_normalize +67u32 +Cross = -110u32 -bitselect +68u32 +Normalize = -186u32 -select +69u32 +FaceForward = -187u32 -vloadn +70u32 +Reflect = -171u32 -vstoren +71u32 +Refract = -172u32 -vload_half +72u32 +FindILsb = -173u32 -vload_halfn +73u32 +FindSMsb = -174u32 -vstore_half +74u32 +FindUMsb = -175u32 -vstore_half_r +75u32 +InterpolateAtCentroid = -176u32 -vstore_halfn +76u32 +InterpolateAtSample = -177u32 -vstore_halfn_r +77u32 +InterpolateAtOffset = -178u32 -vloada_halfn +78u32 +NMin = -179u32 -vstorea_halfn +79u32 +NMax = -180u32 -vstorea_halfn_r +80u32 +NClamp = -181u32 -shuffle +81u32 +} +impl +GLOp +{ +pub +fn +from_u32 +( +n +: +u32 +) +- +> +Option +< +Self +> +{ +Some +( +match +n +{ +1u32 +. +. = -182u32 -shuffle2 +81u32 = -183u32 -printf +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +GLOp +> +( +n +) +} +_ = -184u32 -prefetch +> +return +None +} +) +} +} +# +[ +doc = -185u32 -} -impl -num_traits -: +" +[ +OpenCL +. +std +] +( +https : -FromPrimitive -for -CLOp -{ +/ +/ +www +. +khronos +. +org +/ +registry +/ +spir +- +v +/ +specs +/ +unified1 +/ +OpenCL +. +ExtendedInstructionSet +. +100 +. +html +) +extended +instruction +opcode +" +] # [ -allow +repr ( -trivial_numeric_casts +u32 ) ] -fn -from_i64 +# +[ +derive ( -n -: -i64 +Clone +Copy +Debug +PartialEq +Eq +PartialOrd +Ord +Hash ) -- -> -Option -< -Self -> -{ -Some +] +# +[ +cfg_attr ( -match -n -as -u32 -{ -0u32 +feature = -> -CLOp +" +serialize +" +derive +( +serde : : -acos -1u32 +Serialize +) +) +] +# +[ +cfg_attr +( +feature = -> -CLOp +" +deserialize +" +derive +( +serde : : -acosh -2u32 -= -> -CLOp +Deserialize +) +) +] +# +[ +allow +( +clippy : : +upper_case_acronyms +) +] +pub +enum +CLOp +{ +acos += +0u32 +acosh += +1u32 acospi -3u32 = -> -CLOp -: -: +2u32 asin -4u32 = -> -CLOp -: -: +3u32 asinh -5u32 = -> -CLOp -: -: +4u32 asinpi -6u32 = -> -CLOp -: -: +5u32 atan -7u32 = -> -CLOp -: -: +6u32 atan2 -8u32 = -> -CLOp -: -: +7u32 atanh -9u32 = -> -CLOp -: -: +8u32 atanpi -10u32 = -> -CLOp -: -: +9u32 atan2pi -11u32 = -> -CLOp -: -: +10u32 cbrt -12u32 = -> -CLOp -: -: +11u32 ceil -13u32 = -> -CLOp -: -: +12u32 copysign -14u32 = -> -CLOp -: -: +13u32 cos -15u32 = -> -CLOp -: -: +14u32 cosh -16u32 = -> -CLOp -: -: +15u32 cospi -17u32 = -> -CLOp -: -: +16u32 erfc -18u32 = -> -CLOp -: -: +17u32 erf -19u32 = -> -CLOp -: -: +18u32 exp -20u32 = -> -CLOp -: -: +19u32 exp2 -21u32 -= -> -CLOp -: -: -exp10 -22u32 = -> -CLOp -: -: +20u32 +exp10 += +21u32 expm1 -23u32 = -> -CLOp -: -: +22u32 fabs -24u32 = -> -CLOp -: -: +23u32 fdim -25u32 = -> -CLOp -: -: +24u32 floor -26u32 = -> -CLOp -: -: +25u32 fma -27u32 = -> -CLOp -: -: +26u32 fmax -28u32 = -> -CLOp -: -: +27u32 fmin -29u32 = -> -CLOp -: -: +28u32 fmod -30u32 = -> -CLOp -: -: +29u32 fract -31u32 = -> -CLOp -: -: +30u32 frexp -32u32 = -> -CLOp -: -: +31u32 hypot -33u32 = -> -CLOp -: -: +32u32 ilogb -34u32 = -> -CLOp -: -: +33u32 ldexp -35u32 = -> -CLOp -: -: +34u32 lgamma -36u32 = -> -CLOp -: -: +35u32 lgamma_r -37u32 = -> -CLOp -: -: +36u32 log -38u32 = -> -CLOp -: -: +37u32 log2 -39u32 = -> -CLOp -: -: +38u32 log10 -40u32 = -> -CLOp -: -: +39u32 log1p -41u32 = -> -CLOp -: -: +40u32 logb -42u32 = -> -CLOp -: -: +41u32 mad -43u32 = -> -CLOp -: -: +42u32 maxmag -44u32 = -> -CLOp -: -: +43u32 minmag -45u32 = -> -CLOp -: -: +44u32 modf -46u32 = -> -CLOp -: -: +45u32 nan -47u32 = -> -CLOp -: -: +46u32 nextafter -48u32 = -> -CLOp -: -: +47u32 pow -49u32 = -> -CLOp -: -: +48u32 pown -50u32 = -> -CLOp -: -: +49u32 powr -51u32 = -> -CLOp -: -: +50u32 remainder -52u32 = -> -CLOp -: -: +51u32 remquo -53u32 = -> -CLOp -: -: +52u32 rint -54u32 = -> -CLOp -: -: +53u32 rootn -55u32 = -> -CLOp -: -: +54u32 round -56u32 = -> -CLOp -: -: +55u32 rsqrt -57u32 = -> -CLOp -: -: +56u32 sin -58u32 = -> -CLOp -: -: +57u32 sincos -59u32 = -> -CLOp -: -: +58u32 sinh -60u32 = -> -CLOp -: -: +59u32 sinpi -61u32 = -> -CLOp -: -: +60u32 sqrt -62u32 = -> -CLOp -: -: +61u32 tan -63u32 = -> -CLOp -: -: +62u32 tanh -64u32 = -> -CLOp -: -: +63u32 tanpi -65u32 = -> -CLOp -: -: +64u32 tgamma -66u32 = -> -CLOp -: -: +65u32 trunc -67u32 = -> -CLOp -: -: +66u32 half_cos -68u32 = -> -CLOp -: -: +67u32 half_divide -69u32 = -> -CLOp -: -: +68u32 half_exp -70u32 = -> -CLOp -: -: +69u32 half_exp2 -71u32 = -> -CLOp -: -: +70u32 half_exp10 -72u32 = -> -CLOp -: -: +71u32 half_log -73u32 = -> -CLOp -: -: +72u32 half_log2 -74u32 = -> -CLOp -: -: +73u32 half_log10 -75u32 = -> -CLOp -: -: +74u32 half_powr -76u32 = -> -CLOp -: -: +75u32 half_recip -77u32 = -> -CLOp -: -: +76u32 half_rsqrt -78u32 = -> -CLOp -: -: +77u32 half_sin -79u32 = -> -CLOp -: -: +78u32 half_sqrt -80u32 = -> -CLOp -: -: +79u32 half_tan -81u32 = -> -CLOp -: -: +80u32 native_cos -82u32 = -> -CLOp -: -: +81u32 native_divide -83u32 = -> -CLOp -: -: +82u32 native_exp -84u32 = -> -CLOp -: -: +83u32 native_exp2 -85u32 = -> -CLOp -: -: +84u32 native_exp10 -86u32 = -> -CLOp -: -: +85u32 native_log -87u32 = -> -CLOp -: -: +86u32 native_log2 -88u32 = -> -CLOp -: -: +87u32 native_log10 -89u32 = -> -CLOp -: -: +88u32 native_powr -90u32 = -> -CLOp -: -: +89u32 native_recip -91u32 = -> -CLOp -: -: +90u32 native_rsqrt -92u32 = -> -CLOp -: -: +91u32 native_sin -93u32 = -> -CLOp -: -: +92u32 native_sqrt -94u32 = -> -CLOp -: -: +93u32 native_tan -141u32 = -> -CLOp -: -: +94u32 +fclamp += +95u32 +degrees += +96u32 +fmax_common += +97u32 +fmin_common += +98u32 +mix += +99u32 +radians += +100u32 +step += +101u32 +smoothstep += +102u32 +sign += +103u32 +cross += +104u32 +distance += +105u32 +length += +106u32 +normalize += +107u32 +fast_distance += +108u32 +fast_length += +109u32 +fast_normalize += +110u32 s_abs -142u32 = -> -CLOp -: -: +141u32 s_abs_diff -143u32 = -> -CLOp -: -: +142u32 s_add_sat -144u32 = -> -CLOp -: -: +143u32 u_add_sat -145u32 = -> -CLOp -: -: +144u32 s_hadd -146u32 = -> -CLOp -: -: +145u32 u_hadd -147u32 = -> -CLOp -: -: +146u32 s_rhadd -148u32 = -> -CLOp -: -: +147u32 u_rhadd -149u32 = -> -CLOp -: -: +148u32 s_clamp -150u32 = -> -CLOp -: -: +149u32 u_clamp -151u32 = -> -CLOp -: -: +150u32 clz -152u32 = -> -CLOp -: -: +151u32 ctz -153u32 = -> -CLOp -: -: +152u32 s_mad_hi -154u32 = -> -CLOp -: -: +153u32 u_mad_sat -155u32 = -> -CLOp -: -: +154u32 s_mad_sat -156u32 = -> -CLOp -: -: +155u32 s_max -157u32 = -> -CLOp -: -: +156u32 u_max -158u32 = -> -CLOp -: -: +157u32 s_min -159u32 = -> -CLOp -: -: +158u32 u_min -160u32 = -> -CLOp -: -: +159u32 s_mul_hi -161u32 = -> -CLOp -: -: +160u32 rotate -162u32 = -> -CLOp -: -: +161u32 s_sub_sat -163u32 = -> -CLOp -: -: +162u32 u_sub_sat -164u32 -= -> -CLOp -: -: -u_upsample -165u32 -= -> -CLOp -: -: -s_upsample -166u32 -= -> -CLOp -: -: -popcount -167u32 -= -> -CLOp -: -: -s_mad24 -168u32 -= -> -CLOp -: -: -u_mad24 -169u32 -= -> -CLOp -: -: -s_mul24 -170u32 -= -> -CLOp -: -: -u_mul24 -201u32 -= -> -CLOp -: -: -u_abs -202u32 -= -> -CLOp -: -: -u_abs_diff -203u32 -= -> -CLOp -: -: -u_mul_hi -204u32 -= -> -CLOp -: -: -u_mad_hi -95u32 -= -> -CLOp -: -: -fclamp -96u32 -= -> -CLOp -: -: -degrees -97u32 -= -> -CLOp -: -: -fmax_common -98u32 -= -> -CLOp -: -: -fmin_common -99u32 -= -> -CLOp -: -: -mix -100u32 -= -> -CLOp -: -: -radians -101u32 -= -> -CLOp -: -: -step -102u32 -= -> -CLOp -: -: -smoothstep -103u32 -= -> -CLOp -: -: -sign -104u32 = -> -CLOp -: -: -cross -105u32 +163u32 +u_upsample = -> -CLOp -: -: -distance -106u32 +164u32 +s_upsample = -> -CLOp -: -: -length -107u32 +165u32 +popcount = -> -CLOp -: -: -normalize -108u32 +166u32 +s_mad24 = -> -CLOp -: -: -fast_distance -109u32 +167u32 +u_mad24 = -> -CLOp -: -: -fast_length -110u32 +168u32 +s_mul24 = -> -CLOp -: -: -fast_normalize -186u32 +169u32 +u_mul24 = -> -CLOp -: -: -bitselect -187u32 +170u32 +vloadn = -> -CLOp -: -: -select 171u32 +vstoren = -> -CLOp -: -: -vloadn 172u32 +vload_half = -> -CLOp -: -: -vstoren 173u32 +vload_halfn = -> -CLOp -: -: -vload_half 174u32 +vstore_half = -> -CLOp -: -: -vload_halfn 175u32 +vstore_half_r = -> -CLOp -: -: -vstore_half 176u32 +vstore_halfn = -> -CLOp -: -: -vstore_half_r 177u32 +vstore_halfn_r = -> -CLOp -: -: -vstore_halfn 178u32 +vloada_halfn = -> -CLOp -: -: -vstore_halfn_r 179u32 +vstorea_halfn = -> -CLOp -: -: -vloada_halfn 180u32 +vstorea_halfn_r = -> -CLOp -: -: -vstorea_halfn 181u32 +shuffle = -> -CLOp -: -: -vstorea_halfn_r 182u32 +shuffle2 = -> -CLOp -: -: -shuffle 183u32 +printf = -> -CLOp -: -: -shuffle2 184u32 +prefetch = -> -CLOp -: -: -printf 185u32 +bitselect = -> -CLOp -: -: -prefetch -_ +186u32 +select = -> -return -None -} -) +187u32 +u_abs += +201u32 +u_abs_diff += +202u32 +u_mul_hi += +203u32 +u_mad_hi += +204u32 } +impl +CLOp +{ +pub fn -from_u64 +from_u32 ( n : -u64 +u32 ) - > @@ -30378,14 +33970,95 @@ Option Self > { -Self +Some +( +match +n +{ +0u32 +. +. += +110u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +CLOp +> +( +n +) +} +141u32 +. +. += +187u32 += +> +unsafe +{ +core +: +: +mem +: +: +transmute +: +: +< +u32 +CLOp +> +( +n +) +} +201u32 +. +. += +204u32 += +> +unsafe +{ +core : : -from_i64 +mem +: +: +transmute +: +: +< +u32 +CLOp +> ( n -as -i64 +) +} +_ += +> +return +None +} ) } } diff --git a/third_party/rust/spirv/release.toml b/third_party/rust/spirv/release.toml index 1bcb3d8071b5f..9181d5c7c44d7 100644 --- a/third_party/rust/spirv/release.toml +++ b/third_party/rust/spirv/release.toml @@ -19,13 +19,6 @@ version } } " -no -- -dev -- -version -= -true tag - message @@ -70,6 +63,9 @@ sign tag = true +publish += +false pre - release diff --git a/third_party/rust/wgpu-core/.cargo-checksum.json b/third_party/rust/wgpu-core/.cargo-checksum.json index 304c862f896e7..94008d2cfe04c 100644 --- a/third_party/rust/wgpu-core/.cargo-checksum.json +++ b/third_party/rust/wgpu-core/.cargo-checksum.json @@ -11,7 +11,7 @@ toml " : " -f7d6539341f7ff8362c314e0c1b9bf95eea7dad87af191e28bc30e3c53de28fd +f3ec42fd497e3fe2070ff1285713980e3a1b2c13e9dfb3eccb237baf68fa9954 " " LICENSE @@ -51,7 +51,7 @@ rs " : " -ad6667fd22e3a56fb09d35f077a1d94203c0d1ef36832492971a8143ad109ca2 +da0febe86a77cf3b6f958865af0cf07e1d0788a09e883030986a520360cc226a " " src @@ -64,7 +64,7 @@ rs " : " -fcfbefdbdde10a1add947308ef3e80ed2acd8b6459bc7e0c25b0bbb38b1144ff +a37f042484b65d9fdea4cdab3667381623ee9a8943a6d32683d410b92736d306 " " src @@ -90,7 +90,7 @@ rs " : " -f7a1c3374949885652fde94658a14e09dac84fc41d58c352e585c764d9a14f3c +69b30b92c61ff4396243d3dc42fb46a187771d40af26f9ec1c631dc602f76daa " " src @@ -142,7 +142,7 @@ rs " : " -dd22c5eab57f6f03373c41bfda2a55666ee61dfb2482a1126f959a48d0ad81c8 +74d7dffe3fc3d504feb85dad0c73a06ea7bfbe4311f86e96f9390c2c974dcb03 " " src @@ -168,7 +168,7 @@ rs " : " -795fd6e78e91ee6f4f54856cdddbb680745d0accda802533f88e205de135436a +5f271a6f2705e31b2ca90e88ec858ae81a714c5b4a51491890ebed45c1ce1287 " " src @@ -181,7 +181,7 @@ rs " : " -6012000a420c2e177c00a6df91b15ac58e947f5422d67bb8db5843a2a3fff134 +0d2e2c397bc8830d8e84d84d0708413954ed7c4594e22c66d2b65255ccab68d7 " " src @@ -212,13 +212,26 @@ src / device / +bgl +. +rs +" +: +" +292a0f07121aec78e86e0125d08785072bd4b7e763c99975b581b342ac4fcaa3 +" +" +src +/ +device +/ global . rs " : " -ed1580f15bdec3927b736101b78dc34fec40d92ed4ead15a0e1b5f70e72d5675 +4bbcabe510572e3c405475117ae005a7563a5d47d4ac0b2225b7a5443e8939a7 " " src @@ -231,7 +244,7 @@ rs " : " -9c9d2c21852bc1b9e133bfdea33b89abbbe9d849ad5c00d09863fe5594792e40 +3829f0cdba9b5476acd2e108fc0373b8ac2d2a6feed01c5653df9e87cb16f39c " " src @@ -244,7 +257,7 @@ rs " : " -45ad9b826f296cbef9470c3cfc705f832198587b45847ddd0ea4ddd5eb55f7eb +4d15b1d1ab3b90ca8d953fad062263f129d0338d493abcc5ffe65caf2d038674 " " src @@ -257,7 +270,7 @@ rs " : " -7ec005a04371d0cb191bc067074ac83f95dc751e5f1145e1cb7935b76b2b3716 +18769043c85a07909741a67dc3a7e303db490a623cc1a0448563818668300e3c " " src @@ -270,7 +283,7 @@ rs " : " -396bfda6c181826288484426f4fa170376256e1d29df916e1f265d2397e5987d +88a0c3f1036ccd69efe2d62b494286bacab8b56e9fe969b61a58a8c07693b358 " " src @@ -321,6 +334,17 @@ rs " src / +hash_utils +. +rs +" +: +" +e8d484027c7ce81978e4679a5e20af9416ab7d2fa595f1ca95992b29d625b0ca +" +" +src +/ hub . rs @@ -410,7 +434,7 @@ rs " : " -ab61469bc2d9bdcc47b73435a0d438ba413c5619ab653180a56e8e2aefe93c74 +082cf63acb7099ca2597d6bdd756c11782e4e39064da74b06000c99d5d7fdb85 " " src @@ -421,7 +445,18 @@ rs " : " -bd6e242f0f5408da0a675066092129281aadd5ab0051c036821b34c17992c1da +e3a8d4bc0a60d2ad647b8062798be2af387099b3af42214f180e6cebae3d807c +" +" +src +/ +pool +. +rs +" +: +" +8c88d86763bc465bf628157c62db9641f6789ece684cc4a20a2fdf50d37e0e16 " " src @@ -432,7 +467,7 @@ rs " : " -7751da30b27eed7521be7af166c6a07468eda47bf96206082cc33df6f77ec0d8 +c419d81f2d8814c6af4460ed4d03b4485b57743c3d2a52a50ab7c3d3c6f21968 " " src @@ -443,7 +478,7 @@ rs " : " -c259ca61dd5f2b632ff2ee871f82727921fa48dee15253872799af1dda77484b +ffa4029aaf8ed980bd2b61d056a7ec32099f5c2e1d85f3b9f1861baa34ac488c " " src @@ -454,7 +489,7 @@ rs " : " -e3c22585dd85dc79a4c5b50a7302392421bfc16dbac6de14592440deeeb7ee8a +84e96b5944bd776af5019fd64afef739bc5facb99e089a71f070922fd61af60a " " src @@ -465,7 +500,7 @@ rs " : " -2de558dda543329d70be35ed72dffdeba816814f6f0059d720a568abd47e40a7 +dd514e1954137eec4a0753a3670e8180796ac9c9ff770a1ca1813863debce823 " " src @@ -476,7 +511,7 @@ rs " : " -02be927de5c85f5f59a1c847bbdc8e9e02fb976c39fb7e3078a8f9fbff929934 +9ef4ee85e321fee73a50f21d0932f1a2ae08515b0e1d6be207f330e4ea59d1b6 " " src @@ -515,7 +550,7 @@ rs " : " -25015210f4f960f1daf4891a13d5b6ac48aad87cbc158a0bcdb1f718219f6e20 +02bac3cf2e53af45f79646817e85da8e4072d576438036a44b41ce1744e02d64 " " src @@ -554,7 +589,7 @@ rs " : " -d4e92ef3400cf48b2e76d8b7c1e4c6a1cef0d3d060c6abdb46b9a3b386bc9dc9 +769d87975b2fa0f6ca5794b7eaa203b2d6a00dea452783e6105ca7daf141490f " " src @@ -565,7 +600,7 @@ rs " : " -6933c349d155f647778134696c53cbd641419a959505f2f0a3db31fcceefc8b4 +613c58c3601f36d6aa5986cea01f30497c6bd4ceb990824904d101b2327941a9 " } " diff --git a/third_party/rust/wgpu-core/Cargo.toml b/third_party/rust/wgpu-core/Cargo.toml index 79ac981cfa139..227e6c38ae286 100644 --- a/third_party/rust/wgpu-core/Cargo.toml +++ b/third_party/rust/wgpu-core/Cargo.toml @@ -295,6 +295,11 @@ reporting . 11 " +indexmap += +" +2 +" log = " @@ -302,6 +307,11 @@ log . 4 " +once_cell += +" +1 +" parking_lot = " diff --git a/third_party/rust/wgpu-core/src/binding_model.rs b/third_party/rust/wgpu-core/src/binding_model.rs index c658fb8a311c6..ccb6f4b4690e8 100644 --- a/third_party/rust/wgpu-core/src/binding_model.rs +++ b/third_party/rust/wgpu-core/src/binding_model.rs @@ -7,6 +7,7 @@ device : : { +bgl Device DeviceError MissingDownlevelFlags @@ -70,7 +71,6 @@ validation MissingBufferUsageError MissingTextureUsageError } -FastHashMap Label } ; @@ -2830,22 +2830,6 @@ BindGroupLayoutEntry > } pub -( -crate -) -type -BindEntryMap -= -FastHashMap -< -u32 -wgt -: -: -BindGroupLayoutEntry -> -; -pub type BindGroupLayouts < @@ -2915,7 +2899,20 @@ crate ) entries : -BindEntryMap +bgl +: +: +EntryMap +pub +( +crate +) +origin +: +bgl +: +: +Origin # [ allow @@ -2927,14 +2924,7 @@ pub ( crate ) -dynamic_count -: -usize -pub -( -crate -) -count_validator +binding_count_validator : BindingTypeMaxCountValidator pub @@ -2977,6 +2967,37 @@ self ) { if +matches +! +( +self +. +origin +bgl +: +: +Origin +: +: +Pool +) +{ +self +. +device +. +bgl_pool +. +remove +( +& +self +. +entries +) +; +} +if let Some ( @@ -4107,6 +4128,56 @@ pub crate ) fn +get_binding_maps +( +& +self +) +- +> +ArrayVec +< +& +bgl +: +: +EntryMap +{ +hal +: +: +MAX_BIND_GROUPS +} +> +{ +self +. +bind_group_layouts +. +iter +( +) +. +map +( +| +bgl +| +& +bgl +. +entries +) +. +collect +( +) +} +pub +( +crate +) +fn validate_push_constant_ranges ( & @@ -5282,6 +5353,28 @@ guard ? ; } +for +texture +in +& +self +. +used_texture_ranges +{ +let +_ += +texture +. +texture +. +raw +( +guard +) +? +; +} self . raw diff --git a/third_party/rust/wgpu-core/src/command/bind.rs b/third_party/rust/wgpu-core/src/command/bind.rs index 2964957cfd7ec..035485fb25ff7 100644 --- a/third_party/rust/wgpu-core/src/command/bind.rs +++ b/third_party/rust/wgpu-core/src/command/bind.rs @@ -71,6 +71,10 @@ binding_model : : BindGroupLayout +device +: +: +bgl hal_api : : @@ -327,6 +331,49 @@ as_ref ( ) { +let +expected_bgl_type += +match +expected_bgl +. +origin +{ +bgl +: +: +Origin +: +: +Derived += +> +" +implicit +" +bgl +: +: +Origin +: +: +Pool += +> +" +explicit +" +} +; +let +expected_label += +expected_bgl +. +label +( +) +; diff . push @@ -338,21 +385,49 @@ format Should be compatible +an with +an +{ +expected_bgl_type +} bind group layout -with -label -= { } " -expected_bgl +if +expected_label . +is_empty +( +) +{ +" +without label +" +. +to_string +( +) +} +else +{ +format +! ( +" +with +label += +{ +} +" +expected_label ) +} ) ) ; @@ -371,6 +446,49 @@ as_ref ( ) { +let +assigned_bgl_type += +match +assigned_bgl +. +origin +{ +bgl +: +: +Origin +: +: +Derived += +> +" +implicit +" +bgl +: +: +Origin +: +: +Pool += +> +" +explicit +" +} +; +let +assigned_label += +assigned_bgl +. +label +( +) +; diff . push @@ -380,20 +498,46 @@ format ( " Assigned +{ +assigned_bgl_type +} bind group layout -with -label -= { } " -assigned_bgl +if +assigned_label . +is_empty +( +) +{ +" +without label +" +. +to_string ( ) +} +else +{ +format +! +( +" +with +label += +{ +} +" +assigned_label +) +} ) ) ; @@ -403,10 +547,13 @@ id e_entry ) in -& expected_bgl . entries +. +iter +( +) { if let @@ -421,6 +568,7 @@ entries . get ( +* id ) { @@ -615,7 +763,8 @@ not found in assigned -bindgroup +bind +group layout " ) @@ -647,6 +796,7 @@ entries . contains_key ( +* id ) { @@ -666,7 +816,8 @@ not found in expected -bindgroup +bind +group layout " ) @@ -675,45 +826,15 @@ layout } ) ; -} -else -{ -diff -. -push -( -" -Assigned -bindgroup -layout -is -implicit -expected -explicit -" -. -to_owned -( -) -) -; -} -} -else if -let -Some -( -assigned_bgl -) -= -self +expected_bgl . -assigned +origin +! += +assigned_bgl . -as_ref -( -) +origin { diff . @@ -723,35 +844,39 @@ format ! ( " -Assigned +Expected +{ +expected_bgl_type +} bind group layout -= +got { +assigned_bgl_type } " -assigned_bgl -. -label -( -) ) ) -; +} +} +else +{ diff . push ( " Assigned -bindgroup +bind +group layout -is not -implicit -expected -implicit +found +( +internal +error +) " . to_owned @@ -760,23 +885,20 @@ to_owned ) ; } -if -diff -. -is_empty -( -) +} +else { diff . push ( " -But -no -differences +Expected +bind +group +layout +not found -? ( internal error @@ -787,6 +909,7 @@ to_owned ( ) ) +; } diff } diff --git a/third_party/rust/wgpu-core/src/command/clear.rs b/third_party/rust/wgpu-core/src/command/clear.rs index 8eb69dcfc3040..d2b97db326416 100644 --- a/third_party/rust/wgpu-core/src/command/clear.rs +++ b/third_party/rust/wgpu-core/src/command/clear.rs @@ -1693,29 +1693,27 @@ ClearError > { let -dst_inner +snatch_guard = dst_texture . -inner +device +. +snatchable_lock +. +read ( ) ; let dst_raw = -dst_inner -. -as_ref -( -) -. -unwrap -( -) +dst_texture . -as_raw +raw ( +& +snatch_guard ) . ok_or_else @@ -1897,15 +1895,7 @@ pending . into_hal ( -dst_inner -. -as_ref -( -) -. -unwrap -( -) +dst_raw ) ) ; diff --git a/third_party/rust/wgpu-core/src/command/mod.rs b/third_party/rust/wgpu-core/src/command/mod.rs index 99bbf407be439..614e6bd21b8fe 100644 --- a/third_party/rust/wgpu-core/src/command/mod.rs +++ b/third_party/rust/wgpu-core/src/command/mod.rs @@ -1428,6 +1428,7 @@ textures . drain_transitions ( +snatch_guard ) ; let @@ -1460,7 +1461,11 @@ textures i ] . -as_ref +unwrap +( +) +. +raw ( ) . diff --git a/third_party/rust/wgpu-core/src/command/render.rs b/third_party/rust/wgpu-core/src/command/render.rs index 93d336676cb5d..9991edecc37ed 100644 --- a/third_party/rust/wgpu-core/src/command/render.rs +++ b/third_party/rust/wgpu-core/src/command/render.rs @@ -12547,17 +12547,6 @@ pending_discard_init_fixups } ; let -query_set_guard -= -hub -. -query_sets -. -read -( -) -; -let cmd_buf = hub @@ -12599,6 +12588,17 @@ unwrap ) ; let +query_set_guard += +hub +. +query_sets +. +read +( +) +; +let encoder = & diff --git a/third_party/rust/wgpu-core/src/command/transfer.rs b/third_party/rust/wgpu-core/src/command/transfer.rs index e8a9b89ee5fb0..864899e303e93 100644 --- a/third_party/rust/wgpu-core/src/command/transfer.rs +++ b/third_party/rust/wgpu-core/src/command/transfer.rs @@ -90,10 +90,6 @@ Resource Texture TextureErrorDimension } -storage -: -: -Storage track : : @@ -138,7 +134,13 @@ use std : : +{ iter +sync +: +: +Arc +} ; use super @@ -2588,36 +2590,19 @@ copy_size : & Extent3d -texture_guard +texture : & -Storage +Arc < Texture < A > -TextureId > ) { let -texture -= -texture_guard -. -get -( -copy_texture -. -texture -) -. -unwrap -( -) -; -let init_action = TextureInitTrackerAction @@ -2820,16 +2805,15 @@ copy_size : & Extent3d -texture_guard +texture : & -Storage +Arc < Texture < A > -TextureId > ) - @@ -2841,35 +2825,6 @@ Result TransferError > { -let -_ -= -texture_guard -. -get -( -source -. -texture -) -. -map_err -( -| -_ -| -TransferError -: -: -InvalidTexture -( -source -. -texture -) -) -? -; handle_texture_init ( MemoryInitKind @@ -2882,7 +2837,7 @@ texture_memory_actions device source copy_size -texture_guard +texture ) ; Ok @@ -2938,16 +2893,15 @@ copy_size : & Extent3d -texture_guard +texture : & -Storage +Arc < Texture < A > -TextureId > ) - @@ -2960,35 +2914,6 @@ TransferError > { let -texture -= -texture_guard -. -get -( -destination -. -texture -) -. -map_err -( -| -_ -| -TransferError -: -: -InvalidTexture -( -destination -. -texture -) -) -? -; -let dst_init_kind = if @@ -3026,7 +2951,7 @@ texture_memory_actions device destination copy_size -texture_guard +texture ) ; Ok @@ -4354,17 +4279,6 @@ cmd_buf_data . texture_memory_actions ; -let -texture_guard -= -hub -. -textures -. -read -( -) -; if copy_size . @@ -4415,7 +4329,9 @@ Ok let dst_texture = -texture_guard +hub +. +textures . get ( @@ -4472,6 +4388,7 @@ extract_texture_selector ( destination copy_size +& dst_texture ) ? @@ -4485,7 +4402,7 @@ device destination copy_size & -texture_guard +dst_texture ) ? ; @@ -4663,6 +4580,7 @@ textures . set_single ( +& dst_texture dst_range hal @@ -4689,29 +4607,14 @@ texture ? ; let -dst_inner -= -dst_texture -. -inner -( -) -; -let dst_raw = -dst_inner -. -as_ref -( -) -. -unwrap -( -) +dst_texture . -as_raw +raw ( +& +snatch_guard ) . ok_or @@ -4781,15 +4684,7 @@ pending . into_hal ( -dst_inner -. -as_ref -( -) -. -unwrap -( -) +dst_raw ) ) ; @@ -5341,17 +5236,6 @@ cmd_buf_data . texture_memory_actions ; -let -texture_guard -= -hub -. -textures -. -read -( -) -; if copy_size . @@ -5402,7 +5286,9 @@ Ok let src_texture = -texture_guard +hub +. +textures . get ( @@ -5459,6 +5345,7 @@ extract_texture_selector ( source copy_size +& src_texture ) ? @@ -5472,7 +5359,7 @@ device source copy_size & -texture_guard +src_texture ) ? ; @@ -5496,6 +5383,7 @@ textures . set_single ( +& src_texture src_range hal @@ -5522,29 +5410,14 @@ texture ? ; let -src_inner -= -src_texture -. -inner -( -) -; -let src_raw = -src_inner -. -as_ref -( -) -. -unwrap -( -) +src_texture . -as_raw +raw ( +& +snatch_guard ) . ok_or @@ -5678,15 +5551,7 @@ pending . into_hal ( -src_inner -. -as_ref -( -) -. -unwrap -( -) +src_raw ) ) ; @@ -6299,6 +6164,17 @@ into ; } let +snatch_guard += +device +. +snatchable_lock +. +read +( +) +; +let mut cmd_buf_data = @@ -6399,17 +6275,6 @@ cmd_buf_data . texture_memory_actions ; -let -texture_guard -= -hub -. -textures -. -read -( -) -; if copy_size . @@ -6460,7 +6325,9 @@ Ok let src_texture = -texture_guard +hub +. +textures . get ( @@ -6487,18 +6354,11 @@ texture ? ; let -src_inner -= -src_texture -. -inner -( -) -; -let dst_texture = -texture_guard +hub +. +textures . get ( @@ -6524,15 +6384,6 @@ texture ) ? ; -let -dst_inner -= -dst_texture -. -inner -( -) -; if src_texture . @@ -6637,6 +6488,7 @@ extract_texture_selector ( source copy_size +& src_texture ) ? @@ -6651,6 +6503,7 @@ extract_texture_selector ( destination copy_size +& dst_texture ) ? @@ -6744,7 +6597,7 @@ device source copy_size & -texture_guard +src_texture ) ? ; @@ -6757,7 +6610,7 @@ device destination copy_size & -texture_guard +dst_texture ) ? ; @@ -6772,6 +6625,7 @@ textures . set_single ( +& src_texture src_range hal @@ -6800,18 +6654,12 @@ texture let src_raw = -src_inner -. -as_ref -( -) -. -unwrap -( -) +src_texture . -as_raw +raw ( +& +snatch_guard ) . ok_or @@ -6879,15 +6727,7 @@ pending . into_hal ( -src_inner -. -as_ref -( -) -. -unwrap -( -) +src_raw ) ) . @@ -6906,6 +6746,7 @@ textures . set_single ( +& dst_texture dst_range hal @@ -6934,18 +6775,12 @@ texture let dst_raw = -dst_inner -. -as_ref -( -) -. -unwrap -( -) +dst_texture . -as_raw +raw ( +& +snatch_guard ) . ok_or @@ -7016,15 +6851,7 @@ pending . into_hal ( -dst_inner -. -as_ref -( -) -. -unwrap -( -) +dst_raw ) ) ) diff --git a/third_party/rust/wgpu-core/src/device/bgl.rs b/third_party/rust/wgpu-core/src/device/bgl.rs new file mode 100644 index 0000000000000..714a3596b4830 --- /dev/null +++ b/third_party/rust/wgpu-core/src/device/bgl.rs @@ -0,0 +1,565 @@ +use +std +: +: +hash +: +: +{ +Hash +Hasher +} +; +use +crate +: +: +{ +binding_model +: +: +{ +self +} +FastIndexMap +} +; +# +[ +derive +( +Debug +Copy +Clone +PartialEq +Eq +) +] +pub +enum +Origin +{ +Pool +Derived +} +# +[ +derive +( +Debug +Default +Clone +Eq +) +] +pub +struct +EntryMap +{ +inner +: +FastIndexMap +< +u32 +wgt +: +: +BindGroupLayoutEntry +> +sorted +: +bool +} +impl +PartialEq +for +EntryMap +{ +fn +eq +( +& +self +other +: +& +Self +) +- +> +bool +{ +self +. +assert_sorted +( +) +; +other +. +assert_sorted +( +) +; +self +. +inner += += +other +. +inner +} +} +impl +Hash +for +EntryMap +{ +fn +hash +< +H +: +Hasher +> +( +& +self +state +: +& +mut +H +) +{ +self +. +assert_sorted +( +) +; +for +entry +in +self +. +inner +. +values +( +) +{ +entry +. +hash +( +state +) +; +} +} +} +impl +EntryMap +{ +fn +assert_sorted +( +& +self +) +{ +assert +! +( +self +. +sorted +) +; +} +pub +fn +from_entries +( +device_limits +: +& +wgt +: +: +Limits +entries +: +& +[ +wgt +: +: +BindGroupLayoutEntry +] +) +- +> +Result +< +Self +binding_model +: +: +CreateBindGroupLayoutError +> +{ +let +mut +inner += +FastIndexMap +: +: +with_capacity_and_hasher +( +entries +. +len +( +) +Default +: +: +default +( +) +) +; +for +entry +in +entries +{ +if +entry +. +binding +> +device_limits +. +max_bindings_per_bind_group +{ +return +Err +( +binding_model +: +: +CreateBindGroupLayoutError +: +: +InvalidBindingIndex +{ +binding +: +entry +. +binding +maximum +: +device_limits +. +max_bindings_per_bind_group +} +) +; +} +if +inner +. +insert +( +entry +. +binding +* +entry +) +. +is_some +( +) +{ +return +Err +( +binding_model +: +: +CreateBindGroupLayoutError +: +: +ConflictBinding +( +entry +. +binding +) +) +; +} +} +inner +. +sort_unstable_keys +( +) +; +Ok +( +Self +{ +inner +sorted +: +true +} +) +} +pub +fn +len +( +& +self +) +- +> +usize +{ +self +. +inner +. +len +( +) +} +pub +fn +get +( +& +self +binding +: +u32 +) +- +> +Option +< +& +wgt +: +: +BindGroupLayoutEntry +> +{ +self +. +inner +. +get +( +& +binding +) +} +pub +fn +indices +( +& +self +) +- +> +impl +ExactSizeIterator +< +Item += +u32 +> ++ +' +_ +{ +self +. +inner +. +keys +( +) +. +copied +( +) +} +pub +fn +values +( +& +self +) +- +> +impl +ExactSizeIterator +< +Item += +& +wgt +: +: +BindGroupLayoutEntry +> ++ +' +_ +{ +self +. +inner +. +values +( +) +} +pub +fn +iter +( +& +self +) +- +> +impl +ExactSizeIterator +< +Item += +( +& +u32 +& +wgt +: +: +BindGroupLayoutEntry +) +> ++ +' +_ +{ +self +. +inner +. +iter +( +) +} +pub +fn +is_empty +( +& +self +) +- +> +bool +{ +self +. +inner +. +is_empty +( +) +} +pub +fn +contains_key +( +& +self +key +: +u32 +) +- +> +bool +{ +self +. +inner +. +contains_key +( +& +key +) +} +pub +fn +entry +( +& +mut +self +key +: +u32 +) +- +> +indexmap +: +: +map +: +: +Entry +< +' +_ +u32 +wgt +: +: +BindGroupLayoutEntry +> +{ +self +. +sorted += +false +; +self +. +inner +. +entry +( +key +) +} +} diff --git a/third_party/rust/wgpu-core/src/device/global.rs b/third_party/rust/wgpu-core/src/device/global.rs index bcce8a76df5c3..5fd35f847a5c2 100644 --- a/third_party/rust/wgpu-core/src/device/global.rs +++ b/third_party/rust/wgpu-core/src/device/global.rs @@ -31,6 +31,7 @@ device : : { +bgl life : : @@ -102,7 +103,6 @@ validation : : check_buffer_usage -FastHashMap Label LabelHelpers as @@ -2925,11 +2925,6 @@ self let buffer = -{ -let -mut -buffer_guard -= hub . buffers @@ -2937,8 +2932,6 @@ buffers write ( ) -; -buffer_guard . get_and_mark_destroyed ( @@ -2959,7 +2952,6 @@ DestroyError Invalid ) ? -} ; let _ @@ -4118,22 +4110,13 @@ error loop { let -device_guard +device = +match hub . devices . -read -( -) -; -let -device -= -match -device_guard -. get ( device_id @@ -4465,8 +4448,7 @@ self ) ; let -mut -texture_guard +texture = hub . @@ -4475,11 +4457,6 @@ textures write ( ) -; -let -texture -= -texture_guard . get_and_mark_destroyed ( @@ -4501,213 +4478,10 @@ Invalid ) ? ; -let -device -= -& texture . -device -; -# -[ -cfg -( -feature -= -" -trace -" -) -] -if -let -Some -( -ref -mut -trace -) -= -* -device -. -trace -. -lock -( -) -{ -trace -. -add -( -trace -: -: -Action -: -: -FreeTexture -( -texture_id -) -) -; -} -let -last_submit_index -= -texture -. -info -. -submission_index -( -) -; -if -let -resource -: -: -TextureInner -: -: -Native -{ -ref -raw -} -= -* -texture -. -inner -( -) -. -as_ref -( -) -. -unwrap -( -) -{ -if -! -raw -. -is_none -( -) -{ -let -temp -= -queue -: -: -TempResource -: -: -Texture -( -texture -. -clone -( -) -) -; -let -mut -guard -= -device -. -pending_writes -. -lock -( -) -; -let -pending_writes -= -guard -. -as_mut -( -) -. -unwrap -( -) -; -if -pending_writes -. -dst_textures -. -contains_key -( -& -texture_id -) -{ -pending_writes -. -temp_resources -. -push -( -temp -) -; -} -else -{ -drop -( -guard -) -; -device -. -lock_life -( -) -. -schedule_resource_destruction -( -temp -last_submit_index -) -; -} -} -else -{ -return -Err +destroy ( -resource -: -: -DestroyError -: -: -AlreadyDestroyed -) -; -} -} -Ok -( -( -) ) } pub @@ -6051,9 +5825,6 @@ id_in let error = -' -outer -: loop { let @@ -6168,185 +5939,135 @@ clone ; } let -mut entry_map = -FastHashMap -: -: -default -( -) -; -for -entry -in -desc -. -entries -. -iter -( -) -{ -if -entry -. -binding -> -device -. -limits -. -max_bindings_per_bind_group -{ -break -' -outer -binding_model -: -: -CreateBindGroupLayoutError +match +bgl : : -InvalidBindingIndex -{ -binding +EntryMap : -entry -. -binding -maximum : +from_entries +( +& device . limits +& +desc . -max_bindings_per_bind_group -} -; -} -if -entry_map -. -insert -( -entry -. -binding -* -entry +entries ) -. -is_some +{ +Ok ( +map ) -{ -break -' -outer -binding_model -: -: -CreateBindGroupLayoutError -: -: -ConflictBinding += +> +map +Err ( -entry -. -binding +e ) -; -} += +> +break +e } -if +; let +mut +fid += Some ( -( -id -layout -) +fid ) +; +let +mut +id = -{ +None +; let -bgl_guard +bgl_result = -hub +device . -bind_group_layouts +bgl_pool . -read +get_or_init ( -) -; +entry_map +| +entry_map +| +{ +let +bgl += device . -deduplicate_bind_group_layout +create_bind_group_layout ( & +desc +. +label entry_map -& -* -bgl_guard -) -} -{ -api_log -! -( -" -Reusing -BindGroupLayout -{ -layout +bgl : -? -} -- -> -{ : -? -} -" -id +Origin +: +: +Pool ) +? ; let -id +( +id_inner +arc +) = fid . -assign_existing +take ( -& -layout ) -; -return +. +unwrap ( +) +. +assign +( +bgl +) +; id -None += +Some +( +id_inner ) ; +Ok +( +arc +) } +) +; let layout = match -device -. -create_bind_group_layout -( -& -desc -. -label -entry_map -) +bgl_result { Ok ( @@ -6365,19 +6086,34 @@ break e } ; -let -( +if id -_layout +. +is_none +( ) +{ +id = +Some +( fid . -assign +take +( +) +. +unwrap ( +) +. +assign_existing +( +& layout ) -; +) +} api_log ! ( @@ -6399,6 +6135,10 @@ id return ( id +. +unwrap +( +) None ) ; @@ -6791,18 +6531,6 @@ clone let layout = -{ -let -bgl_guard -= -hub -. -bind_group_layouts -. -read -( -) -; match device . @@ -6810,8 +6538,9 @@ create_pipeline_layout ( desc & -* -bgl_guard +hub +. +bind_group_layouts ) { Ok @@ -6830,7 +6559,6 @@ e break e } -} ; let ( @@ -7239,22 +6967,13 @@ clone ; } let -bind_group_layout_guard +bind_group_layout = +match hub . bind_group_layouts . -read -( -) -; -let -bind_group_layout -= -match -bind_group_layout_guard -. get ( desc @@ -7329,6 +7048,7 @@ device . create_bind_group ( +& bind_group_layout desc hub @@ -11599,22 +11319,13 @@ error loop { let -pipeline_guard +pipeline = +match hub . compute_pipelines . -read -( -) -; -let -pipeline -= -match -pipeline_guard -. get ( pipeline_id diff --git a/third_party/rust/wgpu-core/src/device/life.rs b/third_party/rust/wgpu-core/src/device/life.rs index aeaffc3ec94ee..0052c0a2b3ffc 100644 --- a/third_party/rust/wgpu-core/src/device/life.rs +++ b/third_party/rust/wgpu-core/src/device/life.rs @@ -86,6 +86,7 @@ resource self Buffer DestroyedBuffer +DestroyedTexture QuerySet Resource Sampler @@ -332,6 +333,20 @@ A > > > +pub +destroyed_textures +: +FastHashMap +< +TextureId +Arc +< +DestroyedTexture +< +A +> +> +> } impl < @@ -462,6 +477,14 @@ FastHashMap default ( ) +destroyed_textures +: +FastHashMap +: +: +default +( +) } } pub @@ -492,6 +515,7 @@ pipeline_layouts render_bundles query_sets destroyed_buffers +destroyed_textures } = self @@ -574,6 +598,12 @@ clear ( ) ; +destroyed_textures +. +clear +( +) +; } pub ( @@ -607,6 +637,7 @@ pipeline_layouts render_bundles query_sets destroyed_buffers +destroyed_textures } = self @@ -780,6 +811,19 @@ drain ) ) ; +destroyed_textures +. +extend +( +other +. +destroyed_textures +. +drain +( +) +) +; } } struct @@ -1304,6 +1348,29 @@ raw ) ; } +TempResource +: +: +DestroyedTexture +( +destroyed +) += +> +{ +last_resources +. +destroyed_textures +. +insert +( +destroyed +. +id +destroyed +) +; +} } } self @@ -1864,6 +1931,29 @@ raw ) ; } +TempResource +: +: +DestroyedTexture +( +destroyed +) += +> +{ +resources +. +destroyed_textures +. +insert +( +destroyed +. +id +destroyed +) +; +} } } pub @@ -3758,6 +3848,159 @@ id } } fn +triage_suspected_destroyed_textures +( +& +mut +self +# +[ +cfg +( +feature += +" +trace +" +) +] +trace +: +& +mut +Option +< +& +mut +trace +: +: +Trace +> +) +{ +for +( +id +texture +) +in +self +. +suspected_resources +. +destroyed_textures +. +drain +( +) +{ +let +submit_index += +texture +. +submission_index +; +if +let +Some +( +resources +) += +self +. +active +. +iter_mut +( +) +. +find +( +| +a +| +a +. +index += += +submit_index +) +{ +resources +. +last_resources +. +destroyed_textures +. +insert +( +id +texture +) +; +} +else +{ +self +. +free_resources +. +destroyed_textures +. +insert +( +id +texture +) +; +} +# +[ +cfg +( +feature += +" +trace +" +) +] +if +let +Some +( +ref +mut +t +) += +* +trace +{ +t +. +add +( +trace +: +: +Action +: +: +DestroyTexture +( +id +) +) +; +} +} +} +fn triage_suspected_compute_pipelines ( & @@ -4869,6 +5112,26 @@ mut trace ) ; +self +. +triage_suspected_destroyed_textures +( +# +[ +cfg +( +feature += +" +trace +" +) +] +& +mut +trace +) +; } pub ( diff --git a/third_party/rust/wgpu-core/src/device/mod.rs b/third_party/rust/wgpu-core/src/device/mod.rs index 71d6b6769a02e..30e0fb8a1eb69 100644 --- a/third_party/rust/wgpu-core/src/device/mod.rs +++ b/third_party/rust/wgpu-core/src/device/mod.rs @@ -110,6 +110,13 @@ mod any_device ; pub +( +crate +) +mod +bgl +; +pub mod global ; diff --git a/third_party/rust/wgpu-core/src/device/queue.rs b/third_party/rust/wgpu-core/src/device/queue.rs index dac9a70c3267e..562593f213c4d 100644 --- a/third_party/rust/wgpu-core/src/device/queue.rs +++ b/third_party/rust/wgpu-core/src/device/queue.rs @@ -91,6 +91,7 @@ Buffer BufferAccessError BufferMapState DestroyedBuffer +DestroyedTexture Resource ResourceInfo ResourceType @@ -735,6 +736,16 @@ A > > ) +DestroyedTexture +( +Arc +< +DestroyedTexture +< +A +> +> +) Texture ( Arc @@ -4124,9 +4135,7 @@ rows_per_image . unwrap_or ( -size -. -height +height_blocks ) ; let @@ -4477,6 +4486,17 @@ init_layer_range } } let +snatch_guard += +device +. +snatchable_lock +. +read +( +) +; +let dst = hub @@ -4516,29 +4536,14 @@ Relaxed ) ; let -dst_inner -= -dst -. -inner -( -) -; -let dst_raw = -dst_inner -. -as_ref -( -) -. -unwrap -( -) +dst . -as_raw +raw ( +& +snatch_guard ) . ok_or @@ -4993,15 +4998,7 @@ pending . into_hal ( -dst_inner -. -as_ref -( -) -. -unwrap -( -) +dst_raw ) ) ) @@ -6121,29 +6118,25 @@ Relaxed ) ; let -dst_inner +snatch_guard = -dst +device . -inner +snatchable_lock +. +read ( ) ; let dst_raw = -dst_inner -. -as_ref -( -) -. -unwrap -( -) +dst . -as_raw +raw ( +& +snatch_guard ) . ok_or @@ -6271,15 +6264,7 @@ pending . into_hal ( -dst_inner -. -as_ref -( -) -. -unwrap -( -) +dst_raw ) ) ) @@ -7042,30 +7027,17 @@ let should_extend = match -* texture . inner -( -) -. -as_ref -( -) . -unwrap +get ( +& +snatch_guard ) { -TextureInner -: -: -Native -{ -raw -: None -} = > { @@ -7082,21 +7054,22 @@ id ) ; } +Some +( TextureInner : : Native { -raw -: -Some -( -_ -) +. +. } +) = > false +Some +( TextureInner : : @@ -7107,6 +7080,7 @@ has_work . . } +) = > { @@ -7899,6 +7873,8 @@ textures . drain_transitions ( +& +snatch_guard ) ; let @@ -7931,7 +7907,11 @@ textures i ] . -as_ref +unwrap +( +) +. +raw ( ) . @@ -8054,9 +8034,10 @@ unwrap ) ; { -let -texture_guard -= +used_surface_textures +. +set_size +( hub . textures @@ -8064,12 +8045,6 @@ textures read ( ) -; -used_surface_textures -. -set_size -( -texture_guard . len ( @@ -8092,30 +8067,17 @@ iter ) { match -* texture . inner -( -) . -as_ref -( -) -. -unwrap +get ( +& +snatch_guard ) { -TextureInner -: -: -Native -{ -raw -: None -} = > { @@ -8132,22 +8094,23 @@ id ) ; } +Some +( TextureInner : : Native { -raw -: -Some -( -_ -) +. +. } +) = > { } +Some +( TextureInner : : @@ -8158,6 +8121,7 @@ has_work . . } +) = > { @@ -8239,6 +8203,8 @@ textures . drain_transitions ( +& +snatch_guard ) ; let @@ -8271,7 +8237,11 @@ textures i ] . -as_ref +unwrap +( +) +. +raw ( ) . diff --git a/third_party/rust/wgpu-core/src/device/resource.rs b/third_party/rust/wgpu-core/src/device/resource.rs index 257621214f409..29836f2c3e6fe 100644 --- a/third_party/rust/wgpu-core/src/device/resource.rs +++ b/third_party/rust/wgpu-core/src/device/resource.rs @@ -54,6 +54,7 @@ device : : { +bgl AttachmentData CommandAllocator DeviceLostInvocation @@ -95,6 +96,10 @@ instance : Adapter pipeline +pool +: +: +ResourcePool registry : : @@ -436,6 +441,23 @@ pub ( crate ) +bgl_pool +: +ResourcePool +< +bgl +: +: +EntryMap +BindGroupLayout +< +A +> +> +pub +( +crate +) alignments : hal @@ -1589,6 +1611,14 @@ new ) ) ) +bgl_pool +: +ResourcePool +: +: +new +( +) # [ cfg @@ -3401,13 +3431,11 @@ Texture { inner : -RwLock +Snatchable : : new ( -Some -( resource : : @@ -3418,13 +3446,9 @@ Native { raw : -Some -( hal_texture -) } ) -) device : self @@ -5141,29 +5165,27 @@ CreateTextureViewError > { let -inner +snatch_guard = texture . -inner +device +. +snatchable_lock +. +read ( ) ; let texture_raw = -inner -. -as_ref -( -) -. -unwrap -( -) +texture . -as_raw +raw ( +& +snatch_guard ) . ok_or @@ -8573,214 +8595,6 @@ pub crate ) fn -deduplicate_bind_group_layout -< -' -a -> -( -self -: -& -Arc -< -Self -> -entry_map -: -& -' -a -binding_model -: -: -BindEntryMap -guard -: -& -' -a -Storage -< -BindGroupLayout -< -A -> -id -: -: -BindGroupLayoutId -> -) -- -> -Option -< -( -id -: -: -BindGroupLayoutId -Arc -< -BindGroupLayout -< -A -> -> -) -> -{ -guard -. -iter -( -self -. -as_info -( -) -. -id -( -) -. -backend -( -) -) -. -find -( -| -& -( -_ -bgl -) -| -{ -bgl -. -device -. -info -. -id -( -) -= -= -self -. -as_info -( -) -. -id -( -) -& -& -bgl -. -entries -= -= -* -entry_map -} -) -. -map -( -| -( -id -resource -) -| -( -id -resource -. -clone -( -) -) -) -} -pub -( -crate -) -fn -get_introspection_bind_group_layouts -< -' -a -> -( -pipeline_layout -: -& -' -a -binding_model -: -: -PipelineLayout -< -A -> -) -- -> -ArrayVec -< -& -' -a -binding_model -: -: -BindEntryMap -{ -hal -: -: -MAX_BIND_GROUPS -} -> -{ -pipeline_layout -. -bind_group_layouts -. -iter -( -) -. -map -( -| -layout -| -& -layout -. -entries -) -. -collect -( -) -} -pub -( -crate -) -fn make_late_sized_buffer_groups ( shader_binding_sizes @@ -8975,10 +8789,16 @@ crate Label entry_map : -binding_model +bgl +: +: +EntryMap +origin +: +bgl : : -BindEntryMap +Origin ) - > @@ -9820,7 +9640,6 @@ features ) ; let -mut hal_bindings = entry_map @@ -9829,7 +9648,7 @@ values ( ) . -cloned +copied ( ) . @@ -9857,18 +9676,6 @@ self instance_flags ) ; -hal_bindings -. -sort_by_key -( -| -b -| -b -. -binding -) -; let hal_desc = @@ -9990,6 +9797,13 @@ self clone ( ) +entries +: +entry_map +origin +binding_count_validator +: +count_validator info : ResourceInfo @@ -10008,35 +9822,6 @@ BindGroupLayout " ) ) -dynamic_count -: -entry_map -. -values -( -) -. -filter -( -| -b -| -b -. -ty -. -has_dynamic_offset -( -) -) -. -count -( -) -count_validator -entries -: -entry_map label : label @@ -11307,7 +11092,6 @@ entries . get ( -& binding ) . @@ -12396,7 +12180,7 @@ layout . entries . -keys +indices ( ) . @@ -12409,6 +12193,7 @@ late_buffer_binding_sizes . get ( +& binding ) . @@ -13319,19 +13104,19 @@ binding_model : : PipelineLayoutDescriptor -bgl_guard +bgl_registry : & -Storage -< -BindGroupLayout +Registry < -A -> id : : BindGroupLayoutId +BindGroupLayout +< +A +> > ) - @@ -13634,6 +13419,17 @@ default ( ) ; +let +mut +bind_group_layouts += +ArrayVec +: +: +new +( +) +; for & id @@ -13649,10 +13445,10 @@ iter let Ok ( -bind_group_layout +bgl ) = -bgl_guard +bgl_registry . get ( @@ -13674,8 +13470,22 @@ id ; } ; +bind_group_layouts +. +push +( +bgl +) +; +} +for +bgl +in +& +bind_group_layouts +{ if -bind_group_layout +bgl . device . @@ -13717,9 +13527,9 @@ count_validator merge ( & -bind_group_layout +bgl . -count_validator +binding_count_validator ) ; } @@ -13743,10 +13553,8 @@ TooManyBindings ? ; let -bgl_vec +raw_bind_group_layouts = -desc -. bind_group_layouts . iter @@ -13756,19 +13564,9 @@ iter map ( | -& -id +bgl | -bgl_guard -. -get -( -id -) -. -unwrap -( -) +bgl . raw ( @@ -13779,9 +13577,15 @@ collect : : < -Vec +ArrayVec < _ +{ +hal +: +: +MAX_BIND_GROUPS +} > > ( @@ -13819,7 +13623,7 @@ FIRST_VERTEX_INSTANCE bind_group_layouts : & -bgl_vec +raw_bind_group_layouts push_constant_ranges : desc @@ -13864,6 +13668,11 @@ from ? } ; +drop +( +raw_bind_group_layouts +) +; Ok ( binding_model @@ -13900,40 +13709,6 @@ borrow_or_default ) ) bind_group_layouts -: -desc -. -bind_group_layouts -. -iter -( -) -. -map -( -| -& -id -| -bgl_guard -. -get -( -id -) -. -unwrap -( -) -. -clone -( -) -) -. -collect -( -) push_constant_ranges : desc @@ -13979,10 +13754,10 @@ derived_group_layouts : ArrayVec < -binding_model +bgl : : -BindEntryMap +EntryMap { hal : @@ -14026,10 +13801,16 @@ A > Result < -id +Arc +< +binding_model : : -PipelineLayoutId +PipelineLayout +< +A +> +> pipeline : : @@ -14184,43 +13965,6 @@ derived_group_layouts let bgl = -match -self -. -deduplicate_bind_group_layout -( -& -map -& -bgl_registry -. -read -( -) -) -{ -Some -( -( -dedup_id -_ -) -) -= -> -{ -* -bgl_id -= -dedup_id -; -None -} -None -= -> -Some -( self . create_bind_group_layout @@ -14228,20 +13972,16 @@ create_bind_group_layout & None map +bgl +: +: +Origin +: +: +Derived ) ? -) -} ; -if -let -Some -( -bgl -) -= -bgl -{ bgl_registry . force_replace @@ -14252,7 +13992,6 @@ bgl ) ; } -} let layout_desc = @@ -14303,12 +14042,7 @@ create_pipeline_layout ( & layout_desc -& bgl_registry -. -read -( -) ) ? ; @@ -14324,10 +14058,19 @@ layout ; Ok ( +pipeline_layout_registry +. +get +( ids . root_id ) +. +unwrap +( +) +) } pub ( @@ -14462,56 +14205,7 @@ COMPUTE_SHADERS ? ; let -mut -derived_group_layouts -= -ArrayVec -: -: -< -binding_model -: -: -BindEntryMap -{ -hal -: -: -MAX_BIND_GROUPS -} -> -: -: -new -( -) -; -let -mut -shader_binding_sizes -= -FastHashMap -: -: -default -( -) -; -let -io -= -validation -: -: -StageIo -: -: -default -( -) -; -let -shader_module +shader_module = hub . @@ -14579,31 +14273,8 @@ into ) ; } -{ -let -flag -= -wgt -: -: -ShaderStages -: -: -COMPUTE -; -let -pipeline_layout_guard -= -hub -. -pipeline_layouts -. -read -( -) -; let -provided_layouts +pipeline_layout = match desc @@ -14616,14 +14287,13 @@ pipeline_layout_id ) = > -Some -( -Device -: -: -get_introspection_bind_group_layouts -( -pipeline_layout_guard +{ +let +pipeline_layout += +hub +. +pipeline_layouts . get ( @@ -14644,43 +14314,139 @@ CreateComputePipelineError InvalidLayout ) ? +; +if +pipeline_layout +. +device +. +as_info +( ) +. +id +( ) -None +! = -> -{ -for -_ -in -0 -. -. self . -limits +as_info +( +) . -max_bind_groups +id +( +) { -derived_group_layouts +return +Err +( +DeviceError +: +: +WrongDevice . -push +into ( -binding_model +) +) +; +} +Some +( +pipeline_layout +) +} +None += +> +None +} +; +let +mut +binding_layout_source += +match +pipeline_layout +{ +Some +( +ref +pipeline_layout +) += +> +{ +validation : : -BindEntryMap +BindingLayoutSource : : -default +Provided +( +pipeline_layout +. +get_binding_maps ( ) ) -; } None += +> +validation +: +: +BindingLayoutSource +: +: +new_derived +( +& +self +. +limits +) } -} +; +let +mut +shader_binding_sizes += +FastHashMap +: +: +default +( +) +; +let +io += +validation +: +: +StageIo +: +: +default +( +) +; +{ +let +stage += +wgt +: +: +ShaderStages +: +: +COMPUTE ; if let @@ -14701,26 +14467,9 @@ interface . check_stage ( -provided_layouts -. -as_ref -( -) -. -map -( -| -p -| -p -. -as_slice -( -) -) & mut -derived_group_layouts +binding_layout_source & mut shader_binding_sizes @@ -14730,7 +14479,7 @@ desc stage . entry_point -flag +stage io None ) @@ -14739,115 +14488,65 @@ None } } let -pipeline_layout_id +pipeline_layout = match -desc -. -layout +binding_layout_source { -Some +validation +: +: +BindingLayoutSource +: +: +Provided ( -id +_ ) = > -id -None -= -> -self -. -derive_pipeline_layout -( -implicit_context -derived_group_layouts -& -hub -. -bind_group_layouts -& -hub -. -pipeline_layouts -) -? -} -; -let -pipeline_layout_guard -= -hub -. -pipeline_layouts -. -read +{ +drop ( +binding_layout_source ) ; -let -layout -= -pipeline_layout_guard +pipeline_layout . -get +unwrap ( -pipeline_layout_id ) -. -map_err -( -| -_ -| -pipeline +} +validation : : -CreateComputePipelineError +BindingLayoutSource : : -InvalidLayout -) -? -; -if -layout -. -device -. -as_info -( -) -. -id +Derived ( +entries ) -! = +> self . -as_info +derive_pipeline_layout ( -) +implicit_context +entries +& +hub . -id -( -) -{ -return -Err -( -DeviceError -: -: -WrongDevice +bind_group_layouts +& +hub . -into -( -) +pipeline_layouts ) -; +? } +; let late_sized_buffer_groups = @@ -14858,7 +14557,8 @@ make_late_sized_buffer_groups ( & shader_binding_sizes -layout +& +pipeline_layout ) ; let @@ -14883,7 +14583,7 @@ instance_flags ) layout : -layout +pipeline_layout . raw ( @@ -15049,11 +14749,7 @@ raw ) layout : -layout -. -clone -( -) +pipeline_layout device : self @@ -15154,17 +14850,6 @@ TextureFormatFeatureFlags as Tfff ; -let -mut -shader_modules -= -Vec -: -: -new -( -) -; if let Some @@ -15233,31 +14918,6 @@ IMPLICIT_BIND_GROUP_LAYOUT_ERROR_LABEL } let mut -derived_group_layouts -= -ArrayVec -: -: -< -binding_model -: -: -BindEntryMap -{ -hal -: -: -MAX_BIND_GROUPS -} -> -: -: -new -( -) -; -let -mut shader_binding_sizes = FastHashMap @@ -16949,44 +16609,145 @@ DEPTH_BIAS_CLAMP ; } } -if +let +pipeline_layout += +match desc . layout -. -is_none +{ +Some ( +pipeline_layout_id ) += +> { -for +let +pipeline_layout += +hub +. +pipeline_layouts +. +get +( +pipeline_layout_id +) +. +map_err +( +| _ -in -0 +| +pipeline +: +: +CreateRenderPipelineError +: +: +InvalidLayout +) +? +; +if +pipeline_layout +. +device . +as_info +( +) . +id +( +) +! += self . -limits +as_info +( +) . -max_bind_groups +id +( +) { -derived_group_layouts +return +Err +( +DeviceError +: +: +WrongDevice . -push +into ( -binding_model +) +) +; +} +Some +( +pipeline_layout +) +} +None += +> +None +} +; +let +mut +binding_layout_source += +match +pipeline_layout +{ +Some +( +ref +pipeline_layout +) += +> +{ +validation : : -BindEntryMap +BindingLayoutSource : : -default +Provided +( +pipeline_layout +. +get_binding_maps ( ) ) -; } +None += +> +validation +: +: +BindingLayoutSource +: +: +new_derived +( +& +self +. +limits +) } +; let samples = @@ -17041,22 +16802,14 @@ sc } ; let -shader_module_guard -= -hub -. -shader_modules -. -read -( -) +vertex_shader_module ; let vertex_stage = { let -stage +stage_desc = & desc @@ -17066,7 +16819,7 @@ vertex stage ; let -flag +stage = wgt : @@ -17076,14 +16829,15 @@ ShaderStages : VERTEX ; -let -shader_module +vertex_shader_module = -shader_module_guard +hub +. +shader_modules . get ( -stage +stage_desc . module ) @@ -17103,8 +16857,6 @@ CreateRenderPipelineError Stage { stage -: -flag error : validation @@ -17120,107 +16872,7 @@ InvalidModule ? ; if -shader_module -. -device -. -as_info -( -) -. -id -( -) -! -= -self -. -as_info -( -) -. -id -( -) -{ -return -Err -( -DeviceError -: -: -WrongDevice -. -into -( -) -) -; -} -shader_modules -. -push -( -shader_module -. -clone -( -) -) -; -let -pipeline_layout_guard -= -hub -. -pipeline_layouts -. -read -( -) -; -let -provided_layouts -= -match -desc -. -layout -{ -Some -( -pipeline_layout_id -) -= -> -{ -let -pipeline_layout -= -pipeline_layout_guard -. -get -( -pipeline_layout_id -) -. -map_err -( -| -_ -| -pipeline -: -: -CreateRenderPipelineError -: -: -InvalidLayout -) -? -; -if -pipeline_layout +vertex_shader_module . device . @@ -17257,23 +16909,6 @@ into ) ; } -Some -( -Device -: -: -get_introspection_bind_group_layouts -( -pipeline_layout -) -) -} -None -= -> -None -} -; if let Some @@ -17282,7 +16917,7 @@ ref interface ) = -shader_module +vertex_shader_module . interface { @@ -17292,34 +16927,17 @@ interface . check_stage ( -provided_layouts -. -as_ref -( -) -. -map -( -| -p -| -p -. -as_slice -( -) -) & mut -derived_group_layouts +binding_layout_source & mut shader_binding_sizes & -stage +stage_desc . entry_point -flag +stage io desc . @@ -17354,8 +16972,6 @@ CreateRenderPipelineError Stage { stage -: -flag error } ) @@ -17364,7 +16980,7 @@ error validated_stages | = -flag +stage ; } hal @@ -17374,14 +16990,14 @@ ProgrammableStage { module : -shader_module +vertex_shader_module . raw ( ) entry_point : -stage +stage_desc . entry_point . @@ -17392,6 +17008,12 @@ as_ref } ; let +mut +fragment_shader_module += +None +; +let fragment_stage = match @@ -17402,13 +17024,13 @@ fragment Some ( ref -fragment +fragment_state ) = > { let -flag +stage = wgt : @@ -17421,11 +17043,17 @@ FRAGMENT let shader_module = -shader_module_guard +fragment_shader_module +. +insert +( +hub +. +shader_modules . get ( -fragment +fragment_state . stage . @@ -17446,8 +17074,6 @@ CreateRenderPipelineError Stage { stage -: -flag error : validation @@ -17460,82 +17086,7 @@ InvalidModule } ) ? -; -shader_modules -. -push -( -shader_module -. -clone -( -) -) -; -let -pipeline_layout_guard -= -hub -. -pipeline_layouts -. -read -( -) -; -let -provided_layouts -= -match -desc -. -layout -{ -Some -( -pipeline_layout_id -) -= -> -Some -( -Device -: -: -get_introspection_bind_group_layouts -( -pipeline_layout_guard -. -get -( -pipeline_layout_id -) -. -as_ref -( -) -. -map_err -( -| -_ -| -pipeline -: -: -CreateRenderPipelineError -: -: -InvalidLayout -) -? ) -) -None -= -> -None -} ; if validated_stages @@ -17567,36 +17118,19 @@ interface . check_stage ( -provided_layouts -. -as_ref -( -) -. -map -( -| -p -| -p -. -as_slice -( -) -) & mut -derived_group_layouts +binding_layout_source & mut shader_binding_sizes & -fragment +fragment_state . stage . entry_point -flag +stage io desc . @@ -17631,8 +17165,6 @@ CreateRenderPipelineError Stage { stage -: -flag error } ) @@ -17641,7 +17173,7 @@ error validated_stages | = -flag +stage ; } } @@ -17664,7 +17196,7 @@ interface fragment_uses_dual_source_blending ( & -fragment +fragment_state . stage . @@ -17685,8 +17217,6 @@ CreateRenderPipelineError Stage { stage -: -flag error } ) @@ -17709,7 +17239,7 @@ raw ) entry_point : -fragment +fragment_state . stage . @@ -17991,21 +17521,45 @@ into ; } let -pipeline_layout_id +pipeline_layout = match -desc -. -layout +binding_layout_source { -Some +validation +: +: +BindingLayoutSource +: +: +Provided ( -id +_ ) = > -id -None +{ +drop +( +binding_layout_source +) +; +pipeline_layout +. +unwrap +( +) +} +validation +: +: +BindingLayoutSource +: +: +Derived +( +entries +) = > self @@ -18013,7 +17567,7 @@ self derive_pipeline_layout ( implicit_context -derived_group_layouts +entries & hub . @@ -18026,48 +17580,6 @@ pipeline_layouts ? } ; -let -layout -= -{ -let -pipeline_layout_guard -= -hub -. -pipeline_layouts -. -read -( -) -; -pipeline_layout_guard -. -get -( -pipeline_layout_id -) -. -map_err -( -| -_ -| -pipeline -: -: -CreateRenderPipelineError -: -: -InvalidLayout -) -? -. -clone -( -) -} -; if desc . @@ -18180,7 +17692,7 @@ make_late_sized_buffer_groups & shader_binding_sizes & -layout +pipeline_layout ) ; let @@ -18205,7 +17717,7 @@ instance_flags ) layout : -layout +pipeline_layout . raw ( @@ -18623,6 +18135,38 @@ WRITES_STENCIL } } let +shader_modules += +{ +let +mut +shader_modules += +ArrayVec +: +: +new +( +) +; +shader_modules +. +push +( +vertex_shader_module +) +; +shader_modules +. +extend +( +fragment_shader_module +) +; +shader_modules +} +; +let pipeline = pipeline @@ -18638,11 +18182,7 @@ raw ) layout : -layout -. -clone -( -) +pipeline_layout device : self @@ -18863,8 +18403,17 @@ self . downlevel . -is_webgpu_compliant +flags +. +contains ( +wgt +: +: +DownlevelFlags +: +: +WEBGPU_TEXTURE_FORMAT_SUPPORT ) ; if diff --git a/third_party/rust/wgpu-core/src/hash_utils.rs b/third_party/rust/wgpu-core/src/hash_utils.rs new file mode 100644 index 0000000000000..91f02f9c0d99c --- /dev/null +++ b/third_party/rust/wgpu-core/src/hash_utils.rs @@ -0,0 +1,522 @@ +pub +type +FastHashMap +< +K +V +> += +std +: +: +collections +: +: +HashMap +< +K +V +std +: +: +hash +: +: +BuildHasherDefault +< +rustc_hash +: +: +FxHasher +> +> +; +pub +type +FastHashSet +< +K +> += +std +: +: +collections +: +: +HashSet +< +K +std +: +: +hash +: +: +BuildHasherDefault +< +rustc_hash +: +: +FxHasher +> +> +; +pub +type +FastIndexMap +< +K +V +> += +indexmap +: +: +IndexMap +< +K +V +std +: +: +hash +: +: +BuildHasherDefault +< +rustc_hash +: +: +FxHasher +> +> +; +pub +type +PreHashedMap +< +K +V +> += +std +: +: +collections +: +: +HashMap +< +PreHashedKey +< +K +> +V +std +: +: +hash +: +: +BuildHasherDefault +< +IdentityHasher +> +> +; +pub +struct +PreHashedKey +< +K +> +( +u64 +std +: +: +marker +: +: +PhantomData +< +fn +( +) +- +> +K +> +) +; +impl +< +K +> +std +: +: +fmt +: +: +Debug +for +PreHashedKey +< +K +> +{ +fn +fmt +( +& +self +f +: +& +mut +std +: +: +fmt +: +: +Formatter +< +' +_ +> +) +- +> +std +: +: +fmt +: +: +Result +{ +f +. +debug_tuple +( +" +PreHashedKey +" +) +. +field +( +& +self +. +0 +) +. +finish +( +) +} +} +impl +< +K +> +Copy +for +PreHashedKey +< +K +> +{ +} +impl +< +K +> +Clone +for +PreHashedKey +< +K +> +{ +fn +clone +( +& +self +) +- +> +Self +{ +* +self +} +} +impl +< +K +> +PartialEq +for +PreHashedKey +< +K +> +{ +fn +eq +( +& +self +other +: +& +Self +) +- +> +bool +{ +self +. +0 += += +other +. +0 +} +} +impl +< +K +> +Eq +for +PreHashedKey +< +K +> +{ +} +impl +< +K +> +std +: +: +hash +: +: +Hash +for +PreHashedKey +< +K +> +{ +fn +hash +< +H +: +std +: +: +hash +: +: +Hasher +> +( +& +self +state +: +& +mut +H +) +{ +self +. +0 +. +hash +( +state +) +; +} +} +impl +< +K +: +std +: +: +hash +: +: +Hash +> +PreHashedKey +< +K +> +{ +pub +fn +from_key +( +key +: +& +K +) +- +> +Self +{ +use +std +: +: +hash +: +: +Hasher +; +let +mut +hasher += +rustc_hash +: +: +FxHasher +: +: +default +( +) +; +key +. +hash +( +& +mut +hasher +) +; +Self +( +hasher +. +finish +( +) +std +: +: +marker +: +: +PhantomData +) +} +} +# +[ +derive +( +Default +) +] +pub +struct +IdentityHasher +{ +hash +: +u64 +} +impl +std +: +: +hash +: +: +Hasher +for +IdentityHasher +{ +fn +write +( +& +mut +self +bytes +: +& +[ +u8 +] +) +{ +self +. +hash += +u64 +: +: +from_ne_bytes +( +bytes +. +try_into +( +) +. +expect +( +" +identity +hasher +must +be +given +exactly +8 +bytes +" +) +) +; +} +fn +finish +( +& +self +) +- +> +u64 +{ +self +. +hash +} +} diff --git a/third_party/rust/wgpu-core/src/lib.rs b/third_party/rust/wgpu-core/src/lib.rs index d84e262a7ddce..0219de084de2f 100644 --- a/third_party/rust/wgpu-core/src/lib.rs +++ b/third_party/rust/wgpu-core/src/lib.rs @@ -179,6 +179,9 @@ pub mod hal_api ; +mod +hash_utils +; pub mod hub @@ -202,6 +205,9 @@ pub mod pipeline ; +mod +pool +; pub mod present @@ -258,6 +264,16 @@ raw c_char } ; +pub +( +crate +) +use +hash_utils +: +: +* +; type SubmissionIndex = @@ -1408,68 +1424,6 @@ crate use resource_log ; -type -FastHashMap -< -K -V -> -= -std -: -: -collections -: -: -HashMap -< -K -V -std -: -: -hash -: -: -BuildHasherDefault -< -rustc_hash -: -: -FxHasher -> -> -; -type -FastHashSet -< -K -> -= -std -: -: -collections -: -: -HashSet -< -K -std -: -: -hash -: -: -BuildHasherDefault -< -rustc_hash -: -: -FxHasher -> -> -; # [ inline diff --git a/third_party/rust/wgpu-core/src/pipeline.rs b/third_party/rust/wgpu-core/src/pipeline.rs index 1b4d7e6970896..50da01f25b794 100644 --- a/third_party/rust/wgpu-core/src/pipeline.rs +++ b/third_party/rust/wgpu-core/src/pipeline.rs @@ -3738,7 +3738,7 @@ crate ) _shader_modules : -Vec +ArrayVec < Arc < @@ -3747,6 +3747,12 @@ ShaderModule A > > +{ +hal +: +: +MAX_CONCURRENT_SHADER_STAGES +} > pub ( diff --git a/third_party/rust/wgpu-core/src/pool.rs b/third_party/rust/wgpu-core/src/pool.rs new file mode 100644 index 0000000000000..d5858a98a416f --- /dev/null +++ b/third_party/rust/wgpu-core/src/pool.rs @@ -0,0 +1,1368 @@ +use +std +: +: +{ +collections +: +: +{ +hash_map +: +: +Entry +HashMap +} +hash +: +: +Hash +sync +: +: +{ +Arc +Weak +} +} +; +use +once_cell +: +: +sync +: +: +OnceCell +; +use +parking_lot +: +: +Mutex +; +use +crate +: +: +{ +PreHashedKey +PreHashedMap +} +; +type +SlotInner +< +V +> += +Weak +< +V +> +; +type +ResourcePoolSlot +< +V +> += +Arc +< +OnceCell +< +SlotInner +< +V +> +> +> +; +pub +struct +ResourcePool +< +K +V +> +{ +inner +: +Mutex +< +PreHashedMap +< +K +ResourcePoolSlot +< +V +> +> +> +} +impl +< +K +: +Clone ++ +Eq ++ +Hash +V +> +ResourcePool +< +K +V +> +{ +pub +fn +new +( +) +- +> +Self +{ +Self +{ +inner +: +Mutex +: +: +new +( +HashMap +: +: +default +( +) +) +} +} +pub +fn +get_or_init +< +F +E +> +( +& +self +key +: +K +constructor +: +F +) +- +> +Result +< +Arc +< +V +> +E +> +where +F +: +FnOnce +( +K +) +- +> +Result +< +Arc +< +V +> +E +> +{ +let +hashed_key += +PreHashedKey +: +: +from_key +( +& +key +) +; +let +mut +key += +Some +( +key +) +; +let +mut +constructor += +Some +( +constructor +) +; +' +race +: +loop +{ +let +mut +map_guard += +self +. +inner +. +lock +( +) +; +let +entry += +match +map_guard +. +entry +( +hashed_key +) +{ +Entry +: +: +Occupied +( +entry +) += +> +Arc +: +: +clone +( +entry +. +get +( +) +) +Entry +: +: +Vacant +( +entry +) += +> +Arc +: +: +clone +( +entry +. +insert +( +Arc +: +: +new +( +OnceCell +: +: +new +( +) +) +) +) +} +; +drop +( +map_guard +) +; +let +mut +strong += +None +; +let +weak += +entry +. +get_or_try_init +( +| +| +{ +let +strong_inner += +constructor +. +take +( +) +. +unwrap +( +) +( +key +. +take +( +) +. +unwrap +( +) +) +? +; +let +weak += +Arc +: +: +downgrade +( +& +strong_inner +) +; +strong += +Some +( +strong_inner +) +; +Ok +( +weak +) +} +) +? +; +if +let +Some +( +strong +) += +strong +{ +return +Ok +( +strong +) +; +} +if +let +Some +( +strong +) += +weak +. +upgrade +( +) +{ +return +Ok +( +strong +) +; +} +continue +' +race +; +} +} +pub +fn +remove +( +& +self +key +: +& +K +) +{ +let +hashed_key += +PreHashedKey +: +: +from_key +( +key +) +; +let +mut +map_guard += +self +. +inner +. +lock +( +) +; +map_guard +. +remove +( +& +hashed_key +) +; +} +} +# +[ +cfg +( +test +) +] +mod +tests +{ +use +std +: +: +sync +: +: +{ +atomic +: +: +{ +AtomicU32 +Ordering +} +Barrier +} +; +use +super +: +: +* +; +# +[ +test +] +fn +deduplication +( +) +{ +let +pool += +ResourcePool +: +: +< +u32 +u32 +> +: +: +new +( +) +; +let +mut +counter += +0_u32 +; +let +arc1 += +pool +. +get_or_init +: +: +< +_ +( +) +> +( +0 +| +key +| +{ +counter ++ += +1 +; +Ok +( +Arc +: +: +new +( +key +) +) +} +) +. +unwrap +( +) +; +assert_eq +! +( +* +arc1 +0 +) +; +assert_eq +! +( +counter +1 +) +; +let +arc2 += +pool +. +get_or_init +: +: +< +_ +( +) +> +( +0 +| +key +| +{ +counter ++ += +1 +; +Ok +( +Arc +: +: +new +( +key +) +) +} +) +. +unwrap +( +) +; +assert +! +( +Arc +: +: +ptr_eq +( +& +arc1 +& +arc2 +) +) +; +assert_eq +! +( +* +arc2 +0 +) +; +assert_eq +! +( +counter +1 +) +; +drop +( +arc1 +) +; +drop +( +arc2 +) +; +pool +. +remove +( +& +0 +) +; +let +arc3 += +pool +. +get_or_init +: +: +< +_ +( +) +> +( +0 +| +key +| +{ +counter ++ += +1 +; +Ok +( +Arc +: +: +new +( +key +) +) +} +) +. +unwrap +( +) +; +assert_eq +! +( +* +arc3 +0 +) +; +assert_eq +! +( +counter +2 +) +; +} +# +[ +test +] +fn +concurrent_creation_2_threads +( +) +{ +struct +Resources +{ +pool +: +ResourcePool +< +u32 +u32 +> +counter +: +AtomicU32 +barrier +: +Barrier +} +let +resources += +Arc +: +: +new +( +Resources +{ +pool +: +ResourcePool +: +: +< +u32 +u32 +> +: +: +new +( +) +counter +: +AtomicU32 +: +: +new +( +0 +) +barrier +: +Barrier +: +: +new +( +2 +) +} +) +; +fn +thread_inner +( +idx +: +u8 +resources +: +& +Resources +) +- +> +Arc +< +u32 +> +{ +eprintln +! +( +" +{ +idx +} +: +prewait +" +) +; +resources +. +barrier +. +wait +( +) +; +eprintln +! +( +" +{ +idx +} +: +postwait +" +) +; +let +ret += +resources +. +pool +. +get_or_init +: +: +< +_ +( +) +> +( +0 +| +key +| +{ +eprintln +! +( +" +{ +idx +} +: +init +" +) +; +std +: +: +thread +: +: +sleep +( +std +: +: +time +: +: +Duration +: +: +from_millis +( +250 +) +) +; +resources +. +counter +. +fetch_add +( +1 +Ordering +: +: +SeqCst +) +; +Ok +( +Arc +: +: +new +( +key +) +) +} +) +. +unwrap +( +) +; +eprintln +! +( +" +{ +idx +} +: +postget +" +) +; +ret +} +let +thread1 += +std +: +: +thread +: +: +spawn +( +{ +let +resource_clone += +Arc +: +: +clone +( +& +resources +) +; +move +| +| +thread_inner +( +1 +& +resource_clone +) +} +) +; +let +arc0 += +thread_inner +( +0 +& +resources +) +; +assert_eq +! +( +resources +. +counter +. +load +( +Ordering +: +: +Acquire +) +1 +) +; +let +arc1 += +thread1 +. +join +( +) +. +unwrap +( +) +; +assert +! +( +Arc +: +: +ptr_eq +( +& +arc0 +& +arc1 +) +) +; +} +# +[ +test +] +fn +create_while_drop_2_threads +( +) +{ +struct +Resources +{ +pool +: +ResourcePool +< +u32 +u32 +> +barrier +: +Barrier +} +let +resources += +Arc +: +: +new +( +Resources +{ +pool +: +ResourcePool +: +: +< +u32 +u32 +> +: +: +new +( +) +barrier +: +Barrier +: +: +new +( +2 +) +} +) +; +let +existing_entry += +resources +. +pool +. +get_or_init +: +: +< +_ +( +) +> +( +0 +| +key +| +Ok +( +Arc +: +: +new +( +key +) +) +) +. +unwrap +( +) +; +drop +( +existing_entry +) +; +fn +thread0_inner +( +resources +: +& +Resources +) +{ +eprintln +! +( +" +0 +: +prewait +" +) +; +resources +. +barrier +. +wait +( +) +; +eprintln +! +( +" +0 +: +postwait +" +) +; +resources +. +pool +. +get_or_init +: +: +< +_ +( +) +> +( +0 +| +key +| +Ok +( +Arc +: +: +new +( +key +) +) +) +. +unwrap +( +) +; +eprintln +! +( +" +0 +: +postget +" +) +; +} +fn +thread1_inner +( +resources +: +& +Resources +) +{ +eprintln +! +( +" +1 +: +prewait +" +) +; +resources +. +barrier +. +wait +( +) +; +eprintln +! +( +" +1 +: +postwait +" +) +; +std +: +: +thread +: +: +sleep +( +std +: +: +time +: +: +Duration +: +: +from_millis +( +250 +) +) +; +eprintln +! +( +" +1 +: +postsleep +" +) +; +resources +. +pool +. +remove +( +& +0 +) +; +eprintln +! +( +" +1 +: +removal +" +) +; +} +let +thread1 += +std +: +: +thread +: +: +spawn +( +{ +let +resource_clone += +Arc +: +: +clone +( +& +resources +) +; +move +| +| +thread1_inner +( +& +resource_clone +) +} +) +; +thread0_inner +( +& +resources +) +; +thread1 +. +join +( +) +. +unwrap +( +) +; +} +} diff --git a/third_party/rust/wgpu-core/src/present.rs b/third_party/rust/wgpu-core/src/present.rs index 9facbdbb269f1..b68e634941983 100644 --- a/third_party/rust/wgpu-core/src/present.rs +++ b/third_party/rust/wgpu-core/src/present.rs @@ -97,6 +97,10 @@ resource self ResourceInfo } +snatch +: +: +Snatchable track } ; @@ -482,7 +486,9 @@ was { width } +{ height +} ) maximum extent @@ -1401,13 +1407,11 @@ Texture { inner : -RwLock +Snatchable : : new ( -Some -( resource : : @@ -1438,7 +1442,6 @@ false ) } ) -) device : device @@ -2085,6 +2088,18 @@ texture texture { let +mut +exclusive_snatch_guard += +device +. +snatchable_lock +. +write +( +) +; +let suf = A @@ -2104,6 +2119,9 @@ texture . inner_mut ( +& +mut +exclusive_snatch_guard ) ; let @@ -2738,32 +2756,31 @@ get_surface surface ) ; -match -* -texture +let +exclusive_snatch_guard += +device . -inner_mut -( -) +snatchable_lock . -as_mut +write ( ) +; +match +texture . -take -( -) +inner . -as_mut +snatch ( +exclusive_snatch_guard ) . unwrap ( ) { -& -mut resource : : @@ -2772,10 +2789,8 @@ TextureInner : Surface { -ref mut raw -ref parent_id has_work : @@ -2788,7 +2803,6 @@ if surface_id = = -* parent_id { unsafe diff --git a/third_party/rust/wgpu-core/src/registry.rs b/third_party/rust/wgpu-core/src/registry.rs index 09838e9865a53..4bbaa21a791e2 100644 --- a/third_party/rust/wgpu-core/src/registry.rs +++ b/third_party/rust/wgpu-core/src/registry.rs @@ -838,22 +838,10 @@ read ( ) . -get +get_owned ( id ) -. -map -( -| -v -| -v -. -clone -( -) -) } pub ( diff --git a/third_party/rust/wgpu-core/src/resource.rs b/third_party/rust/wgpu-core/src/resource.rs index 9aedc8230a1e2..28c8bc3daa92d 100644 --- a/third_party/rust/wgpu-core/src/resource.rs +++ b/third_party/rust/wgpu-core/src/resource.rs @@ -78,6 +78,7 @@ snatch : : { +ExclusiveSnatchGuard SnatchGuard Snatchable } @@ -106,8 +107,6 @@ parking_lot { Mutex RwLock -RwLockReadGuard -RwLockWriteGuard } ; use @@ -4072,13 +4071,10 @@ Native { raw : -Option -< A : : Texture -> } Surface { @@ -4112,7 +4108,7 @@ A { pub fn -as_raw +raw ( & self @@ -4129,7 +4125,6 @@ Texture > { match -* self { Self @@ -4138,18 +4133,12 @@ Self Native { raw -: -Some -( -ref -tex -) } = > Some ( -tex +raw ) Self : @@ -4160,7 +4149,6 @@ raw : Some ( -ref tex ) . @@ -4258,16 +4246,13 @@ crate ) inner : -RwLock -< -Option +Snatchable < TextureInner < A > > -> pub ( crate @@ -4548,56 +4533,25 @@ _ } ; if -self -. -inner -. -read -( -) -. -is_none -( -) -{ -return -; -} let -inner -= -self -. -inner -. -write -( -) -. -take -( -) -. -unwrap +Some ( -) -; -if -let TextureInner : : Native { raw -: -Some -( -raw -) } +) = +self +. inner +. +take +( +) { unsafe { @@ -4634,7 +4588,7 @@ pub crate ) fn -inner +raw < ' a @@ -4644,27 +4598,37 @@ a ' a self +snatch_guard +: +& +' +a +SnatchGuard ) - > -RwLockReadGuard +Option < +& ' a -Option -< -TextureInner -< A -> -> +: +: +Texture > { self . inner . -read +get +( +snatch_guard +) +? +. +raw ( ) } @@ -4683,28 +4647,33 @@ a ' a self +guard +: +& +mut +ExclusiveSnatchGuard ) - > -RwLockWriteGuard +Option < +& ' a -Option -< +mut TextureInner < A > > -> { self . inner . -write +get_mut ( +guard ) } pub @@ -4929,130 +4898,451 @@ unwrap } } } -} -impl -< -G -: -GlobalIdentityHandlerFactory -> -Global -< -G -> -{ pub -unsafe +( +crate +) fn -texture_as_hal -< -A -: -HalApi -F -: -FnOnce +destroy ( -Option -< -& -A -: +self : -Texture +& +Arc +< +Self > ) +- > +Result +< ( +) +DestroyError +> +{ +let +device += & self +. +device +; +let +texture_id += +self +. +info +. id -: -TextureId -hal_texture_callback -: -F +( ) -{ -profiling -: -: -scope -! +; +# +[ +cfg ( +feature += " -Texture -: -: -as_hal +trace " ) -; +] +if let -hub -= -A -: -: -hub +Some ( -self +ref +mut +trace ) -; -let -texture = -{ -hub +* +device . -textures +trace . -try_get +lock ( -id ) +{ +trace . -ok +add ( -) -. -flatten +trace +: +: +Action +: +: +FreeTexture ( +texture_id +) ) -} ; +} let -inner +temp = -texture -. -as_ref -( -) +{ +let +snatch_guard += +device . -unwrap -( -) +snatchable_lock . -inner +write ( ) ; let -hal_texture +raw = +match +self +. inner . -as_ref +snatch ( +snatch_guard ) -. -unwrap +{ +Some ( -) -. -as_raw +TextureInner +: +: +Native +{ +raw +} +) += +> +raw +Some +( +TextureInner +: +: +Surface +{ +. +. +} +) += +> +{ +return +Ok +( +( +) +) +; +} +None += +> +{ +return +Err +( +resource +: +: +DestroyError +: +: +AlreadyDestroyed +) +; +} +} +; +queue +: +: +TempResource +: +: +DestroyedTexture +( +Arc +: +: +new +( +DestroyedTexture +{ +raw +: +Some +( +raw +) +device +: +Arc +: +: +clone +( +& +self +. +device +) +submission_index +: +self +. +info +. +submission_index +( +) +id +: +self +. +info +. +id +. +unwrap +( +) +label +: +self +. +info +. +label +. +clone +( +) +} +) +) +} +; +let +mut +pending_writes += +device +. +pending_writes +. +lock +( +) +; +let +pending_writes += +pending_writes +. +as_mut +( +) +. +unwrap +( +) +; +if +pending_writes +. +dst_textures +. +contains_key +( +& +texture_id +) +{ +pending_writes +. +temp_resources +. +push +( +temp +) +; +} +else +{ +let +last_submit_index += +self +. +info +. +submission_index +( +) +; +device +. +lock_life +( +) +. +schedule_resource_destruction +( +temp +last_submit_index +) +; +} +Ok +( +( +) +) +} +} +impl +< +G +: +GlobalIdentityHandlerFactory +> +Global +< +G +> +{ +pub +unsafe +fn +texture_as_hal +< +A +: +HalApi +F +: +FnOnce +( +Option +< +& +A +: +: +Texture +> +) +> +( +& +self +id +: +TextureId +hal_texture_callback +: +F +) +{ +profiling +: +: +scope +! +( +" +Texture +: +: +as_hal +" +) +; +let +hub += +A +: +: +hub ( +self +) +; +let +texture_opt += +{ +hub +. +textures +. +try_get +( +id +) +. +ok +( +) +. +flatten +( +) +} +; +let +texture += +texture_opt +. +as_ref +( +) +. +unwrap +( +) +; +let +snatch_guard += +texture +. +device +. +snatchable_lock +. +read +( +) +; +let +hal_texture += +texture +. +raw +( +& +snatch_guard ) ; hal_texture_callback @@ -5524,6 +5814,188 @@ hal_surface [ derive ( +Debug +) +] +pub +struct +DestroyedTexture +< +A +: +HalApi +> +{ +raw +: +Option +< +A +: +: +Texture +> +device +: +Arc +< +Device +< +A +> +> +label +: +String +pub +( +crate +) +id +: +TextureId +pub +( +crate +) +submission_index +: +u64 +} +impl +< +A +: +HalApi +> +DestroyedTexture +< +A +> +{ +pub +fn +label +( +& +self +) +- +> +& +dyn +Debug +{ +if +! +self +. +label +. +is_empty +( +) +{ +return +& +self +. +label +; +} +& +self +. +id +} +} +impl +< +A +: +HalApi +> +Drop +for +DestroyedTexture +< +A +> +{ +fn +drop +( +& +mut +self +) +{ +if +let +Some +( +raw +) += +self +. +raw +. +take +( +) +{ +resource_log +! +( +" +Deallocate +raw +Texture +( +destroyed +) +{ +: +? +} +" +self +. +label +( +) +) +; +unsafe +{ +use +hal +: +: +Device +; +self +. +device +. +raw +( +) +. +destroy_texture +( +raw +) +; +} +} +} +} +# +[ +derive +( Clone Copy Debug diff --git a/third_party/rust/wgpu-core/src/snatch.rs b/third_party/rust/wgpu-core/src/snatch.rs index 36152462198bc..e065ecafa957e 100644 --- a/third_party/rust/wgpu-core/src/snatch.rs +++ b/third_party/rust/wgpu-core/src/snatch.rs @@ -152,6 +152,45 @@ as_ref } pub fn +get_mut +( +& +self +_guard +: +& +mut +ExclusiveSnatchGuard +) +- +> +Option +< +& +mut +T +> +{ +unsafe +{ +( +* +self +. +value +. +get +( +) +) +. +as_mut +( +) +} +} +pub +fn snatch ( & diff --git a/third_party/rust/wgpu-core/src/storage.rs b/third_party/rust/wgpu-core/src/storage.rs index 8a98c264aec00..ead7225621446 100644 --- a/third_party/rust/wgpu-core/src/storage.rs +++ b/third_party/rust/wgpu-core/src/storage.rs @@ -762,6 +762,47 @@ pub crate ) fn +get_owned +( +& +self +id +: +I +) +- +> +Result +< +Arc +< +T +> +InvalidId +> +{ +Ok +( +Arc +: +: +clone +( +self +. +get +( +id +) +? +) +) +} +pub +( +crate +) +fn label_for_invalid_id ( & diff --git a/third_party/rust/wgpu-core/src/track/mod.rs b/third_party/rust/wgpu-core/src/track/mod.rs index 13b300598e0c6..5788fd4c38043 100644 --- a/third_party/rust/wgpu-core/src/track/mod.rs +++ b/third_party/rust/wgpu-core/src/track/mod.rs @@ -294,18 +294,15 @@ HalApi > ( self -tex +texture : & ' a -resource +A : : -TextureInner -< -A -> +Texture ) - > @@ -319,24 +316,6 @@ a A > { -let -texture -= -tex -. -as_raw -( -) -. -expect -( -" -Texture -is -destroyed -" -) -; strict_assert_ne ! ( diff --git a/third_party/rust/wgpu-core/src/track/texture.rs b/third_party/rust/wgpu-core/src/track/texture.rs index fc578f7ba6187..a2fd11384831f 100644 --- a/third_party/rust/wgpu-core/src/track/texture.rs +++ b/third_party/rust/wgpu-core/src/track/texture.rs @@ -36,6 +36,10 @@ Resource Texture TextureInner } +snatch +: +: +SnatchGuard track : : @@ -71,10 +75,7 @@ use parking_lot : : -{ Mutex -RwLockReadGuard -} ; use wgt @@ -2205,6 +2206,16 @@ a a mut self +snatch_guard +: +& +' +a +SnatchGuard +< +' +a +> ) - > @@ -2212,19 +2223,17 @@ self PendingTransitionList Vec < -RwLockReadGuard +Option < +& ' a -Option -< TextureInner < A > > > -> ) { let @@ -2283,7 +2292,10 @@ push tex . inner +. +get ( +snatch_guard ) ) ; diff --git a/third_party/rust/wgpu-core/src/validation.rs b/third_party/rust/wgpu-core/src/validation.rs index cf46bdfebbfda..03e08b0f29bfe 100644 --- a/third_party/rust/wgpu-core/src/validation.rs +++ b/third_party/rust/wgpu-core/src/validation.rs @@ -3,15 +3,21 @@ crate : : { -binding_model +device : : -BindEntryMap +bgl FastHashMap FastHashSet } ; use +arrayvec +: +: +ArrayVec +; +use std : : @@ -5622,6 +5628,120 @@ nt } } pub +enum +BindingLayoutSource +< +' +a +> +{ +Derived +( +ArrayVec +< +bgl +: +: +EntryMap +{ +hal +: +: +MAX_BIND_GROUPS +} +> +) +Provided +( +ArrayVec +< +& +' +a +bgl +: +: +EntryMap +{ +hal +: +: +MAX_BIND_GROUPS +} +> +) +} +impl +< +' +a +> +BindingLayoutSource +< +' +a +> +{ +pub +fn +new_derived +( +limits +: +& +wgt +: +: +Limits +) +- +> +Self +{ +let +mut +array += +ArrayVec +: +: +new +( +) +; +for +_ +in +0 +. +. +limits +. +max_bind_groups +{ +array +. +push +( +Default +: +: +default +( +) +) +; +} +BindingLayoutSource +: +: +Derived +( +array +) +} +} +pub type StageIo = @@ -6551,23 +6671,15 @@ check_stage ( & self -given_layouts -: -Option -< -& -[ -& -BindEntryMap -] -> -derived_layouts +layouts : & mut -[ -BindEntryMap -] +BindingLayoutSource +< +' +_ +> shader_binding_sizes : & @@ -6742,10 +6854,17 @@ handle let result = +' +err +: +{ match -given_layouts +layouts { -Some +BindingLayoutSource +: +: +Provided ( layouts ) @@ -6830,6 +6949,12 @@ size } } } +let +Some +( +map +) += layouts . get @@ -6842,40 +6967,54 @@ group as usize ) -. -and_then +else +{ +break +' +err +Err ( -| -map -| +BindingError +: +: +Missing +) +; +} +; +let +Some +( +entry +) += map . get ( -& res . bind . binding ) -) -. -ok_or +else +{ +break +' +err +Err ( BindingError : : Missing ) -. -and_then -( -| -entry -| -{ +; +} +; if +! entry . visibility @@ -6885,13 +7024,9 @@ contains stage_bit ) { -Ok -( -entry -) -} -else -{ +break +' +err Err ( BindingError @@ -6899,27 +7034,32 @@ BindingError : Invisible ) +; } -} -) -. -and_then -( -| -entry -| res . check_binding_use ( entry ) -) } -None +BindingLayoutSource +: +: +Derived +( +layouts +) = > -derived_layouts +{ +let +Some +( +map +) += +layouts . get_mut ( @@ -6931,33 +7071,55 @@ group as usize ) -. -ok_or +else +{ +break +' +err +Err ( BindingError : : Missing ) -. -and_then -( -| -set -| -{ +; +} +; let ty = +match res . derive_binding_type ( ) -? +{ +Ok +( +ty +) += +> +ty +Err +( +error +) += +> +break +' +err +Err +( +error +) +} ; match -set +map . entry ( @@ -6968,6 +7130,12 @@ bind binding ) { +indexmap +: +: +map +: +: Entry : : @@ -6989,7 +7157,9 @@ ty = > { -return +break +' +err Err ( BindingError @@ -6998,6 +7168,12 @@ BindingError InconsistentlyDerivedType ) } +indexmap +: +: +map +: +: Entry : : @@ -7020,6 +7196,12 @@ visibility stage_bit ; } +indexmap +: +: +map +: +: Entry : : @@ -7061,7 +7243,7 @@ Ok ) ) } -) +} } ; if @@ -7096,12 +7278,15 @@ error } if let -Some +BindingLayoutSource +: +: +Provided ( layouts ) = -given_layouts +layouts { for & @@ -7147,7 +7332,6 @@ bind let texture_layout = -& layouts [ texture_bind @@ -7156,17 +7340,21 @@ group as usize ] -[ -& +. +get +( texture_bind . binding -] +) +. +unwrap +( +) ; let sampler_layout = -& layouts [ sampler_bind @@ -7175,12 +7363,17 @@ group as usize ] -[ -& +. +get +( sampler_bind . binding -] +) +. +unwrap +( +) ; assert ! diff --git a/third_party/rust/wgpu-hal/.cargo-checksum.json b/third_party/rust/wgpu-hal/.cargo-checksum.json index 837f8b24f43da..f69228b2dc3c9 100644 --- a/third_party/rust/wgpu-hal/.cargo-checksum.json +++ b/third_party/rust/wgpu-hal/.cargo-checksum.json @@ -11,7 +11,7 @@ toml " : " -01f51d7d1496aef321704cc982c12b4c36a19cf352464606f9177fb6d112dcfd +f41bd0b27b43a2a4926bd6cca4748767acf91ec690935f362bcb02cfc399f743 " " LICENSE @@ -268,7 +268,7 @@ rs " : " -a9dfd160c966870928b3ab98b01df9f8fd05b0517adcb57b4cb28cdc66e0bce1 +3a5efff00ebf85cd62d95d743cba32e3cbc20c60b722cfe427fd4f9e8d428ca4 " " src @@ -346,7 +346,7 @@ rs " : " -0589ed592cbd939f821d2801c82ee973c28844292682d37db84048ba21e6c72b +419ce7fe4df2973845851fac045dab21157eec6b26a573012f22fa41fc130b5b " " src @@ -409,7 +409,7 @@ rs " : " -8ca43533be6e3112dfd952040d7d6ca6eed093c541aa5b92b3d74cb692e8058b +a5902d44d4d99dc69974dbb0229a7529f9d9545bcb3aa6471d264ff9ae0b5683 " " src @@ -448,7 +448,7 @@ rs " : " -ae7415a7ade56d499b28073492289907edbce13327392cc014812c35ed9effdc +9f22cd9f8092287a9f8d9d089bff3b8b9f6309e50907ae139b30d05f4256f022 " " src @@ -701,7 +701,7 @@ rs " : " -22e29141efe34674bfa0fd09fa36dd0113f1b0b2786231222a25d5758224f05a +232ba3f8e8eaeab90dd7b51fcecd17d154d90f8b43aeee19c579bf7c3332a19e " " src @@ -753,7 +753,7 @@ rs " : " -ccac56ae83c8692e9a96ee0e7d11ecef8493420b8b1893bea314eb1e9c515863 +e0c0ce1e8daf720269d9a29612961b0e18ca5f6761b6e800e5072843c90c033e " " src diff --git a/third_party/rust/wgpu-hal/Cargo.toml b/third_party/rust/wgpu-hal/Cargo.toml index e10a5a6e31f4c..d919a01d76869 100644 --- a/third_party/rust/wgpu-hal/Cargo.toml +++ b/third_party/rust/wgpu-hal/Cargo.toml @@ -561,7 +561,7 @@ version . 29 . -6 +8 " features = @@ -1515,7 +1515,7 @@ version " 0 . -24 +25 " features = diff --git a/third_party/rust/wgpu-hal/src/dx12/command.rs b/third_party/rust/wgpu-hal/src/dx12/command.rs index d0d86622d802a..e6a273a0bad8d 100644 --- a/third_party/rust/wgpu-hal/src/dx12/command.rs +++ b/third_party/rust/wgpu-hal/src/dx12/command.rs @@ -150,7 +150,7 @@ D3D12_PLACED_SUBRESOURCE_FOOTPRINT let ( block_width -block_height +_ ) = format @@ -213,24 +213,9 @@ Height : self . -buffer_layout -. -rows_per_image -. -map_or -( -self -. size . height -| -count -| -count -* -block_height -) Depth : self diff --git a/third_party/rust/wgpu-hal/src/dx12/shader_compilation.rs b/third_party/rust/wgpu-hal/src/dx12/shader_compilation.rs index a6583f09d4b7b..866c22747b518 100644 --- a/third_party/rust/wgpu-hal/src/dx12/shader_compilation.rs +++ b/third_party/rust/wgpu-hal/src/dx12/shader_compilation.rs @@ -579,7 +579,7 @@ dll . Defaulting to -DXC +FXC instead : { diff --git a/third_party/rust/wgpu-hal/src/gles/adapter.rs b/third_party/rust/wgpu-hal/src/gles/adapter.rs index aa648cc244cd9..038bf946bd5f8 100644 --- a/third_party/rust/wgpu-hal/src/gles/adapter.rs +++ b/third_party/rust/wgpu-hal/src/gles/adapter.rs @@ -1302,19 +1302,6 @@ _ None ) ; -let -web_gl -= -cfg -! -( -target_arch -= -" -wasm32 -" -) -; if let Some @@ -3738,22 +3725,12 @@ PrivateCapabilities : : DEBUG_FNS -supported -( -( -3 -2 -) +gl +. +supports_debug ( -4 -3 ) ) -& -& -! -web_gl -) ; private_caps . @@ -6338,7 +6315,11 @@ Tf : : Rgba8Unorm += +> +filterable_renderable | +storage Tf : : @@ -6346,8 +6327,6 @@ Rgba8UnormSrgb = > filterable_renderable -| -storage Tf : : @@ -6367,6 +6346,8 @@ Rgba8Snorm = > filterable +| +storage Tf : : @@ -6545,10 +6526,7 @@ Tf NV12 = > -unreachable -! -( -) +empty Tf : : diff --git a/third_party/rust/wgpu-hal/src/gles/device.rs b/third_party/rust/wgpu-hal/src/gles/device.rs index a981ed577e517..070a5b7acdba5 100644 --- a/third_party/rust/wgpu-hal/src/gles/device.rs +++ b/third_party/rust/wgpu-hal/src/gles/device.rs @@ -2254,10 +2254,14 @@ label label { if -gl +private_caps . -supports_debug +contains ( +PrivateCapabilities +: +: +DEBUG_FNS ) { let @@ -3888,10 +3892,18 @@ desc label { if -gl +self . -supports_debug +shared +. +private_caps +. +contains ( +PrivateCapabilities +: +: +DEBUG_FNS ) { let @@ -4848,10 +4860,18 @@ desc label { if -gl +self . -supports_debug +shared +. +private_caps +. +contains ( +PrivateCapabilities +: +: +DEBUG_FNS ) { let @@ -5651,10 +5671,18 @@ desc label { if -gl +self . -supports_debug +shared +. +private_caps +. +contains ( +PrivateCapabilities +: +: +DEBUG_FNS ) { let @@ -6469,10 +6497,18 @@ desc label { if -gl +self . -supports_debug +shared +. +private_caps +. +contains ( +PrivateCapabilities +: +: +DEBUG_FNS ) { let diff --git a/third_party/rust/wgpu-hal/src/vulkan/adapter.rs b/third_party/rust/wgpu-hal/src/vulkan/adapter.rs index e49d4f65c12e0..e588b56638bf6 100644 --- a/third_party/rust/wgpu-hal/src/vulkan/adapter.rs +++ b/third_party/rust/wgpu-hal/src/vulkan/adapter.rs @@ -9537,12 +9537,71 @@ sampled_image_stencil_sample_counts } else { +let +first_aspect += +format_aspect +. +iter +( +) +. +next +( +) +. +expect +( +" +All +texture +should +at +least +one +aspect +" +) +. +map +( +) +; +assert_ne +! +( +first_aspect +wgt +: +: +TextureAspect +: +: +DepthOnly +) +; +assert_ne +! +( +first_aspect +wgt +: +: +TextureAspect +: +: +StencilOnly +) +; match format . sample_type ( -None +Some +( +first_aspect +) None ) . diff --git a/third_party/rust/wgpu-hal/src/vulkan/instance.rs b/third_party/rust/wgpu-hal/src/vulkan/instance.rs index b53f16704af4a..f6536dd2805d1 100644 --- a/third_party/rust/wgpu-hal/src/vulkan/instance.rs +++ b/third_party/rust/wgpu-hal/src/vulkan/instance.rs @@ -12,6 +12,10 @@ CStr CString } slice +str +: +: +FromStr sync : : @@ -5440,52 +5444,115 @@ map s | { +let +mut +components += s . 1 . -rsplit_once +split ( ' . ' ) +; +let +major += +components +. +next +( +) . -map +and_then ( | -v +s | -v +u8 +: +: +from_str +( +s +) . -0 +ok +( +) +) +; +let +minor += +components . -parse +next +( +) +. +and_then +( +| +s +| +u8 : : -< -f32 -> +from_str ( +s ) . -unwrap_or_default +ok ( ) ) -. -unwrap_or_default +; +if +let ( +Some +( +major +) +Some +( +minor +) +) += +( +major +minor +) +{ +( +major +minor ) } +else +{ +( +0 +0 +) +} +} ) { if version < +( 21 -. 2 +) { log : diff --git a/third_party/rust/wgpu-types/.cargo-checksum.json b/third_party/rust/wgpu-types/.cargo-checksum.json index cb0845de551fb..a9e8bdaf6050a 100644 --- a/third_party/rust/wgpu-types/.cargo-checksum.json +++ b/third_party/rust/wgpu-types/.cargo-checksum.json @@ -11,7 +11,7 @@ toml " : " -18549fb7d7de2ea2481f30292dca63889856a33bd1b3698e16cee6631ab65df4 +be3f23b1527145b0f4c5f29dfdfa5865f7bb23a517c6d42f665dcb750129ff56 " " LICENSE diff --git a/third_party/rust/wgpu-types/Cargo.toml b/third_party/rust/wgpu-types/Cargo.toml index a46f983c7514b..3cb07032299a3 100644 --- a/third_party/rust/wgpu-types/Cargo.toml +++ b/third_party/rust/wgpu-types/Cargo.toml @@ -297,7 +297,7 @@ serde_json . 0 . -108 +111 " [ dev