diff options
61 files changed, 28957 insertions, 23202 deletions
diff --git a/.gitattributes b/.gitattributes index 6e3cae0f5..0178b8a8f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,2 @@ *.odin linguist-language=Odin +* text=auto
\ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aacaf427d..fda99edfd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -163,7 +163,7 @@ jobs: run: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat cd tests\documentation - call build.bat + rem call build.bat timeout-minutes: 10 - name: core:math/big tests shell: cmd diff --git a/core/encoding/entity/example/entity_example.odin b/core/encoding/entity/example/entity_example.odin index 6301eb263..1a6b8e9ba 100644 --- a/core/encoding/entity/example/entity_example.odin +++ b/core/encoding/entity/example/entity_example.odin @@ -47,8 +47,6 @@ _entities :: proc() { } _main :: proc() { - using fmt - options := xml.Options{ flags = { .Ignore_Unsupported, .Intern_Comments, .Unbox_CDATA, .Decode_SGML_Entities }} doc, _ := xml.parse(#load("test.html"), options) @@ -58,8 +56,6 @@ _main :: proc() { } main :: proc() { - using fmt - track: mem.Tracking_Allocator mem.tracking_allocator_init(&track, context.allocator) context.allocator = mem.tracking_allocator(&track) @@ -68,9 +64,9 @@ main :: proc() { _entities() if len(track.allocation_map) > 0 { - println() + fmt.println() for _, v in track.allocation_map { - printf("%v Leaked %v bytes.\n", v.location, v.size) + fmt.printf("%v Leaked %v bytes.\n", v.location, v.size) } } }
\ No newline at end of file diff --git a/core/encoding/entity/generated.odin b/core/encoding/entity/generated.odin index 9afdcae6d..3d1c02513 100644 --- a/core/encoding/entity/generated.odin +++ b/core/encoding/entity/generated.odin @@ -5,7 +5,7 @@ package unicode_entity */ /* - This file is generated from "https://www.w3.org/2003/entities/2007xml/unicode.xml". + This file is generated from "https://github.com/w3c/xml-entities/blob/gh-pages/unicode.xml". UPDATE: - Ensure the XML file was downloaded using "tests\core\download_assets.py". @@ -13,15 +13,21 @@ package unicode_entity Odin unicode generated tables: https://github.com/odin-lang/Odin/tree/master/core/encoding/entity - Copyright © 2021 World Wide Web Consortium, (Massachusetts Institute of Technology, - European Research Consortium for Informatics and Mathematics, Keio University, Beihang). + Copyright David Carlisle 1999-2023 - All Rights Reserved. + Use and distribution of this code are permitted under the terms of the + W3C Software Notice and License. + http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html - This work is distributed under the W3C® Software License [1] in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - [1] http://www.w3.org/Consortium/Legal/copyright-software + + This file is a collection of information about how to map + Unicode entities to LaTeX, and various SGML/XML entity + sets (ISO and MathML/HTML). A Unicode character may be mapped + to several entities. + + Originally designed by Sebastian Rahtz in conjunction with + Barbara Beeton for the STIX project See also: LICENSE_table.md */ @@ -55,7433 +61,5025 @@ named_xml_entity_to_rune :: proc(name: string) -> (decoded: rune, ok: bool) { case 'A': switch name { - case "AElig": - // LATIN CAPITAL LETTER AE + case "AElig": // LATIN CAPITAL LETTER AE return rune(0xc6), true - case "AMP": - // AMPERSAND + case "AMP": // AMPERSAND return rune(0x26), true - case "Aacgr": - // GREEK CAPITAL LETTER ALPHA WITH TONOS + case "Aacgr": // GREEK CAPITAL LETTER ALPHA WITH TONOS return rune(0x0386), true - case "Aacute": - // LATIN CAPITAL LETTER A WITH ACUTE + case "Aacute": // LATIN CAPITAL LETTER A WITH ACUTE return rune(0xc1), true - case "Abreve": - // LATIN CAPITAL LETTER A WITH BREVE + case "Abreve": // LATIN CAPITAL LETTER A WITH BREVE return rune(0x0102), true - case "Acirc": - // LATIN CAPITAL LETTER A WITH CIRCUMFLEX + case "Acirc": // LATIN CAPITAL LETTER A WITH CIRCUMFLEX return rune(0xc2), true - case "Acy": - // CYRILLIC CAPITAL LETTER A + case "Acy": // CYRILLIC CAPITAL LETTER A return rune(0x0410), true - case "Afr": - // MATHEMATICAL FRAKTUR CAPITAL A + case "Afr": // MATHEMATICAL FRAKTUR CAPITAL A return rune(0x01d504), true - case "Agrave": - // LATIN CAPITAL LETTER A WITH GRAVE - return rune(0xc0), true - case "Agr": - // GREEK CAPITAL LETTER ALPHA + case "Agr": // GREEK CAPITAL LETTER ALPHA return rune(0x0391), true - case "Alpha": - // GREEK CAPITAL LETTER ALPHA + case "Agrave": // LATIN CAPITAL LETTER A WITH GRAVE + return rune(0xc0), true + case "Alpha": // GREEK CAPITAL LETTER ALPHA return rune(0x0391), true - case "Amacr": - // LATIN CAPITAL LETTER A WITH MACRON + case "Amacr": // LATIN CAPITAL LETTER A WITH MACRON return rune(0x0100), true - case "And": - // DOUBLE LOGICAL AND + case "And": // DOUBLE LOGICAL AND return rune(0x2a53), true - case "Aogon": - // LATIN CAPITAL LETTER A WITH OGONEK + case "Aogon": // LATIN CAPITAL LETTER A WITH OGONEK return rune(0x0104), true - case "Aopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL A + case "Aopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL A return rune(0x01d538), true - case "ApplyFunction": - // FUNCTION APPLICATION + case "ApplyFunction": // FUNCTION APPLICATION return rune(0x2061), true - case "Aring": - // LATIN CAPITAL LETTER A WITH RING ABOVE + case "Aring": // LATIN CAPITAL LETTER A WITH RING ABOVE return rune(0xc5), true - case "Ascr": - // MATHEMATICAL SCRIPT CAPITAL A + case "Ascr": // MATHEMATICAL SCRIPT CAPITAL A return rune(0x01d49c), true - case "Assign": - // COLON EQUALS + case "Assign": // COLON EQUALS return rune(0x2254), true - case "Ast": - // TWO ASTERISKS ALIGNED VERTICALLY + case "Ast": // TWO ASTERISKS ALIGNED VERTICALLY return rune(0x2051), true - case "Atilde": - // LATIN CAPITAL LETTER A WITH TILDE + case "Atilde": // LATIN CAPITAL LETTER A WITH TILDE return rune(0xc3), true - case "Auml": - // LATIN CAPITAL LETTER A WITH DIAERESIS + case "Auml": // LATIN CAPITAL LETTER A WITH DIAERESIS return rune(0xc4), true } case 'B': switch name { - case "Backslash": - // SET MINUS + case "Backslash": // SET MINUS return rune(0x2216), true - case "Barint": - // INTEGRAL WITH DOUBLE STROKE + case "Barint": // INTEGRAL WITH DOUBLE STROKE return rune(0x2a0e), true - case "Barv": - // SHORT DOWN TACK WITH OVERBAR + case "Barv": // SHORT DOWN TACK WITH OVERBAR return rune(0x2ae7), true - case "Barwedl": - // LOGICAL AND WITH DOUBLE OVERBAR - return rune(0x2a5e), true - case "Barwed": - // PERSPECTIVE + case "Barwed": // PERSPECTIVE return rune(0x2306), true - case "Bcy": - // CYRILLIC CAPITAL LETTER BE + case "Barwedl": // LOGICAL AND WITH DOUBLE OVERBAR + return rune(0x2a5e), true + case "Bcy": // CYRILLIC CAPITAL LETTER BE return rune(0x0411), true - case "Because": - // BECAUSE + case "Because": // BECAUSE return rune(0x2235), true - case "Bernoullis": - // SCRIPT CAPITAL B + case "Bernoullis": // SCRIPT CAPITAL B return rune(0x212c), true - case "Beta": - // GREEK CAPITAL LETTER BETA + case "Beta": // GREEK CAPITAL LETTER BETA return rune(0x0392), true - case "Bfr": - // MATHEMATICAL FRAKTUR CAPITAL B + case "Bfr": // MATHEMATICAL FRAKTUR CAPITAL B return rune(0x01d505), true - case "Bgr": - // GREEK CAPITAL LETTER BETA + case "Bgr": // GREEK CAPITAL LETTER BETA return rune(0x0392), true - case "Bopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL B + case "Bopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL B return rune(0x01d539), true - case "Breve": - // BREVE + case "Breve": // BREVE return rune(0x02d8), true - case "Bscr": - // SCRIPT CAPITAL B + case "Bscr": // SCRIPT CAPITAL B return rune(0x212c), true - case "Bumpeq": - // GEOMETRICALLY EQUIVALENT TO + case "Bumpeq": // GEOMETRICALLY EQUIVALENT TO return rune(0x224e), true - case "Bvert": - // BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL + case "Bvert": // BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL return rune(0x2506), true } case 'C': switch name { - case "CHcy": - // CYRILLIC CAPITAL LETTER CHE + case "CHcy": // CYRILLIC CAPITAL LETTER CHE return rune(0x0427), true - case "COPY": - // COPYRIGHT SIGN + case "COPY": // COPYRIGHT SIGN return rune(0xa9), true - case "Cacute": - // LATIN CAPITAL LETTER C WITH ACUTE + case "Cacute": // LATIN CAPITAL LETTER C WITH ACUTE return rune(0x0106), true - case "CapitalDifferentialD": - // DOUBLE-STRUCK ITALIC CAPITAL D - return rune(0x2145), true - case "Cap": - // DOUBLE INTERSECTION + case "Cap": // DOUBLE INTERSECTION return rune(0x22d2), true - case "Cayleys": - // BLACK-LETTER CAPITAL C + case "CapitalDifferentialD": // DOUBLE-STRUCK ITALIC CAPITAL D + return rune(0x2145), true + case "Cayleys": // BLACK-LETTER CAPITAL C return rune(0x212d), true - case "Ccaron": - // LATIN CAPITAL LETTER C WITH CARON + case "Ccaron": // LATIN CAPITAL LETTER C WITH CARON return rune(0x010c), true - case "Ccedil": - // LATIN CAPITAL LETTER C WITH CEDILLA + case "Ccedil": // LATIN CAPITAL LETTER C WITH CEDILLA return rune(0xc7), true - case "Ccirc": - // LATIN CAPITAL LETTER C WITH CIRCUMFLEX + case "Ccirc": // LATIN CAPITAL LETTER C WITH CIRCUMFLEX return rune(0x0108), true - case "Cconint": - // VOLUME INTEGRAL + case "Cconint": // VOLUME INTEGRAL return rune(0x2230), true - case "Cdot": - // LATIN CAPITAL LETTER C WITH DOT ABOVE + case "Cdot": // LATIN CAPITAL LETTER C WITH DOT ABOVE return rune(0x010a), true - case "Cedilla": - // CEDILLA + case "Cedilla": // CEDILLA return rune(0xb8), true - case "CenterDot": - // MIDDLE DOT + case "CenterDot": // MIDDLE DOT return rune(0xb7), true - case "Cfr": - // BLACK-LETTER CAPITAL C + case "Cfr": // BLACK-LETTER CAPITAL C return rune(0x212d), true - case "Chi": - // GREEK CAPITAL LETTER CHI + case "Chi": // GREEK CAPITAL LETTER CHI return rune(0x03a7), true - case "CircleDot": - // CIRCLED DOT OPERATOR + case "CircleDot": // CIRCLED DOT OPERATOR return rune(0x2299), true - case "CircleMinus": - // CIRCLED MINUS + case "CircleMinus": // CIRCLED MINUS return rune(0x2296), true - case "CirclePlus": - // CIRCLED PLUS + case "CirclePlus": // CIRCLED PLUS return rune(0x2295), true - case "CircleTimes": - // CIRCLED TIMES + case "CircleTimes": // CIRCLED TIMES return rune(0x2297), true - case "ClockwiseContourIntegral": - // CLOCKWISE CONTOUR INTEGRAL + case "ClockwiseContourIntegral": // CLOCKWISE CONTOUR INTEGRAL return rune(0x2232), true - case "CloseCurlyDoubleQuote": - // RIGHT DOUBLE QUOTATION MARK + case "CloseCurlyDoubleQuote": // RIGHT DOUBLE QUOTATION MARK return rune(0x201d), true - case "CloseCurlyQuote": - // RIGHT SINGLE QUOTATION MARK + case "CloseCurlyQuote": // RIGHT SINGLE QUOTATION MARK return rune(0x2019), true - case "Colon": - // PROPORTION + case "Colon": // PROPORTION return rune(0x2237), true - case "Colone": - // DOUBLE COLON EQUAL + case "Colone": // DOUBLE COLON EQUAL return rune(0x2a74), true - case "Congruent": - // IDENTICAL TO + case "Congruent": // IDENTICAL TO return rune(0x2261), true - case "Conint": - // SURFACE INTEGRAL + case "Conint": // SURFACE INTEGRAL return rune(0x222f), true - case "ContourIntegral": - // CONTOUR INTEGRAL + case "ContourIntegral": // CONTOUR INTEGRAL return rune(0x222e), true - case "Copf": - // DOUBLE-STRUCK CAPITAL C + case "Copf": // DOUBLE-STRUCK CAPITAL C return rune(0x2102), true - case "Coproduct": - // N-ARY COPRODUCT + case "Coproduct": // N-ARY COPRODUCT return rune(0x2210), true - case "CounterClockwiseContourIntegral": - // ANTICLOCKWISE CONTOUR INTEGRAL + case "CounterClockwiseContourIntegral": // ANTICLOCKWISE CONTOUR INTEGRAL return rune(0x2233), true - case "Cross": - // VECTOR OR CROSS PRODUCT + case "Cross": // VECTOR OR CROSS PRODUCT return rune(0x2a2f), true - case "Cscr": - // MATHEMATICAL SCRIPT CAPITAL C + case "Cscr": // MATHEMATICAL SCRIPT CAPITAL C return rune(0x01d49e), true - case "CupCap": - // EQUIVALENT TO - return rune(0x224d), true - case "Cup": - // DOUBLE UNION + case "Cup": // DOUBLE UNION return rune(0x22d3), true + case "CupCap": // EQUIVALENT TO + return rune(0x224d), true } case 'D': switch name { - case "DD": - // DOUBLE-STRUCK ITALIC CAPITAL D + case "DD": // DOUBLE-STRUCK ITALIC CAPITAL D return rune(0x2145), true - case "DDotrahd": - // RIGHTWARDS ARROW WITH DOTTED STEM + case "DDotrahd": // RIGHTWARDS ARROW WITH DOTTED STEM return rune(0x2911), true - case "DJcy": - // CYRILLIC CAPITAL LETTER DJE + case "DJcy": // CYRILLIC CAPITAL LETTER DJE return rune(0x0402), true - case "DScy": - // CYRILLIC CAPITAL LETTER DZE + case "DScy": // CYRILLIC CAPITAL LETTER DZE return rune(0x0405), true - case "DZcy": - // CYRILLIC CAPITAL LETTER DZHE + case "DZcy": // CYRILLIC CAPITAL LETTER DZHE return rune(0x040f), true - case "Dagger": - // DOUBLE DAGGER + case "Dagger": // DOUBLE DAGGER return rune(0x2021), true - case "Darr": - // DOWNWARDS TWO HEADED ARROW + case "Darr": // DOWNWARDS TWO HEADED ARROW return rune(0x21a1), true - case "Dashv": - // VERTICAL BAR DOUBLE LEFT TURNSTILE + case "Dashv": // VERTICAL BAR DOUBLE LEFT TURNSTILE return rune(0x2ae4), true - case "Dcaron": - // LATIN CAPITAL LETTER D WITH CARON + case "Dcaron": // LATIN CAPITAL LETTER D WITH CARON return rune(0x010e), true - case "Dcy": - // CYRILLIC CAPITAL LETTER DE + case "Dcy": // CYRILLIC CAPITAL LETTER DE return rune(0x0414), true - case "Del": - // NABLA + case "Del": // NABLA return rune(0x2207), true - case "Delta": - // GREEK CAPITAL LETTER DELTA + case "Delta": // GREEK CAPITAL LETTER DELTA return rune(0x0394), true - case "Dfr": - // MATHEMATICAL FRAKTUR CAPITAL D + case "Dfr": // MATHEMATICAL FRAKTUR CAPITAL D return rune(0x01d507), true - case "Dgr": - // GREEK CAPITAL LETTER DELTA + case "Dgr": // GREEK CAPITAL LETTER DELTA return rune(0x0394), true - case "DiacriticalAcute": - // ACUTE ACCENT + case "DiacriticalAcute": // ACUTE ACCENT return rune(0xb4), true - case "DiacriticalDot": - // DOT ABOVE + case "DiacriticalDot": // DOT ABOVE return rune(0x02d9), true - case "DiacriticalDoubleAcute": - // DOUBLE ACUTE ACCENT + case "DiacriticalDoubleAcute": // DOUBLE ACUTE ACCENT return rune(0x02dd), true - case "DiacriticalGrave": - // GRAVE ACCENT + case "DiacriticalGrave": // GRAVE ACCENT return rune(0x60), true - case "DiacriticalTilde": - // SMALL TILDE + case "DiacriticalTilde": // SMALL TILDE return rune(0x02dc), true - case "Diamond": - // DIAMOND OPERATOR + case "Diamond": // DIAMOND OPERATOR return rune(0x22c4), true - case "DifferentialD": - // DOUBLE-STRUCK ITALIC SMALL D + case "DifferentialD": // DOUBLE-STRUCK ITALIC SMALL D return rune(0x2146), true - case "Dopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL D + case "Dopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL D return rune(0x01d53b), true - case "Dot": - // DIAERESIS + case "Dot": // DIAERESIS return rune(0xa8), true - case "DotDot": - // COMBINING FOUR DOTS ABOVE + case "DotDot": // COMBINING FOUR DOTS ABOVE return rune(0x20dc), true - case "DotEqual": - // APPROACHES THE LIMIT + case "DotEqual": // APPROACHES THE LIMIT return rune(0x2250), true - case "DoubleContourIntegral": - // SURFACE INTEGRAL + case "DoubleContourIntegral": // SURFACE INTEGRAL return rune(0x222f), true - case "DoubleDot": - // DIAERESIS + case "DoubleDot": // DIAERESIS return rune(0xa8), true - case "DoubleDownArrow": - // DOWNWARDS DOUBLE ARROW + case "DoubleDownArrow": // DOWNWARDS DOUBLE ARROW return rune(0x21d3), true - case "DoubleLeftArrow": - // LEFTWARDS DOUBLE ARROW + case "DoubleLeftArrow": // LEFTWARDS DOUBLE ARROW return rune(0x21d0), true - case "DoubleLeftRightArrow": - // LEFT RIGHT DOUBLE ARROW + case "DoubleLeftRightArrow": // LEFT RIGHT DOUBLE ARROW return rune(0x21d4), true - case "DoubleLeftTee": - // VERTICAL BAR DOUBLE LEFT TURNSTILE + case "DoubleLeftTee": // VERTICAL BAR DOUBLE LEFT TURNSTILE return rune(0x2ae4), true - case "DoubleLongLeftArrow": - // LONG LEFTWARDS DOUBLE ARROW + case "DoubleLongLeftArrow": // LONG LEFTWARDS DOUBLE ARROW return rune(0x27f8), true - case "DoubleLongLeftRightArrow": - // LONG LEFT RIGHT DOUBLE ARROW + case "DoubleLongLeftRightArrow": // LONG LEFT RIGHT DOUBLE ARROW return rune(0x27fa), true - case "DoubleLongRightArrow": - // LONG RIGHTWARDS DOUBLE ARROW + case "DoubleLongRightArrow": // LONG RIGHTWARDS DOUBLE ARROW return rune(0x27f9), true - case "DoubleRightArrow": - // RIGHTWARDS DOUBLE ARROW + case "DoubleRightArrow": // RIGHTWARDS DOUBLE ARROW return rune(0x21d2), true - case "DoubleRightTee": - // TRUE + case "DoubleRightTee": // TRUE return rune(0x22a8), true - case "DoubleUpArrow": - // UPWARDS DOUBLE ARROW + case "DoubleUpArrow": // UPWARDS DOUBLE ARROW return rune(0x21d1), true - case "DoubleUpDownArrow": - // UP DOWN DOUBLE ARROW + case "DoubleUpDownArrow": // UP DOWN DOUBLE ARROW return rune(0x21d5), true - case "DoubleVerticalBar": - // PARALLEL TO + case "DoubleVerticalBar": // PARALLEL TO return rune(0x2225), true - case "DownArrowUpArrow": - // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW - return rune(0x21f5), true - case "DownArrow": - // DOWNWARDS ARROW + case "DownArrow": // DOWNWARDS ARROW return rune(0x2193), true - case "DownArrowBar": - // DOWNWARDS ARROW TO BAR + case "DownArrowBar": // DOWNWARDS ARROW TO BAR return rune(0x2913), true - case "DownBreve": - // COMBINING INVERTED BREVE + case "DownArrowUpArrow": // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW + return rune(0x21f5), true + case "DownBreve": // COMBINING INVERTED BREVE return rune(0x0311), true - case "DownLeftRightVector": - // LEFT BARB DOWN RIGHT BARB DOWN HARPOON + case "DownLeftRightVector": // LEFT BARB DOWN RIGHT BARB DOWN HARPOON return rune(0x2950), true - case "DownLeftTeeVector": - // LEFTWARDS HARPOON WITH BARB DOWN FROM BAR + case "DownLeftTeeVector": // LEFTWARDS HARPOON WITH BARB DOWN FROM BAR return rune(0x295e), true - case "DownLeftVector": - // LEFTWARDS HARPOON WITH BARB DOWNWARDS + case "DownLeftVector": // LEFTWARDS HARPOON WITH BARB DOWNWARDS return rune(0x21bd), true - case "DownLeftVectorBar": - // LEFTWARDS HARPOON WITH BARB DOWN TO BAR + case "DownLeftVectorBar": // LEFTWARDS HARPOON WITH BARB DOWN TO BAR return rune(0x2956), true - case "DownRightTeeVector": - // RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR + case "DownRightTeeVector": // RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR return rune(0x295f), true - case "DownRightVector": - // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + case "DownRightVector": // RIGHTWARDS HARPOON WITH BARB DOWNWARDS return rune(0x21c1), true - case "DownRightVectorBar": - // RIGHTWARDS HARPOON WITH BARB DOWN TO BAR + case "DownRightVectorBar": // RIGHTWARDS HARPOON WITH BARB DOWN TO BAR return rune(0x2957), true - case "DownTeeArrow": - // DOWNWARDS ARROW FROM BAR - return rune(0x21a7), true - case "DownTee": - // DOWN TACK + case "DownTee": // DOWN TACK return rune(0x22a4), true - case "Downarrow": - // DOWNWARDS DOUBLE ARROW + case "DownTeeArrow": // DOWNWARDS ARROW FROM BAR + return rune(0x21a7), true + case "Downarrow": // DOWNWARDS DOUBLE ARROW return rune(0x21d3), true - case "Dscr": - // MATHEMATICAL SCRIPT CAPITAL D + case "Dscr": // MATHEMATICAL SCRIPT CAPITAL D return rune(0x01d49f), true - case "Dstrok": - // LATIN CAPITAL LETTER D WITH STROKE + case "Dstrok": // LATIN CAPITAL LETTER D WITH STROKE return rune(0x0110), true } case 'E': switch name { - case "EEacgr": - // GREEK CAPITAL LETTER ETA WITH TONOS + case "EEacgr": // GREEK CAPITAL LETTER ETA WITH TONOS return rune(0x0389), true - case "EEgr": - // GREEK CAPITAL LETTER ETA + case "EEgr": // GREEK CAPITAL LETTER ETA return rune(0x0397), true - case "ENG": - // LATIN CAPITAL LETTER ENG + case "ENG": // LATIN CAPITAL LETTER ENG return rune(0x014a), true - case "ETH": - // LATIN CAPITAL LETTER ETH + case "ETH": // LATIN CAPITAL LETTER ETH return rune(0xd0), true - case "Eacgr": - // GREEK CAPITAL LETTER EPSILON WITH TONOS + case "Eacgr": // GREEK CAPITAL LETTER EPSILON WITH TONOS return rune(0x0388), true - case "Eacute": - // LATIN CAPITAL LETTER E WITH ACUTE + case "Eacute": // LATIN CAPITAL LETTER E WITH ACUTE return rune(0xc9), true - case "Ecaron": - // LATIN CAPITAL LETTER E WITH CARON + case "Ecaron": // LATIN CAPITAL LETTER E WITH CARON return rune(0x011a), true - case "Ecirc": - // LATIN CAPITAL LETTER E WITH CIRCUMFLEX + case "Ecirc": // LATIN CAPITAL LETTER E WITH CIRCUMFLEX return rune(0xca), true - case "Ecy": - // CYRILLIC CAPITAL LETTER E + case "Ecy": // CYRILLIC CAPITAL LETTER E return rune(0x042d), true - case "Edot": - // LATIN CAPITAL LETTER E WITH DOT ABOVE + case "Edot": // LATIN CAPITAL LETTER E WITH DOT ABOVE return rune(0x0116), true - case "Efr": - // MATHEMATICAL FRAKTUR CAPITAL E + case "Efr": // MATHEMATICAL FRAKTUR CAPITAL E return rune(0x01d508), true - case "Egrave": - // LATIN CAPITAL LETTER E WITH GRAVE - return rune(0xc8), true - case "Egr": - // GREEK CAPITAL LETTER EPSILON + case "Egr": // GREEK CAPITAL LETTER EPSILON return rune(0x0395), true - case "Element": - // ELEMENT OF + case "Egrave": // LATIN CAPITAL LETTER E WITH GRAVE + return rune(0xc8), true + case "Element": // ELEMENT OF return rune(0x2208), true - case "Emacr": - // LATIN CAPITAL LETTER E WITH MACRON + case "Emacr": // LATIN CAPITAL LETTER E WITH MACRON return rune(0x0112), true - case "EmptySmallSquare": - // WHITE MEDIUM SQUARE + case "EmptySmallSquare": // WHITE MEDIUM SQUARE return rune(0x25fb), true - case "EmptyVerySmallSquare": - // WHITE SMALL SQUARE + case "EmptyVerySmallSquare": // WHITE SMALL SQUARE return rune(0x25ab), true - case "Eogon": - // LATIN CAPITAL LETTER E WITH OGONEK + case "Eogon": // LATIN CAPITAL LETTER E WITH OGONEK return rune(0x0118), true - case "Eopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL E + case "Eopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL E return rune(0x01d53c), true - case "Epsilon": - // GREEK CAPITAL LETTER EPSILON + case "Epsilon": // GREEK CAPITAL LETTER EPSILON return rune(0x0395), true - case "EqualTilde": - // MINUS TILDE - return rune(0x2242), true - case "Equal": - // TWO CONSECUTIVE EQUALS SIGNS + case "Equal": // TWO CONSECUTIVE EQUALS SIGNS return rune(0x2a75), true - case "Equilibrium": - // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + case "EqualTilde": // MINUS TILDE + return rune(0x2242), true + case "Equilibrium": // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON return rune(0x21cc), true - case "Escr": - // SCRIPT CAPITAL E + case "Escr": // SCRIPT CAPITAL E return rune(0x2130), true - case "Esim": - // EQUALS SIGN ABOVE TILDE OPERATOR + case "Esim": // EQUALS SIGN ABOVE TILDE OPERATOR return rune(0x2a73), true - case "Eta": - // GREEK CAPITAL LETTER ETA + case "Eta": // GREEK CAPITAL LETTER ETA return rune(0x0397), true - case "Euml": - // LATIN CAPITAL LETTER E WITH DIAERESIS + case "Euml": // LATIN CAPITAL LETTER E WITH DIAERESIS return rune(0xcb), true - case "Exists": - // THERE EXISTS + case "Exists": // THERE EXISTS return rune(0x2203), true - case "ExponentialE": - // DOUBLE-STRUCK ITALIC SMALL E + case "ExponentialE": // DOUBLE-STRUCK ITALIC SMALL E return rune(0x2147), true } case 'F': switch name { - case "Fcy": - // CYRILLIC CAPITAL LETTER EF + case "Fcy": // CYRILLIC CAPITAL LETTER EF return rune(0x0424), true - case "Ffr": - // MATHEMATICAL FRAKTUR CAPITAL F + case "Ffr": // MATHEMATICAL FRAKTUR CAPITAL F return rune(0x01d509), true - case "FilledSmallSquare": - // BLACK MEDIUM SQUARE + case "FilledSmallSquare": // BLACK MEDIUM SQUARE return rune(0x25fc), true - case "FilledVerySmallSquare": - // BLACK SMALL SQUARE + case "FilledVerySmallSquare": // BLACK SMALL SQUARE return rune(0x25aa), true - case "Fopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL F + case "Fopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL F return rune(0x01d53d), true - case "ForAll": - // FOR ALL + case "ForAll": // FOR ALL return rune(0x2200), true - case "Fouriertrf": - // SCRIPT CAPITAL F + case "Fouriertrf": // SCRIPT CAPITAL F return rune(0x2131), true - case "Fscr": - // SCRIPT CAPITAL F + case "Fscr": // SCRIPT CAPITAL F return rune(0x2131), true } case 'G': switch name { - case "GJcy": - // CYRILLIC CAPITAL LETTER GJE + case "GJcy": // CYRILLIC CAPITAL LETTER GJE return rune(0x0403), true - case "GT": - // GREATER-THAN SIGN + case "GT": // GREATER-THAN SIGN return rune(0x3e), true - case "Game": - // TURNED SANS-SERIF CAPITAL G + case "Game": // TURNED SANS-SERIF CAPITAL G return rune(0x2141), true - case "Gamma": - // GREEK CAPITAL LETTER GAMMA + case "Gamma": // GREEK CAPITAL LETTER GAMMA return rune(0x0393), true - case "Gammad": - // GREEK LETTER DIGAMMA + case "Gammad": // GREEK LETTER DIGAMMA return rune(0x03dc), true - case "Gbreve": - // LATIN CAPITAL LETTER G WITH BREVE + case "Gbreve": // LATIN CAPITAL LETTER G WITH BREVE return rune(0x011e), true - case "Gcedil": - // LATIN CAPITAL LETTER G WITH CEDILLA + case "Gcedil": // LATIN CAPITAL LETTER G WITH CEDILLA return rune(0x0122), true - case "Gcirc": - // LATIN CAPITAL LETTER G WITH CIRCUMFLEX + case "Gcirc": // LATIN CAPITAL LETTER G WITH CIRCUMFLEX return rune(0x011c), true - case "Gcy": - // CYRILLIC CAPITAL LETTER GHE + case "Gcy": // CYRILLIC CAPITAL LETTER GHE return rune(0x0413), true - case "Gdot": - // LATIN CAPITAL LETTER G WITH DOT ABOVE + case "Gdot": // LATIN CAPITAL LETTER G WITH DOT ABOVE return rune(0x0120), true - case "Gfr": - // MATHEMATICAL FRAKTUR CAPITAL G + case "Gfr": // MATHEMATICAL FRAKTUR CAPITAL G return rune(0x01d50a), true - case "Ggr": - // GREEK CAPITAL LETTER GAMMA - return rune(0x0393), true - case "Gg": - // VERY MUCH GREATER-THAN + case "Gg": // VERY MUCH GREATER-THAN return rune(0x22d9), true - case "Gopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL G + case "Ggr": // GREEK CAPITAL LETTER GAMMA + return rune(0x0393), true + case "Gopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL G return rune(0x01d53e), true - case "GreaterEqual": - // GREATER-THAN OR EQUAL TO + case "GreaterEqual": // GREATER-THAN OR EQUAL TO return rune(0x2265), true - case "GreaterEqualLess": - // GREATER-THAN EQUAL TO OR LESS-THAN + case "GreaterEqualLess": // GREATER-THAN EQUAL TO OR LESS-THAN return rune(0x22db), true - case "GreaterFullEqual": - // GREATER-THAN OVER EQUAL TO + case "GreaterFullEqual": // GREATER-THAN OVER EQUAL TO return rune(0x2267), true - case "GreaterGreater": - // DOUBLE NESTED GREATER-THAN + case "GreaterGreater": // DOUBLE NESTED GREATER-THAN return rune(0x2aa2), true - case "GreaterLess": - // GREATER-THAN OR LESS-THAN + case "GreaterLess": // GREATER-THAN OR LESS-THAN return rune(0x2277), true - case "GreaterSlantEqual": - // GREATER-THAN OR SLANTED EQUAL TO + case "GreaterSlantEqual": // GREATER-THAN OR SLANTED EQUAL TO return rune(0x2a7e), true - case "GreaterTilde": - // GREATER-THAN OR EQUIVALENT TO + case "GreaterTilde": // GREATER-THAN OR EQUIVALENT TO return rune(0x2273), true - case "Gscr": - // MATHEMATICAL SCRIPT CAPITAL G + case "Gscr": // MATHEMATICAL SCRIPT CAPITAL G return rune(0x01d4a2), true - case "Gt": - // MUCH GREATER-THAN + case "Gt": // MUCH GREATER-THAN return rune(0x226b), true } case 'H': switch name { - case "HARDcy": - // CYRILLIC CAPITAL LETTER HARD SIGN + case "HARDcy": // CYRILLIC CAPITAL LETTER HARD SIGN return rune(0x042a), true - case "Hacek": - // CARON + case "Hacek": // CARON return rune(0x02c7), true - case "Hat": - // CIRCUMFLEX ACCENT + case "Hat": // CIRCUMFLEX ACCENT return rune(0x5e), true - case "Hcirc": - // LATIN CAPITAL LETTER H WITH CIRCUMFLEX + case "Hcirc": // LATIN CAPITAL LETTER H WITH CIRCUMFLEX return rune(0x0124), true - case "Hfr": - // BLACK-LETTER CAPITAL H + case "Hfr": // BLACK-LETTER CAPITAL H return rune(0x210c), true - case "HilbertSpace": - // SCRIPT CAPITAL H + case "HilbertSpace": // SCRIPT CAPITAL H return rune(0x210b), true - case "Hopf": - // DOUBLE-STRUCK CAPITAL H + case "Hopf": // DOUBLE-STRUCK CAPITAL H return rune(0x210d), true - case "HorizontalLine": - // BOX DRAWINGS LIGHT HORIZONTAL + case "HorizontalLine": // BOX DRAWINGS LIGHT HORIZONTAL return rune(0x2500), true - case "Hscr": - // SCRIPT CAPITAL H + case "Hscr": // SCRIPT CAPITAL H return rune(0x210b), true - case "Hstrok": - // LATIN CAPITAL LETTER H WITH STROKE + case "Hstrok": // LATIN CAPITAL LETTER H WITH STROKE return rune(0x0126), true - case "HumpDownHump": - // GEOMETRICALLY EQUIVALENT TO + case "HumpDownHump": // GEOMETRICALLY EQUIVALENT TO return rune(0x224e), true - case "HumpEqual": - // DIFFERENCE BETWEEN + case "HumpEqual": // DIFFERENCE BETWEEN return rune(0x224f), true } case 'I': switch name { - case "IEcy": - // CYRILLIC CAPITAL LETTER IE + case "IEcy": // CYRILLIC CAPITAL LETTER IE return rune(0x0415), true - case "IJlig": - // LATIN CAPITAL LIGATURE IJ + case "IJlig": // LATIN CAPITAL LIGATURE IJ return rune(0x0132), true - case "IOcy": - // CYRILLIC CAPITAL LETTER IO + case "IOcy": // CYRILLIC CAPITAL LETTER IO return rune(0x0401), true - case "Iacgr": - // GREEK CAPITAL LETTER IOTA WITH TONOS + case "Iacgr": // GREEK CAPITAL LETTER IOTA WITH TONOS return rune(0x038a), true - case "Iacute": - // LATIN CAPITAL LETTER I WITH ACUTE + case "Iacute": // LATIN CAPITAL LETTER I WITH ACUTE return rune(0xcd), true - case "Icirc": - // LATIN CAPITAL LETTER I WITH CIRCUMFLEX + case "Icirc": // LATIN CAPITAL LETTER I WITH CIRCUMFLEX return rune(0xce), true - case "Icy": - // CYRILLIC CAPITAL LETTER I + case "Icy": // CYRILLIC CAPITAL LETTER I return rune(0x0418), true - case "Idigr": - // GREEK CAPITAL LETTER IOTA WITH DIALYTIKA + case "Idigr": // GREEK CAPITAL LETTER IOTA WITH DIALYTIKA return rune(0x03aa), true - case "Idot": - // LATIN CAPITAL LETTER I WITH DOT ABOVE + case "Idot": // LATIN CAPITAL LETTER I WITH DOT ABOVE return rune(0x0130), true - case "Ifr": - // BLACK-LETTER CAPITAL I + case "Ifr": // BLACK-LETTER CAPITAL I return rune(0x2111), true - case "Igrave": - // LATIN CAPITAL LETTER I WITH GRAVE - return rune(0xcc), true - case "Igr": - // GREEK CAPITAL LETTER IOTA + case "Igr": // GREEK CAPITAL LETTER IOTA return rune(0x0399), true - case "Imacr": - // LATIN CAPITAL LETTER I WITH MACRON + case "Igrave": // LATIN CAPITAL LETTER I WITH GRAVE + return rune(0xcc), true + case "Im": // BLACK-LETTER CAPITAL I + return rune(0x2111), true + case "Imacr": // LATIN CAPITAL LETTER I WITH MACRON return rune(0x012a), true - case "ImaginaryI": - // DOUBLE-STRUCK ITALIC SMALL I + case "ImaginaryI": // DOUBLE-STRUCK ITALIC SMALL I return rune(0x2148), true - case "Implies": - // RIGHTWARDS DOUBLE ARROW + case "Implies": // RIGHTWARDS DOUBLE ARROW return rune(0x21d2), true - case "Im": - // BLACK-LETTER CAPITAL I - return rune(0x2111), true - case "Integral": - // INTEGRAL - return rune(0x222b), true - case "Int": - // DOUBLE INTEGRAL + case "Int": // DOUBLE INTEGRAL return rune(0x222c), true - case "Intersection": - // N-ARY INTERSECTION + case "Integral": // INTEGRAL + return rune(0x222b), true + case "Intersection": // N-ARY INTERSECTION return rune(0x22c2), true - case "InvisibleComma": - // INVISIBLE SEPARATOR + case "InvisibleComma": // INVISIBLE SEPARATOR return rune(0x2063), true - case "InvisibleTimes": - // INVISIBLE TIMES + case "InvisibleTimes": // INVISIBLE TIMES return rune(0x2062), true - case "Iogon": - // LATIN CAPITAL LETTER I WITH OGONEK + case "Iogon": // LATIN CAPITAL LETTER I WITH OGONEK return rune(0x012e), true - case "Iopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL I + case "Iopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL I return rune(0x01d540), true - case "Iota": - // GREEK CAPITAL LETTER IOTA + case "Iota": // GREEK CAPITAL LETTER IOTA return rune(0x0399), true - case "Iscr": - // SCRIPT CAPITAL I + case "Iscr": // SCRIPT CAPITAL I return rune(0x2110), true - case "Itilde": - // LATIN CAPITAL LETTER I WITH TILDE + case "Itilde": // LATIN CAPITAL LETTER I WITH TILDE return rune(0x0128), true - case "Iukcy": - // CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I + case "Iukcy": // CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I return rune(0x0406), true - case "Iuml": - // LATIN CAPITAL LETTER I WITH DIAERESIS + case "Iuml": // LATIN CAPITAL LETTER I WITH DIAERESIS return rune(0xcf), true } case 'J': switch name { - case "Jcirc": - // LATIN CAPITAL LETTER J WITH CIRCUMFLEX + case "Jcirc": // LATIN CAPITAL LETTER J WITH CIRCUMFLEX return rune(0x0134), true - case "Jcy": - // CYRILLIC CAPITAL LETTER SHORT I + case "Jcy": // CYRILLIC CAPITAL LETTER SHORT I return rune(0x0419), true - case "Jfr": - // MATHEMATICAL FRAKTUR CAPITAL J + case "Jfr": // MATHEMATICAL FRAKTUR CAPITAL J return rune(0x01d50d), true - case "Jopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL J + case "Jopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL J return rune(0x01d541), true - case "Jscr": - // MATHEMATICAL SCRIPT CAPITAL J + case "Jscr": // MATHEMATICAL SCRIPT CAPITAL J return rune(0x01d4a5), true - case "Jsercy": - // CYRILLIC CAPITAL LETTER JE + case "Jsercy": // CYRILLIC CAPITAL LETTER JE return rune(0x0408), true - case "Jukcy": - // CYRILLIC CAPITAL LETTER UKRAINIAN IE + case "Jukcy": // CYRILLIC CAPITAL LETTER UKRAINIAN IE return rune(0x0404), true } case 'K': switch name { - case "KHcy": - // CYRILLIC CAPITAL LETTER HA + case "KHcy": // CYRILLIC CAPITAL LETTER HA return rune(0x0425), true - case "KHgr": - // GREEK CAPITAL LETTER CHI + case "KHgr": // GREEK CAPITAL LETTER CHI return rune(0x03a7), true - case "KJcy": - // CYRILLIC CAPITAL LETTER KJE + case "KJcy": // CYRILLIC CAPITAL LETTER KJE return rune(0x040c), true - case "Kappa": - // GREEK CAPITAL LETTER KAPPA + case "Kappa": // GREEK CAPITAL LETTER KAPPA return rune(0x039a), true - case "Kcedil": - // LATIN CAPITAL LETTER K WITH CEDILLA + case "Kcedil": // LATIN CAPITAL LETTER K WITH CEDILLA return rune(0x0136), true - case "Kcy": - // CYRILLIC CAPITAL LETTER KA + case "Kcy": // CYRILLIC CAPITAL LETTER KA return rune(0x041a), true - case "Kfr": - // MATHEMATICAL FRAKTUR CAPITAL K + case "Kfr": // MATHEMATICAL FRAKTUR CAPITAL K return rune(0x01d50e), true - case "Kgr": - // GREEK CAPITAL LETTER KAPPA + case "Kgr": // GREEK CAPITAL LETTER KAPPA return rune(0x039a), true - case "Kopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL K + case "Kopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL K return rune(0x01d542), true - case "Kscr": - // MATHEMATICAL SCRIPT CAPITAL K + case "Kscr": // MATHEMATICAL SCRIPT CAPITAL K return rune(0x01d4a6), true } case 'L': switch name { - case "LJcy": - // CYRILLIC CAPITAL LETTER LJE + case "LJcy": // CYRILLIC CAPITAL LETTER LJE return rune(0x0409), true - case "LT": - // LESS-THAN SIGN + case "LT": // LESS-THAN SIGN return rune(0x3c), true - case "Lacute": - // LATIN CAPITAL LETTER L WITH ACUTE + case "Lacute": // LATIN CAPITAL LETTER L WITH ACUTE return rune(0x0139), true - case "Lambda": - // GREEK CAPITAL LETTER LAMDA + case "Lambda": // GREEK CAPITAL LETTER LAMDA return rune(0x039b), true - case "Lang": - // MATHEMATICAL LEFT DOUBLE ANGLE BRACKET + case "Lang": // MATHEMATICAL LEFT DOUBLE ANGLE BRACKET return rune(0x27ea), true - case "Laplacetrf": - // SCRIPT CAPITAL L + case "Laplacetrf": // SCRIPT CAPITAL L return rune(0x2112), true - case "Larr": - // LEFTWARDS TWO HEADED ARROW + case "Larr": // LEFTWARDS TWO HEADED ARROW return rune(0x219e), true - case "Lcaron": - // LATIN CAPITAL LETTER L WITH CARON + case "Lcaron": // LATIN CAPITAL LETTER L WITH CARON return rune(0x013d), true - case "Lcedil": - // LATIN CAPITAL LETTER L WITH CEDILLA + case "Lcedil": // LATIN CAPITAL LETTER L WITH CEDILLA return rune(0x013b), true - case "Lcy": - // CYRILLIC CAPITAL LETTER EL + case "Lcy": // CYRILLIC CAPITAL LETTER EL return rune(0x041b), true - case "LeftAngleBracket": - // MATHEMATICAL LEFT ANGLE BRACKET + case "LeftAngleBracket": // MATHEMATICAL LEFT ANGLE BRACKET return rune(0x27e8), true - case "LeftArrowBar": - // LEFTWARDS ARROW TO BAR + case "LeftArrow": // LEFTWARDS ARROW + return rune(0x2190), true + case "LeftArrowBar": // LEFTWARDS ARROW TO BAR return rune(0x21e4), true - case "LeftArrowRightArrow": - // LEFTWARDS ARROW OVER RIGHTWARDS ARROW + case "LeftArrowRightArrow": // LEFTWARDS ARROW OVER RIGHTWARDS ARROW return rune(0x21c6), true - case "LeftArrow": - // LEFTWARDS ARROW - return rune(0x2190), true - case "LeftCeiling": - // LEFT CEILING + case "LeftCeiling": // LEFT CEILING return rune(0x2308), true - case "LeftDoubleBracket": - // MATHEMATICAL LEFT WHITE SQUARE BRACKET + case "LeftDoubleBracket": // MATHEMATICAL LEFT WHITE SQUARE BRACKET return rune(0x27e6), true - case "LeftDownTeeVector": - // DOWNWARDS HARPOON WITH BARB LEFT FROM BAR + case "LeftDownTeeVector": // DOWNWARDS HARPOON WITH BARB LEFT FROM BAR return rune(0x2961), true - case "LeftDownVector": - // DOWNWARDS HARPOON WITH BARB LEFTWARDS + case "LeftDownVector": // DOWNWARDS HARPOON WITH BARB LEFTWARDS return rune(0x21c3), true - case "LeftDownVectorBar": - // DOWNWARDS HARPOON WITH BARB LEFT TO BAR + case "LeftDownVectorBar": // DOWNWARDS HARPOON WITH BARB LEFT TO BAR return rune(0x2959), true - case "LeftFloor": - // LEFT FLOOR + case "LeftFloor": // LEFT FLOOR return rune(0x230a), true - case "LeftRightArrow": - // LEFT RIGHT ARROW + case "LeftRightArrow": // LEFT RIGHT ARROW return rune(0x2194), true - case "LeftRightVector": - // LEFT BARB UP RIGHT BARB UP HARPOON + case "LeftRightVector": // LEFT BARB UP RIGHT BARB UP HARPOON return rune(0x294e), true - case "LeftTeeArrow": - // LEFTWARDS ARROW FROM BAR + case "LeftTee": // LEFT TACK + return rune(0x22a3), true + case "LeftTeeArrow": // LEFTWARDS ARROW FROM BAR return rune(0x21a4), true - case "LeftTeeVector": - // LEFTWARDS HARPOON WITH BARB UP FROM BAR + case "LeftTeeVector": // LEFTWARDS HARPOON WITH BARB UP FROM BAR return rune(0x295a), true - case "LeftTee": - // LEFT TACK - return rune(0x22a3), true - case "LeftTriangleBar": - // LEFT TRIANGLE BESIDE VERTICAL BAR - return rune(0x29cf), true - case "LeftTriangle": - // NORMAL SUBGROUP OF + case "LeftTriangle": // NORMAL SUBGROUP OF return rune(0x22b2), true - case "LeftTriangleEqual": - // NORMAL SUBGROUP OF OR EQUAL TO + case "LeftTriangleBar": // LEFT TRIANGLE BESIDE VERTICAL BAR + return rune(0x29cf), true + case "LeftTriangleEqual": // NORMAL SUBGROUP OF OR EQUAL TO return rune(0x22b4), true - case "LeftUpDownVector": - // UP BARB LEFT DOWN BARB LEFT HARPOON + case "LeftUpDownVector": // UP BARB LEFT DOWN BARB LEFT HARPOON return rune(0x2951), true - case "LeftUpTeeVector": - // UPWARDS HARPOON WITH BARB LEFT FROM BAR + case "LeftUpTeeVector": // UPWARDS HARPOON WITH BARB LEFT FROM BAR return rune(0x2960), true - case "LeftUpVector": - // UPWARDS HARPOON WITH BARB LEFTWARDS + case "LeftUpVector": // UPWARDS HARPOON WITH BARB LEFTWARDS return rune(0x21bf), true - case "LeftUpVectorBar": - // UPWARDS HARPOON WITH BARB LEFT TO BAR + case "LeftUpVectorBar": // UPWARDS HARPOON WITH BARB LEFT TO BAR return rune(0x2958), true - case "LeftVector": - // LEFTWARDS HARPOON WITH BARB UPWARDS + case "LeftVector": // LEFTWARDS HARPOON WITH BARB UPWARDS return rune(0x21bc), true - case "LeftVectorBar": - // LEFTWARDS HARPOON WITH BARB UP TO BAR + case "LeftVectorBar": // LEFTWARDS HARPOON WITH BARB UP TO BAR return rune(0x2952), true - case "Leftarrow": - // LEFTWARDS DOUBLE ARROW + case "Leftarrow": // LEFTWARDS DOUBLE ARROW return rune(0x21d0), true - case "Leftrightarrow": - // LEFT RIGHT DOUBLE ARROW + case "Leftrightarrow": // LEFT RIGHT DOUBLE ARROW return rune(0x21d4), true - case "LessEqualGreater": - // LESS-THAN EQUAL TO OR GREATER-THAN + case "LessEqualGreater": // LESS-THAN EQUAL TO OR GREATER-THAN return rune(0x22da), true - case "LessFullEqual": - // LESS-THAN OVER EQUAL TO + case "LessFullEqual": // LESS-THAN OVER EQUAL TO return rune(0x2266), true - case "LessGreater": - // LESS-THAN OR GREATER-THAN + case "LessGreater": // LESS-THAN OR GREATER-THAN return rune(0x2276), true - case "LessLess": - // DOUBLE NESTED LESS-THAN + case "LessLess": // DOUBLE NESTED LESS-THAN return rune(0x2aa1), true - case "LessSlantEqual": - // LESS-THAN OR SLANTED EQUAL TO + case "LessSlantEqual": // LESS-THAN OR SLANTED EQUAL TO return rune(0x2a7d), true - case "LessTilde": - // LESS-THAN OR EQUIVALENT TO + case "LessTilde": // LESS-THAN OR EQUIVALENT TO return rune(0x2272), true - case "Lfr": - // MATHEMATICAL FRAKTUR CAPITAL L + case "Lfr": // MATHEMATICAL FRAKTUR CAPITAL L return rune(0x01d50f), true - case "Lgr": - // GREEK CAPITAL LETTER LAMDA + case "Lgr": // GREEK CAPITAL LETTER LAMDA return rune(0x039b), true - case "Lleftarrow": - // LEFTWARDS TRIPLE ARROW - return rune(0x21da), true - case "Ll": - // VERY MUCH LESS-THAN + case "Ll": // VERY MUCH LESS-THAN return rune(0x22d8), true - case "Lmidot": - // LATIN CAPITAL LETTER L WITH MIDDLE DOT + case "Lleftarrow": // LEFTWARDS TRIPLE ARROW + return rune(0x21da), true + case "Lmidot": // LATIN CAPITAL LETTER L WITH MIDDLE DOT return rune(0x013f), true - case "LongLeftArrow": - // LONG LEFTWARDS ARROW + case "LongLeftArrow": // LONG LEFTWARDS ARROW return rune(0x27f5), true - case "LongLeftRightArrow": - // LONG LEFT RIGHT ARROW + case "LongLeftRightArrow": // LONG LEFT RIGHT ARROW return rune(0x27f7), true - case "LongRightArrow": - // LONG RIGHTWARDS ARROW + case "LongRightArrow": // LONG RIGHTWARDS ARROW return rune(0x27f6), true - case "Longleftarrow": - // LONG LEFTWARDS DOUBLE ARROW + case "Longleftarrow": // LONG LEFTWARDS DOUBLE ARROW return rune(0x27f8), true - case "Longleftrightarrow": - // LONG LEFT RIGHT DOUBLE ARROW + case "Longleftrightarrow": // LONG LEFT RIGHT DOUBLE ARROW return rune(0x27fa), true - case "Longrightarrow": - // LONG RIGHTWARDS DOUBLE ARROW + case "Longrightarrow": // LONG RIGHTWARDS DOUBLE ARROW return rune(0x27f9), true - case "Lopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL L + case "Lopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL L return rune(0x01d543), true - case "LowerLeftArrow": - // SOUTH WEST ARROW + case "LowerLeftArrow": // SOUTH WEST ARROW return rune(0x2199), true - case "LowerRightArrow": - // SOUTH EAST ARROW + case "LowerRightArrow": // SOUTH EAST ARROW return rune(0x2198), true - case "Lscr": - // SCRIPT CAPITAL L + case "Lscr": // SCRIPT CAPITAL L return rune(0x2112), true - case "Lsh": - // UPWARDS ARROW WITH TIP LEFTWARDS + case "Lsh": // UPWARDS ARROW WITH TIP LEFTWARDS return rune(0x21b0), true - case "Lstrok": - // LATIN CAPITAL LETTER L WITH STROKE + case "Lstrok": // LATIN CAPITAL LETTER L WITH STROKE return rune(0x0141), true - case "Ltbar": - // DOUBLE NESTED LESS-THAN WITH UNDERBAR - return rune(0x2aa3), true - case "Lt": - // MUCH LESS-THAN + case "Lt": // MUCH LESS-THAN return rune(0x226a), true + case "Ltbar": // DOUBLE NESTED LESS-THAN WITH UNDERBAR + return rune(0x2aa3), true } case 'M': switch name { - case "Mapfrom": - // LEFTWARDS DOUBLE ARROW FROM BAR + case "Map": // RIGHTWARDS TWO-HEADED ARROW FROM BAR + return rune(0x2905), true + case "Mapfrom": // LEFTWARDS DOUBLE ARROW FROM BAR return rune(0x2906), true - case "Mapto": - // RIGHTWARDS DOUBLE ARROW FROM BAR + case "Mapto": // RIGHTWARDS DOUBLE ARROW FROM BAR return rune(0x2907), true - case "Map": - // RIGHTWARDS TWO-HEADED ARROW FROM BAR - return rune(0x2905), true - case "Mcy": - // CYRILLIC CAPITAL LETTER EM + case "Mcy": // CYRILLIC CAPITAL LETTER EM return rune(0x041c), true - case "MediumSpace": - // MEDIUM MATHEMATICAL SPACE + case "MediumSpace": // MEDIUM MATHEMATICAL SPACE return rune(0x205f), true - case "Mellintrf": - // SCRIPT CAPITAL M + case "Mellintrf": // SCRIPT CAPITAL M return rune(0x2133), true - case "Mfr": - // MATHEMATICAL FRAKTUR CAPITAL M + case "Mfr": // MATHEMATICAL FRAKTUR CAPITAL M return rune(0x01d510), true - case "Mgr": - // GREEK CAPITAL LETTER MU + case "Mgr": // GREEK CAPITAL LETTER MU return rune(0x039c), true - case "MinusPlus": - // MINUS-OR-PLUS SIGN + case "MinusPlus": // MINUS-OR-PLUS SIGN return rune(0x2213), true - case "Mopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL M + case "Mopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL M return rune(0x01d544), true - case "Mscr": - // SCRIPT CAPITAL M + case "Mscr": // SCRIPT CAPITAL M return rune(0x2133), true - case "Mu": - // GREEK CAPITAL LETTER MU + case "Mu": // GREEK CAPITAL LETTER MU return rune(0x039c), true } case 'N': switch name { - case "NJcy": - // CYRILLIC CAPITAL LETTER NJE + case "NJcy": // CYRILLIC CAPITAL LETTER NJE return rune(0x040a), true - case "Nacute": - // LATIN CAPITAL LETTER N WITH ACUTE + case "Nacute": // LATIN CAPITAL LETTER N WITH ACUTE return rune(0x0143), true - case "Ncaron": - // LATIN CAPITAL LETTER N WITH CARON + case "Ncaron": // LATIN CAPITAL LETTER N WITH CARON return rune(0x0147), true - case "Ncedil": - // LATIN CAPITAL LETTER N WITH CEDILLA + case "Ncedil": // LATIN CAPITAL LETTER N WITH CEDILLA return rune(0x0145), true - case "Ncy": - // CYRILLIC CAPITAL LETTER EN + case "Ncy": // CYRILLIC CAPITAL LETTER EN return rune(0x041d), true - case "NegativeMediumSpace": - // ZERO WIDTH SPACE + case "NegativeMediumSpace": // ZERO WIDTH SPACE return rune(0x200b), true - case "NegativeThickSpace": - // ZERO WIDTH SPACE + case "NegativeThickSpace": // ZERO WIDTH SPACE return rune(0x200b), true - case "NegativeThinSpace": - // ZERO WIDTH SPACE + case "NegativeThinSpace": // ZERO WIDTH SPACE return rune(0x200b), true - case "NegativeVeryThinSpace": - // ZERO WIDTH SPACE + case "NegativeVeryThinSpace": // ZERO WIDTH SPACE return rune(0x200b), true - case "NestedGreaterGreater": - // MUCH GREATER-THAN + case "NestedGreaterGreater": // MUCH GREATER-THAN return rune(0x226b), true - case "NestedLessLess": - // MUCH LESS-THAN + case "NestedLessLess": // MUCH LESS-THAN return rune(0x226a), true - case "NewLine": - // LINE FEED (LF) + case "NewLine": // LINE FEED (LF) return rune(0x0a), true - case "Nfr": - // MATHEMATICAL FRAKTUR CAPITAL N + case "Nfr": // MATHEMATICAL FRAKTUR CAPITAL N return rune(0x01d511), true - case "Ngr": - // GREEK CAPITAL LETTER NU + case "Ngr": // GREEK CAPITAL LETTER NU return rune(0x039d), true - case "NoBreak": - // WORD JOINER + case "NoBreak": // WORD JOINER return rune(0x2060), true - case "NonBreakingSpace": - // NO-BREAK SPACE + case "NonBreakingSpace": // NO-BREAK SPACE return rune(0xa0), true - case "Nopf": - // DOUBLE-STRUCK CAPITAL N + case "Nopf": // DOUBLE-STRUCK CAPITAL N return rune(0x2115), true - case "NotDoubleVerticalBar": - // NOT PARALLEL TO + case "Not": // DOUBLE STROKE NOT SIGN + return rune(0x2aec), true + case "NotCongruent": // NOT IDENTICAL TO + return rune(0x2262), true + case "NotCupCap": // NOT EQUIVALENT TO + return rune(0x226d), true + case "NotDoubleVerticalBar": // NOT PARALLEL TO return rune(0x2226), true - case "NotElement": - // NOT AN ELEMENT OF + case "NotElement": // NOT AN ELEMENT OF return rune(0x2209), true - case "NotEqualTilde": - // MINUS TILDE with slash - return rune(0x2242), true - case "NotEqual": - // NOT EQUAL TO + case "NotEqual": // NOT EQUAL TO return rune(0x2260), true - case "NotExists": - // THERE DOES NOT EXIST + case "NotEqualTilde": // MINUS TILDE with slash + return rune(0x2242), true + case "NotExists": // THERE DOES NOT EXIST return rune(0x2204), true - case "NotHumpDownHump": - // GEOMETRICALLY EQUIVALENT TO with slash - return rune(0x224e), true - case "NotHumpEqual": - // DIFFERENCE BETWEEN with slash - return rune(0x224f), true - case "NotLessGreater": - // NEITHER LESS-THAN NOR GREATER-THAN - return rune(0x2278), true - case "NotReverseElement": - // DOES NOT CONTAIN AS MEMBER - return rune(0x220c), true - case "NotTilde": - // NOT TILDE - return rune(0x2241), true - case "NotTildeEqual": - // NOT ASYMPTOTICALLY EQUAL TO - return rune(0x2244), true - case "NotTildeFullEqual": - // NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO - return rune(0x2247), true - case "NotTildeTilde": - // NOT ALMOST EQUAL TO - return rune(0x2249), true - case "NotVerticalBar": - // DOES NOT DIVIDE - return rune(0x2224), true - case "Not": - // DOUBLE STROKE NOT SIGN - return rune(0x2aec), true - case "NotCongruent": - // NOT IDENTICAL TO - return rune(0x2262), true - case "NotCupCap": - // NOT EQUIVALENT TO - return rune(0x226d), true - case "NotGreaterFullEqual": - // GREATER-THAN OVER EQUAL TO with slash - return rune(0x2267), true - case "NotGreaterGreater": - // MUCH GREATER THAN with slash - return rune(0x226b), true - case "NotGreaterSlantEqual": - // GREATER-THAN OR SLANTED EQUAL TO with slash - return rune(0x2a7e), true - case "NotGreater": - // NOT GREATER-THAN + case "NotGreater": // NOT GREATER-THAN return rune(0x226f), true - case "NotGreaterEqual": - // NEITHER GREATER-THAN NOR EQUAL TO + case "NotGreaterEqual": // NEITHER GREATER-THAN NOR EQUAL TO return rune(0x2271), true - case "NotGreaterLess": - // NEITHER GREATER-THAN NOR LESS-THAN + case "NotGreaterFullEqual": // GREATER-THAN OVER EQUAL TO with slash + return rune(0x2267), true + case "NotGreaterGreater": // MUCH GREATER THAN with slash + return rune(0x226b), true + case "NotGreaterLess": // NEITHER GREATER-THAN NOR LESS-THAN return rune(0x2279), true - case "NotGreaterTilde": - // NEITHER GREATER-THAN NOR EQUIVALENT TO + case "NotGreaterSlantEqual": // GREATER-THAN OR SLANTED EQUAL TO with slash + return rune(0x2a7e), true + case "NotGreaterTilde": // NEITHER GREATER-THAN NOR EQUIVALENT TO return rune(0x2275), true - case "NotLeftTriangleBar": - // LEFT TRIANGLE BESIDE VERTICAL BAR with slash - return rune(0x29cf), true - case "NotLeftTriangle": - // NOT NORMAL SUBGROUP OF + case "NotHumpDownHump": // GEOMETRICALLY EQUIVALENT TO with slash + return rune(0x224e), true + case "NotHumpEqual": // DIFFERENCE BETWEEN with slash + return rune(0x224f), true + case "NotLeftTriangle": // NOT NORMAL SUBGROUP OF return rune(0x22ea), true - case "NotLeftTriangleEqual": - // NOT NORMAL SUBGROUP OF OR EQUAL TO + case "NotLeftTriangleBar": // LEFT TRIANGLE BESIDE VERTICAL BAR with slash + return rune(0x29cf), true + case "NotLeftTriangleEqual": // NOT NORMAL SUBGROUP OF OR EQUAL TO return rune(0x22ec), true - case "NotLessLess": - // MUCH LESS THAN with slash - return rune(0x226a), true - case "NotLessSlantEqual": - // LESS-THAN OR SLANTED EQUAL TO with slash - return rune(0x2a7d), true - case "NotLess": - // NOT LESS-THAN + case "NotLess": // NOT LESS-THAN return rune(0x226e), true - case "NotLessEqual": - // NEITHER LESS-THAN NOR EQUAL TO + case "NotLessEqual": // NEITHER LESS-THAN NOR EQUAL TO return rune(0x2270), true - case "NotLessTilde": - // NEITHER LESS-THAN NOR EQUIVALENT TO + case "NotLessGreater": // NEITHER LESS-THAN NOR GREATER-THAN + return rune(0x2278), true + case "NotLessLess": // MUCH LESS THAN with slash + return rune(0x226a), true + case "NotLessSlantEqual": // LESS-THAN OR SLANTED EQUAL TO with slash + return rune(0x2a7d), true + case "NotLessTilde": // NEITHER LESS-THAN NOR EQUIVALENT TO return rune(0x2274), true - case "NotNestedGreaterGreater": - // DOUBLE NESTED GREATER-THAN with slash + case "NotNestedGreaterGreater": // DOUBLE NESTED GREATER-THAN with slash return rune(0x2aa2), true - case "NotNestedLessLess": - // DOUBLE NESTED LESS-THAN with slash + case "NotNestedLessLess": // DOUBLE NESTED LESS-THAN with slash return rune(0x2aa1), true - case "NotPrecedesEqual": - // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash - return rune(0x2aaf), true - case "NotPrecedes": - // DOES NOT PRECEDE + case "NotPrecedes": // DOES NOT PRECEDE return rune(0x2280), true - case "NotPrecedesSlantEqual": - // DOES NOT PRECEDE OR EQUAL + case "NotPrecedesEqual": // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash + return rune(0x2aaf), true + case "NotPrecedesSlantEqual": // DOES NOT PRECEDE OR EQUAL return rune(0x22e0), true - case "NotRightTriangleBar": - // VERTICAL BAR BESIDE RIGHT TRIANGLE with slash - return rune(0x29d0), true - case "NotRightTriangle": - // DOES NOT CONTAIN AS NORMAL SUBGROUP + case "NotReverseElement": // DOES NOT CONTAIN AS MEMBER + return rune(0x220c), true + case "NotRightTriangle": // DOES NOT CONTAIN AS NORMAL SUBGROUP return rune(0x22eb), true - case "NotRightTriangleEqual": - // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL + case "NotRightTriangleBar": // VERTICAL BAR BESIDE RIGHT TRIANGLE with slash + return rune(0x29d0), true + case "NotRightTriangleEqual": // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL return rune(0x22ed), true - case "NotSquareSubset": - // SQUARE IMAGE OF with slash + case "NotSquareSubset": // SQUARE IMAGE OF with slash return rune(0x228f), true - case "NotSquareSubsetEqual": - // NOT SQUARE IMAGE OF OR EQUAL TO + case "NotSquareSubsetEqual": // NOT SQUARE IMAGE OF OR EQUAL TO return rune(0x22e2), true - case "NotSquareSuperset": - // SQUARE ORIGINAL OF with slash + case "NotSquareSuperset": // SQUARE ORIGINAL OF with slash return rune(0x2290), true - case "NotSquareSupersetEqual": - // NOT SQUARE ORIGINAL OF OR EQUAL TO + case "NotSquareSupersetEqual": // NOT SQUARE ORIGINAL OF OR EQUAL TO return rune(0x22e3), true - case "NotSubset": - // SUBSET OF with vertical line + case "NotSubset": // SUBSET OF with vertical line return rune(0x2282), true - case "NotSubsetEqual": - // NEITHER A SUBSET OF NOR EQUAL TO + case "NotSubsetEqual": // NEITHER A SUBSET OF NOR EQUAL TO return rune(0x2288), true - case "NotSucceedsEqual": - // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash - return rune(0x2ab0), true - case "NotSucceedsTilde": - // SUCCEEDS OR EQUIVALENT TO with slash - return rune(0x227f), true - case "NotSucceeds": - // DOES NOT SUCCEED + case "NotSucceeds": // DOES NOT SUCCEED return rune(0x2281), true - case "NotSucceedsSlantEqual": - // DOES NOT SUCCEED OR EQUAL + case "NotSucceedsEqual": // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash + return rune(0x2ab0), true + case "NotSucceedsSlantEqual": // DOES NOT SUCCEED OR EQUAL return rune(0x22e1), true - case "NotSuperset": - // SUPERSET OF with vertical line + case "NotSucceedsTilde": // SUCCEEDS OR EQUIVALENT TO with slash + return rune(0x227f), true + case "NotSuperset": // SUPERSET OF with vertical line return rune(0x2283), true - case "NotSupersetEqual": - // NEITHER A SUPERSET OF NOR EQUAL TO + case "NotSupersetEqual": // NEITHER A SUPERSET OF NOR EQUAL TO return rune(0x2289), true - case "Nscr": - // MATHEMATICAL SCRIPT CAPITAL N + case "NotTilde": // NOT TILDE + return rune(0x2241), true + case "NotTildeEqual": // NOT ASYMPTOTICALLY EQUAL TO + return rune(0x2244), true + case "NotTildeFullEqual": // NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO + return rune(0x2247), true + case "NotTildeTilde": // NOT ALMOST EQUAL TO + return rune(0x2249), true + case "NotVerticalBar": // DOES NOT DIVIDE + return rune(0x2224), true + case "Nscr": // MATHEMATICAL SCRIPT CAPITAL N return rune(0x01d4a9), true - case "Ntilde": - // LATIN CAPITAL LETTER N WITH TILDE + case "Ntilde": // LATIN CAPITAL LETTER N WITH TILDE return rune(0xd1), true - case "Nu": - // GREEK CAPITAL LETTER NU + case "Nu": // GREEK CAPITAL LETTER NU return rune(0x039d), true } case 'O': switch name { - case "OElig": - // LATIN CAPITAL LIGATURE OE + case "OElig": // LATIN CAPITAL LIGATURE OE return rune(0x0152), true - case "OHacgr": - // GREEK CAPITAL LETTER OMEGA WITH TONOS + case "OHacgr": // GREEK CAPITAL LETTER OMEGA WITH TONOS return rune(0x038f), true - case "OHgr": - // GREEK CAPITAL LETTER OMEGA + case "OHgr": // GREEK CAPITAL LETTER OMEGA return rune(0x03a9), true - case "Oacgr": - // GREEK CAPITAL LETTER OMICRON WITH TONOS + case "Oacgr": // GREEK CAPITAL LETTER OMICRON WITH TONOS return rune(0x038c), true - case "Oacute": - // LATIN CAPITAL LETTER O WITH ACUTE + case "Oacute": // LATIN CAPITAL LETTER O WITH ACUTE return rune(0xd3), true - case "Ocirc": - // LATIN CAPITAL LETTER O WITH CIRCUMFLEX + case "Ocirc": // LATIN CAPITAL LETTER O WITH CIRCUMFLEX return rune(0xd4), true - case "Ocy": - // CYRILLIC CAPITAL LETTER O + case "Ocy": // CYRILLIC CAPITAL LETTER O return rune(0x041e), true - case "Odblac": - // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE + case "Odblac": // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE return rune(0x0150), true - case "Ofr": - // MATHEMATICAL FRAKTUR CAPITAL O + case "Ofr": // MATHEMATICAL FRAKTUR CAPITAL O return rune(0x01d512), true - case "Ograve": - // LATIN CAPITAL LETTER O WITH GRAVE - return rune(0xd2), true - case "Ogr": - // GREEK CAPITAL LETTER OMICRON + case "Ogr": // GREEK CAPITAL LETTER OMICRON return rune(0x039f), true - case "Omacr": - // LATIN CAPITAL LETTER O WITH MACRON + case "Ograve": // LATIN CAPITAL LETTER O WITH GRAVE + return rune(0xd2), true + case "Omacr": // LATIN CAPITAL LETTER O WITH MACRON return rune(0x014c), true - case "Omega": - // GREEK CAPITAL LETTER OMEGA + case "Omega": // GREEK CAPITAL LETTER OMEGA return rune(0x03a9), true - case "Omicron": - // GREEK CAPITAL LETTER OMICRON + case "Omicron": // GREEK CAPITAL LETTER OMICRON return rune(0x039f), true - case "Oopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL O + case "Oopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL O return rune(0x01d546), true - case "OpenCurlyDoubleQuote": - // LEFT DOUBLE QUOTATION MARK + case "OpenCurlyDoubleQuote": // LEFT DOUBLE QUOTATION MARK return rune(0x201c), true - case "OpenCurlyQuote": - // LEFT SINGLE QUOTATION MARK + case "OpenCurlyQuote": // LEFT SINGLE QUOTATION MARK return rune(0x2018), true - case "Or": - // DOUBLE LOGICAL OR + case "Or": // DOUBLE LOGICAL OR return rune(0x2a54), true - case "Oscr": - // MATHEMATICAL SCRIPT CAPITAL O + case "Oscr": // MATHEMATICAL SCRIPT CAPITAL O return rune(0x01d4aa), true - case "Oslash": - // LATIN CAPITAL LETTER O WITH STROKE + case "Oslash": // LATIN CAPITAL LETTER O WITH STROKE return rune(0xd8), true - case "Otilde": - // LATIN CAPITAL LETTER O WITH TILDE + case "Otilde": // LATIN CAPITAL LETTER O WITH TILDE return rune(0xd5), true - case "Otimes": - // MULTIPLICATION SIGN IN DOUBLE CIRCLE + case "Otimes": // MULTIPLICATION SIGN IN DOUBLE CIRCLE return rune(0x2a37), true - case "Ouml": - // LATIN CAPITAL LETTER O WITH DIAERESIS + case "Ouml": // LATIN CAPITAL LETTER O WITH DIAERESIS return rune(0xd6), true - case "OverBar": - // OVERLINE + case "OverBar": // OVERLINE return rune(0x203e), true - case "OverBrace": - // TOP CURLY BRACKET + case "OverBrace": // TOP CURLY BRACKET return rune(0x23de), true - case "OverBracket": - // TOP SQUARE BRACKET + case "OverBracket": // TOP SQUARE BRACKET return rune(0x23b4), true - case "OverParenthesis": - // TOP PARENTHESIS + case "OverParenthesis": // TOP PARENTHESIS return rune(0x23dc), true } case 'P': switch name { - case "PHgr": - // GREEK CAPITAL LETTER PHI + case "PHgr": // GREEK CAPITAL LETTER PHI return rune(0x03a6), true - case "PSgr": - // GREEK CAPITAL LETTER PSI + case "PSgr": // GREEK CAPITAL LETTER PSI return rune(0x03a8), true - case "PartialD": - // PARTIAL DIFFERENTIAL + case "PartialD": // PARTIAL DIFFERENTIAL return rune(0x2202), true - case "Pcy": - // CYRILLIC CAPITAL LETTER PE + case "Pcy": // CYRILLIC CAPITAL LETTER PE return rune(0x041f), true - case "Pfr": - // MATHEMATICAL FRAKTUR CAPITAL P + case "Pfr": // MATHEMATICAL FRAKTUR CAPITAL P return rune(0x01d513), true - case "Pgr": - // GREEK CAPITAL LETTER PI + case "Pgr": // GREEK CAPITAL LETTER PI return rune(0x03a0), true - case "Phi": - // GREEK CAPITAL LETTER PHI + case "Phi": // GREEK CAPITAL LETTER PHI return rune(0x03a6), true - case "Pi": - // GREEK CAPITAL LETTER PI + case "Pi": // GREEK CAPITAL LETTER PI return rune(0x03a0), true - case "PlusMinus": - // PLUS-MINUS SIGN + case "PlusMinus": // PLUS-MINUS SIGN return rune(0xb1), true - case "Poincareplane": - // BLACK-LETTER CAPITAL H + case "Poincareplane": // BLACK-LETTER CAPITAL H return rune(0x210c), true - case "Popf": - // DOUBLE-STRUCK CAPITAL P + case "Popf": // DOUBLE-STRUCK CAPITAL P return rune(0x2119), true - case "Product": - // N-ARY PRODUCT - return rune(0x220f), true - case "Proportional": - // PROPORTIONAL TO - return rune(0x221d), true - case "Proportion": - // PROPORTION - return rune(0x2237), true - case "Pr": - // DOUBLE PRECEDES + case "Pr": // DOUBLE PRECEDES return rune(0x2abb), true - case "PrecedesEqual": - // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN - return rune(0x2aaf), true - case "Precedes": - // PRECEDES + case "Precedes": // PRECEDES return rune(0x227a), true - case "PrecedesSlantEqual": - // PRECEDES OR EQUAL TO + case "PrecedesEqual": // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + return rune(0x2aaf), true + case "PrecedesSlantEqual": // PRECEDES OR EQUAL TO return rune(0x227c), true - case "PrecedesTilde": - // PRECEDES OR EQUIVALENT TO + case "PrecedesTilde": // PRECEDES OR EQUIVALENT TO return rune(0x227e), true - case "Prime": - // DOUBLE PRIME + case "Prime": // DOUBLE PRIME return rune(0x2033), true - case "Pscr": - // MATHEMATICAL SCRIPT CAPITAL P + case "Product": // N-ARY PRODUCT + return rune(0x220f), true + case "Proportion": // PROPORTION + return rune(0x2237), true + case "Proportional": // PROPORTIONAL TO + return rune(0x221d), true + case "Pscr": // MATHEMATICAL SCRIPT CAPITAL P return rune(0x01d4ab), true - case "Psi": - // GREEK CAPITAL LETTER PSI + case "Psi": // GREEK CAPITAL LETTER PSI return rune(0x03a8), true } case 'Q': switch name { - case "QUOT": - // QUOTATION MARK + case "QUOT": // QUOTATION MARK return rune(0x22), true - case "Qfr": - // MATHEMATICAL FRAKTUR CAPITAL Q + case "Qfr": // MATHEMATICAL FRAKTUR CAPITAL Q return rune(0x01d514), true - case "Qopf": - // DOUBLE-STRUCK CAPITAL Q + case "Qopf": // DOUBLE-STRUCK CAPITAL Q return rune(0x211a), true - case "Qscr": - // MATHEMATICAL SCRIPT CAPITAL Q + case "Qscr": // MATHEMATICAL SCRIPT CAPITAL Q return rune(0x01d4ac), true } case 'R': switch name { - case "RBarr": - // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW + case "RBarr": // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW return rune(0x2910), true - case "REG": - // REGISTERED SIGN + case "REG": // REGISTERED SIGN return rune(0xae), true - case "Racute": - // LATIN CAPITAL LETTER R WITH ACUTE + case "Racute": // LATIN CAPITAL LETTER R WITH ACUTE return rune(0x0154), true - case "Rang": - // MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET + case "Rang": // MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET return rune(0x27eb), true - case "Rarr": - // RIGHTWARDS TWO HEADED ARROW + case "Rarr": // RIGHTWARDS TWO HEADED ARROW return rune(0x21a0), true - case "Rarrtl": - // RIGHTWARDS TWO-HEADED ARROW WITH TAIL + case "Rarrtl": // RIGHTWARDS TWO-HEADED ARROW WITH TAIL return rune(0x2916), true - case "Rcaron": - // LATIN CAPITAL LETTER R WITH CARON + case "Rcaron": // LATIN CAPITAL LETTER R WITH CARON return rune(0x0158), true - case "Rcedil": - // LATIN CAPITAL LETTER R WITH CEDILLA + case "Rcedil": // LATIN CAPITAL LETTER R WITH CEDILLA return rune(0x0156), true - case "Rcy": - // CYRILLIC CAPITAL LETTER ER + case "Rcy": // CYRILLIC CAPITAL LETTER ER return rune(0x0420), true - case "ReverseElement": - // CONTAINS AS MEMBER + case "Re": // BLACK-LETTER CAPITAL R + return rune(0x211c), true + case "ReverseElement": // CONTAINS AS MEMBER return rune(0x220b), true - case "ReverseEquilibrium": - // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON + case "ReverseEquilibrium": // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON return rune(0x21cb), true - case "Re": - // BLACK-LETTER CAPITAL R - return rune(0x211c), true - case "ReverseUpEquilibrium": - // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT + case "ReverseUpEquilibrium": // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT return rune(0x296f), true - case "Rfr": - // BLACK-LETTER CAPITAL R + case "Rfr": // BLACK-LETTER CAPITAL R return rune(0x211c), true - case "Rgr": - // GREEK CAPITAL LETTER RHO + case "Rgr": // GREEK CAPITAL LETTER RHO return rune(0x03a1), true - case "Rho": - // GREEK CAPITAL LETTER RHO + case "Rho": // GREEK CAPITAL LETTER RHO return rune(0x03a1), true - case "RightAngleBracket": - // MATHEMATICAL RIGHT ANGLE BRACKET + case "RightAngleBracket": // MATHEMATICAL RIGHT ANGLE BRACKET return rune(0x27e9), true - case "RightArrowBar": - // RIGHTWARDS ARROW TO BAR - return rune(0x21e5), true - case "RightArrow": - // RIGHTWARDS ARROW + case "RightArrow": // RIGHTWARDS ARROW return rune(0x2192), true - case "RightArrowLeftArrow": - // RIGHTWARDS ARROW OVER LEFTWARDS ARROW + case "RightArrowBar": // RIGHTWARDS ARROW TO BAR + return rune(0x21e5), true + case "RightArrowLeftArrow": // RIGHTWARDS ARROW OVER LEFTWARDS ARROW return rune(0x21c4), true - case "RightCeiling": - // RIGHT CEILING + case "RightCeiling": // RIGHT CEILING return rune(0x2309), true - case "RightDoubleBracket": - // MATHEMATICAL RIGHT WHITE SQUARE BRACKET + case "RightDoubleBracket": // MATHEMATICAL RIGHT WHITE SQUARE BRACKET return rune(0x27e7), true - case "RightDownTeeVector": - // DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR + case "RightDownTeeVector": // DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR return rune(0x295d), true - case "RightDownVector": - // DOWNWARDS HARPOON WITH BARB RIGHTWARDS + case "RightDownVector": // DOWNWARDS HARPOON WITH BARB RIGHTWARDS return rune(0x21c2), true - case "RightDownVectorBar": - // DOWNWARDS HARPOON WITH BARB RIGHT TO BAR + case "RightDownVectorBar": // DOWNWARDS HARPOON WITH BARB RIGHT TO BAR return rune(0x2955), true - case "RightFloor": - // RIGHT FLOOR + case "RightFloor": // RIGHT FLOOR return rune(0x230b), true - case "RightTeeArrow": - // RIGHTWARDS ARROW FROM BAR + case "RightTee": // RIGHT TACK + return rune(0x22a2), true + case "RightTeeArrow": // RIGHTWARDS ARROW FROM BAR return rune(0x21a6), true - case "RightTeeVector": - // RIGHTWARDS HARPOON WITH BARB UP FROM BAR + case "RightTeeVector": // RIGHTWARDS HARPOON WITH BARB UP FROM BAR return rune(0x295b), true - case "RightTee": - // RIGHT TACK - return rune(0x22a2), true - case "RightTriangleBar": - // VERTICAL BAR BESIDE RIGHT TRIANGLE - return rune(0x29d0), true - case "RightTriangle": - // CONTAINS AS NORMAL SUBGROUP + case "RightTriangle": // CONTAINS AS NORMAL SUBGROUP return rune(0x22b3), true - case "RightTriangleEqual": - // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO + case "RightTriangleBar": // VERTICAL BAR BESIDE RIGHT TRIANGLE + return rune(0x29d0), true + case "RightTriangleEqual": // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO return rune(0x22b5), true - case "RightUpDownVector": - // UP BARB RIGHT DOWN BARB RIGHT HARPOON + case "RightUpDownVector": // UP BARB RIGHT DOWN BARB RIGHT HARPOON return rune(0x294f), true - case "RightUpTeeVector": - // UPWARDS HARPOON WITH BARB RIGHT FROM BAR + case "RightUpTeeVector": // UPWARDS HARPOON WITH BARB RIGHT FROM BAR return rune(0x295c), true - case "RightUpVector": - // UPWARDS HARPOON WITH BARB RIGHTWARDS + case "RightUpVector": // UPWARDS HARPOON WITH BARB RIGHTWARDS return rune(0x21be), true - case "RightUpVectorBar": - // UPWARDS HARPOON WITH BARB RIGHT TO BAR + case "RightUpVectorBar": // UPWARDS HARPOON WITH BARB RIGHT TO BAR return rune(0x2954), true - case "RightVector": - // RIGHTWARDS HARPOON WITH BARB UPWARDS + case "RightVector": // RIGHTWARDS HARPOON WITH BARB UPWARDS return rune(0x21c0), true - case "RightVectorBar": - // RIGHTWARDS HARPOON WITH BARB UP TO BAR + case "RightVectorBar": // RIGHTWARDS HARPOON WITH BARB UP TO BAR return rune(0x2953), true - case "Rightarrow": - // RIGHTWARDS DOUBLE ARROW + case "Rightarrow": // RIGHTWARDS DOUBLE ARROW return rune(0x21d2), true - case "Ropf": - // DOUBLE-STRUCK CAPITAL R + case "Ropf": // DOUBLE-STRUCK CAPITAL R return rune(0x211d), true - case "RoundImplies": - // RIGHT DOUBLE ARROW WITH ROUNDED HEAD + case "RoundImplies": // RIGHT DOUBLE ARROW WITH ROUNDED HEAD return rune(0x2970), true - case "Rrightarrow": - // RIGHTWARDS TRIPLE ARROW + case "Rrightarrow": // RIGHTWARDS TRIPLE ARROW return rune(0x21db), true - case "Rscr": - // SCRIPT CAPITAL R + case "Rscr": // SCRIPT CAPITAL R return rune(0x211b), true - case "Rsh": - // UPWARDS ARROW WITH TIP RIGHTWARDS + case "Rsh": // UPWARDS ARROW WITH TIP RIGHTWARDS return rune(0x21b1), true - case "RuleDelayed": - // RULE-DELAYED + case "RuleDelayed": // RULE-DELAYED return rune(0x29f4), true } case 'S': switch name { - case "SHCHcy": - // CYRILLIC CAPITAL LETTER SHCHA + case "SHCHcy": // CYRILLIC CAPITAL LETTER SHCHA return rune(0x0429), true - case "SHcy": - // CYRILLIC CAPITAL LETTER SHA + case "SHcy": // CYRILLIC CAPITAL LETTER SHA return rune(0x0428), true - case "SOFTcy": - // CYRILLIC CAPITAL LETTER SOFT SIGN + case "SOFTcy": // CYRILLIC CAPITAL LETTER SOFT SIGN return rune(0x042c), true - case "Sacute": - // LATIN CAPITAL LETTER S WITH ACUTE + case "Sacute": // LATIN CAPITAL LETTER S WITH ACUTE return rune(0x015a), true - case "Sc": - // DOUBLE SUCCEEDS + case "Sc": // DOUBLE SUCCEEDS return rune(0x2abc), true - case "Scaron": - // LATIN CAPITAL LETTER S WITH CARON + case "Scaron": // LATIN CAPITAL LETTER S WITH CARON return rune(0x0160), true - case "Scedil": - // LATIN CAPITAL LETTER S WITH CEDILLA + case "Scedil": // LATIN CAPITAL LETTER S WITH CEDILLA return rune(0x015e), true - case "Scirc": - // LATIN CAPITAL LETTER S WITH CIRCUMFLEX + case "Scirc": // LATIN CAPITAL LETTER S WITH CIRCUMFLEX return rune(0x015c), true - case "Scy": - // CYRILLIC CAPITAL LETTER ES + case "Scy": // CYRILLIC CAPITAL LETTER ES return rune(0x0421), true - case "Sfr": - // MATHEMATICAL FRAKTUR CAPITAL S + case "Sfr": // MATHEMATICAL FRAKTUR CAPITAL S return rune(0x01d516), true - case "Sgr": - // GREEK CAPITAL LETTER SIGMA + case "Sgr": // GREEK CAPITAL LETTER SIGMA return rune(0x03a3), true - case "ShortDownArrow": - // DOWNWARDS ARROW + case "ShortDownArrow": // DOWNWARDS ARROW return rune(0x2193), true - case "ShortLeftArrow": - // LEFTWARDS ARROW + case "ShortLeftArrow": // LEFTWARDS ARROW return rune(0x2190), true - case "ShortRightArrow": - // RIGHTWARDS ARROW + case "ShortRightArrow": // RIGHTWARDS ARROW return rune(0x2192), true - case "ShortUpArrow": - // UPWARDS ARROW + case "ShortUpArrow": // UPWARDS ARROW return rune(0x2191), true - case "Sigma": - // GREEK CAPITAL LETTER SIGMA + case "Sigma": // GREEK CAPITAL LETTER SIGMA return rune(0x03a3), true - case "SmallCircle": - // RING OPERATOR + case "SmallCircle": // RING OPERATOR return rune(0x2218), true - case "Sopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL S + case "Sopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL S return rune(0x01d54a), true - case "Sqrt": - // SQUARE ROOT + case "Sqrt": // SQUARE ROOT return rune(0x221a), true - case "SquareIntersection": - // SQUARE CAP + case "Square": // WHITE SQUARE + return rune(0x25a1), true + case "SquareIntersection": // SQUARE CAP return rune(0x2293), true - case "SquareSubset": - // SQUARE IMAGE OF + case "SquareSubset": // SQUARE IMAGE OF return rune(0x228f), true - case "SquareSubsetEqual": - // SQUARE IMAGE OF OR EQUAL TO + case "SquareSubsetEqual": // SQUARE IMAGE OF OR EQUAL TO return rune(0x2291), true - case "Square": - // WHITE SQUARE - return rune(0x25a1), true - case "SquareSuperset": - // SQUARE ORIGINAL OF + case "SquareSuperset": // SQUARE ORIGINAL OF return rune(0x2290), true - case "SquareSupersetEqual": - // SQUARE ORIGINAL OF OR EQUAL TO + case "SquareSupersetEqual": // SQUARE ORIGINAL OF OR EQUAL TO return rune(0x2292), true - case "SquareUnion": - // SQUARE CUP + case "SquareUnion": // SQUARE CUP return rune(0x2294), true - case "Sscr": - // MATHEMATICAL SCRIPT CAPITAL S + case "Sscr": // MATHEMATICAL SCRIPT CAPITAL S return rune(0x01d4ae), true - case "Star": - // STAR OPERATOR + case "Star": // STAR OPERATOR return rune(0x22c6), true - case "Sub": - // DOUBLE SUBSET + case "Sub": // DOUBLE SUBSET return rune(0x22d0), true - case "Subset": - // DOUBLE SUBSET + case "Subset": // DOUBLE SUBSET return rune(0x22d0), true - case "SubsetEqual": - // SUBSET OF OR EQUAL TO + case "SubsetEqual": // SUBSET OF OR EQUAL TO return rune(0x2286), true - case "Succeeds": - // SUCCEEDS + case "Succeeds": // SUCCEEDS return rune(0x227b), true - case "SucceedsEqual": - // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + case "SucceedsEqual": // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN return rune(0x2ab0), true - case "SucceedsSlantEqual": - // SUCCEEDS OR EQUAL TO + case "SucceedsSlantEqual": // SUCCEEDS OR EQUAL TO return rune(0x227d), true - case "SucceedsTilde": - // SUCCEEDS OR EQUIVALENT TO + case "SucceedsTilde": // SUCCEEDS OR EQUIVALENT TO return rune(0x227f), true - case "SuchThat": - // CONTAINS AS MEMBER + case "SuchThat": // CONTAINS AS MEMBER return rune(0x220b), true - case "Sum": - // N-ARY SUMMATION + case "Sum": // N-ARY SUMMATION return rune(0x2211), true - case "SupersetEqual": - // SUPERSET OF OR EQUAL TO - return rune(0x2287), true - case "Sup": - // DOUBLE SUPERSET + case "Sup": // DOUBLE SUPERSET return rune(0x22d1), true - case "Superset": - // SUPERSET OF + case "Superset": // SUPERSET OF return rune(0x2283), true - case "Supset": - // DOUBLE SUPERSET + case "SupersetEqual": // SUPERSET OF OR EQUAL TO + return rune(0x2287), true + case "Supset": // DOUBLE SUPERSET return rune(0x22d1), true } case 'T': switch name { - case "THORN": - // LATIN CAPITAL LETTER THORN + case "THORN": // LATIN CAPITAL LETTER THORN return rune(0xde), true - case "THgr": - // GREEK CAPITAL LETTER THETA + case "THgr": // GREEK CAPITAL LETTER THETA return rune(0x0398), true - case "TRADE": - // TRADE MARK SIGN + case "TRADE": // TRADE MARK SIGN return rune(0x2122), true - case "TSHcy": - // CYRILLIC CAPITAL LETTER TSHE + case "TSHcy": // CYRILLIC CAPITAL LETTER TSHE return rune(0x040b), true - case "TScy": - // CYRILLIC CAPITAL LETTER TSE + case "TScy": // CYRILLIC CAPITAL LETTER TSE return rune(0x0426), true - case "Tab": - // CHARACTER TABULATION + case "Tab": // CHARACTER TABULATION return rune(0x09), true - case "Tau": - // GREEK CAPITAL LETTER TAU + case "Tau": // GREEK CAPITAL LETTER TAU return rune(0x03a4), true - case "Tcaron": - // LATIN CAPITAL LETTER T WITH CARON + case "Tcaron": // LATIN CAPITAL LETTER T WITH CARON return rune(0x0164), true - case "Tcedil": - // LATIN CAPITAL LETTER T WITH CEDILLA + case "Tcedil": // LATIN CAPITAL LETTER T WITH CEDILLA return rune(0x0162), true - case "Tcy": - // CYRILLIC CAPITAL LETTER TE + case "Tcy": // CYRILLIC CAPITAL LETTER TE return rune(0x0422), true - case "Tfr": - // MATHEMATICAL FRAKTUR CAPITAL T + case "Tfr": // MATHEMATICAL FRAKTUR CAPITAL T return rune(0x01d517), true - case "Tgr": - // GREEK CAPITAL LETTER TAU + case "Tgr": // GREEK CAPITAL LETTER TAU return rune(0x03a4), true - case "Therefore": - // THEREFORE + case "Therefore": // THEREFORE return rune(0x2234), true - case "Theta": - // GREEK CAPITAL LETTER THETA + case "Theta": // GREEK CAPITAL LETTER THETA return rune(0x0398), true - case "Thetav": - // GREEK CAPITAL THETA SYMBOL + case "Thetav": // GREEK CAPITAL THETA SYMBOL return rune(0x03f4), true - case "ThickSpace": - // space of width 5/18 em + case "ThickSpace": // space of width 5/18 em return rune(0x205f), true - case "ThinSpace": - // THIN SPACE + case "ThinSpace": // THIN SPACE return rune(0x2009), true - case "Tilde": - // TILDE OPERATOR + case "Tilde": // TILDE OPERATOR return rune(0x223c), true - case "TildeEqual": - // ASYMPTOTICALLY EQUAL TO + case "TildeEqual": // ASYMPTOTICALLY EQUAL TO return rune(0x2243), true - case "TildeFullEqual": - // APPROXIMATELY EQUAL TO + case "TildeFullEqual": // APPROXIMATELY EQUAL TO return rune(0x2245), true - case "TildeTilde": - // ALMOST EQUAL TO + case "TildeTilde": // ALMOST EQUAL TO return rune(0x2248), true - case "Topf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL T + case "Topf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL T return rune(0x01d54b), true - case "TripleDot": - // COMBINING THREE DOTS ABOVE + case "TripleDot": // COMBINING THREE DOTS ABOVE return rune(0x20db), true - case "Tscr": - // MATHEMATICAL SCRIPT CAPITAL T + case "Tscr": // MATHEMATICAL SCRIPT CAPITAL T return rune(0x01d4af), true - case "Tstrok": - // LATIN CAPITAL LETTER T WITH STROKE + case "Tstrok": // LATIN CAPITAL LETTER T WITH STROKE return rune(0x0166), true } case 'U': switch name { - case "Uacgr": - // GREEK CAPITAL LETTER UPSILON WITH TONOS + case "Uacgr": // GREEK CAPITAL LETTER UPSILON WITH TONOS return rune(0x038e), true - case "Uacute": - // LATIN CAPITAL LETTER U WITH ACUTE + case "Uacute": // LATIN CAPITAL LETTER U WITH ACUTE return rune(0xda), true - case "Uarrocir": - // UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE - return rune(0x2949), true - case "Uarr": - // UPWARDS TWO HEADED ARROW + case "Uarr": // UPWARDS TWO HEADED ARROW return rune(0x219f), true - case "Ubrcy": - // CYRILLIC CAPITAL LETTER SHORT U + case "Uarrocir": // UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE + return rune(0x2949), true + case "Ubrcy": // CYRILLIC CAPITAL LETTER SHORT U return rune(0x040e), true - case "Ubreve": - // LATIN CAPITAL LETTER U WITH BREVE + case "Ubreve": // LATIN CAPITAL LETTER U WITH BREVE return rune(0x016c), true - case "Ucirc": - // LATIN CAPITAL LETTER U WITH CIRCUMFLEX + case "Ucirc": // LATIN CAPITAL LETTER U WITH CIRCUMFLEX return rune(0xdb), true - case "Ucy": - // CYRILLIC CAPITAL LETTER U + case "Ucy": // CYRILLIC CAPITAL LETTER U return rune(0x0423), true - case "Udblac": - // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE + case "Udblac": // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE return rune(0x0170), true - case "Udigr": - // GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA + case "Udigr": // GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA return rune(0x03ab), true - case "Ufr": - // MATHEMATICAL FRAKTUR CAPITAL U + case "Ufr": // MATHEMATICAL FRAKTUR CAPITAL U return rune(0x01d518), true - case "Ugrave": - // LATIN CAPITAL LETTER U WITH GRAVE - return rune(0xd9), true - case "Ugr": - // GREEK CAPITAL LETTER UPSILON + case "Ugr": // GREEK CAPITAL LETTER UPSILON return rune(0x03a5), true - case "Umacr": - // LATIN CAPITAL LETTER U WITH MACRON + case "Ugrave": // LATIN CAPITAL LETTER U WITH GRAVE + return rune(0xd9), true + case "Umacr": // LATIN CAPITAL LETTER U WITH MACRON return rune(0x016a), true - case "UnderBar": - // LOW LINE + case "UnderBar": // LOW LINE return rune(0x5f), true - case "UnderBrace": - // BOTTOM CURLY BRACKET + case "UnderBrace": // BOTTOM CURLY BRACKET return rune(0x23df), true - case "UnderBracket": - // BOTTOM SQUARE BRACKET + case "UnderBracket": // BOTTOM SQUARE BRACKET return rune(0x23b5), true - case "UnderParenthesis": - // BOTTOM PARENTHESIS + case "UnderParenthesis": // BOTTOM PARENTHESIS return rune(0x23dd), true - case "Union": - // N-ARY UNION + case "Union": // N-ARY UNION return rune(0x22c3), true - case "UnionPlus": - // MULTISET UNION + case "UnionPlus": // MULTISET UNION return rune(0x228e), true - case "Uogon": - // LATIN CAPITAL LETTER U WITH OGONEK + case "Uogon": // LATIN CAPITAL LETTER U WITH OGONEK return rune(0x0172), true - case "Uopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL U + case "Uopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL U return rune(0x01d54c), true - case "UpArrow": - // UPWARDS ARROW + case "UpArrow": // UPWARDS ARROW return rune(0x2191), true - case "UpArrowBar": - // UPWARDS ARROW TO BAR + case "UpArrowBar": // UPWARDS ARROW TO BAR return rune(0x2912), true - case "UpArrowDownArrow": - // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW + case "UpArrowDownArrow": // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW return rune(0x21c5), true - case "UpDownArrow": - // UP DOWN ARROW + case "UpDownArrow": // UP DOWN ARROW return rune(0x2195), true - case "UpEquilibrium": - // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT + case "UpEquilibrium": // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT return rune(0x296e), true - case "UpTee": - // UP TACK + case "UpTee": // UP TACK return rune(0x22a5), true - case "UpTeeArrow": - // UPWARDS ARROW FROM BAR + case "UpTeeArrow": // UPWARDS ARROW FROM BAR return rune(0x21a5), true - case "Uparrow": - // UPWARDS DOUBLE ARROW + case "Uparrow": // UPWARDS DOUBLE ARROW return rune(0x21d1), true - case "Updownarrow": - // UP DOWN DOUBLE ARROW + case "Updownarrow": // UP DOWN DOUBLE ARROW return rune(0x21d5), true - case "UpperLeftArrow": - // NORTH WEST ARROW + case "UpperLeftArrow": // NORTH WEST ARROW return rune(0x2196), true - case "UpperRightArrow": - // NORTH EAST ARROW + case "UpperRightArrow": // NORTH EAST ARROW return rune(0x2197), true - case "Upsilon": - // GREEK CAPITAL LETTER UPSILON - return rune(0x03a5), true - case "Upsi": - // GREEK UPSILON WITH HOOK SYMBOL + case "Upsi": // GREEK UPSILON WITH HOOK SYMBOL return rune(0x03d2), true - case "Uring": - // LATIN CAPITAL LETTER U WITH RING ABOVE + case "Upsilon": // GREEK CAPITAL LETTER UPSILON + return rune(0x03a5), true + case "Uring": // LATIN CAPITAL LETTER U WITH RING ABOVE return rune(0x016e), true - case "Uscr": - // MATHEMATICAL SCRIPT CAPITAL U + case "Uscr": // MATHEMATICAL SCRIPT CAPITAL U return rune(0x01d4b0), true - case "Utilde": - // LATIN CAPITAL LETTER U WITH TILDE + case "Utilde": // LATIN CAPITAL LETTER U WITH TILDE return rune(0x0168), true - case "Uuml": - // LATIN CAPITAL LETTER U WITH DIAERESIS + case "Uuml": // LATIN CAPITAL LETTER U WITH DIAERESIS return rune(0xdc), true } case 'V': switch name { - case "VDash": - // DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE + case "VDash": // DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE return rune(0x22ab), true - case "Vbar": - // DOUBLE UP TACK + case "Vbar": // DOUBLE UP TACK return rune(0x2aeb), true - case "Vcy": - // CYRILLIC CAPITAL LETTER VE + case "Vcy": // CYRILLIC CAPITAL LETTER VE return rune(0x0412), true - case "Vdashl": - // LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL - return rune(0x2ae6), true - case "Vdash": - // FORCES + case "Vdash": // FORCES return rune(0x22a9), true - case "Vee": - // N-ARY LOGICAL OR + case "Vdashl": // LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL + return rune(0x2ae6), true + case "Vee": // N-ARY LOGICAL OR return rune(0x22c1), true - case "Verbar": - // DOUBLE VERTICAL LINE + case "Verbar": // DOUBLE VERTICAL LINE return rune(0x2016), true - case "Vert": - // DOUBLE VERTICAL LINE + case "Vert": // DOUBLE VERTICAL LINE return rune(0x2016), true - case "VerticalBar": - // DIVIDES + case "VerticalBar": // DIVIDES return rune(0x2223), true - case "VerticalLine": - // VERTICAL LINE + case "VerticalLine": // VERTICAL LINE return rune(0x7c), true - case "VerticalSeparator": - // LIGHT VERTICAL BAR + case "VerticalSeparator": // LIGHT VERTICAL BAR return rune(0x2758), true - case "VerticalTilde": - // WREATH PRODUCT + case "VerticalTilde": // WREATH PRODUCT return rune(0x2240), true - case "VeryThinSpace": - // HAIR SPACE + case "VeryThinSpace": // HAIR SPACE return rune(0x200a), true - case "Vfr": - // MATHEMATICAL FRAKTUR CAPITAL V + case "Vfr": // MATHEMATICAL FRAKTUR CAPITAL V return rune(0x01d519), true - case "Vopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL V + case "Vopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL V return rune(0x01d54d), true - case "Vscr": - // MATHEMATICAL SCRIPT CAPITAL V + case "Vscr": // MATHEMATICAL SCRIPT CAPITAL V return rune(0x01d4b1), true - case "Vvdash": - // TRIPLE VERTICAL BAR RIGHT TURNSTILE + case "Vvdash": // TRIPLE VERTICAL BAR RIGHT TURNSTILE return rune(0x22aa), true } case 'W': switch name { - case "Wcirc": - // LATIN CAPITAL LETTER W WITH CIRCUMFLEX + case "Wcirc": // LATIN CAPITAL LETTER W WITH CIRCUMFLEX return rune(0x0174), true - case "Wedge": - // N-ARY LOGICAL AND + case "Wedge": // N-ARY LOGICAL AND return rune(0x22c0), true - case "Wfr": - // MATHEMATICAL FRAKTUR CAPITAL W + case "Wfr": // MATHEMATICAL FRAKTUR CAPITAL W return rune(0x01d51a), true - case "Wopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL W + case "Wopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL W return rune(0x01d54e), true - case "Wscr": - // MATHEMATICAL SCRIPT CAPITAL W + case "Wscr": // MATHEMATICAL SCRIPT CAPITAL W return rune(0x01d4b2), true } case 'X': switch name { - case "Xfr": - // MATHEMATICAL FRAKTUR CAPITAL X + case "Xfr": // MATHEMATICAL FRAKTUR CAPITAL X return rune(0x01d51b), true - case "Xgr": - // GREEK CAPITAL LETTER XI + case "Xgr": // GREEK CAPITAL LETTER XI return rune(0x039e), true - case "Xi": - // GREEK CAPITAL LETTER XI + case "Xi": // GREEK CAPITAL LETTER XI return rune(0x039e), true - case "Xopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL X + case "Xopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL X return rune(0x01d54f), true - case "Xscr": - // MATHEMATICAL SCRIPT CAPITAL X + case "Xscr": // MATHEMATICAL SCRIPT CAPITAL X return rune(0x01d4b3), true } case 'Y': switch name { - case "YAcy": - // CYRILLIC CAPITAL LETTER YA + case "YAcy": // CYRILLIC CAPITAL LETTER YA return rune(0x042f), true - case "YIcy": - // CYRILLIC CAPITAL LETTER YI + case "YIcy": // CYRILLIC CAPITAL LETTER YI return rune(0x0407), true - case "YUcy": - // CYRILLIC CAPITAL LETTER YU + case "YUcy": // CYRILLIC CAPITAL LETTER YU return rune(0x042e), true - case "Yacute": - // LATIN CAPITAL LETTER Y WITH ACUTE + case "Yacute": // LATIN CAPITAL LETTER Y WITH ACUTE return rune(0xdd), true - case "Ycirc": - // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX + case "Ycirc": // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX return rune(0x0176), true - case "Ycy": - // CYRILLIC CAPITAL LETTER YERU + case "Ycy": // CYRILLIC CAPITAL LETTER YERU return rune(0x042b), true - case "Yfr": - // MATHEMATICAL FRAKTUR CAPITAL Y + case "Yfr": // MATHEMATICAL FRAKTUR CAPITAL Y return rune(0x01d51c), true - case "Yopf": - // MATHEMATICAL DOUBLE-STRUCK CAPITAL Y + case "Yopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL Y return rune(0x01d550), true - case "Yscr": - // MATHEMATICAL SCRIPT CAPITAL Y + case "Yscr": // MATHEMATICAL SCRIPT CAPITAL Y return rune(0x01d4b4), true - case "Yuml": - // LATIN CAPITAL LETTER Y WITH DIAERESIS + case "Yuml": // LATIN CAPITAL LETTER Y WITH DIAERESIS return rune(0x0178), true } case 'Z': switch name { - case "ZHcy": - // CYRILLIC CAPITAL LETTER ZHE + case "ZHcy": // CYRILLIC CAPITAL LETTER ZHE return rune(0x0416), true - case "Zacute": - // LATIN CAPITAL LETTER Z WITH ACUTE + case "Zacute": // LATIN CAPITAL LETTER Z WITH ACUTE return rune(0x0179), true - case "Zcaron": - // LATIN CAPITAL LETTER Z WITH CARON + case "Zcaron": // LATIN CAPITAL LETTER Z WITH CARON return rune(0x017d), true - case "Zcy": - // CYRILLIC CAPITAL LETTER ZE + case "Zcy": // CYRILLIC CAPITAL LETTER ZE return rune(0x0417), true - case "Zdot": - // LATIN CAPITAL LETTER Z WITH DOT ABOVE + case "Zdot": // LATIN CAPITAL LETTER Z WITH DOT ABOVE return rune(0x017b), true - case "ZeroWidthSpace": - // ZERO WIDTH SPACE + case "ZeroWidthSpace": // ZERO WIDTH SPACE return rune(0x200b), true - case "Zeta": - // GREEK CAPITAL LETTER ZETA + case "Zeta": // GREEK CAPITAL LETTER ZETA return rune(0x0396), true - case "Zfr": - // BLACK-LETTER CAPITAL Z + case "Zfr": // BLACK-LETTER CAPITAL Z return rune(0x2128), true - case "Zgr": - // GREEK CAPITAL LETTER ZETA + case "Zgr": // GREEK CAPITAL LETTER ZETA return rune(0x0396), true - case "Zopf": - // DOUBLE-STRUCK CAPITAL Z + case "Zopf": // DOUBLE-STRUCK CAPITAL Z return rune(0x2124), true - case "Zscr": - // MATHEMATICAL SCRIPT CAPITAL Z + case "Zscr": // MATHEMATICAL SCRIPT CAPITAL Z return rune(0x01d4b5), true } case 'a': switch name { - case "aacgr": - // GREEK SMALL LETTER ALPHA WITH TONOS + case "aacgr": // GREEK SMALL LETTER ALPHA WITH TONOS return rune(0x03ac), true - case "aacute": - // LATIN SMALL LETTER A WITH ACUTE + case "aacute": // LATIN SMALL LETTER A WITH ACUTE return rune(0xe1), true - case "abreve": - // LATIN SMALL LETTER A WITH BREVE + case "abreve": // LATIN SMALL LETTER A WITH BREVE return rune(0x0103), true - case "acE": - // INVERTED LAZY S with double underline + case "ac": // INVERTED LAZY S return rune(0x223e), true - case "acd": - // SINE WAVE - return rune(0x223f), true - case "acute": - // ACUTE ACCENT - return rune(0xb4), true - case "ac": - // INVERTED LAZY S + case "acE": // INVERTED LAZY S with double underline return rune(0x223e), true - case "acirc": - // LATIN SMALL LETTER A WITH CIRCUMFLEX + case "acd": // SINE WAVE + return rune(0x223f), true + case "acirc": // LATIN SMALL LETTER A WITH CIRCUMFLEX return rune(0xe2), true - case "actuary": - // COMBINING ANNUITY SYMBOL + case "actuary": // COMBINING ANNUITY SYMBOL return rune(0x20e7), true - case "acy": - // CYRILLIC SMALL LETTER A + case "acute": // ACUTE ACCENT + return rune(0xb4), true + case "acy": // CYRILLIC SMALL LETTER A return rune(0x0430), true - case "aelig": - // LATIN SMALL LETTER AE + case "aelig": // LATIN SMALL LETTER AE return rune(0xe6), true - case "af": - // FUNCTION APPLICATION + case "af": // FUNCTION APPLICATION return rune(0x2061), true - case "afr": - // MATHEMATICAL FRAKTUR SMALL A + case "afr": // MATHEMATICAL FRAKTUR SMALL A return rune(0x01d51e), true - case "agr": - // GREEK SMALL LETTER ALPHA + case "agr": // GREEK SMALL LETTER ALPHA return rune(0x03b1), true - case "agrave": - // LATIN SMALL LETTER A WITH GRAVE + case "agrave": // LATIN SMALL LETTER A WITH GRAVE return rune(0xe0), true - case "alefsym": - // ALEF SYMBOL + case "alefsym": // ALEF SYMBOL return rune(0x2135), true - case "aleph": - // ALEF SYMBOL + case "aleph": // ALEF SYMBOL return rune(0x2135), true - case "alpha": - // GREEK SMALL LETTER ALPHA + case "alpha": // GREEK SMALL LETTER ALPHA return rune(0x03b1), true - case "amacr": - // LATIN SMALL LETTER A WITH MACRON + case "amacr": // LATIN SMALL LETTER A WITH MACRON return rune(0x0101), true - case "amalg": - // AMALGAMATION OR COPRODUCT + case "amalg": // AMALGAMATION OR COPRODUCT return rune(0x2a3f), true - case "amp": - // AMPERSAND + case "amp": // AMPERSAND return rune(0x26), true - case "andand": - // TWO INTERSECTING LOGICAL AND + case "and": // LOGICAL AND + return rune(0x2227), true + case "andand": // TWO INTERSECTING LOGICAL AND return rune(0x2a55), true - case "andd": - // LOGICAL AND WITH HORIZONTAL DASH + case "andd": // LOGICAL AND WITH HORIZONTAL DASH return rune(0x2a5c), true - case "andslope": - // SLOPING LARGE AND + case "andslope": // SLOPING LARGE AND return rune(0x2a58), true - case "andv": - // LOGICAL AND WITH MIDDLE STEM + case "andv": // LOGICAL AND WITH MIDDLE STEM return rune(0x2a5a), true - case "and": - // LOGICAL AND - return rune(0x2227), true - case "angdnl": - // TURNED ANGLE + case "ang": // ANGLE + return rune(0x2220), true + case "ang90": // RIGHT ANGLE + return rune(0x221f), true + case "angdnl": // TURNED ANGLE return rune(0x29a2), true - case "angdnr": - // ACUTE ANGLE + case "angdnr": // ACUTE ANGLE return rune(0x299f), true - case "ange": - // ANGLE WITH UNDERBAR + case "ange": // ANGLE WITH UNDERBAR return rune(0x29a4), true - case "angles": - // ANGLE WITH S INSIDE - return rune(0x299e), true - case "angle": - // ANGLE + case "angle": // ANGLE return rune(0x2220), true - case "angmsdaa": - // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT + case "angles": // ANGLE WITH S INSIDE + return rune(0x299e), true + case "angmsd": // MEASURED ANGLE + return rune(0x2221), true + case "angmsdaa": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT return rune(0x29a8), true - case "angmsdab": - // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT + case "angmsdab": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT return rune(0x29a9), true - case "angmsdac": - // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT + case "angmsdac": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT return rune(0x29aa), true - case "angmsdad": - // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT + case "angmsdad": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT return rune(0x29ab), true - case "angmsdae": - // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP + case "angmsdae": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP return rune(0x29ac), true - case "angmsdaf": - // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP + case "angmsdaf": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP return rune(0x29ad), true - case "angmsdag": - // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN + case "angmsdag": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN return rune(0x29ae), true - case "angmsdah": - // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN + case "angmsdah": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN return rune(0x29af), true - case "angmsd": - // MEASURED ANGLE - return rune(0x2221), true - case "angrtvbd": - // MEASURED RIGHT ANGLE WITH DOT - return rune(0x299d), true - case "angrtvb": - // RIGHT ANGLE WITH ARC + case "angrt": // RIGHT ANGLE + return rune(0x221f), true + case "angrtvb": // RIGHT ANGLE WITH ARC return rune(0x22be), true - case "angsph": - // SPHERICAL ANGLE + case "angrtvbd": // MEASURED RIGHT ANGLE WITH DOT + return rune(0x299d), true + case "angsph": // SPHERICAL ANGLE return rune(0x2222), true - case "angst": - // LATIN CAPITAL LETTER A WITH RING ABOVE + case "angst": // LATIN CAPITAL LETTER A WITH RING ABOVE return rune(0xc5), true - case "angupl": - // REVERSED ANGLE + case "angupl": // REVERSED ANGLE return rune(0x29a3), true - case "angzarr": - // RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW + case "angzarr": // RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW return rune(0x237c), true - case "ang": - // ANGLE - return rune(0x2220), true - case "ang90": - // RIGHT ANGLE - return rune(0x221f), true - case "angrt": - // RIGHT ANGLE - return rune(0x221f), true - case "aogon": - // LATIN SMALL LETTER A WITH OGONEK + case "aogon": // LATIN SMALL LETTER A WITH OGONEK return rune(0x0105), true - case "aopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL A + case "aopf": // MATHEMATICAL DOUBLE-STRUCK SMALL A return rune(0x01d552), true - case "apE": - // APPROXIMATELY EQUAL OR EQUAL TO + case "ap": // ALMOST EQUAL TO + return rune(0x2248), true + case "apE": // APPROXIMATELY EQUAL OR EQUAL TO return rune(0x2a70), true - case "apacir": - // ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT + case "apacir": // ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT return rune(0x2a6f), true - case "ape": - // ALMOST EQUAL OR EQUAL TO + case "ape": // ALMOST EQUAL OR EQUAL TO return rune(0x224a), true - case "apid": - // TRIPLE TILDE + case "apid": // TRIPLE TILDE return rune(0x224b), true - case "approxeq": - // ALMOST EQUAL OR EQUAL TO - return rune(0x224a), true - case "approx": - // ALMOST EQUAL TO - return rune(0x2248), true - case "ap": - // ALMOST EQUAL TO - return rune(0x2248), true - case "apos": - // APOSTROPHE + case "apos": // APOSTROPHE return rune(0x27), true - case "aring": - // LATIN SMALL LETTER A WITH RING ABOVE + case "approx": // ALMOST EQUAL TO + return rune(0x2248), true + case "approxeq": // ALMOST EQUAL OR EQUAL TO + return rune(0x224a), true + case "aring": // LATIN SMALL LETTER A WITH RING ABOVE return rune(0xe5), true - case "arrllsr": - // LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW + case "arrllsr": // LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW return rune(0x2943), true - case "arrlrsl": - // RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW + case "arrlrsl": // RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW return rune(0x2942), true - case "arrsrll": - // SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW + case "arrsrll": // SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW return rune(0x2944), true - case "ascr": - // MATHEMATICAL SCRIPT SMALL A + case "ascr": // MATHEMATICAL SCRIPT SMALL A return rune(0x01d4b6), true - case "astb": - // SQUARED ASTERISK - return rune(0x29c6), true - case "ast": - // ASTERISK + case "ast": // ASTERISK return rune(0x2a), true - case "asympeq": - // EQUIVALENT TO - return rune(0x224d), true - case "asymp": - // ALMOST EQUAL TO + case "astb": // SQUARED ASTERISK + return rune(0x29c6), true + case "asymp": // ALMOST EQUAL TO return rune(0x2248), true - case "atilde": - // LATIN SMALL LETTER A WITH TILDE + case "asympeq": // EQUIVALENT TO + return rune(0x224d), true + case "atilde": // LATIN SMALL LETTER A WITH TILDE return rune(0xe3), true - case "auml": - // LATIN SMALL LETTER A WITH DIAERESIS + case "auml": // LATIN SMALL LETTER A WITH DIAERESIS return rune(0xe4), true - case "awconint": - // ANTICLOCKWISE CONTOUR INTEGRAL + case "awconint": // ANTICLOCKWISE CONTOUR INTEGRAL return rune(0x2233), true - case "awint": - // ANTICLOCKWISE INTEGRATION + case "awint": // ANTICLOCKWISE INTEGRATION return rune(0x2a11), true } case 'b': switch name { - case "b.Delta": - // MATHEMATICAL BOLD CAPITAL DELTA + case "b.Delta": // MATHEMATICAL BOLD CAPITAL DELTA return rune(0x01d6ab), true - case "b.Gamma": - // MATHEMATICAL BOLD CAPITAL GAMMA + case "b.Gamma": // MATHEMATICAL BOLD CAPITAL GAMMA return rune(0x01d6aa), true - case "b.Gammad": - // MATHEMATICAL BOLD CAPITAL DIGAMMA + case "b.Gammad": // MATHEMATICAL BOLD CAPITAL DIGAMMA return rune(0x01d7ca), true - case "b.Lambda": - // MATHEMATICAL BOLD CAPITAL LAMDA + case "b.Lambda": // MATHEMATICAL BOLD CAPITAL LAMDA return rune(0x01d6b2), true - case "b.Omega": - // MATHEMATICAL BOLD CAPITAL OMEGA + case "b.Omega": // MATHEMATICAL BOLD CAPITAL OMEGA return rune(0x01d6c0), true - case "b.Phi": - // MATHEMATICAL BOLD CAPITAL PHI + case "b.Phi": // MATHEMATICAL BOLD CAPITAL PHI return rune(0x01d6bd), true - case "b.Pi": - // MATHEMATICAL BOLD CAPITAL PI + case "b.Pi": // MATHEMATICAL BOLD CAPITAL PI return rune(0x01d6b7), true - case "b.Psi": - // MATHEMATICAL BOLD CAPITAL PSI + case "b.Psi": // MATHEMATICAL BOLD CAPITAL PSI return rune(0x01d6bf), true - case "b.Sigma": - // MATHEMATICAL BOLD CAPITAL SIGMA + case "b.Sigma": // MATHEMATICAL BOLD CAPITAL SIGMA return rune(0x01d6ba), true - case "b.Theta": - // MATHEMATICAL BOLD CAPITAL THETA + case "b.Theta": // MATHEMATICAL BOLD CAPITAL THETA return rune(0x01d6af), true - case "b.Upsi": - // MATHEMATICAL BOLD CAPITAL UPSILON + case "b.Upsi": // MATHEMATICAL BOLD CAPITAL UPSILON return rune(0x01d6bc), true - case "b.Xi": - // MATHEMATICAL BOLD CAPITAL XI + case "b.Xi": // MATHEMATICAL BOLD CAPITAL XI return rune(0x01d6b5), true - case "b.alpha": - // MATHEMATICAL BOLD SMALL ALPHA + case "b.alpha": // MATHEMATICAL BOLD SMALL ALPHA return rune(0x01d6c2), true - case "b.beta": - // MATHEMATICAL BOLD SMALL BETA + case "b.beta": // MATHEMATICAL BOLD SMALL BETA return rune(0x01d6c3), true - case "b.chi": - // MATHEMATICAL BOLD SMALL CHI + case "b.chi": // MATHEMATICAL BOLD SMALL CHI return rune(0x01d6d8), true - case "b.delta": - // MATHEMATICAL BOLD SMALL DELTA + case "b.delta": // MATHEMATICAL BOLD SMALL DELTA return rune(0x01d6c5), true - case "b.epsi": - // MATHEMATICAL BOLD SMALL EPSILON + case "b.epsi": // MATHEMATICAL BOLD SMALL EPSILON return rune(0x01d6c6), true - case "b.epsiv": - // MATHEMATICAL BOLD EPSILON SYMBOL + case "b.epsiv": // MATHEMATICAL BOLD EPSILON SYMBOL return rune(0x01d6dc), true - case "b.eta": - // MATHEMATICAL BOLD SMALL ETA + case "b.eta": // MATHEMATICAL BOLD SMALL ETA return rune(0x01d6c8), true - case "b.gammad": - // MATHEMATICAL BOLD SMALL DIGAMMA - return rune(0x01d7cb), true - case "b.gamma": - // MATHEMATICAL BOLD SMALL GAMMA + case "b.gamma": // MATHEMATICAL BOLD SMALL GAMMA return rune(0x01d6c4), true - case "b.iota": - // MATHEMATICAL BOLD SMALL IOTA + case "b.gammad": // MATHEMATICAL BOLD SMALL DIGAMMA + return rune(0x01d7cb), true + case "b.iota": // MATHEMATICAL BOLD SMALL IOTA return rune(0x01d6ca), true - case "b.kappa": - // MATHEMATICAL BOLD SMALL KAPPA + case "b.kappa": // MATHEMATICAL BOLD SMALL KAPPA return rune(0x01d6cb), true - case "b.kappav": - // MATHEMATICAL BOLD KAPPA SYMBOL + case "b.kappav": // MATHEMATICAL BOLD KAPPA SYMBOL return rune(0x01d6de), true - case "b.lambda": - // MATHEMATICAL BOLD SMALL LAMDA + case "b.lambda": // MATHEMATICAL BOLD SMALL LAMDA return rune(0x01d6cc), true - case "b.mu": - // MATHEMATICAL BOLD SMALL MU + case "b.mu": // MATHEMATICAL BOLD SMALL MU return rune(0x01d6cd), true - case "b.nu": - // MATHEMATICAL BOLD SMALL NU + case "b.nu": // MATHEMATICAL BOLD SMALL NU return rune(0x01d6ce), true - case "b.omega": - // MATHEMATICAL BOLD SMALL OMEGA + case "b.omega": // MATHEMATICAL BOLD SMALL OMEGA return rune(0x01d6da), true - case "b.phi": - // MATHEMATICAL BOLD SMALL PHI + case "b.phi": // MATHEMATICAL BOLD SMALL PHI return rune(0x01d6d7), true - case "b.phiv": - // MATHEMATICAL BOLD PHI SYMBOL + case "b.phiv": // MATHEMATICAL BOLD PHI SYMBOL return rune(0x01d6df), true - case "b.pi": - // MATHEMATICAL BOLD SMALL PI + case "b.pi": // MATHEMATICAL BOLD SMALL PI return rune(0x01d6d1), true - case "b.piv": - // MATHEMATICAL BOLD PI SYMBOL + case "b.piv": // MATHEMATICAL BOLD PI SYMBOL return rune(0x01d6e1), true - case "b.psi": - // MATHEMATICAL BOLD SMALL PSI + case "b.psi": // MATHEMATICAL BOLD SMALL PSI return rune(0x01d6d9), true - case "b.rho": - // MATHEMATICAL BOLD SMALL RHO + case "b.rho": // MATHEMATICAL BOLD SMALL RHO return rune(0x01d6d2), true - case "b.rhov": - // MATHEMATICAL BOLD RHO SYMBOL + case "b.rhov": // MATHEMATICAL BOLD RHO SYMBOL return rune(0x01d6e0), true - case "b.sigmav": - // MATHEMATICAL BOLD SMALL FINAL SIGMA - return rune(0x01d6d3), true - case "b.sigma": - // MATHEMATICAL BOLD SMALL SIGMA + case "b.sigma": // MATHEMATICAL BOLD SMALL SIGMA return rune(0x01d6d4), true - case "b.tau": - // MATHEMATICAL BOLD SMALL TAU + case "b.sigmav": // MATHEMATICAL BOLD SMALL FINAL SIGMA + return rune(0x01d6d3), true + case "b.tau": // MATHEMATICAL BOLD SMALL TAU return rune(0x01d6d5), true - case "b.thetas": - // MATHEMATICAL BOLD SMALL THETA + case "b.thetas": // MATHEMATICAL BOLD SMALL THETA return rune(0x01d6c9), true - case "b.thetav": - // MATHEMATICAL BOLD THETA SYMBOL + case "b.thetav": // MATHEMATICAL BOLD THETA SYMBOL return rune(0x01d6dd), true - case "b.upsi": - // MATHEMATICAL BOLD SMALL UPSILON + case "b.upsi": // MATHEMATICAL BOLD SMALL UPSILON return rune(0x01d6d6), true - case "b.xi": - // MATHEMATICAL BOLD SMALL XI + case "b.xi": // MATHEMATICAL BOLD SMALL XI return rune(0x01d6cf), true - case "b.zeta": - // MATHEMATICAL BOLD SMALL ZETA + case "b.zeta": // MATHEMATICAL BOLD SMALL ZETA return rune(0x01d6c7), true - case "bNot": - // REVERSED DOUBLE STROKE NOT SIGN + case "bNot": // REVERSED DOUBLE STROKE NOT SIGN return rune(0x2aed), true - case "backcong": - // ALL EQUAL TO + case "backcong": // ALL EQUAL TO return rune(0x224c), true - case "backepsilon": - // GREEK REVERSED LUNATE EPSILON SYMBOL + case "backepsilon": // GREEK REVERSED LUNATE EPSILON SYMBOL return rune(0x03f6), true - case "backprime": - // REVERSED PRIME + case "backprime": // REVERSED PRIME return rune(0x2035), true - case "backsimeq": - // REVERSED TILDE EQUALS - return rune(0x22cd), true - case "backsim": - // REVERSED TILDE + case "backsim": // REVERSED TILDE return rune(0x223d), true - case "barV": - // DOUBLE DOWN TACK + case "backsimeq": // REVERSED TILDE EQUALS + return rune(0x22cd), true + case "barV": // DOUBLE DOWN TACK return rune(0x2aea), true - case "barvee": - // NOR + case "barvee": // NOR return rune(0x22bd), true - case "barwed": - // PROJECTIVE + case "barwed": // PROJECTIVE return rune(0x2305), true - case "barwedge": - // PROJECTIVE + case "barwedge": // PROJECTIVE return rune(0x2305), true - case "bbrk": - // BOTTOM SQUARE BRACKET + case "bbrk": // BOTTOM SQUARE BRACKET return rune(0x23b5), true - case "bbrktbrk": - // BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET + case "bbrktbrk": // BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET return rune(0x23b6), true - case "bcong": - // ALL EQUAL TO + case "bcong": // ALL EQUAL TO return rune(0x224c), true - case "bcy": - // CYRILLIC SMALL LETTER BE + case "bcy": // CYRILLIC SMALL LETTER BE return rune(0x0431), true - case "bdlhar": - // DOWNWARDS HARPOON WITH BARB LEFT FROM BAR + case "bdlhar": // DOWNWARDS HARPOON WITH BARB LEFT FROM BAR return rune(0x2961), true - case "bdquo": - // DOUBLE LOW-9 QUOTATION MARK + case "bdquo": // DOUBLE LOW-9 QUOTATION MARK return rune(0x201e), true - case "bdrhar": - // DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR + case "bdrhar": // DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR return rune(0x295d), true - case "because": - // BECAUSE + case "becaus": // BECAUSE return rune(0x2235), true - case "becaus": - // BECAUSE + case "because": // BECAUSE return rune(0x2235), true - case "bemptyv": - // REVERSED EMPTY SET + case "bemptyv": // REVERSED EMPTY SET return rune(0x29b0), true - case "bepsi": - // GREEK REVERSED LUNATE EPSILON SYMBOL + case "bepsi": // GREEK REVERSED LUNATE EPSILON SYMBOL return rune(0x03f6), true - case "bernou": - // SCRIPT CAPITAL B + case "bernou": // SCRIPT CAPITAL B return rune(0x212c), true - case "beta": - // GREEK SMALL LETTER BETA + case "beta": // GREEK SMALL LETTER BETA return rune(0x03b2), true - case "beth": - // BET SYMBOL + case "beth": // BET SYMBOL return rune(0x2136), true - case "between": - // BETWEEN + case "between": // BETWEEN return rune(0x226c), true - case "bfr": - // MATHEMATICAL FRAKTUR SMALL B + case "bfr": // MATHEMATICAL FRAKTUR SMALL B return rune(0x01d51f), true - case "bgr": - // GREEK SMALL LETTER BETA + case "bgr": // GREEK SMALL LETTER BETA return rune(0x03b2), true - case "bigcap": - // N-ARY INTERSECTION + case "bigcap": // N-ARY INTERSECTION return rune(0x22c2), true - case "bigcirc": - // LARGE CIRCLE + case "bigcirc": // LARGE CIRCLE return rune(0x25ef), true - case "bigcup": - // N-ARY UNION + case "bigcup": // N-ARY UNION return rune(0x22c3), true - case "bigodot": - // N-ARY CIRCLED DOT OPERATOR + case "bigodot": // N-ARY CIRCLED DOT OPERATOR return rune(0x2a00), true - case "bigoplus": - // N-ARY CIRCLED PLUS OPERATOR + case "bigoplus": // N-ARY CIRCLED PLUS OPERATOR return rune(0x2a01), true - case "bigotimes": - // N-ARY CIRCLED TIMES OPERATOR + case "bigotimes": // N-ARY CIRCLED TIMES OPERATOR return rune(0x2a02), true - case "bigsqcup": - // N-ARY SQUARE UNION OPERATOR + case "bigsqcup": // N-ARY SQUARE UNION OPERATOR return rune(0x2a06), true - case "bigstar": - // BLACK STAR + case "bigstar": // BLACK STAR return rune(0x2605), true - case "bigtriangledown": - // WHITE DOWN-POINTING TRIANGLE + case "bigtriangledown": // WHITE DOWN-POINTING TRIANGLE return rune(0x25bd), true - case "bigtriangleup": - // WHITE UP-POINTING TRIANGLE + case "bigtriangleup": // WHITE UP-POINTING TRIANGLE return rune(0x25b3), true - case "biguplus": - // N-ARY UNION OPERATOR WITH PLUS + case "biguplus": // N-ARY UNION OPERATOR WITH PLUS return rune(0x2a04), true - case "bigvee": - // N-ARY LOGICAL OR + case "bigvee": // N-ARY LOGICAL OR return rune(0x22c1), true - case "bigwedge": - // N-ARY LOGICAL AND + case "bigwedge": // N-ARY LOGICAL AND return rune(0x22c0), true - case "bkarow": - // RIGHTWARDS DOUBLE DASH ARROW + case "bkarow": // RIGHTWARDS DOUBLE DASH ARROW return rune(0x290d), true - case "blacklozenge": - // BLACK LOZENGE + case "blacklozenge": // BLACK LOZENGE return rune(0x29eb), true - case "blacksquare": - // BLACK SMALL SQUARE + case "blacksquare": // BLACK SMALL SQUARE return rune(0x25aa), true - case "blacktriangledown": - // BLACK DOWN-POINTING SMALL TRIANGLE + case "blacktriangle": // BLACK UP-POINTING SMALL TRIANGLE + return rune(0x25b4), true + case "blacktriangledown": // BLACK DOWN-POINTING SMALL TRIANGLE return rune(0x25be), true - case "blacktriangleleft": - // BLACK LEFT-POINTING SMALL TRIANGLE + case "blacktriangleleft": // BLACK LEFT-POINTING SMALL TRIANGLE return rune(0x25c2), true - case "blacktriangleright": - // BLACK RIGHT-POINTING SMALL TRIANGLE + case "blacktriangleright": // BLACK RIGHT-POINTING SMALL TRIANGLE return rune(0x25b8), true - case "blacktriangle": - // BLACK UP-POINTING SMALL TRIANGLE - return rune(0x25b4), true - case "blank": - // BLANK SYMBOL + case "blank": // BLANK SYMBOL return rune(0x2422), true - case "bldhar": - // LEFTWARDS HARPOON WITH BARB DOWN FROM BAR + case "bldhar": // LEFTWARDS HARPOON WITH BARB DOWN FROM BAR return rune(0x295e), true - case "blk12": - // MEDIUM SHADE + case "blk12": // MEDIUM SHADE return rune(0x2592), true - case "blk14": - // LIGHT SHADE + case "blk14": // LIGHT SHADE return rune(0x2591), true - case "blk34": - // DARK SHADE + case "blk34": // DARK SHADE return rune(0x2593), true - case "block": - // FULL BLOCK + case "block": // FULL BLOCK return rune(0x2588), true - case "bluhar": - // LEFTWARDS HARPOON WITH BARB UP FROM BAR + case "bluhar": // LEFTWARDS HARPOON WITH BARB UP FROM BAR return rune(0x295a), true - case "bnequiv": - // IDENTICAL TO with reverse slash - return rune(0x2261), true - case "bne": - // EQUALS SIGN with reverse slash + case "bne": // EQUALS SIGN with reverse slash return rune(0x3d), true - case "bnot": - // REVERSED NOT SIGN + case "bnequiv": // IDENTICAL TO with reverse slash + return rune(0x2261), true + case "bnot": // REVERSED NOT SIGN return rune(0x2310), true - case "bopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL B + case "bopf": // MATHEMATICAL DOUBLE-STRUCK SMALL B return rune(0x01d553), true - case "bot": - // UP TACK + case "bot": // UP TACK return rune(0x22a5), true - case "bottom": - // UP TACK + case "bottom": // UP TACK return rune(0x22a5), true - case "bowtie": - // BOWTIE + case "bowtie": // BOWTIE return rune(0x22c8), true - case "boxDL": - // BOX DRAWINGS DOUBLE DOWN AND LEFT + case "boxDL": // BOX DRAWINGS DOUBLE DOWN AND LEFT return rune(0x2557), true - case "boxDR": - // BOX DRAWINGS DOUBLE DOWN AND RIGHT + case "boxDR": // BOX DRAWINGS DOUBLE DOWN AND RIGHT return rune(0x2554), true - case "boxDl": - // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE + case "boxDl": // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE return rune(0x2556), true - case "boxDr": - // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE + case "boxDr": // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE return rune(0x2553), true - case "boxHD": - // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL + case "boxH": // BOX DRAWINGS DOUBLE HORIZONTAL + return rune(0x2550), true + case "boxHD": // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL return rune(0x2566), true - case "boxHU": - // BOX DRAWINGS DOUBLE UP AND HORIZONTAL + case "boxHU": // BOX DRAWINGS DOUBLE UP AND HORIZONTAL return rune(0x2569), true - case "boxHd": - // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE + case "boxHd": // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE return rune(0x2564), true - case "boxHu": - // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE + case "boxHu": // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE return rune(0x2567), true - case "boxH": - // BOX DRAWINGS DOUBLE HORIZONTAL - return rune(0x2550), true - case "boxUL": - // BOX DRAWINGS DOUBLE UP AND LEFT + case "boxUL": // BOX DRAWINGS DOUBLE UP AND LEFT return rune(0x255d), true - case "boxUR": - // BOX DRAWINGS DOUBLE UP AND RIGHT + case "boxUR": // BOX DRAWINGS DOUBLE UP AND RIGHT return rune(0x255a), true - case "boxUl": - // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE + case "boxUl": // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE return rune(0x255c), true - case "boxUr": - // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE + case "boxUr": // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE return rune(0x2559), true - case "boxVH": - // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL + case "boxV": // BOX DRAWINGS DOUBLE VERTICAL + return rune(0x2551), true + case "boxVH": // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL return rune(0x256c), true - case "boxVL": - // BOX DRAWINGS DOUBLE VERTICAL AND LEFT + case "boxVL": // BOX DRAWINGS DOUBLE VERTICAL AND LEFT return rune(0x2563), true - case "boxVR": - // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT + case "boxVR": // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT return rune(0x2560), true - case "boxVh": - // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE + case "boxVh": // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE return rune(0x256b), true - case "boxVl": - // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE + case "boxVl": // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE return rune(0x2562), true - case "boxVr": - // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE + case "boxVr": // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE return rune(0x255f), true - case "boxV": - // BOX DRAWINGS DOUBLE VERTICAL - return rune(0x2551), true - case "boxbox": - // TWO JOINED SQUARES + case "boxbox": // TWO JOINED SQUARES return rune(0x29c9), true - case "boxdL": - // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE + case "boxdL": // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE return rune(0x2555), true - case "boxdR": - // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE + case "boxdR": // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE return rune(0x2552), true - case "boxdl": - // BOX DRAWINGS LIGHT DOWN AND LEFT + case "boxdl": // BOX DRAWINGS LIGHT DOWN AND LEFT return rune(0x2510), true - case "boxdr": - // BOX DRAWINGS LIGHT DOWN AND RIGHT + case "boxdr": // BOX DRAWINGS LIGHT DOWN AND RIGHT return rune(0x250c), true - case "boxhU": - // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE - return rune(0x2568), true - case "boxh": - // BOX DRAWINGS LIGHT HORIZONTAL + case "boxh": // BOX DRAWINGS LIGHT HORIZONTAL return rune(0x2500), true - case "boxhD": - // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE + case "boxhD": // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE return rune(0x2565), true - case "boxhd": - // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL + case "boxhU": // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE + return rune(0x2568), true + case "boxhd": // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL return rune(0x252c), true - case "boxhu": - // BOX DRAWINGS LIGHT UP AND HORIZONTAL + case "boxhu": // BOX DRAWINGS LIGHT UP AND HORIZONTAL return rune(0x2534), true - case "boxminus": - // SQUARED MINUS + case "boxminus": // SQUARED MINUS return rune(0x229f), true - case "boxplus": - // SQUARED PLUS + case "boxplus": // SQUARED PLUS return rune(0x229e), true - case "boxtimes": - // SQUARED TIMES + case "boxtimes": // SQUARED TIMES return rune(0x22a0), true - case "boxuL": - // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE + case "boxuL": // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE return rune(0x255b), true - case "boxuR": - // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE + case "boxuR": // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE return rune(0x2558), true - case "boxul": - // BOX DRAWINGS LIGHT UP AND LEFT + case "boxul": // BOX DRAWINGS LIGHT UP AND LEFT return rune(0x2518), true - case "boxur": - // BOX DRAWINGS LIGHT UP AND RIGHT + case "boxur": // BOX DRAWINGS LIGHT UP AND RIGHT return rune(0x2514), true - case "boxvL": - // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE + case "boxv": // BOX DRAWINGS LIGHT VERTICAL + return rune(0x2502), true + case "boxvH": // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE + return rune(0x256a), true + case "boxvL": // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE return rune(0x2561), true - case "boxvR": - // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE + case "boxvR": // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE return rune(0x255e), true - case "boxvl": - // BOX DRAWINGS LIGHT VERTICAL AND LEFT + case "boxvh": // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL + return rune(0x253c), true + case "boxvl": // BOX DRAWINGS LIGHT VERTICAL AND LEFT return rune(0x2524), true - case "boxvr": - // BOX DRAWINGS LIGHT VERTICAL AND RIGHT + case "boxvr": // BOX DRAWINGS LIGHT VERTICAL AND RIGHT return rune(0x251c), true - case "boxv": - // BOX DRAWINGS LIGHT VERTICAL - return rune(0x2502), true - case "boxvH": - // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE - return rune(0x256a), true - case "boxvh": - // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL - return rune(0x253c), true - case "bprime": - // REVERSED PRIME + case "bprime": // REVERSED PRIME return rune(0x2035), true - case "brdhar": - // RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR + case "brdhar": // RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR return rune(0x295f), true - case "breve": - // BREVE + case "breve": // BREVE return rune(0x02d8), true - case "bruhar": - // RIGHTWARDS HARPOON WITH BARB UP FROM BAR + case "bruhar": // RIGHTWARDS HARPOON WITH BARB UP FROM BAR return rune(0x295b), true - case "brvbar": - // BROKEN BAR + case "brvbar": // BROKEN BAR return rune(0xa6), true - case "bscr": - // MATHEMATICAL SCRIPT SMALL B + case "bscr": // MATHEMATICAL SCRIPT SMALL B return rune(0x01d4b7), true - case "bsemi": - // REVERSED SEMICOLON + case "bsemi": // REVERSED SEMICOLON return rune(0x204f), true - case "bsim": - // REVERSED TILDE + case "bsim": // REVERSED TILDE return rune(0x223d), true - case "bsime": - // REVERSED TILDE EQUALS + case "bsime": // REVERSED TILDE EQUALS return rune(0x22cd), true - case "bsolb": - // SQUARED FALLING DIAGONAL SLASH + case "bsol": // REVERSE SOLIDUS + return rune(0x5c), true + case "bsolb": // SQUARED FALLING DIAGONAL SLASH return rune(0x29c5), true - case "bsolhsub": - // REVERSE SOLIDUS PRECEDING SUBSET + case "bsolhsub": // REVERSE SOLIDUS PRECEDING SUBSET return rune(0x27c8), true - case "bsol": - // REVERSE SOLIDUS - return rune(0x5c), true - case "btimes": - // SEMIDIRECT PRODUCT WITH BOTTOM CLOSED + case "btimes": // SEMIDIRECT PRODUCT WITH BOTTOM CLOSED return rune(0x2a32), true - case "bulhar": - // UPWARDS HARPOON WITH BARB LEFT FROM BAR + case "bulhar": // UPWARDS HARPOON WITH BARB LEFT FROM BAR return rune(0x2960), true - case "bullet": - // BULLET + case "bull": // BULLET return rune(0x2022), true - case "bull": - // BULLET + case "bullet": // BULLET return rune(0x2022), true - case "bump": - // GEOMETRICALLY EQUIVALENT TO + case "bump": // GEOMETRICALLY EQUIVALENT TO return rune(0x224e), true - case "bumpE": - // EQUALS SIGN WITH BUMPY ABOVE + case "bumpE": // EQUALS SIGN WITH BUMPY ABOVE return rune(0x2aae), true - case "bumpe": - // DIFFERENCE BETWEEN + case "bumpe": // DIFFERENCE BETWEEN return rune(0x224f), true - case "bumpeq": - // DIFFERENCE BETWEEN + case "bumpeq": // DIFFERENCE BETWEEN return rune(0x224f), true - case "burhar": - // UPWARDS HARPOON WITH BARB RIGHT FROM BAR + case "burhar": // UPWARDS HARPOON WITH BARB RIGHT FROM BAR return rune(0x295c), true } case 'c': switch name { - case "cacute": - // LATIN SMALL LETTER C WITH ACUTE + case "cacute": // LATIN SMALL LETTER C WITH ACUTE return rune(0x0107), true - case "cap": - // INTERSECTION + case "cap": // INTERSECTION return rune(0x2229), true - case "capand": - // INTERSECTION WITH LOGICAL AND + case "capand": // INTERSECTION WITH LOGICAL AND return rune(0x2a44), true - case "capbrcup": - // INTERSECTION ABOVE BAR ABOVE UNION + case "capbrcup": // INTERSECTION ABOVE BAR ABOVE UNION return rune(0x2a49), true - case "capcap": - // INTERSECTION BESIDE AND JOINED WITH INTERSECTION + case "capcap": // INTERSECTION BESIDE AND JOINED WITH INTERSECTION return rune(0x2a4b), true - case "capcup": - // INTERSECTION ABOVE UNION + case "capcup": // INTERSECTION ABOVE UNION return rune(0x2a47), true - case "capdot": - // INTERSECTION WITH DOT + case "capdot": // INTERSECTION WITH DOT return rune(0x2a40), true - case "capint": - // INTEGRAL WITH INTERSECTION + case "capint": // INTEGRAL WITH INTERSECTION return rune(0x2a19), true - case "caps": - // INTERSECTION with serifs + case "caps": // INTERSECTION with serifs return rune(0x2229), true - case "caret": - // CARET INSERTION POINT + case "caret": // CARET INSERTION POINT return rune(0x2041), true - case "caron": - // CARON + case "caron": // CARON return rune(0x02c7), true - case "ccaps": - // CLOSED INTERSECTION WITH SERIFS + case "ccaps": // CLOSED INTERSECTION WITH SERIFS return rune(0x2a4d), true - case "ccaron": - // LATIN SMALL LETTER C WITH CARON + case "ccaron": // LATIN SMALL LETTER C WITH CARON return rune(0x010d), true - case "ccedil": - // LATIN SMALL LETTER C WITH CEDILLA + case "ccedil": // LATIN SMALL LETTER C WITH CEDILLA return rune(0xe7), true - case "ccirc": - // LATIN SMALL LETTER C WITH CIRCUMFLEX + case "ccirc": // LATIN SMALL LETTER C WITH CIRCUMFLEX return rune(0x0109), true - case "ccups": - // CLOSED UNION WITH SERIFS + case "ccups": // CLOSED UNION WITH SERIFS return rune(0x2a4c), true - case "ccupssm": - // CLOSED UNION WITH SERIFS AND SMASH PRODUCT + case "ccupssm": // CLOSED UNION WITH SERIFS AND SMASH PRODUCT return rune(0x2a50), true - case "cdot": - // LATIN SMALL LETTER C WITH DOT ABOVE + case "cdot": // LATIN SMALL LETTER C WITH DOT ABOVE return rune(0x010b), true - case "cedil": - // CEDILLA + case "cedil": // CEDILLA return rune(0xb8), true - case "cemptyv": - // EMPTY SET WITH SMALL CIRCLE ABOVE + case "cemptyv": // EMPTY SET WITH SMALL CIRCLE ABOVE return rune(0x29b2), true - case "centerdot": - // MIDDLE DOT - return rune(0xb7), true - case "cent": - // CENT SIGN + case "cent": // CENT SIGN return rune(0xa2), true - case "cfr": - // MATHEMATICAL FRAKTUR SMALL C + case "centerdot": // MIDDLE DOT + return rune(0xb7), true + case "cfr": // MATHEMATICAL FRAKTUR SMALL C return rune(0x01d520), true - case "chcy": - // CYRILLIC SMALL LETTER CHE + case "chcy": // CYRILLIC SMALL LETTER CHE return rune(0x0447), true - case "check": - // CHECK MARK + case "check": // CHECK MARK return rune(0x2713), true - case "checkmark": - // CHECK MARK + case "checkmark": // CHECK MARK return rune(0x2713), true - case "chi": - // GREEK SMALL LETTER CHI + case "chi": // GREEK SMALL LETTER CHI return rune(0x03c7), true - case "circeq": - // RING EQUAL TO + case "cir": // WHITE CIRCLE + return rune(0x25cb), true + case "cirE": // CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT + return rune(0x29c3), true + case "cirb": // SQUARED SMALL CIRCLE + return rune(0x29c7), true + case "circ": // MODIFIER LETTER CIRCUMFLEX ACCENT + return rune(0x02c6), true + case "circeq": // RING EQUAL TO return rune(0x2257), true - case "circlearrowleft": - // ANTICLOCKWISE OPEN CIRCLE ARROW + case "circlearrowleft": // ANTICLOCKWISE OPEN CIRCLE ARROW return rune(0x21ba), true - case "circlearrowright": - // CLOCKWISE OPEN CIRCLE ARROW + case "circlearrowright": // CLOCKWISE OPEN CIRCLE ARROW return rune(0x21bb), true - case "circledS": - // CIRCLED LATIN CAPITAL LETTER S + case "circledR": // REGISTERED SIGN + return rune(0xae), true + case "circledS": // CIRCLED LATIN CAPITAL LETTER S return rune(0x24c8), true - case "circledast": - // CIRCLED ASTERISK OPERATOR + case "circledast": // CIRCLED ASTERISK OPERATOR return rune(0x229b), true - case "circledcirc": - // CIRCLED RING OPERATOR + case "circledcirc": // CIRCLED RING OPERATOR return rune(0x229a), true - case "circleddash": - // CIRCLED DASH + case "circleddash": // CIRCLED DASH return rune(0x229d), true - case "cire": - // RING EQUAL TO - return rune(0x2257), true - case "cir": - // WHITE CIRCLE - return rune(0x25cb), true - case "cirE": - // CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT - return rune(0x29c3), true - case "cirb": - // SQUARED SMALL CIRCLE - return rune(0x29c7), true - case "circ": - // MODIFIER LETTER CIRCUMFLEX ACCENT - return rune(0x02c6), true - case "circledR": - // REGISTERED SIGN - return rune(0xae), true - case "cirdarr": - // WHITE CIRCLE WITH DOWN ARROW + case "cirdarr": // WHITE CIRCLE WITH DOWN ARROW return rune(0x29ec), true - case "cirerr": - // ERROR-BARRED WHITE CIRCLE + case "cire": // RING EQUAL TO + return rune(0x2257), true + case "cirerr": // ERROR-BARRED WHITE CIRCLE return rune(0x29f2), true - case "cirfdarr": - // BLACK CIRCLE WITH DOWN ARROW + case "cirfdarr": // BLACK CIRCLE WITH DOWN ARROW return rune(0x29ed), true - case "cirferr": - // ERROR-BARRED BLACK CIRCLE + case "cirferr": // ERROR-BARRED BLACK CIRCLE return rune(0x29f3), true - case "cirfnint": - // CIRCULATION FUNCTION + case "cirfnint": // CIRCULATION FUNCTION return rune(0x2a10), true - case "cirmid": - // VERTICAL LINE WITH CIRCLE ABOVE + case "cirmid": // VERTICAL LINE WITH CIRCLE ABOVE return rune(0x2aef), true - case "cirscir": - // CIRCLE WITH SMALL CIRCLE TO THE RIGHT + case "cirscir": // CIRCLE WITH SMALL CIRCLE TO THE RIGHT return rune(0x29c2), true - case "closur": - // CLOSE UP + case "closur": // CLOSE UP return rune(0x2050), true - case "clubs": - // BLACK CLUB SUIT + case "clubs": // BLACK CLUB SUIT return rune(0x2663), true - case "clubsuit": - // BLACK CLUB SUIT + case "clubsuit": // BLACK CLUB SUIT return rune(0x2663), true - case "colone": - // COLON EQUALS + case "colon": // COLON + return rune(0x3a), true + case "colone": // COLON EQUALS return rune(0x2254), true - case "coloneq": - // COLON EQUALS + case "coloneq": // COLON EQUALS return rune(0x2254), true - case "colon": - // COLON - return rune(0x3a), true - case "commat": - // COMMERCIAL AT - return rune(0x40), true - case "comma": - // COMMA + case "comma": // COMMA return rune(0x2c), true - case "comp": - // COMPLEMENT + case "commat": // COMMERCIAL AT + return rune(0x40), true + case "comp": // COMPLEMENT return rune(0x2201), true - case "compfn": - // RING OPERATOR + case "compfn": // RING OPERATOR return rune(0x2218), true - case "complement": - // COMPLEMENT + case "complement": // COMPLEMENT return rune(0x2201), true - case "complexes": - // DOUBLE-STRUCK CAPITAL C + case "complexes": // DOUBLE-STRUCK CAPITAL C return rune(0x2102), true - case "cong": - // APPROXIMATELY EQUAL TO + case "cong": // APPROXIMATELY EQUAL TO return rune(0x2245), true - case "congdot": - // CONGRUENT WITH DOT ABOVE + case "congdot": // CONGRUENT WITH DOT ABOVE return rune(0x2a6d), true - case "conint": - // CONTOUR INTEGRAL + case "conint": // CONTOUR INTEGRAL return rune(0x222e), true - case "copf": - // MATHEMATICAL DOUBLE-STRUCK SMALL C + case "copf": // MATHEMATICAL DOUBLE-STRUCK SMALL C return rune(0x01d554), true - case "coprod": - // N-ARY COPRODUCT + case "coprod": // N-ARY COPRODUCT return rune(0x2210), true - case "copysr": - // SOUND RECORDING COPYRIGHT - return rune(0x2117), true - case "copy": - // COPYRIGHT SIGN + case "copy": // COPYRIGHT SIGN return rune(0xa9), true - case "crarr": - // DOWNWARDS ARROW WITH CORNER LEFTWARDS + case "copysr": // SOUND RECORDING COPYRIGHT + return rune(0x2117), true + case "crarr": // DOWNWARDS ARROW WITH CORNER LEFTWARDS return rune(0x21b5), true - case "cross": - // BALLOT X + case "cross": // BALLOT X return rune(0x2717), true - case "cscr": - // MATHEMATICAL SCRIPT SMALL C + case "cscr": // MATHEMATICAL SCRIPT SMALL C return rune(0x01d4b8), true - case "csub": - // CLOSED SUBSET + case "csub": // CLOSED SUBSET return rune(0x2acf), true - case "csube": - // CLOSED SUBSET OR EQUAL TO + case "csube": // CLOSED SUBSET OR EQUAL TO return rune(0x2ad1), true - case "csup": - // CLOSED SUPERSET + case "csup": // CLOSED SUPERSET return rune(0x2ad0), true - case "csupe": - // CLOSED SUPERSET OR EQUAL TO + case "csupe": // CLOSED SUPERSET OR EQUAL TO return rune(0x2ad2), true - case "ctdot": - // MIDLINE HORIZONTAL ELLIPSIS + case "ctdot": // MIDLINE HORIZONTAL ELLIPSIS return rune(0x22ef), true - case "cudarrl": - // RIGHT-SIDE ARC CLOCKWISE ARROW + case "cudarrl": // RIGHT-SIDE ARC CLOCKWISE ARROW return rune(0x2938), true - case "cudarrr": - // ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS + case "cudarrr": // ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS return rune(0x2935), true - case "cuepr": - // EQUAL TO OR PRECEDES + case "cuepr": // EQUAL TO OR PRECEDES return rune(0x22de), true - case "cuesc": - // EQUAL TO OR SUCCEEDS + case "cuesc": // EQUAL TO OR SUCCEEDS return rune(0x22df), true - case "cularr": - // ANTICLOCKWISE TOP SEMICIRCLE ARROW + case "cularr": // ANTICLOCKWISE TOP SEMICIRCLE ARROW return rune(0x21b6), true - case "cularrp": - // TOP ARC ANTICLOCKWISE ARROW WITH PLUS + case "cularrp": // TOP ARC ANTICLOCKWISE ARROW WITH PLUS return rune(0x293d), true - case "cup": - // UNION + case "cup": // UNION return rune(0x222a), true - case "cupbrcap": - // UNION ABOVE BAR ABOVE INTERSECTION + case "cupbrcap": // UNION ABOVE BAR ABOVE INTERSECTION return rune(0x2a48), true - case "cupcap": - // UNION ABOVE INTERSECTION + case "cupcap": // UNION ABOVE INTERSECTION return rune(0x2a46), true - case "cupcup": - // UNION BESIDE AND JOINED WITH UNION + case "cupcup": // UNION BESIDE AND JOINED WITH UNION return rune(0x2a4a), true - case "cupdot": - // MULTISET MULTIPLICATION + case "cupdot": // MULTISET MULTIPLICATION return rune(0x228d), true - case "cupint": - // INTEGRAL WITH UNION + case "cupint": // INTEGRAL WITH UNION return rune(0x2a1a), true - case "cupor": - // UNION WITH LOGICAL OR + case "cupor": // UNION WITH LOGICAL OR return rune(0x2a45), true - case "cupre": - // PRECEDES OR EQUAL TO + case "cupre": // PRECEDES OR EQUAL TO return rune(0x227c), true - case "cups": - // UNION with serifs + case "cups": // UNION with serifs return rune(0x222a), true - case "curarr": - // CLOCKWISE TOP SEMICIRCLE ARROW + case "curarr": // CLOCKWISE TOP SEMICIRCLE ARROW return rune(0x21b7), true - case "curarrm": - // TOP ARC CLOCKWISE ARROW WITH MINUS + case "curarrm": // TOP ARC CLOCKWISE ARROW WITH MINUS return rune(0x293c), true - case "curlyeqprec": - // EQUAL TO OR PRECEDES + case "curlyeqprec": // EQUAL TO OR PRECEDES return rune(0x22de), true - case "curlyeqsucc": - // EQUAL TO OR SUCCEEDS + case "curlyeqsucc": // EQUAL TO OR SUCCEEDS return rune(0x22df), true - case "curlyvee": - // CURLY LOGICAL OR + case "curlyvee": // CURLY LOGICAL OR return rune(0x22ce), true - case "curlywedge": - // CURLY LOGICAL AND + case "curlywedge": // CURLY LOGICAL AND return rune(0x22cf), true - case "curren": - // CURRENCY SIGN + case "curren": // CURRENCY SIGN return rune(0xa4), true - case "curvearrowleft": - // ANTICLOCKWISE TOP SEMICIRCLE ARROW + case "curvearrowleft": // ANTICLOCKWISE TOP SEMICIRCLE ARROW return rune(0x21b6), true - case "curvearrowright": - // CLOCKWISE TOP SEMICIRCLE ARROW + case "curvearrowright": // CLOCKWISE TOP SEMICIRCLE ARROW return rune(0x21b7), true - case "cuvee": - // CURLY LOGICAL OR + case "cuvee": // CURLY LOGICAL OR return rune(0x22ce), true - case "cuwed": - // CURLY LOGICAL AND + case "cuwed": // CURLY LOGICAL AND return rune(0x22cf), true - case "cwconint": - // CLOCKWISE CONTOUR INTEGRAL + case "cwconint": // CLOCKWISE CONTOUR INTEGRAL return rune(0x2232), true - case "cwint": - // CLOCKWISE INTEGRAL + case "cwint": // CLOCKWISE INTEGRAL return rune(0x2231), true - case "cylcty": - // CYLINDRICITY + case "cylcty": // CYLINDRICITY return rune(0x232d), true } case 'd': switch name { - case "dAarr": - // DOWNWARDS TRIPLE ARROW + case "dAarr": // DOWNWARDS TRIPLE ARROW return rune(0x290b), true - case "dArr": - // DOWNWARDS DOUBLE ARROW + case "dArr": // DOWNWARDS DOUBLE ARROW return rune(0x21d3), true - case "dHar": - // DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT + case "dHar": // DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT return rune(0x2965), true - case "dagger": - // DAGGER + case "dagger": // DAGGER return rune(0x2020), true - case "dalembrt": - // SQUARE WITH CONTOURED OUTLINE + case "dalembrt": // SQUARE WITH CONTOURED OUTLINE return rune(0x29e0), true - case "daleth": - // DALET SYMBOL + case "daleth": // DALET SYMBOL return rune(0x2138), true - case "darr2": - // DOWNWARDS PAIRED ARROWS - return rune(0x21ca), true - case "darr": - // DOWNWARDS ARROW + case "darr": // DOWNWARDS ARROW return rune(0x2193), true - case "darrb": - // DOWNWARDS ARROW TO BAR + case "darr2": // DOWNWARDS PAIRED ARROWS + return rune(0x21ca), true + case "darrb": // DOWNWARDS ARROW TO BAR return rune(0x2913), true - case "darrln": - // DOWNWARDS ARROW WITH HORIZONTAL STROKE + case "darrln": // DOWNWARDS ARROW WITH HORIZONTAL STROKE return rune(0x2908), true - case "dashv": - // LEFT TACK - return rune(0x22a3), true - case "dash": - // HYPHEN + case "dash": // HYPHEN return rune(0x2010), true - case "dashV": - // DOUBLE VERTICAL BAR LEFT TURNSTILE + case "dashV": // DOUBLE VERTICAL BAR LEFT TURNSTILE return rune(0x2ae3), true - case "dbkarow": - // RIGHTWARDS TRIPLE DASH ARROW + case "dashv": // LEFT TACK + return rune(0x22a3), true + case "dbkarow": // RIGHTWARDS TRIPLE DASH ARROW return rune(0x290f), true - case "dblac": - // DOUBLE ACUTE ACCENT + case "dblac": // DOUBLE ACUTE ACCENT return rune(0x02dd), true - case "dcaron": - // LATIN SMALL LETTER D WITH CARON + case "dcaron": // LATIN SMALL LETTER D WITH CARON return rune(0x010f), true - case "dcy": - // CYRILLIC SMALL LETTER DE + case "dcy": // CYRILLIC SMALL LETTER DE return rune(0x0434), true - case "ddarr": - // DOWNWARDS PAIRED ARROWS - return rune(0x21ca), true - case "dd": - // DOUBLE-STRUCK ITALIC SMALL D + case "dd": // DOUBLE-STRUCK ITALIC SMALL D return rune(0x2146), true - case "ddagger": - // DOUBLE DAGGER + case "ddagger": // DOUBLE DAGGER return rune(0x2021), true - case "ddotseq": - // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW + case "ddarr": // DOWNWARDS PAIRED ARROWS + return rune(0x21ca), true + case "ddotseq": // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW return rune(0x2a77), true - case "deg": - // DEGREE SIGN + case "deg": // DEGREE SIGN return rune(0xb0), true - case "delta": - // GREEK SMALL LETTER DELTA + case "delta": // GREEK SMALL LETTER DELTA return rune(0x03b4), true - case "demptyv": - // EMPTY SET WITH OVERBAR + case "demptyv": // EMPTY SET WITH OVERBAR return rune(0x29b1), true - case "dfisht": - // DOWN FISH TAIL + case "dfisht": // DOWN FISH TAIL return rune(0x297f), true - case "dfr": - // MATHEMATICAL FRAKTUR SMALL D + case "dfr": // MATHEMATICAL FRAKTUR SMALL D return rune(0x01d521), true - case "dgr": - // GREEK SMALL LETTER DELTA + case "dgr": // GREEK SMALL LETTER DELTA return rune(0x03b4), true - case "dharl": - // DOWNWARDS HARPOON WITH BARB LEFTWARDS + case "dharl": // DOWNWARDS HARPOON WITH BARB LEFTWARDS return rune(0x21c3), true - case "dharr": - // DOWNWARDS HARPOON WITH BARB RIGHTWARDS + case "dharr": // DOWNWARDS HARPOON WITH BARB RIGHTWARDS return rune(0x21c2), true - case "diam": - // DIAMOND OPERATOR + case "diam": // DIAMOND OPERATOR return rune(0x22c4), true - case "diamdarr": - // BLACK DIAMOND WITH DOWN ARROW + case "diamdarr": // BLACK DIAMOND WITH DOWN ARROW return rune(0x29ea), true - case "diamerr": - // ERROR-BARRED WHITE DIAMOND + case "diamerr": // ERROR-BARRED WHITE DIAMOND return rune(0x29f0), true - case "diamerrf": - // ERROR-BARRED BLACK DIAMOND + case "diamerrf": // ERROR-BARRED BLACK DIAMOND return rune(0x29f1), true - case "diamond": - // DIAMOND OPERATOR + case "diamond": // DIAMOND OPERATOR return rune(0x22c4), true - case "diamondsuit": - // BLACK DIAMOND SUIT + case "diamondsuit": // BLACK DIAMOND SUIT return rune(0x2666), true - case "diams": - // BLACK DIAMOND SUIT + case "diams": // BLACK DIAMOND SUIT return rune(0x2666), true - case "die": - // DIAERESIS + case "die": // DIAERESIS return rune(0xa8), true - case "digamma": - // GREEK SMALL LETTER DIGAMMA + case "digamma": // GREEK SMALL LETTER DIGAMMA return rune(0x03dd), true - case "disin": - // ELEMENT OF WITH LONG HORIZONTAL STROKE + case "disin": // ELEMENT OF WITH LONG HORIZONTAL STROKE return rune(0x22f2), true - case "divideontimes": - // DIVISION TIMES - return rune(0x22c7), true - case "divonx": - // DIVISION TIMES - return rune(0x22c7), true - case "div": - // DIVISION SIGN + case "div": // DIVISION SIGN return rune(0xf7), true - case "divide": - // DIVISION SIGN + case "divide": // DIVISION SIGN return rune(0xf7), true - case "djcy": - // CYRILLIC SMALL LETTER DJE + case "divideontimes": // DIVISION TIMES + return rune(0x22c7), true + case "divonx": // DIVISION TIMES + return rune(0x22c7), true + case "djcy": // CYRILLIC SMALL LETTER DJE return rune(0x0452), true - case "dlarr": - // SOUTH WEST ARROW + case "dlarr": // SOUTH WEST ARROW return rune(0x2199), true - case "dlcorn": - // BOTTOM LEFT CORNER + case "dlcorn": // BOTTOM LEFT CORNER return rune(0x231e), true - case "dlcrop": - // BOTTOM LEFT CROP + case "dlcrop": // BOTTOM LEFT CROP return rune(0x230d), true - case "dlharb": - // DOWNWARDS HARPOON WITH BARB LEFT TO BAR + case "dlharb": // DOWNWARDS HARPOON WITH BARB LEFT TO BAR return rune(0x2959), true - case "dollar": - // DOLLAR SIGN + case "dollar": // DOLLAR SIGN return rune(0x24), true - case "dopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL D + case "dopf": // MATHEMATICAL DOUBLE-STRUCK SMALL D return rune(0x01d555), true - case "doteq": - // APPROACHES THE LIMIT + case "dot": // DOT ABOVE + return rune(0x02d9), true + case "doteq": // APPROACHES THE LIMIT return rune(0x2250), true - case "doteqdot": - // GEOMETRICALLY EQUAL TO + case "doteqdot": // GEOMETRICALLY EQUAL TO return rune(0x2251), true - case "dotminus": - // DOT MINUS + case "dotminus": // DOT MINUS return rune(0x2238), true - case "dotplus": - // DOT PLUS + case "dotplus": // DOT PLUS return rune(0x2214), true - case "dotsquare": - // SQUARED DOT OPERATOR + case "dotsquare": // SQUARED DOT OPERATOR return rune(0x22a1), true - case "dot": - // DOT ABOVE - return rune(0x02d9), true - case "doublebarwedge": - // PERSPECTIVE + case "doublebarwedge": // PERSPECTIVE return rune(0x2306), true - case "downarrow": - // DOWNWARDS ARROW + case "downarrow": // DOWNWARDS ARROW return rune(0x2193), true - case "downdownarrows": - // DOWNWARDS PAIRED ARROWS + case "downdownarrows": // DOWNWARDS PAIRED ARROWS return rune(0x21ca), true - case "downharpoonleft": - // DOWNWARDS HARPOON WITH BARB LEFTWARDS + case "downharpoonleft": // DOWNWARDS HARPOON WITH BARB LEFTWARDS return rune(0x21c3), true - case "downharpoonright": - // DOWNWARDS HARPOON WITH BARB RIGHTWARDS + case "downharpoonright": // DOWNWARDS HARPOON WITH BARB RIGHTWARDS return rune(0x21c2), true - case "drarr": - // SOUTH EAST ARROW + case "drarr": // SOUTH EAST ARROW return rune(0x2198), true - case "drbkarow": - // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW + case "drbkarow": // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW return rune(0x2910), true - case "drcorn": - // BOTTOM RIGHT CORNER + case "drcorn": // BOTTOM RIGHT CORNER return rune(0x231f), true - case "drcrop": - // BOTTOM RIGHT CROP + case "drcrop": // BOTTOM RIGHT CROP return rune(0x230c), true - case "drharb": - // DOWNWARDS HARPOON WITH BARB RIGHT TO BAR + case "drharb": // DOWNWARDS HARPOON WITH BARB RIGHT TO BAR return rune(0x2955), true - case "dscr": - // MATHEMATICAL SCRIPT SMALL D + case "dscr": // MATHEMATICAL SCRIPT SMALL D return rune(0x01d4b9), true - case "dscy": - // CYRILLIC SMALL LETTER DZE + case "dscy": // CYRILLIC SMALL LETTER DZE return rune(0x0455), true - case "dsol": - // SOLIDUS WITH OVERBAR + case "dsol": // SOLIDUS WITH OVERBAR return rune(0x29f6), true - case "dstrok": - // LATIN SMALL LETTER D WITH STROKE + case "dstrok": // LATIN SMALL LETTER D WITH STROKE return rune(0x0111), true - case "dtdot": - // DOWN RIGHT DIAGONAL ELLIPSIS + case "dtdot": // DOWN RIGHT DIAGONAL ELLIPSIS return rune(0x22f1), true - case "dtrif": - // BLACK DOWN-POINTING SMALL TRIANGLE - return rune(0x25be), true - case "dtri": - // WHITE DOWN-POINTING SMALL TRIANGLE + case "dtri": // WHITE DOWN-POINTING SMALL TRIANGLE return rune(0x25bf), true - case "dtrilf": - // DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK + case "dtrif": // BLACK DOWN-POINTING SMALL TRIANGLE + return rune(0x25be), true + case "dtrilf": // DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK return rune(0x29e8), true - case "dtrirf": - // DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK + case "dtrirf": // DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK return rune(0x29e9), true - case "duarr": - // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW + case "duarr": // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW return rune(0x21f5), true - case "duhar": - // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT + case "duhar": // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT return rune(0x296f), true - case "dumap": - // DOUBLE-ENDED MULTIMAP + case "dumap": // DOUBLE-ENDED MULTIMAP return rune(0x29df), true - case "dwangle": - // OBLIQUE ANGLE OPENING UP + case "dwangle": // OBLIQUE ANGLE OPENING UP return rune(0x29a6), true - case "dzcy": - // CYRILLIC SMALL LETTER DZHE + case "dzcy": // CYRILLIC SMALL LETTER DZHE return rune(0x045f), true - case "dzigrarr": - // LONG RIGHTWARDS SQUIGGLE ARROW + case "dzigrarr": // LONG RIGHTWARDS SQUIGGLE ARROW return rune(0x27ff), true } case 'e': switch name { - case "eDDot": - // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW + case "eDDot": // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW return rune(0x2a77), true - case "eDot": - // GEOMETRICALLY EQUAL TO + case "eDot": // GEOMETRICALLY EQUAL TO return rune(0x2251), true - case "eacgr": - // GREEK SMALL LETTER EPSILON WITH TONOS + case "eacgr": // GREEK SMALL LETTER EPSILON WITH TONOS return rune(0x03ad), true - case "eacute": - // LATIN SMALL LETTER E WITH ACUTE + case "eacute": // LATIN SMALL LETTER E WITH ACUTE return rune(0xe9), true - case "easter": - // EQUALS WITH ASTERISK + case "easter": // EQUALS WITH ASTERISK return rune(0x2a6e), true - case "ecaron": - // LATIN SMALL LETTER E WITH CARON + case "ecaron": // LATIN SMALL LETTER E WITH CARON return rune(0x011b), true - case "ecir": - // RING IN EQUAL TO + case "ecir": // RING IN EQUAL TO return rune(0x2256), true - case "ecirc": - // LATIN SMALL LETTER E WITH CIRCUMFLEX + case "ecirc": // LATIN SMALL LETTER E WITH CIRCUMFLEX return rune(0xea), true - case "ecolon": - // EQUALS COLON + case "ecolon": // EQUALS COLON return rune(0x2255), true - case "ecy": - // CYRILLIC SMALL LETTER E + case "ecy": // CYRILLIC SMALL LETTER E return rune(0x044d), true - case "edot": - // LATIN SMALL LETTER E WITH DOT ABOVE + case "edot": // LATIN SMALL LETTER E WITH DOT ABOVE return rune(0x0117), true - case "ee": - // DOUBLE-STRUCK ITALIC SMALL E + case "ee": // DOUBLE-STRUCK ITALIC SMALL E return rune(0x2147), true - case "eeacgr": - // GREEK SMALL LETTER ETA WITH TONOS + case "eeacgr": // GREEK SMALL LETTER ETA WITH TONOS return rune(0x03ae), true - case "eegr": - // GREEK SMALL LETTER ETA + case "eegr": // GREEK SMALL LETTER ETA return rune(0x03b7), true - case "efDot": - // APPROXIMATELY EQUAL TO OR THE IMAGE OF + case "efDot": // APPROXIMATELY EQUAL TO OR THE IMAGE OF return rune(0x2252), true - case "efr": - // MATHEMATICAL FRAKTUR SMALL E + case "efr": // MATHEMATICAL FRAKTUR SMALL E return rune(0x01d522), true - case "egr": - // GREEK SMALL LETTER EPSILON + case "eg": // DOUBLE-LINE EQUAL TO OR GREATER-THAN + return rune(0x2a9a), true + case "egr": // GREEK SMALL LETTER EPSILON return rune(0x03b5), true - case "egs": - // SLANTED EQUAL TO OR GREATER-THAN + case "egrave": // LATIN SMALL LETTER E WITH GRAVE + return rune(0xe8), true + case "egs": // SLANTED EQUAL TO OR GREATER-THAN return rune(0x2a96), true - case "egsdot": - // SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE + case "egsdot": // SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE return rune(0x2a98), true - case "eg": - // DOUBLE-LINE EQUAL TO OR GREATER-THAN - return rune(0x2a9a), true - case "egrave": - // LATIN SMALL LETTER E WITH GRAVE - return rune(0xe8), true - case "elinters": - // ELECTRICAL INTERSECTION + case "el": // DOUBLE-LINE EQUAL TO OR LESS-THAN + return rune(0x2a99), true + case "elinters": // ELECTRICAL INTERSECTION return rune(0x23e7), true - case "ell": - // SCRIPT SMALL L + case "ell": // SCRIPT SMALL L return rune(0x2113), true - case "els": - // SLANTED EQUAL TO OR LESS-THAN + case "els": // SLANTED EQUAL TO OR LESS-THAN return rune(0x2a95), true - case "elsdot": - // SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE + case "elsdot": // SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE return rune(0x2a97), true - case "el": - // DOUBLE-LINE EQUAL TO OR LESS-THAN - return rune(0x2a99), true - case "emacr": - // LATIN SMALL LETTER E WITH MACRON + case "emacr": // LATIN SMALL LETTER E WITH MACRON return rune(0x0113), true - case "empty": - // EMPTY SET + case "empty": // EMPTY SET return rune(0x2205), true - case "emptyset": - // EMPTY SET + case "emptyset": // EMPTY SET return rune(0x2205), true - case "emptyv": - // EMPTY SET + case "emptyv": // EMPTY SET return rune(0x2205), true - case "emsp13": - // THREE-PER-EM SPACE + case "emsp": // EM SPACE + return rune(0x2003), true + case "emsp13": // THREE-PER-EM SPACE return rune(0x2004), true - case "emsp14": - // FOUR-PER-EM SPACE + case "emsp14": // FOUR-PER-EM SPACE return rune(0x2005), true - case "emsp": - // EM SPACE - return rune(0x2003), true - case "eng": - // LATIN SMALL LETTER ENG + case "eng": // LATIN SMALL LETTER ENG return rune(0x014b), true - case "ensp": - // EN SPACE + case "ensp": // EN SPACE return rune(0x2002), true - case "eogon": - // LATIN SMALL LETTER E WITH OGONEK + case "eogon": // LATIN SMALL LETTER E WITH OGONEK return rune(0x0119), true - case "eopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL E + case "eopf": // MATHEMATICAL DOUBLE-STRUCK SMALL E return rune(0x01d556), true - case "epar": - // EQUAL AND PARALLEL TO + case "epar": // EQUAL AND PARALLEL TO return rune(0x22d5), true - case "eparsl": - // EQUALS SIGN AND SLANTED PARALLEL + case "eparsl": // EQUALS SIGN AND SLANTED PARALLEL return rune(0x29e3), true - case "eplus": - // EQUALS SIGN ABOVE PLUS SIGN + case "eplus": // EQUALS SIGN ABOVE PLUS SIGN return rune(0x2a71), true - case "epsilon": - // GREEK SMALL LETTER EPSILON + case "epsi": // GREEK SMALL LETTER EPSILON + return rune(0x03b5), true + case "epsilon": // GREEK SMALL LETTER EPSILON return rune(0x03b5), true - case "epsis": - // GREEK LUNATE EPSILON SYMBOL + case "epsis": // GREEK LUNATE EPSILON SYMBOL return rune(0x03f5), true - case "epsiv": - // GREEK LUNATE EPSILON SYMBOL + case "epsiv": // GREEK LUNATE EPSILON SYMBOL return rune(0x03f5), true - case "epsi": - // GREEK SMALL LETTER EPSILON - return rune(0x03b5), true - case "eqcirc": - // RING IN EQUAL TO + case "eqcirc": // RING IN EQUAL TO return rune(0x2256), true - case "eqcolon": - // EQUALS COLON + case "eqcolon": // EQUALS COLON return rune(0x2255), true - case "eqeq": - // TWO CONSECUTIVE EQUALS SIGNS + case "eqeq": // TWO CONSECUTIVE EQUALS SIGNS return rune(0x2a75), true - case "eqsim": - // MINUS TILDE + case "eqsim": // MINUS TILDE return rune(0x2242), true - case "eqslantgtr": - // SLANTED EQUAL TO OR GREATER-THAN + case "eqslantgtr": // SLANTED EQUAL TO OR GREATER-THAN return rune(0x2a96), true - case "eqslantless": - // SLANTED EQUAL TO OR LESS-THAN + case "eqslantless": // SLANTED EQUAL TO OR LESS-THAN return rune(0x2a95), true - case "equals": - // EQUALS SIGN + case "equals": // EQUALS SIGN return rune(0x3d), true - case "equest": - // QUESTIONED EQUAL TO + case "equest": // QUESTIONED EQUAL TO return rune(0x225f), true - case "equiv": - // IDENTICAL TO + case "equiv": // IDENTICAL TO return rune(0x2261), true - case "equivDD": - // EQUIVALENT WITH FOUR DOTS ABOVE + case "equivDD": // EQUIVALENT WITH FOUR DOTS ABOVE return rune(0x2a78), true - case "eqvparsl": - // IDENTICAL TO AND SLANTED PARALLEL + case "eqvparsl": // IDENTICAL TO AND SLANTED PARALLEL return rune(0x29e5), true - case "erDot": - // IMAGE OF OR APPROXIMATELY EQUAL TO + case "erDot": // IMAGE OF OR APPROXIMATELY EQUAL TO return rune(0x2253), true - case "erarr": - // EQUALS SIGN ABOVE RIGHTWARDS ARROW + case "erarr": // EQUALS SIGN ABOVE RIGHTWARDS ARROW return rune(0x2971), true - case "escr": - // SCRIPT SMALL E + case "escr": // SCRIPT SMALL E return rune(0x212f), true - case "esdot": - // APPROACHES THE LIMIT + case "esdot": // APPROACHES THE LIMIT return rune(0x2250), true - case "esim": - // MINUS TILDE + case "esim": // MINUS TILDE return rune(0x2242), true - case "eta": - // GREEK SMALL LETTER ETA + case "eta": // GREEK SMALL LETTER ETA return rune(0x03b7), true - case "eth": - // LATIN SMALL LETTER ETH + case "eth": // LATIN SMALL LETTER ETH return rune(0xf0), true - case "euml": - // LATIN SMALL LETTER E WITH DIAERESIS + case "euml": // LATIN SMALL LETTER E WITH DIAERESIS return rune(0xeb), true - case "euro": - // EURO SIGN + case "euro": // EURO SIGN return rune(0x20ac), true - case "excl": - // EXCLAMATION MARK + case "excl": // EXCLAMATION MARK return rune(0x21), true - case "exist": - // THERE EXISTS + case "exist": // THERE EXISTS return rune(0x2203), true - case "expectation": - // SCRIPT CAPITAL E + case "expectation": // SCRIPT CAPITAL E return rune(0x2130), true - case "exponentiale": - // DOUBLE-STRUCK ITALIC SMALL E + case "exponentiale": // DOUBLE-STRUCK ITALIC SMALL E return rune(0x2147), true } case 'f': switch name { - case "fallingdotseq": - // APPROXIMATELY EQUAL TO OR THE IMAGE OF + case "fallingdotseq": // APPROXIMATELY EQUAL TO OR THE IMAGE OF return rune(0x2252), true - case "fbowtie": - // BLACK BOWTIE + case "fbowtie": // BLACK BOWTIE return rune(0x29d3), true - case "fcy": - // CYRILLIC SMALL LETTER EF + case "fcy": // CYRILLIC SMALL LETTER EF return rune(0x0444), true - case "fdiag": - // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT + case "fdiag": // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT return rune(0x2572), true - case "fdiordi": - // FALLING DIAGONAL CROSSING RISING DIAGONAL + case "fdiordi": // FALLING DIAGONAL CROSSING RISING DIAGONAL return rune(0x292c), true - case "fdonearr": - // FALLING DIAGONAL CROSSING NORTH EAST ARROW + case "fdonearr": // FALLING DIAGONAL CROSSING NORTH EAST ARROW return rune(0x292f), true - case "female": - // FEMALE SIGN + case "female": // FEMALE SIGN return rune(0x2640), true - case "ffilig": - // LATIN SMALL LIGATURE FFI + case "ffilig": // LATIN SMALL LIGATURE FFI return rune(0xfb03), true - case "fflig": - // LATIN SMALL LIGATURE FF + case "fflig": // LATIN SMALL LIGATURE FF return rune(0xfb00), true - case "ffllig": - // LATIN SMALL LIGATURE FFL + case "ffllig": // LATIN SMALL LIGATURE FFL return rune(0xfb04), true - case "ffr": - // MATHEMATICAL FRAKTUR SMALL F + case "ffr": // MATHEMATICAL FRAKTUR SMALL F return rune(0x01d523), true - case "fhrglass": - // BLACK HOURGLASS + case "fhrglass": // BLACK HOURGLASS return rune(0x29d7), true - case "filig": - // LATIN SMALL LIGATURE FI + case "filig": // LATIN SMALL LIGATURE FI return rune(0xfb01), true - case "fjlig": - // fj ligature + case "fjlig": // fj ligature return rune(0x66), true - case "flat": - // MUSIC FLAT SIGN + case "flat": // MUSIC FLAT SIGN return rune(0x266d), true - case "fllig": - // LATIN SMALL LIGATURE FL + case "fllig": // LATIN SMALL LIGATURE FL return rune(0xfb02), true - case "fltns": - // WHITE PARALLELOGRAM + case "fltns": // WHITE PARALLELOGRAM return rune(0x25b1), true - case "fnof": - // LATIN SMALL LETTER F WITH HOOK + case "fnof": // LATIN SMALL LETTER F WITH HOOK return rune(0x0192), true - case "fopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL F + case "fopf": // MATHEMATICAL DOUBLE-STRUCK SMALL F return rune(0x01d557), true - case "forall": - // FOR ALL + case "forall": // FOR ALL return rune(0x2200), true - case "fork": - // PITCHFORK + case "fork": // PITCHFORK return rune(0x22d4), true - case "forkv": - // ELEMENT OF OPENING DOWNWARDS + case "forkv": // ELEMENT OF OPENING DOWNWARDS return rune(0x2ad9), true - case "fpartint": - // FINITE PART INTEGRAL + case "fpartint": // FINITE PART INTEGRAL return rune(0x2a0d), true - case "frac12": - // VULGAR FRACTION ONE HALF + case "frac12": // VULGAR FRACTION ONE HALF return rune(0xbd), true - case "frac13": - // VULGAR FRACTION ONE THIRD + case "frac13": // VULGAR FRACTION ONE THIRD return rune(0x2153), true - case "frac14": - // VULGAR FRACTION ONE QUARTER + case "frac14": // VULGAR FRACTION ONE QUARTER return rune(0xbc), true - case "frac15": - // VULGAR FRACTION ONE FIFTH + case "frac15": // VULGAR FRACTION ONE FIFTH return rune(0x2155), true - case "frac16": - // VULGAR FRACTION ONE SIXTH + case "frac16": // VULGAR FRACTION ONE SIXTH return rune(0x2159), true - case "frac18": - // VULGAR FRACTION ONE EIGHTH + case "frac18": // VULGAR FRACTION ONE EIGHTH return rune(0x215b), true - case "frac23": - // VULGAR FRACTION TWO THIRDS + case "frac23": // VULGAR FRACTION TWO THIRDS return rune(0x2154), true - case "frac25": - // VULGAR FRACTION TWO FIFTHS + case "frac25": // VULGAR FRACTION TWO FIFTHS return rune(0x2156), true - case "frac34": - // VULGAR FRACTION THREE QUARTERS + case "frac34": // VULGAR FRACTION THREE QUARTERS return rune(0xbe), true - case "frac35": - // VULGAR FRACTION THREE FIFTHS + case "frac35": // VULGAR FRACTION THREE FIFTHS return rune(0x2157), true - case "frac38": - // VULGAR FRACTION THREE EIGHTHS + case "frac38": // VULGAR FRACTION THREE EIGHTHS return rune(0x215c), true - case "frac45": - // VULGAR FRACTION FOUR FIFTHS + case "frac45": // VULGAR FRACTION FOUR FIFTHS return rune(0x2158), true - case "frac56": - // VULGAR FRACTION FIVE SIXTHS + case "frac56": // VULGAR FRACTION FIVE SIXTHS return rune(0x215a), true - case "frac58": - // VULGAR FRACTION FIVE EIGHTHS + case "frac58": // VULGAR FRACTION FIVE EIGHTHS return rune(0x215d), true - case "frac78": - // VULGAR FRACTION SEVEN EIGHTHS + case "frac78": // VULGAR FRACTION SEVEN EIGHTHS return rune(0x215e), true - case "frasl": - // FRACTION SLASH + case "frasl": // FRACTION SLASH return rune(0x2044), true - case "frown": - // FROWN + case "frown": // FROWN return rune(0x2322), true - case "fscr": - // MATHEMATICAL SCRIPT SMALL F + case "fscr": // MATHEMATICAL SCRIPT SMALL F return rune(0x01d4bb), true } case 'g': switch name { - case "gE": - // GREATER-THAN OVER EQUAL TO + case "gE": // GREATER-THAN OVER EQUAL TO return rune(0x2267), true - case "gEl": - // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN + case "gEl": // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN return rune(0x2a8c), true - case "gacute": - // LATIN SMALL LETTER G WITH ACUTE + case "gacute": // LATIN SMALL LETTER G WITH ACUTE return rune(0x01f5), true - case "gammad": - // GREEK SMALL LETTER DIGAMMA - return rune(0x03dd), true - case "gamma": - // GREEK SMALL LETTER GAMMA + case "gamma": // GREEK SMALL LETTER GAMMA return rune(0x03b3), true - case "gap": - // GREATER-THAN OR APPROXIMATE + case "gammad": // GREEK SMALL LETTER DIGAMMA + return rune(0x03dd), true + case "gap": // GREATER-THAN OR APPROXIMATE return rune(0x2a86), true - case "gbreve": - // LATIN SMALL LETTER G WITH BREVE + case "gbreve": // LATIN SMALL LETTER G WITH BREVE return rune(0x011f), true - case "gcedil": - // LATIN SMALL LETTER G WITH CEDILLA + case "gcedil": // LATIN SMALL LETTER G WITH CEDILLA return rune(0x0123), true - case "gcirc": - // LATIN SMALL LETTER G WITH CIRCUMFLEX + case "gcirc": // LATIN SMALL LETTER G WITH CIRCUMFLEX return rune(0x011d), true - case "gcy": - // CYRILLIC SMALL LETTER GHE + case "gcy": // CYRILLIC SMALL LETTER GHE return rune(0x0433), true - case "gdot": - // LATIN SMALL LETTER G WITH DOT ABOVE + case "gdot": // LATIN SMALL LETTER G WITH DOT ABOVE return rune(0x0121), true - case "ge": - // GREATER-THAN OR EQUAL TO + case "ge": // GREATER-THAN OR EQUAL TO return rune(0x2265), true - case "gel": - // GREATER-THAN EQUAL TO OR LESS-THAN + case "gel": // GREATER-THAN EQUAL TO OR LESS-THAN return rune(0x22db), true - case "geq": - // GREATER-THAN OR EQUAL TO + case "geq": // GREATER-THAN OR EQUAL TO return rune(0x2265), true - case "geqq": - // GREATER-THAN OVER EQUAL TO + case "geqq": // GREATER-THAN OVER EQUAL TO return rune(0x2267), true - case "geqslant": - // GREATER-THAN OR SLANTED EQUAL TO + case "geqslant": // GREATER-THAN OR SLANTED EQUAL TO return rune(0x2a7e), true - case "gesl": - // GREATER-THAN slanted EQUAL TO OR LESS-THAN - return rune(0x22db), true - case "ges": - // GREATER-THAN OR SLANTED EQUAL TO + case "ges": // GREATER-THAN OR SLANTED EQUAL TO return rune(0x2a7e), true - case "gescc": - // GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL + case "gescc": // GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL return rune(0x2aa9), true - case "gesdot": - // GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE + case "gesdot": // GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE return rune(0x2a80), true - case "gesdoto": - // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE + case "gesdoto": // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE return rune(0x2a82), true - case "gesdotol": - // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT + case "gesdotol": // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT return rune(0x2a84), true - case "gesles": - // GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL + case "gesl": // GREATER-THAN slanted EQUAL TO OR LESS-THAN + return rune(0x22db), true + case "gesles": // GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL return rune(0x2a94), true - case "gfr": - // MATHEMATICAL FRAKTUR SMALL G + case "gfr": // MATHEMATICAL FRAKTUR SMALL G return rune(0x01d524), true - case "gg": - // MUCH GREATER-THAN + case "gg": // MUCH GREATER-THAN return rune(0x226b), true - case "ggg": - // VERY MUCH GREATER-THAN + case "ggg": // VERY MUCH GREATER-THAN return rune(0x22d9), true - case "ggr": - // GREEK SMALL LETTER GAMMA + case "ggr": // GREEK SMALL LETTER GAMMA return rune(0x03b3), true - case "gimel": - // GIMEL SYMBOL + case "gimel": // GIMEL SYMBOL return rune(0x2137), true - case "gjcy": - // CYRILLIC SMALL LETTER GJE + case "gjcy": // CYRILLIC SMALL LETTER GJE return rune(0x0453), true - case "gl": - // GREATER-THAN OR LESS-THAN + case "gl": // GREATER-THAN OR LESS-THAN return rune(0x2277), true - case "glE": - // GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL + case "glE": // GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL return rune(0x2a92), true - case "gla": - // GREATER-THAN BESIDE LESS-THAN + case "gla": // GREATER-THAN BESIDE LESS-THAN return rune(0x2aa5), true - case "glj": - // GREATER-THAN OVERLAPPING LESS-THAN + case "glj": // GREATER-THAN OVERLAPPING LESS-THAN return rune(0x2aa4), true - case "gnE": - // GREATER-THAN BUT NOT EQUAL TO + case "gnE": // GREATER-THAN BUT NOT EQUAL TO return rune(0x2269), true - case "gnap": - // GREATER-THAN AND NOT APPROXIMATE + case "gnap": // GREATER-THAN AND NOT APPROXIMATE return rune(0x2a8a), true - case "gnapprox": - // GREATER-THAN AND NOT APPROXIMATE + case "gnapprox": // GREATER-THAN AND NOT APPROXIMATE return rune(0x2a8a), true - case "gneqq": - // GREATER-THAN BUT NOT EQUAL TO - return rune(0x2269), true - case "gne": - // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO + case "gne": // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO return rune(0x2a88), true - case "gneq": - // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO + case "gneq": // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO return rune(0x2a88), true - case "gnsim": - // GREATER-THAN BUT NOT EQUIVALENT TO + case "gneqq": // GREATER-THAN BUT NOT EQUAL TO + return rune(0x2269), true + case "gnsim": // GREATER-THAN BUT NOT EQUIVALENT TO return rune(0x22e7), true - case "gopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL G + case "gopf": // MATHEMATICAL DOUBLE-STRUCK SMALL G return rune(0x01d558), true - case "grave": - // GRAVE ACCENT + case "grave": // GRAVE ACCENT return rune(0x60), true - case "gscr": - // SCRIPT SMALL G + case "gscr": // SCRIPT SMALL G return rune(0x210a), true - case "gsdot": - // GREATER-THAN WITH DOT + case "gsdot": // GREATER-THAN WITH DOT return rune(0x22d7), true - case "gsim": - // GREATER-THAN OR EQUIVALENT TO + case "gsim": // GREATER-THAN OR EQUIVALENT TO return rune(0x2273), true - case "gsime": - // GREATER-THAN ABOVE SIMILAR OR EQUAL + case "gsime": // GREATER-THAN ABOVE SIMILAR OR EQUAL return rune(0x2a8e), true - case "gsiml": - // GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN + case "gsiml": // GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN return rune(0x2a90), true - case "gtcc": - // GREATER-THAN CLOSED BY CURVE + case "gt": // GREATER-THAN SIGN + return rune(0x3e), true + case "gtcc": // GREATER-THAN CLOSED BY CURVE return rune(0x2aa7), true - case "gtcir": - // GREATER-THAN WITH CIRCLE INSIDE + case "gtcir": // GREATER-THAN WITH CIRCLE INSIDE return rune(0x2a7a), true - case "gtdot": - // GREATER-THAN WITH DOT + case "gtdot": // GREATER-THAN WITH DOT return rune(0x22d7), true - case "gtlPar": - // DOUBLE LEFT ARC GREATER-THAN BRACKET + case "gtlPar": // DOUBLE LEFT ARC GREATER-THAN BRACKET return rune(0x2995), true - case "gtquest": - // GREATER-THAN WITH QUESTION MARK ABOVE + case "gtquest": // GREATER-THAN WITH QUESTION MARK ABOVE return rune(0x2a7c), true - case "gtrapprox": - // GREATER-THAN OR APPROXIMATE + case "gtrapprox": // GREATER-THAN OR APPROXIMATE return rune(0x2a86), true - case "gtrarr": - // GREATER-THAN ABOVE RIGHTWARDS ARROW + case "gtrarr": // GREATER-THAN ABOVE RIGHTWARDS ARROW return rune(0x2978), true - case "gtrdot": - // GREATER-THAN WITH DOT + case "gtrdot": // GREATER-THAN WITH DOT return rune(0x22d7), true - case "gtreqless": - // GREATER-THAN EQUAL TO OR LESS-THAN + case "gtreqless": // GREATER-THAN EQUAL TO OR LESS-THAN return rune(0x22db), true - case "gtreqqless": - // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN + case "gtreqqless": // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN return rune(0x2a8c), true - case "gtrless": - // GREATER-THAN OR LESS-THAN + case "gtrless": // GREATER-THAN OR LESS-THAN return rune(0x2277), true - case "gtrpar": - // SPHERICAL ANGLE OPENING LEFT + case "gtrpar": // SPHERICAL ANGLE OPENING LEFT return rune(0x29a0), true - case "gtrsim": - // GREATER-THAN OR EQUIVALENT TO + case "gtrsim": // GREATER-THAN OR EQUIVALENT TO return rune(0x2273), true - case "gt": - // GREATER-THAN SIGN - return rune(0x3e), true - case "gvertneqq": - // GREATER-THAN BUT NOT EQUAL TO - with vertical stroke + case "gvertneqq": // GREATER-THAN BUT NOT EQUAL TO - with vertical stroke return rune(0x2269), true - case "gvnE": - // GREATER-THAN BUT NOT EQUAL TO - with vertical stroke + case "gvnE": // GREATER-THAN BUT NOT EQUAL TO - with vertical stroke return rune(0x2269), true } case 'h': switch name { - case "hArr": - // LEFT RIGHT DOUBLE ARROW + case "hArr": // LEFT RIGHT DOUBLE ARROW return rune(0x21d4), true - case "hairsp": - // HAIR SPACE + case "hairsp": // HAIR SPACE return rune(0x200a), true - case "half": - // VULGAR FRACTION ONE HALF + case "half": // VULGAR FRACTION ONE HALF return rune(0xbd), true - case "hamilt": - // SCRIPT CAPITAL H + case "hamilt": // SCRIPT CAPITAL H return rune(0x210b), true - case "hardcy": - // CYRILLIC SMALL LETTER HARD SIGN + case "hardcy": // CYRILLIC SMALL LETTER HARD SIGN return rune(0x044a), true - case "harrw": - // LEFT RIGHT WAVE ARROW - return rune(0x21ad), true - case "harr": - // LEFT RIGHT ARROW + case "harr": // LEFT RIGHT ARROW return rune(0x2194), true - case "harrcir": - // LEFT RIGHT ARROW THROUGH SMALL CIRCLE + case "harrcir": // LEFT RIGHT ARROW THROUGH SMALL CIRCLE return rune(0x2948), true - case "hbar": - // PLANCK CONSTANT OVER TWO PI + case "harrw": // LEFT RIGHT WAVE ARROW + return rune(0x21ad), true + case "hbar": // PLANCK CONSTANT OVER TWO PI return rune(0x210f), true - case "hcirc": - // LATIN SMALL LETTER H WITH CIRCUMFLEX + case "hcirc": // LATIN SMALL LETTER H WITH CIRCUMFLEX return rune(0x0125), true - case "hearts": - // BLACK HEART SUIT + case "hearts": // BLACK HEART SUIT return rune(0x2665), true - case "heartsuit": - // BLACK HEART SUIT + case "heartsuit": // BLACK HEART SUIT return rune(0x2665), true - case "hellip": - // HORIZONTAL ELLIPSIS + case "hellip": // HORIZONTAL ELLIPSIS return rune(0x2026), true - case "hercon": - // HERMITIAN CONJUGATE MATRIX + case "hercon": // HERMITIAN CONJUGATE MATRIX return rune(0x22b9), true - case "hfr": - // MATHEMATICAL FRAKTUR SMALL H + case "hfr": // MATHEMATICAL FRAKTUR SMALL H return rune(0x01d525), true - case "hksearow": - // SOUTH EAST ARROW WITH HOOK + case "hksearow": // SOUTH EAST ARROW WITH HOOK return rune(0x2925), true - case "hkswarow": - // SOUTH WEST ARROW WITH HOOK + case "hkswarow": // SOUTH WEST ARROW WITH HOOK return rune(0x2926), true - case "hoarr": - // LEFT RIGHT OPEN-HEADED ARROW + case "hoarr": // LEFT RIGHT OPEN-HEADED ARROW return rune(0x21ff), true - case "homtht": - // HOMOTHETIC + case "homtht": // HOMOTHETIC return rune(0x223b), true - case "hookleftarrow": - // LEFTWARDS ARROW WITH HOOK + case "hookleftarrow": // LEFTWARDS ARROW WITH HOOK return rune(0x21a9), true - case "hookrightarrow": - // RIGHTWARDS ARROW WITH HOOK + case "hookrightarrow": // RIGHTWARDS ARROW WITH HOOK return rune(0x21aa), true - case "hopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL H + case "hopf": // MATHEMATICAL DOUBLE-STRUCK SMALL H return rune(0x01d559), true - case "horbar": - // HORIZONTAL BAR + case "horbar": // HORIZONTAL BAR return rune(0x2015), true - case "hrglass": - // WHITE HOURGLASS + case "hrglass": // WHITE HOURGLASS return rune(0x29d6), true - case "hscr": - // MATHEMATICAL SCRIPT SMALL H + case "hscr": // MATHEMATICAL SCRIPT SMALL H return rune(0x01d4bd), true - case "hslash": - // PLANCK CONSTANT OVER TWO PI + case "hslash": // PLANCK CONSTANT OVER TWO PI return rune(0x210f), true - case "hstrok": - // LATIN SMALL LETTER H WITH STROKE + case "hstrok": // LATIN SMALL LETTER H WITH STROKE return rune(0x0127), true - case "htimes": - // VECTOR OR CROSS PRODUCT + case "htimes": // VECTOR OR CROSS PRODUCT return rune(0x2a2f), true - case "hybull": - // HYPHEN BULLET + case "hybull": // HYPHEN BULLET return rune(0x2043), true - case "hyphen": - // HYPHEN + case "hyphen": // HYPHEN return rune(0x2010), true } case 'i': switch name { - case "iacgr": - // GREEK SMALL LETTER IOTA WITH TONOS + case "iacgr": // GREEK SMALL LETTER IOTA WITH TONOS return rune(0x03af), true - case "iacute": - // LATIN SMALL LETTER I WITH ACUTE + case "iacute": // LATIN SMALL LETTER I WITH ACUTE return rune(0xed), true - case "ic": - // INVISIBLE SEPARATOR + case "ic": // INVISIBLE SEPARATOR return rune(0x2063), true - case "icirc": - // LATIN SMALL LETTER I WITH CIRCUMFLEX + case "icirc": // LATIN SMALL LETTER I WITH CIRCUMFLEX return rune(0xee), true - case "icy": - // CYRILLIC SMALL LETTER I + case "icy": // CYRILLIC SMALL LETTER I return rune(0x0438), true - case "idiagr": - // GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + case "idiagr": // GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS return rune(0x0390), true - case "idigr": - // GREEK SMALL LETTER IOTA WITH DIALYTIKA + case "idigr": // GREEK SMALL LETTER IOTA WITH DIALYTIKA return rune(0x03ca), true - case "iecy": - // CYRILLIC SMALL LETTER IE + case "iecy": // CYRILLIC SMALL LETTER IE return rune(0x0435), true - case "iexcl": - // INVERTED EXCLAMATION MARK + case "iexcl": // INVERTED EXCLAMATION MARK return rune(0xa1), true - case "iff": - // LEFT RIGHT DOUBLE ARROW + case "iff": // LEFT RIGHT DOUBLE ARROW return rune(0x21d4), true - case "ifr": - // MATHEMATICAL FRAKTUR SMALL I + case "ifr": // MATHEMATICAL FRAKTUR SMALL I return rune(0x01d526), true - case "igr": - // GREEK SMALL LETTER IOTA + case "igr": // GREEK SMALL LETTER IOTA return rune(0x03b9), true - case "igrave": - // LATIN SMALL LETTER I WITH GRAVE + case "igrave": // LATIN SMALL LETTER I WITH GRAVE return rune(0xec), true - case "iiint": - // TRIPLE INTEGRAL - return rune(0x222d), true - case "ii": - // DOUBLE-STRUCK ITALIC SMALL I + case "ii": // DOUBLE-STRUCK ITALIC SMALL I return rune(0x2148), true - case "iiiint": - // QUADRUPLE INTEGRAL OPERATOR + case "iiiint": // QUADRUPLE INTEGRAL OPERATOR return rune(0x2a0c), true - case "iinfin": - // INCOMPLETE INFINITY + case "iiint": // TRIPLE INTEGRAL + return rune(0x222d), true + case "iinfin": // INCOMPLETE INFINITY return rune(0x29dc), true - case "iiota": - // TURNED GREEK SMALL LETTER IOTA + case "iiota": // TURNED GREEK SMALL LETTER IOTA return rune(0x2129), true - case "ijlig": - // LATIN SMALL LIGATURE IJ + case "ijlig": // LATIN SMALL LIGATURE IJ return rune(0x0133), true - case "imacr": - // LATIN SMALL LETTER I WITH MACRON + case "imacr": // LATIN SMALL LETTER I WITH MACRON return rune(0x012b), true - case "image": - // BLACK-LETTER CAPITAL I + case "image": // BLACK-LETTER CAPITAL I return rune(0x2111), true - case "imagline": - // SCRIPT CAPITAL I + case "imagline": // SCRIPT CAPITAL I return rune(0x2110), true - case "imagpart": - // BLACK-LETTER CAPITAL I + case "imagpart": // BLACK-LETTER CAPITAL I return rune(0x2111), true - case "imath": - // LATIN SMALL LETTER DOTLESS I + case "imath": // LATIN SMALL LETTER DOTLESS I return rune(0x0131), true - case "imof": - // IMAGE OF + case "imof": // IMAGE OF return rune(0x22b7), true - case "imped": - // LATIN CAPITAL LETTER Z WITH STROKE + case "imped": // LATIN CAPITAL LETTER Z WITH STROKE return rune(0x01b5), true - case "in": - // ELEMENT OF + case "in": // ELEMENT OF return rune(0x2208), true - case "incare": - // CARE OF + case "incare": // CARE OF return rune(0x2105), true - case "infin": - // INFINITY + case "infin": // INFINITY return rune(0x221e), true - case "infintie": - // TIE OVER INFINITY + case "infintie": // TIE OVER INFINITY return rune(0x29dd), true - case "inodot": - // LATIN SMALL LETTER DOTLESS I + case "inodot": // LATIN SMALL LETTER DOTLESS I return rune(0x0131), true - case "int": - // INTEGRAL + case "int": // INTEGRAL return rune(0x222b), true - case "intcal": - // INTERCALATE + case "intcal": // INTERCALATE return rune(0x22ba), true - case "integers": - // DOUBLE-STRUCK CAPITAL Z + case "integers": // DOUBLE-STRUCK CAPITAL Z return rune(0x2124), true - case "intercal": - // INTERCALATE + case "intercal": // INTERCALATE return rune(0x22ba), true - case "intlarhk": - // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK + case "intlarhk": // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK return rune(0x2a17), true - case "intprod": - // INTERIOR PRODUCT + case "intprod": // INTERIOR PRODUCT return rune(0x2a3c), true - case "iocy": - // CYRILLIC SMALL LETTER IO + case "iocy": // CYRILLIC SMALL LETTER IO return rune(0x0451), true - case "iogon": - // LATIN SMALL LETTER I WITH OGONEK + case "iogon": // LATIN SMALL LETTER I WITH OGONEK return rune(0x012f), true - case "iopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL I + case "iopf": // MATHEMATICAL DOUBLE-STRUCK SMALL I return rune(0x01d55a), true - case "iota": - // GREEK SMALL LETTER IOTA + case "iota": // GREEK SMALL LETTER IOTA return rune(0x03b9), true - case "iprod": - // INTERIOR PRODUCT + case "iprod": // INTERIOR PRODUCT return rune(0x2a3c), true - case "iprodr": - // RIGHTHAND INTERIOR PRODUCT + case "iprodr": // RIGHTHAND INTERIOR PRODUCT return rune(0x2a3d), true - case "iquest": - // INVERTED QUESTION MARK + case "iquest": // INVERTED QUESTION MARK return rune(0xbf), true - case "iscr": - // MATHEMATICAL SCRIPT SMALL I + case "iscr": // MATHEMATICAL SCRIPT SMALL I return rune(0x01d4be), true - case "isin": - // ELEMENT OF + case "isin": // ELEMENT OF return rune(0x2208), true - case "isinE": - // ELEMENT OF WITH TWO HORIZONTAL STROKES + case "isinE": // ELEMENT OF WITH TWO HORIZONTAL STROKES return rune(0x22f9), true - case "isindot": - // ELEMENT OF WITH DOT ABOVE + case "isindot": // ELEMENT OF WITH DOT ABOVE return rune(0x22f5), true - case "isinsv": - // ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE - return rune(0x22f3), true - case "isins": - // SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE + case "isins": // SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE return rune(0x22f4), true - case "isinv": - // ELEMENT OF + case "isinsv": // ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE + return rune(0x22f3), true + case "isinv": // ELEMENT OF return rune(0x2208), true - case "isinvb": - // ELEMENT OF WITH UNDERBAR + case "isinvb": // ELEMENT OF WITH UNDERBAR return rune(0x22f8), true - case "it": - // INVISIBLE TIMES + case "it": // INVISIBLE TIMES return rune(0x2062), true - case "itilde": - // LATIN SMALL LETTER I WITH TILDE + case "itilde": // LATIN SMALL LETTER I WITH TILDE return rune(0x0129), true - case "iukcy": - // CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I + case "iukcy": // CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I return rune(0x0456), true - case "iuml": - // LATIN SMALL LETTER I WITH DIAERESIS + case "iuml": // LATIN SMALL LETTER I WITH DIAERESIS return rune(0xef), true } case 'j': switch name { - case "jcirc": - // LATIN SMALL LETTER J WITH CIRCUMFLEX + case "jcirc": // LATIN SMALL LETTER J WITH CIRCUMFLEX return rune(0x0135), true - case "jcy": - // CYRILLIC SMALL LETTER SHORT I + case "jcy": // CYRILLIC SMALL LETTER SHORT I return rune(0x0439), true - case "jfr": - // MATHEMATICAL FRAKTUR SMALL J + case "jfr": // MATHEMATICAL FRAKTUR SMALL J return rune(0x01d527), true - case "jmath": - // LATIN SMALL LETTER DOTLESS J + case "jmath": // LATIN SMALL LETTER DOTLESS J return rune(0x0237), true - case "jnodot": - // LATIN SMALL LETTER DOTLESS J + case "jnodot": // LATIN SMALL LETTER DOTLESS J return rune(0x0237), true - case "jopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL J + case "jopf": // MATHEMATICAL DOUBLE-STRUCK SMALL J return rune(0x01d55b), true - case "jscr": - // MATHEMATICAL SCRIPT SMALL J + case "jscr": // MATHEMATICAL SCRIPT SMALL J return rune(0x01d4bf), true - case "jsercy": - // CYRILLIC SMALL LETTER JE + case "jsercy": // CYRILLIC SMALL LETTER JE return rune(0x0458), true - case "jukcy": - // CYRILLIC SMALL LETTER UKRAINIAN IE + case "jukcy": // CYRILLIC SMALL LETTER UKRAINIAN IE return rune(0x0454), true } case 'k': switch name { - case "kappav": - // GREEK KAPPA SYMBOL - return rune(0x03f0), true - case "kappa": - // GREEK SMALL LETTER KAPPA + case "kappa": // GREEK SMALL LETTER KAPPA return rune(0x03ba), true - case "kcedil": - // LATIN SMALL LETTER K WITH CEDILLA + case "kappav": // GREEK KAPPA SYMBOL + return rune(0x03f0), true + case "kcedil": // LATIN SMALL LETTER K WITH CEDILLA return rune(0x0137), true - case "kcy": - // CYRILLIC SMALL LETTER KA + case "kcy": // CYRILLIC SMALL LETTER KA return rune(0x043a), true - case "kfr": - // MATHEMATICAL FRAKTUR SMALL K + case "kfr": // MATHEMATICAL FRAKTUR SMALL K return rune(0x01d528), true - case "kgr": - // GREEK SMALL LETTER KAPPA + case "kgr": // GREEK SMALL LETTER KAPPA return rune(0x03ba), true - case "kgreen": - // LATIN SMALL LETTER KRA + case "kgreen": // LATIN SMALL LETTER KRA return rune(0x0138), true - case "khcy": - // CYRILLIC SMALL LETTER HA + case "khcy": // CYRILLIC SMALL LETTER HA return rune(0x0445), true - case "khgr": - // GREEK SMALL LETTER CHI + case "khgr": // GREEK SMALL LETTER CHI return rune(0x03c7), true - case "kjcy": - // CYRILLIC SMALL LETTER KJE + case "kjcy": // CYRILLIC SMALL LETTER KJE return rune(0x045c), true - case "kopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL K + case "kopf": // MATHEMATICAL DOUBLE-STRUCK SMALL K return rune(0x01d55c), true - case "koppa": - // GREEK LETTER KOPPA + case "koppa": // GREEK LETTER KOPPA return rune(0x03de), true - case "kscr": - // MATHEMATICAL SCRIPT SMALL K + case "kscr": // MATHEMATICAL SCRIPT SMALL K return rune(0x01d4c0), true } case 'l': switch name { - case "lAarr": - // LEFTWARDS TRIPLE ARROW + case "lAarr": // LEFTWARDS TRIPLE ARROW return rune(0x21da), true - case "lArr": - // LEFTWARDS DOUBLE ARROW + case "lArr": // LEFTWARDS DOUBLE ARROW return rune(0x21d0), true - case "lAtail": - // LEFTWARDS DOUBLE ARROW-TAIL + case "lAtail": // LEFTWARDS DOUBLE ARROW-TAIL return rune(0x291b), true - case "lBarr": - // LEFTWARDS TRIPLE DASH ARROW + case "lBarr": // LEFTWARDS TRIPLE DASH ARROW return rune(0x290e), true - case "lE": - // LESS-THAN OVER EQUAL TO + case "lE": // LESS-THAN OVER EQUAL TO return rune(0x2266), true - case "lEg": - // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN + case "lEg": // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN return rune(0x2a8b), true - case "lHar": - // LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN + case "lHar": // LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN return rune(0x2962), true - case "lacute": - // LATIN SMALL LETTER L WITH ACUTE + case "lacute": // LATIN SMALL LETTER L WITH ACUTE return rune(0x013a), true - case "laemptyv": - // EMPTY SET WITH LEFT ARROW ABOVE + case "laemptyv": // EMPTY SET WITH LEFT ARROW ABOVE return rune(0x29b4), true - case "lagran": - // SCRIPT CAPITAL L + case "lagran": // SCRIPT CAPITAL L return rune(0x2112), true - case "lambda": - // GREEK SMALL LETTER LAMDA + case "lambda": // GREEK SMALL LETTER LAMDA return rune(0x03bb), true - case "lang": - // MATHEMATICAL LEFT ANGLE BRACKET + case "lang": // MATHEMATICAL LEFT ANGLE BRACKET return rune(0x27e8), true - case "langd": - // LEFT ANGLE BRACKET WITH DOT + case "langd": // LEFT ANGLE BRACKET WITH DOT return rune(0x2991), true - case "langle": - // MATHEMATICAL LEFT ANGLE BRACKET + case "langle": // MATHEMATICAL LEFT ANGLE BRACKET return rune(0x27e8), true - case "lap": - // LESS-THAN OR APPROXIMATE + case "lap": // LESS-THAN OR APPROXIMATE return rune(0x2a85), true - case "laquo": - // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + case "laquo": // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK return rune(0xab), true - case "larr2": - // LEFTWARDS PAIRED ARROWS + case "larr": // LEFTWARDS ARROW + return rune(0x2190), true + case "larr2": // LEFTWARDS PAIRED ARROWS return rune(0x21c7), true - case "larrb": - // LEFTWARDS ARROW TO BAR + case "larrb": // LEFTWARDS ARROW TO BAR return rune(0x21e4), true - case "larrhk": - // LEFTWARDS ARROW WITH HOOK - return rune(0x21a9), true - case "larrlp": - // LEFTWARDS ARROW WITH LOOP - return rune(0x21ab), true - case "larrtl": - // LEFTWARDS ARROW WITH TAIL - return rune(0x21a2), true - case "larr": - // LEFTWARDS ARROW - return rune(0x2190), true - case "larrbfs": - // LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND + case "larrbfs": // LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND return rune(0x291f), true - case "larrfs": - // LEFTWARDS ARROW TO BLACK DIAMOND + case "larrfs": // LEFTWARDS ARROW TO BLACK DIAMOND return rune(0x291d), true - case "larrpl": - // LEFT-SIDE ARC ANTICLOCKWISE ARROW + case "larrhk": // LEFTWARDS ARROW WITH HOOK + return rune(0x21a9), true + case "larrlp": // LEFTWARDS ARROW WITH LOOP + return rune(0x21ab), true + case "larrpl": // LEFT-SIDE ARC ANTICLOCKWISE ARROW return rune(0x2939), true - case "larrsim": - // LEFTWARDS ARROW ABOVE TILDE OPERATOR + case "larrsim": // LEFTWARDS ARROW ABOVE TILDE OPERATOR return rune(0x2973), true - case "latail": - // LEFTWARDS ARROW-TAIL - return rune(0x2919), true - case "lat": - // LARGER THAN + case "larrtl": // LEFTWARDS ARROW WITH TAIL + return rune(0x21a2), true + case "lat": // LARGER THAN return rune(0x2aab), true - case "late": - // LARGER THAN OR EQUAL TO + case "latail": // LEFTWARDS ARROW-TAIL + return rune(0x2919), true + case "late": // LARGER THAN OR EQUAL TO return rune(0x2aad), true - case "lates": - // LARGER THAN OR slanted EQUAL + case "lates": // LARGER THAN OR slanted EQUAL return rune(0x2aad), true - case "lbarr": - // LEFTWARDS DOUBLE DASH ARROW + case "lbarr": // LEFTWARDS DOUBLE DASH ARROW return rune(0x290c), true - case "lbbrk": - // LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT + case "lbbrk": // LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT return rune(0x2772), true - case "lbrace": - // LEFT CURLY BRACKET + case "lbrace": // LEFT CURLY BRACKET return rune(0x7b), true - case "lbrack": - // LEFT SQUARE BRACKET + case "lbrack": // LEFT SQUARE BRACKET return rune(0x5b), true - case "lbrke": - // LEFT SQUARE BRACKET WITH UNDERBAR + case "lbrke": // LEFT SQUARE BRACKET WITH UNDERBAR return rune(0x298b), true - case "lbrksld": - // LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER + case "lbrksld": // LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER return rune(0x298f), true - case "lbrkslu": - // LEFT SQUARE BRACKET WITH TICK IN TOP CORNER + case "lbrkslu": // LEFT SQUARE BRACKET WITH TICK IN TOP CORNER return rune(0x298d), true - case "lcaron": - // LATIN SMALL LETTER L WITH CARON + case "lcaron": // LATIN SMALL LETTER L WITH CARON return rune(0x013e), true - case "lcedil": - // LATIN SMALL LETTER L WITH CEDILLA + case "lcedil": // LATIN SMALL LETTER L WITH CEDILLA return rune(0x013c), true - case "lceil": - // LEFT CEILING + case "lceil": // LEFT CEILING return rune(0x2308), true - case "lcub": - // LEFT CURLY BRACKET + case "lcub": // LEFT CURLY BRACKET return rune(0x7b), true - case "lcy": - // CYRILLIC SMALL LETTER EL + case "lcy": // CYRILLIC SMALL LETTER EL return rune(0x043b), true - case "ldca": - // ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS + case "ldca": // ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS return rune(0x2936), true - case "ldharb": - // LEFTWARDS HARPOON WITH BARB DOWN TO BAR + case "ldharb": // LEFTWARDS HARPOON WITH BARB DOWN TO BAR return rune(0x2956), true - case "ldot": - // LESS-THAN WITH DOT + case "ldot": // LESS-THAN WITH DOT return rune(0x22d6), true - case "ldquor": - // DOUBLE LOW-9 QUOTATION MARK - return rune(0x201e), true - case "ldquo": - // LEFT DOUBLE QUOTATION MARK + case "ldquo": // LEFT DOUBLE QUOTATION MARK return rune(0x201c), true - case "ldrdhar": - // LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN + case "ldquor": // DOUBLE LOW-9 QUOTATION MARK + return rune(0x201e), true + case "ldrdhar": // LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN return rune(0x2967), true - case "ldrdshar": - // LEFT BARB DOWN RIGHT BARB DOWN HARPOON + case "ldrdshar": // LEFT BARB DOWN RIGHT BARB DOWN HARPOON return rune(0x2950), true - case "ldrushar": - // LEFT BARB DOWN RIGHT BARB UP HARPOON + case "ldrushar": // LEFT BARB DOWN RIGHT BARB UP HARPOON return rune(0x294b), true - case "ldsh": - // DOWNWARDS ARROW WITH TIP LEFTWARDS + case "ldsh": // DOWNWARDS ARROW WITH TIP LEFTWARDS return rune(0x21b2), true - case "leftarrowtail": - // LEFTWARDS ARROW WITH TAIL - return rune(0x21a2), true - case "leftarrow": - // LEFTWARDS ARROW + case "le": // LESS-THAN OR EQUAL TO + return rune(0x2264), true + case "leftarrow": // LEFTWARDS ARROW return rune(0x2190), true - case "leftharpoondown": - // LEFTWARDS HARPOON WITH BARB DOWNWARDS + case "leftarrowtail": // LEFTWARDS ARROW WITH TAIL + return rune(0x21a2), true + case "leftharpoondown": // LEFTWARDS HARPOON WITH BARB DOWNWARDS return rune(0x21bd), true - case "leftharpoonup": - // LEFTWARDS HARPOON WITH BARB UPWARDS + case "leftharpoonup": // LEFTWARDS HARPOON WITH BARB UPWARDS return rune(0x21bc), true - case "leftleftarrows": - // LEFTWARDS PAIRED ARROWS + case "leftleftarrows": // LEFTWARDS PAIRED ARROWS return rune(0x21c7), true - case "leftrightarrows": - // LEFTWARDS ARROW OVER RIGHTWARDS ARROW - return rune(0x21c6), true - case "leftrightarrow": - // LEFT RIGHT ARROW + case "leftrightarrow": // LEFT RIGHT ARROW return rune(0x2194), true - case "leftrightharpoons": - // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON + case "leftrightarrows": // LEFTWARDS ARROW OVER RIGHTWARDS ARROW + return rune(0x21c6), true + case "leftrightharpoons": // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON return rune(0x21cb), true - case "leftrightsquigarrow": - // LEFT RIGHT WAVE ARROW + case "leftrightsquigarrow": // LEFT RIGHT WAVE ARROW return rune(0x21ad), true - case "le": - // LESS-THAN OR EQUAL TO - return rune(0x2264), true - case "leftthreetimes": - // LEFT SEMIDIRECT PRODUCT + case "leftthreetimes": // LEFT SEMIDIRECT PRODUCT return rune(0x22cb), true - case "leg": - // LESS-THAN EQUAL TO OR GREATER-THAN + case "leg": // LESS-THAN EQUAL TO OR GREATER-THAN return rune(0x22da), true - case "leq": - // LESS-THAN OR EQUAL TO + case "leq": // LESS-THAN OR EQUAL TO return rune(0x2264), true - case "leqq": - // LESS-THAN OVER EQUAL TO + case "leqq": // LESS-THAN OVER EQUAL TO return rune(0x2266), true - case "leqslant": - // LESS-THAN OR SLANTED EQUAL TO + case "leqslant": // LESS-THAN OR SLANTED EQUAL TO return rune(0x2a7d), true - case "lesg": - // LESS-THAN slanted EQUAL TO OR GREATER-THAN - return rune(0x22da), true - case "lessdot": - // LESS-THAN WITH DOT - return rune(0x22d6), true - case "lesseqgtr": - // LESS-THAN EQUAL TO OR GREATER-THAN - return rune(0x22da), true - case "lessgtr": - // LESS-THAN OR GREATER-THAN - return rune(0x2276), true - case "lesssim": - // LESS-THAN OR EQUIVALENT TO - return rune(0x2272), true - case "les": - // LESS-THAN OR SLANTED EQUAL TO + case "les": // LESS-THAN OR SLANTED EQUAL TO return rune(0x2a7d), true - case "lescc": - // LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL + case "lescc": // LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL return rune(0x2aa8), true - case "lesdot": - // LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE + case "lesdot": // LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE return rune(0x2a7f), true - case "lesdoto": - // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE + case "lesdoto": // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE return rune(0x2a81), true - case "lesdotor": - // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT + case "lesdotor": // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT return rune(0x2a83), true - case "lesges": - // LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL + case "lesg": // LESS-THAN slanted EQUAL TO OR GREATER-THAN + return rune(0x22da), true + case "lesges": // LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL return rune(0x2a93), true - case "lessapprox": - // LESS-THAN OR APPROXIMATE + case "lessapprox": // LESS-THAN OR APPROXIMATE return rune(0x2a85), true - case "lesseqqgtr": - // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN + case "lessdot": // LESS-THAN WITH DOT + return rune(0x22d6), true + case "lesseqgtr": // LESS-THAN EQUAL TO OR GREATER-THAN + return rune(0x22da), true + case "lesseqqgtr": // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN return rune(0x2a8b), true - case "lfbowtie": - // BOWTIE WITH LEFT HALF BLACK + case "lessgtr": // LESS-THAN OR GREATER-THAN + return rune(0x2276), true + case "lesssim": // LESS-THAN OR EQUIVALENT TO + return rune(0x2272), true + case "lfbowtie": // BOWTIE WITH LEFT HALF BLACK return rune(0x29d1), true - case "lfisht": - // LEFT FISH TAIL + case "lfisht": // LEFT FISH TAIL return rune(0x297c), true - case "lfloor": - // LEFT FLOOR + case "lfloor": // LEFT FLOOR return rune(0x230a), true - case "lfr": - // MATHEMATICAL FRAKTUR SMALL L + case "lfr": // MATHEMATICAL FRAKTUR SMALL L return rune(0x01d529), true - case "lftimes": - // TIMES WITH LEFT HALF BLACK + case "lftimes": // TIMES WITH LEFT HALF BLACK return rune(0x29d4), true - case "lg": - // LESS-THAN OR GREATER-THAN + case "lg": // LESS-THAN OR GREATER-THAN return rune(0x2276), true - case "lgE": - // LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL + case "lgE": // LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL return rune(0x2a91), true - case "lgr": - // GREEK SMALL LETTER LAMDA + case "lgr": // GREEK SMALL LETTER LAMDA return rune(0x03bb), true - case "lhard": - // LEFTWARDS HARPOON WITH BARB DOWNWARDS + case "lhard": // LEFTWARDS HARPOON WITH BARB DOWNWARDS return rune(0x21bd), true - case "lharu": - // LEFTWARDS HARPOON WITH BARB UPWARDS + case "lharu": // LEFTWARDS HARPOON WITH BARB UPWARDS return rune(0x21bc), true - case "lharul": - // LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH + case "lharul": // LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH return rune(0x296a), true - case "lhblk": - // LOWER HALF BLOCK + case "lhblk": // LOWER HALF BLOCK return rune(0x2584), true - case "ljcy": - // CYRILLIC SMALL LETTER LJE + case "ljcy": // CYRILLIC SMALL LETTER LJE return rune(0x0459), true - case "llarr": - // LEFTWARDS PAIRED ARROWS - return rune(0x21c7), true - case "ll": - // MUCH LESS-THAN + case "ll": // MUCH LESS-THAN return rune(0x226a), true - case "llcorner": - // BOTTOM LEFT CORNER + case "llarr": // LEFTWARDS PAIRED ARROWS + return rune(0x21c7), true + case "llcorner": // BOTTOM LEFT CORNER return rune(0x231e), true - case "llhard": - // LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH + case "llhard": // LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH return rune(0x296b), true - case "lltrif": - // BLACK LOWER LEFT TRIANGLE - return rune(0x25e3), true - case "lltri": - // LOWER LEFT TRIANGLE + case "lltri": // LOWER LEFT TRIANGLE return rune(0x25fa), true - case "lmidot": - // LATIN SMALL LETTER L WITH MIDDLE DOT + case "lltrif": // BLACK LOWER LEFT TRIANGLE + return rune(0x25e3), true + case "lmidot": // LATIN SMALL LETTER L WITH MIDDLE DOT return rune(0x0140), true - case "lmoust": - // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION + case "lmoust": // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION return rune(0x23b0), true - case "lmoustache": - // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION + case "lmoustache": // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION return rune(0x23b0), true - case "lnE": - // LESS-THAN BUT NOT EQUAL TO + case "lnE": // LESS-THAN BUT NOT EQUAL TO return rune(0x2268), true - case "lnap": - // LESS-THAN AND NOT APPROXIMATE + case "lnap": // LESS-THAN AND NOT APPROXIMATE return rune(0x2a89), true - case "lnapprox": - // LESS-THAN AND NOT APPROXIMATE + case "lnapprox": // LESS-THAN AND NOT APPROXIMATE return rune(0x2a89), true - case "lneqq": - // LESS-THAN BUT NOT EQUAL TO - return rune(0x2268), true - case "lne": - // LESS-THAN AND SINGLE-LINE NOT EQUAL TO + case "lne": // LESS-THAN AND SINGLE-LINE NOT EQUAL TO return rune(0x2a87), true - case "lneq": - // LESS-THAN AND SINGLE-LINE NOT EQUAL TO + case "lneq": // LESS-THAN AND SINGLE-LINE NOT EQUAL TO return rune(0x2a87), true - case "lnsim": - // LESS-THAN BUT NOT EQUIVALENT TO + case "lneqq": // LESS-THAN BUT NOT EQUAL TO + return rune(0x2268), true + case "lnsim": // LESS-THAN BUT NOT EQUIVALENT TO return rune(0x22e6), true - case "loang": - // MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET + case "loang": // MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET return rune(0x27ec), true - case "loarr": - // LEFTWARDS OPEN-HEADED ARROW + case "loarr": // LEFTWARDS OPEN-HEADED ARROW return rune(0x21fd), true - case "lobrk": - // MATHEMATICAL LEFT WHITE SQUARE BRACKET + case "lobrk": // MATHEMATICAL LEFT WHITE SQUARE BRACKET return rune(0x27e6), true - case "locub": - // LEFT WHITE CURLY BRACKET + case "locub": // LEFT WHITE CURLY BRACKET return rune(0x2983), true - case "longleftarrow": - // LONG LEFTWARDS ARROW + case "longleftarrow": // LONG LEFTWARDS ARROW return rune(0x27f5), true - case "longleftrightarrow": - // LONG LEFT RIGHT ARROW + case "longleftrightarrow": // LONG LEFT RIGHT ARROW return rune(0x27f7), true - case "longmapsto": - // LONG RIGHTWARDS ARROW FROM BAR + case "longmapsto": // LONG RIGHTWARDS ARROW FROM BAR return rune(0x27fc), true - case "longrightarrow": - // LONG RIGHTWARDS ARROW + case "longrightarrow": // LONG RIGHTWARDS ARROW return rune(0x27f6), true - case "looparrowleft": - // LEFTWARDS ARROW WITH LOOP + case "looparrowleft": // LEFTWARDS ARROW WITH LOOP return rune(0x21ab), true - case "looparrowright": - // RIGHTWARDS ARROW WITH LOOP + case "looparrowright": // RIGHTWARDS ARROW WITH LOOP return rune(0x21ac), true - case "lopar": - // LEFT WHITE PARENTHESIS + case "lopar": // LEFT WHITE PARENTHESIS return rune(0x2985), true - case "lopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL L + case "lopf": // MATHEMATICAL DOUBLE-STRUCK SMALL L return rune(0x01d55d), true - case "loplus": - // PLUS SIGN IN LEFT HALF CIRCLE + case "loplus": // PLUS SIGN IN LEFT HALF CIRCLE return rune(0x2a2d), true - case "lotimes": - // MULTIPLICATION SIGN IN LEFT HALF CIRCLE + case "lotimes": // MULTIPLICATION SIGN IN LEFT HALF CIRCLE return rune(0x2a34), true - case "lowast": - // LOW ASTERISK + case "lowast": // LOW ASTERISK return rune(0x204e), true - case "lowbar": - // LOW LINE + case "lowbar": // LOW LINE return rune(0x5f), true - case "lowint": - // INTEGRAL WITH UNDERBAR + case "lowint": // INTEGRAL WITH UNDERBAR return rune(0x2a1c), true - case "loz": - // LOZENGE + case "loz": // LOZENGE return rune(0x25ca), true - case "lozenge": - // LOZENGE + case "lozenge": // LOZENGE return rune(0x25ca), true - case "lozf": - // BLACK LOZENGE + case "lozf": // BLACK LOZENGE return rune(0x29eb), true - case "lpargt": - // SPHERICAL ANGLE OPENING LEFT + case "lpar": // LEFT PARENTHESIS + return rune(0x28), true + case "lpargt": // SPHERICAL ANGLE OPENING LEFT return rune(0x29a0), true - case "lparlt": - // LEFT ARC LESS-THAN BRACKET + case "lparlt": // LEFT ARC LESS-THAN BRACKET return rune(0x2993), true - case "lpar": - // LEFT PARENTHESIS - return rune(0x28), true - case "lrarr2": - // LEFTWARDS ARROW OVER RIGHTWARDS ARROW + case "lrarr": // LEFTWARDS ARROW OVER RIGHTWARDS ARROW return rune(0x21c6), true - case "lrarr": - // LEFTWARDS ARROW OVER RIGHTWARDS ARROW + case "lrarr2": // LEFTWARDS ARROW OVER RIGHTWARDS ARROW return rune(0x21c6), true - case "lrcorner": - // BOTTOM RIGHT CORNER + case "lrcorner": // BOTTOM RIGHT CORNER return rune(0x231f), true - case "lrhar": - // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON + case "lrhar": // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON return rune(0x21cb), true - case "lrhar2": - // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON + case "lrhar2": // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON return rune(0x21cb), true - case "lrhard": - // RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH + case "lrhard": // RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH return rune(0x296d), true - case "lrm": - // LEFT-TO-RIGHT MARK + case "lrm": // LEFT-TO-RIGHT MARK return rune(0x200e), true - case "lrtri": - // RIGHT TRIANGLE + case "lrtri": // RIGHT TRIANGLE return rune(0x22bf), true - case "lsaquo": - // SINGLE LEFT-POINTING ANGLE QUOTATION MARK + case "lsaquo": // SINGLE LEFT-POINTING ANGLE QUOTATION MARK return rune(0x2039), true - case "lscr": - // MATHEMATICAL SCRIPT SMALL L + case "lscr": // MATHEMATICAL SCRIPT SMALL L return rune(0x01d4c1), true - case "lsh": - // UPWARDS ARROW WITH TIP LEFTWARDS + case "lsh": // UPWARDS ARROW WITH TIP LEFTWARDS return rune(0x21b0), true - case "lsim": - // LESS-THAN OR EQUIVALENT TO + case "lsim": // LESS-THAN OR EQUIVALENT TO return rune(0x2272), true - case "lsime": - // LESS-THAN ABOVE SIMILAR OR EQUAL + case "lsime": // LESS-THAN ABOVE SIMILAR OR EQUAL return rune(0x2a8d), true - case "lsimg": - // LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN + case "lsimg": // LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN return rune(0x2a8f), true - case "lsqb": - // LEFT SQUARE BRACKET + case "lsqb": // LEFT SQUARE BRACKET return rune(0x5b), true - case "lsquor": - // SINGLE LOW-9 QUOTATION MARK - return rune(0x201a), true - case "lsquo": - // LEFT SINGLE QUOTATION MARK + case "lsquo": // LEFT SINGLE QUOTATION MARK return rune(0x2018), true - case "lstrok": - // LATIN SMALL LETTER L WITH STROKE + case "lsquor": // SINGLE LOW-9 QUOTATION MARK + return rune(0x201a), true + case "lstrok": // LATIN SMALL LETTER L WITH STROKE return rune(0x0142), true - case "ltcc": - // LESS-THAN CLOSED BY CURVE + case "lt": // LESS-THAN SIGN + return rune(0x3c), true + case "ltcc": // LESS-THAN CLOSED BY CURVE return rune(0x2aa6), true - case "ltcir": - // LESS-THAN WITH CIRCLE INSIDE + case "ltcir": // LESS-THAN WITH CIRCLE INSIDE return rune(0x2a79), true - case "ltdot": - // LESS-THAN WITH DOT + case "ltdot": // LESS-THAN WITH DOT return rune(0x22d6), true - case "lthree": - // LEFT SEMIDIRECT PRODUCT + case "lthree": // LEFT SEMIDIRECT PRODUCT return rune(0x22cb), true - case "ltimes": - // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT + case "ltimes": // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT return rune(0x22c9), true - case "ltlarr": - // LESS-THAN ABOVE LEFTWARDS ARROW + case "ltlarr": // LESS-THAN ABOVE LEFTWARDS ARROW return rune(0x2976), true - case "ltquest": - // LESS-THAN WITH QUESTION MARK ABOVE + case "ltquest": // LESS-THAN WITH QUESTION MARK ABOVE return rune(0x2a7b), true - case "ltrPar": - // DOUBLE RIGHT ARC LESS-THAN BRACKET + case "ltrPar": // DOUBLE RIGHT ARC LESS-THAN BRACKET return rune(0x2996), true - case "ltrie": - // NORMAL SUBGROUP OF OR EQUAL TO + case "ltri": // WHITE LEFT-POINTING SMALL TRIANGLE + return rune(0x25c3), true + case "ltrie": // NORMAL SUBGROUP OF OR EQUAL TO return rune(0x22b4), true - case "ltrif": - // BLACK LEFT-POINTING SMALL TRIANGLE + case "ltrif": // BLACK LEFT-POINTING SMALL TRIANGLE return rune(0x25c2), true - case "ltri": - // WHITE LEFT-POINTING SMALL TRIANGLE - return rune(0x25c3), true - case "ltrivb": - // LEFT TRIANGLE BESIDE VERTICAL BAR + case "ltrivb": // LEFT TRIANGLE BESIDE VERTICAL BAR return rune(0x29cf), true - case "lt": - // LESS-THAN SIGN - return rune(0x3c), true - case "luharb": - // LEFTWARDS HARPOON WITH BARB UP TO BAR + case "luharb": // LEFTWARDS HARPOON WITH BARB UP TO BAR return rune(0x2952), true - case "lurdshar": - // LEFT BARB UP RIGHT BARB DOWN HARPOON + case "lurdshar": // LEFT BARB UP RIGHT BARB DOWN HARPOON return rune(0x294a), true - case "luruhar": - // LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP + case "luruhar": // LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP return rune(0x2966), true - case "lurushar": - // LEFT BARB UP RIGHT BARB UP HARPOON + case "lurushar": // LEFT BARB UP RIGHT BARB UP HARPOON return rune(0x294e), true - case "lvertneqq": - // LESS-THAN BUT NOT EQUAL TO - with vertical stroke + case "lvertneqq": // LESS-THAN BUT NOT EQUAL TO - with vertical stroke return rune(0x2268), true - case "lvnE": - // LESS-THAN BUT NOT EQUAL TO - with vertical stroke + case "lvnE": // LESS-THAN BUT NOT EQUAL TO - with vertical stroke return rune(0x2268), true } case 'm': switch name { - case "mDDot": - // GEOMETRIC PROPORTION + case "mDDot": // GEOMETRIC PROPORTION return rune(0x223a), true - case "macr": - // MACRON + case "macr": // MACRON return rune(0xaf), true - case "male": - // MALE SIGN + case "male": // MALE SIGN return rune(0x2642), true - case "malt": - // MALTESE CROSS + case "malt": // MALTESE CROSS return rune(0x2720), true - case "maltese": - // MALTESE CROSS + case "maltese": // MALTESE CROSS return rune(0x2720), true - case "mapstodown": - // DOWNWARDS ARROW FROM BAR - return rune(0x21a7), true - case "mapsto": - // RIGHTWARDS ARROW FROM BAR + case "map": // RIGHTWARDS ARROW FROM BAR return rune(0x21a6), true - case "map": - // RIGHTWARDS ARROW FROM BAR + case "mapsto": // RIGHTWARDS ARROW FROM BAR return rune(0x21a6), true - case "mapstoleft": - // LEFTWARDS ARROW FROM BAR + case "mapstodown": // DOWNWARDS ARROW FROM BAR + return rune(0x21a7), true + case "mapstoleft": // LEFTWARDS ARROW FROM BAR return rune(0x21a4), true - case "mapstoup": - // UPWARDS ARROW FROM BAR + case "mapstoup": // UPWARDS ARROW FROM BAR return rune(0x21a5), true - case "marker": - // BLACK VERTICAL RECTANGLE + case "marker": // BLACK VERTICAL RECTANGLE return rune(0x25ae), true - case "mcomma": - // MINUS SIGN WITH COMMA ABOVE + case "mcomma": // MINUS SIGN WITH COMMA ABOVE return rune(0x2a29), true - case "mcy": - // CYRILLIC SMALL LETTER EM + case "mcy": // CYRILLIC SMALL LETTER EM return rune(0x043c), true - case "mdash": - // EM DASH + case "mdash": // EM DASH return rune(0x2014), true - case "measuredangle": - // MEASURED ANGLE + case "measuredangle": // MEASURED ANGLE return rune(0x2221), true - case "mfr": - // MATHEMATICAL FRAKTUR SMALL M + case "mfr": // MATHEMATICAL FRAKTUR SMALL M return rune(0x01d52a), true - case "mgr": - // GREEK SMALL LETTER MU + case "mgr": // GREEK SMALL LETTER MU return rune(0x03bc), true - case "mho": - // INVERTED OHM SIGN + case "mho": // INVERTED OHM SIGN return rune(0x2127), true - case "micro": - // MICRO SIGN + case "micro": // MICRO SIGN return rune(0xb5), true - case "mid": - // DIVIDES + case "mid": // DIVIDES return rune(0x2223), true - case "midast": - // ASTERISK + case "midast": // ASTERISK return rune(0x2a), true - case "midcir": - // VERTICAL LINE WITH CIRCLE BELOW + case "midcir": // VERTICAL LINE WITH CIRCLE BELOW return rune(0x2af0), true - case "middot": - // MIDDLE DOT + case "middot": // MIDDLE DOT return rune(0xb7), true - case "minus": - // MINUS SIGN + case "minus": // MINUS SIGN return rune(0x2212), true - case "minusb": - // SQUARED MINUS + case "minusb": // SQUARED MINUS return rune(0x229f), true - case "minusd": - // DOT MINUS + case "minusd": // DOT MINUS return rune(0x2238), true - case "minusdu": - // MINUS SIGN WITH DOT BELOW + case "minusdu": // MINUS SIGN WITH DOT BELOW return rune(0x2a2a), true - case "mlcp": - // TRANSVERSAL INTERSECTION + case "mlcp": // TRANSVERSAL INTERSECTION return rune(0x2adb), true - case "mldr": - // HORIZONTAL ELLIPSIS + case "mldr": // HORIZONTAL ELLIPSIS return rune(0x2026), true - case "mnplus": - // MINUS-OR-PLUS SIGN + case "mnplus": // MINUS-OR-PLUS SIGN return rune(0x2213), true - case "models": - // MODELS + case "models": // MODELS return rune(0x22a7), true - case "mopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL M + case "mopf": // MATHEMATICAL DOUBLE-STRUCK SMALL M return rune(0x01d55e), true - case "mp": - // MINUS-OR-PLUS SIGN + case "mp": // MINUS-OR-PLUS SIGN return rune(0x2213), true - case "mscr": - // MATHEMATICAL SCRIPT SMALL M + case "mscr": // MATHEMATICAL SCRIPT SMALL M return rune(0x01d4c2), true - case "mstpos": - // INVERTED LAZY S + case "mstpos": // INVERTED LAZY S return rune(0x223e), true - case "multimap": - // MULTIMAP + case "mu": // GREEK SMALL LETTER MU + return rune(0x03bc), true + case "multimap": // MULTIMAP return rune(0x22b8), true - case "mumap": - // MULTIMAP + case "mumap": // MULTIMAP return rune(0x22b8), true - case "mu": - // GREEK SMALL LETTER MU - return rune(0x03bc), true } case 'n': switch name { - case "nGg": - // VERY MUCH GREATER-THAN with slash + case "nGg": // VERY MUCH GREATER-THAN with slash return rune(0x22d9), true - case "nGtv": - // MUCH GREATER THAN with slash + case "nGt": // MUCH GREATER THAN with vertical line return rune(0x226b), true - case "nGt": - // MUCH GREATER THAN with vertical line + case "nGtv": // MUCH GREATER THAN with slash return rune(0x226b), true - case "nLeftarrow": - // LEFTWARDS DOUBLE ARROW WITH STROKE + case "nLeftarrow": // LEFTWARDS DOUBLE ARROW WITH STROKE return rune(0x21cd), true - case "nLeftrightarrow": - // LEFT RIGHT DOUBLE ARROW WITH STROKE + case "nLeftrightarrow": // LEFT RIGHT DOUBLE ARROW WITH STROKE return rune(0x21ce), true - case "nLl": - // VERY MUCH LESS-THAN with slash + case "nLl": // VERY MUCH LESS-THAN with slash return rune(0x22d8), true - case "nLtv": - // MUCH LESS THAN with slash + case "nLt": // MUCH LESS THAN with vertical line return rune(0x226a), true - case "nLt": - // MUCH LESS THAN with vertical line + case "nLtv": // MUCH LESS THAN with slash return rune(0x226a), true - case "nRightarrow": - // RIGHTWARDS DOUBLE ARROW WITH STROKE + case "nRightarrow": // RIGHTWARDS DOUBLE ARROW WITH STROKE return rune(0x21cf), true - case "nVDash": - // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE + case "nVDash": // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE return rune(0x22af), true - case "nVdash": - // DOES NOT FORCE + case "nVdash": // DOES NOT FORCE return rune(0x22ae), true - case "nabla": - // NABLA + case "nabla": // NABLA return rune(0x2207), true - case "nacute": - // LATIN SMALL LETTER N WITH ACUTE + case "nacute": // LATIN SMALL LETTER N WITH ACUTE return rune(0x0144), true - case "nang": - // ANGLE with vertical line + case "nang": // ANGLE with vertical line return rune(0x2220), true - case "nap": - // NOT ALMOST EQUAL TO + case "nap": // NOT ALMOST EQUAL TO return rune(0x2249), true - case "napE": - // APPROXIMATELY EQUAL OR EQUAL TO with slash + case "napE": // APPROXIMATELY EQUAL OR EQUAL TO with slash return rune(0x2a70), true - case "napid": - // TRIPLE TILDE with slash + case "napid": // TRIPLE TILDE with slash return rune(0x224b), true - case "napos": - // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE + case "napos": // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE return rune(0x0149), true - case "napprox": - // NOT ALMOST EQUAL TO + case "napprox": // NOT ALMOST EQUAL TO return rune(0x2249), true - case "naturals": - // DOUBLE-STRUCK CAPITAL N - return rune(0x2115), true - case "natur": - // MUSIC NATURAL SIGN + case "natur": // MUSIC NATURAL SIGN return rune(0x266e), true - case "natural": - // MUSIC NATURAL SIGN + case "natural": // MUSIC NATURAL SIGN return rune(0x266e), true - case "nbsp": - // NO-BREAK SPACE + case "naturals": // DOUBLE-STRUCK CAPITAL N + return rune(0x2115), true + case "nbsp": // NO-BREAK SPACE return rune(0xa0), true - case "nbump": - // GEOMETRICALLY EQUIVALENT TO with slash + case "nbump": // GEOMETRICALLY EQUIVALENT TO with slash return rune(0x224e), true - case "nbumpe": - // DIFFERENCE BETWEEN with slash + case "nbumpe": // DIFFERENCE BETWEEN with slash return rune(0x224f), true - case "ncap": - // INTERSECTION WITH OVERBAR + case "ncap": // INTERSECTION WITH OVERBAR return rune(0x2a43), true - case "ncaron": - // LATIN SMALL LETTER N WITH CARON + case "ncaron": // LATIN SMALL LETTER N WITH CARON return rune(0x0148), true - case "ncedil": - // LATIN SMALL LETTER N WITH CEDILLA + case "ncedil": // LATIN SMALL LETTER N WITH CEDILLA return rune(0x0146), true - case "ncong": - // NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO + case "ncong": // NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO return rune(0x2247), true - case "ncongdot": - // CONGRUENT WITH DOT ABOVE with slash + case "ncongdot": // CONGRUENT WITH DOT ABOVE with slash return rune(0x2a6d), true - case "ncup": - // UNION WITH OVERBAR + case "ncup": // UNION WITH OVERBAR return rune(0x2a42), true - case "ncy": - // CYRILLIC SMALL LETTER EN + case "ncy": // CYRILLIC SMALL LETTER EN return rune(0x043d), true - case "ndash": - // EN DASH + case "ndash": // EN DASH return rune(0x2013), true - case "neArr": - // NORTH EAST DOUBLE ARROW + case "ne": // NOT EQUAL TO + return rune(0x2260), true + case "neArr": // NORTH EAST DOUBLE ARROW return rune(0x21d7), true - case "nearrow": - // NORTH EAST ARROW + case "nearhk": // NORTH EAST ARROW WITH HOOK + return rune(0x2924), true + case "nearr": // NORTH EAST ARROW return rune(0x2197), true - case "nearr": - // NORTH EAST ARROW + case "nearrow": // NORTH EAST ARROW return rune(0x2197), true - case "nedot": - // APPROACHES THE LIMIT with slash + case "nedot": // APPROACHES THE LIMIT with slash return rune(0x2250), true - case "nesim": - // MINUS TILDE with slash - return rune(0x2242), true - case "nexist": - // THERE DOES NOT EXIST - return rune(0x2204), true - case "nexists": - // THERE DOES NOT EXIST - return rune(0x2204), true - case "ne": - // NOT EQUAL TO - return rune(0x2260), true - case "nearhk": - // NORTH EAST ARROW WITH HOOK - return rune(0x2924), true - case "neonwarr": - // NORTH EAST ARROW CROSSING NORTH WEST ARROW + case "neonwarr": // NORTH EAST ARROW CROSSING NORTH WEST ARROW return rune(0x2931), true - case "neosearr": - // NORTH EAST ARROW CROSSING SOUTH EAST ARROW + case "neosearr": // NORTH EAST ARROW CROSSING SOUTH EAST ARROW return rune(0x292e), true - case "nequiv": - // NOT IDENTICAL TO + case "nequiv": // NOT IDENTICAL TO return rune(0x2262), true - case "nesear": - // NORTH EAST ARROW AND SOUTH EAST ARROW + case "nesear": // NORTH EAST ARROW AND SOUTH EAST ARROW return rune(0x2928), true - case "neswsarr": - // NORTH EAST AND SOUTH WEST ARROW + case "nesim": // MINUS TILDE with slash + return rune(0x2242), true + case "neswsarr": // NORTH EAST AND SOUTH WEST ARROW return rune(0x2922), true - case "nfr": - // MATHEMATICAL FRAKTUR SMALL N + case "nexist": // THERE DOES NOT EXIST + return rune(0x2204), true + case "nexists": // THERE DOES NOT EXIST + return rune(0x2204), true + case "nfr": // MATHEMATICAL FRAKTUR SMALL N return rune(0x01d52b), true - case "ngE": - // GREATER-THAN OVER EQUAL TO with slash - return rune(0x2267), true - case "ngeqq": - // GREATER-THAN OVER EQUAL TO with slash + case "ngE": // GREATER-THAN OVER EQUAL TO with slash return rune(0x2267), true - case "nge": - // NEITHER GREATER-THAN NOR EQUAL TO + case "nge": // NEITHER GREATER-THAN NOR EQUAL TO return rune(0x2271), true - case "ngeq": - // NEITHER GREATER-THAN NOR EQUAL TO + case "ngeq": // NEITHER GREATER-THAN NOR EQUAL TO return rune(0x2271), true - case "ngeqslant": - // GREATER-THAN OR SLANTED EQUAL TO with slash + case "ngeqq": // GREATER-THAN OVER EQUAL TO with slash + return rune(0x2267), true + case "ngeqslant": // GREATER-THAN OR SLANTED EQUAL TO with slash return rune(0x2a7e), true - case "nges": - // GREATER-THAN OR SLANTED EQUAL TO with slash + case "nges": // GREATER-THAN OR SLANTED EQUAL TO with slash return rune(0x2a7e), true - case "ngr": - // GREEK SMALL LETTER NU + case "ngr": // GREEK SMALL LETTER NU return rune(0x03bd), true - case "ngsim": - // NEITHER GREATER-THAN NOR EQUIVALENT TO + case "ngsim": // NEITHER GREATER-THAN NOR EQUIVALENT TO return rune(0x2275), true - case "ngt": - // NOT GREATER-THAN + case "ngt": // NOT GREATER-THAN return rune(0x226f), true - case "ngtr": - // NOT GREATER-THAN + case "ngtr": // NOT GREATER-THAN return rune(0x226f), true - case "nhArr": - // LEFT RIGHT DOUBLE ARROW WITH STROKE + case "nhArr": // LEFT RIGHT DOUBLE ARROW WITH STROKE return rune(0x21ce), true - case "nharr": - // LEFT RIGHT ARROW WITH STROKE + case "nharr": // LEFT RIGHT ARROW WITH STROKE return rune(0x21ae), true - case "nhpar": - // PARALLEL WITH HORIZONTAL STROKE + case "nhpar": // PARALLEL WITH HORIZONTAL STROKE return rune(0x2af2), true - case "niv": - // CONTAINS AS MEMBER - return rune(0x220b), true - case "ni": - // CONTAINS AS MEMBER + case "ni": // CONTAINS AS MEMBER return rune(0x220b), true - case "nisd": - // CONTAINS WITH LONG HORIZONTAL STROKE - return rune(0x22fa), true - case "nis": - // SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE + case "nis": // SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE return rune(0x22fc), true - case "njcy": - // CYRILLIC SMALL LETTER NJE + case "nisd": // CONTAINS WITH LONG HORIZONTAL STROKE + return rune(0x22fa), true + case "niv": // CONTAINS AS MEMBER + return rune(0x220b), true + case "njcy": // CYRILLIC SMALL LETTER NJE return rune(0x045a), true - case "nlArr": - // LEFTWARDS DOUBLE ARROW WITH STROKE + case "nlArr": // LEFTWARDS DOUBLE ARROW WITH STROKE return rune(0x21cd), true - case "nlE": - // LESS-THAN OVER EQUAL TO with slash + case "nlE": // LESS-THAN OVER EQUAL TO with slash return rune(0x2266), true - case "nlarr": - // LEFTWARDS ARROW WITH STROKE + case "nlarr": // LEFTWARDS ARROW WITH STROKE return rune(0x219a), true - case "nldr": - // TWO DOT LEADER + case "nldr": // TWO DOT LEADER return rune(0x2025), true - case "nleftarrow": - // LEFTWARDS ARROW WITH STROKE + case "nle": // NEITHER LESS-THAN NOR EQUAL TO + return rune(0x2270), true + case "nleftarrow": // LEFTWARDS ARROW WITH STROKE return rune(0x219a), true - case "nleftrightarrow": - // LEFT RIGHT ARROW WITH STROKE + case "nleftrightarrow": // LEFT RIGHT ARROW WITH STROKE return rune(0x21ae), true - case "nleqq": - // LESS-THAN OVER EQUAL TO with slash - return rune(0x2266), true - case "nless": - // NOT LESS-THAN - return rune(0x226e), true - case "nle": - // NEITHER LESS-THAN NOR EQUAL TO + case "nleq": // NEITHER LESS-THAN NOR EQUAL TO return rune(0x2270), true - case "nleq": - // NEITHER LESS-THAN NOR EQUAL TO - return rune(0x2270), true - case "nleqslant": - // LESS-THAN OR SLANTED EQUAL TO with slash + case "nleqq": // LESS-THAN OVER EQUAL TO with slash + return rune(0x2266), true + case "nleqslant": // LESS-THAN OR SLANTED EQUAL TO with slash return rune(0x2a7d), true - case "nles": - // LESS-THAN OR SLANTED EQUAL TO with slash + case "nles": // LESS-THAN OR SLANTED EQUAL TO with slash return rune(0x2a7d), true - case "nlsim": - // NEITHER LESS-THAN NOR EQUIVALENT TO + case "nless": // NOT LESS-THAN + return rune(0x226e), true + case "nlsim": // NEITHER LESS-THAN NOR EQUIVALENT TO return rune(0x2274), true - case "nlt": - // NOT LESS-THAN + case "nlt": // NOT LESS-THAN return rune(0x226e), true - case "nltri": - // NOT NORMAL SUBGROUP OF + case "nltri": // NOT NORMAL SUBGROUP OF return rune(0x22ea), true - case "nltrie": - // NOT NORMAL SUBGROUP OF OR EQUAL TO + case "nltrie": // NOT NORMAL SUBGROUP OF OR EQUAL TO return rune(0x22ec), true - case "nltrivb": - // LEFT TRIANGLE BESIDE VERTICAL BAR with slash + case "nltrivb": // LEFT TRIANGLE BESIDE VERTICAL BAR with slash return rune(0x29cf), true - case "nmid": - // DOES NOT DIVIDE + case "nmid": // DOES NOT DIVIDE return rune(0x2224), true - case "nopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL N + case "nopf": // MATHEMATICAL DOUBLE-STRUCK SMALL N return rune(0x01d55f), true - case "notin": - // NOT AN ELEMENT OF + case "not": // NOT SIGN + return rune(0xac), true + case "notin": // NOT AN ELEMENT OF return rune(0x2209), true - case "notinE": - // ELEMENT OF WITH TWO HORIZONTAL STROKES with slash + case "notinE": // ELEMENT OF WITH TWO HORIZONTAL STROKES with slash return rune(0x22f9), true - case "notindot": - // ELEMENT OF WITH DOT ABOVE with slash + case "notindot": // ELEMENT OF WITH DOT ABOVE with slash return rune(0x22f5), true - case "notinva": - // NOT AN ELEMENT OF + case "notinva": // NOT AN ELEMENT OF return rune(0x2209), true - case "notinvb": - // SMALL ELEMENT OF WITH OVERBAR + case "notinvb": // SMALL ELEMENT OF WITH OVERBAR return rune(0x22f7), true - case "notinvc": - // ELEMENT OF WITH OVERBAR + case "notinvc": // ELEMENT OF WITH OVERBAR return rune(0x22f6), true - case "notni": - // DOES NOT CONTAIN AS MEMBER + case "notni": // DOES NOT CONTAIN AS MEMBER return rune(0x220c), true - case "notniva": - // DOES NOT CONTAIN AS MEMBER + case "notniva": // DOES NOT CONTAIN AS MEMBER return rune(0x220c), true - case "notnivb": - // SMALL CONTAINS WITH OVERBAR + case "notnivb": // SMALL CONTAINS WITH OVERBAR return rune(0x22fe), true - case "notnivc": - // CONTAINS WITH OVERBAR + case "notnivc": // CONTAINS WITH OVERBAR return rune(0x22fd), true - case "not": - // NOT SIGN - return rune(0xac), true - case "npart": - // PARTIAL DIFFERENTIAL with slash - return rune(0x2202), true - case "npar": - // NOT PARALLEL TO + case "npar": // NOT PARALLEL TO return rune(0x2226), true - case "nparallel": - // NOT PARALLEL TO + case "nparallel": // NOT PARALLEL TO return rune(0x2226), true - case "nparsl": - // DOUBLE SOLIDUS OPERATOR with reverse slash + case "nparsl": // DOUBLE SOLIDUS OPERATOR with reverse slash return rune(0x2afd), true - case "npolint": - // LINE INTEGRATION NOT INCLUDING THE POLE + case "npart": // PARTIAL DIFFERENTIAL with slash + return rune(0x2202), true + case "npolint": // LINE INTEGRATION NOT INCLUDING THE POLE return rune(0x2a14), true - case "nprsim": - // PRECEDES OR EQUIVALENT TO with slash - return rune(0x227e), true - case "npr": - // DOES NOT PRECEDE + case "npr": // DOES NOT PRECEDE return rune(0x2280), true - case "nprcue": - // DOES NOT PRECEDE OR EQUAL + case "nprcue": // DOES NOT PRECEDE OR EQUAL return rune(0x22e0), true - case "nprec": - // DOES NOT PRECEDE - return rune(0x2280), true - case "npre": - // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash + case "npre": // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash return rune(0x2aaf), true - case "npreceq": - // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash + case "nprec": // DOES NOT PRECEDE + return rune(0x2280), true + case "npreceq": // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash return rune(0x2aaf), true - case "nrArr": - // RIGHTWARDS DOUBLE ARROW WITH STROKE + case "nprsim": // PRECEDES OR EQUIVALENT TO with slash + return rune(0x227e), true + case "nrArr": // RIGHTWARDS DOUBLE ARROW WITH STROKE return rune(0x21cf), true - case "nrarrw": - // RIGHTWARDS WAVE ARROW with slash - return rune(0x219d), true - case "nrarr": - // RIGHTWARDS ARROW WITH STROKE + case "nrarr": // RIGHTWARDS ARROW WITH STROKE return rune(0x219b), true - case "nrarrc": - // WAVE ARROW POINTING DIRECTLY RIGHT with slash + case "nrarrc": // WAVE ARROW POINTING DIRECTLY RIGHT with slash return rune(0x2933), true - case "nrightarrow": - // RIGHTWARDS ARROW WITH STROKE + case "nrarrw": // RIGHTWARDS WAVE ARROW with slash + return rune(0x219d), true + case "nrightarrow": // RIGHTWARDS ARROW WITH STROKE return rune(0x219b), true - case "nrtri": - // DOES NOT CONTAIN AS NORMAL SUBGROUP + case "nrtri": // DOES NOT CONTAIN AS NORMAL SUBGROUP return rune(0x22eb), true - case "nrtrie": - // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL + case "nrtrie": // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL return rune(0x22ed), true - case "nsGt": - // DOUBLE NESTED GREATER-THAN with slash + case "nsGt": // DOUBLE NESTED GREATER-THAN with slash return rune(0x2aa2), true - case "nsLt": - // DOUBLE NESTED LESS-THAN with slash + case "nsLt": // DOUBLE NESTED LESS-THAN with slash return rune(0x2aa1), true - case "nscsim": - // SUCCEEDS OR EQUIVALENT TO with slash - return rune(0x227f), true - case "nsc": - // DOES NOT SUCCEED + case "nsc": // DOES NOT SUCCEED return rune(0x2281), true - case "nsccue": - // DOES NOT SUCCEED OR EQUAL + case "nsccue": // DOES NOT SUCCEED OR EQUAL return rune(0x22e1), true - case "nsce": - // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash + case "nsce": // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash return rune(0x2ab0), true - case "nscr": - // MATHEMATICAL SCRIPT SMALL N + case "nscr": // MATHEMATICAL SCRIPT SMALL N return rune(0x01d4c3), true - case "nshortmid": - // DOES NOT DIVIDE + case "nscsim": // SUCCEEDS OR EQUIVALENT TO with slash + return rune(0x227f), true + case "nshortmid": // DOES NOT DIVIDE return rune(0x2224), true - case "nshortparallel": - // NOT PARALLEL TO + case "nshortparallel": // NOT PARALLEL TO return rune(0x2226), true - case "nsim": - // NOT TILDE + case "nsim": // NOT TILDE return rune(0x2241), true - case "nsime": - // NOT ASYMPTOTICALLY EQUAL TO + case "nsime": // NOT ASYMPTOTICALLY EQUAL TO return rune(0x2244), true - case "nsimeq": - // NOT ASYMPTOTICALLY EQUAL TO + case "nsimeq": // NOT ASYMPTOTICALLY EQUAL TO return rune(0x2244), true - case "nsmid": - // DOES NOT DIVIDE + case "nsmid": // DOES NOT DIVIDE return rune(0x2224), true - case "nspar": - // NOT PARALLEL TO + case "nspar": // NOT PARALLEL TO return rune(0x2226), true - case "nsqsub": - // SQUARE IMAGE OF with slash + case "nsqsub": // SQUARE IMAGE OF with slash return rune(0x228f), true - case "nsqsube": - // NOT SQUARE IMAGE OF OR EQUAL TO + case "nsqsube": // NOT SQUARE IMAGE OF OR EQUAL TO return rune(0x22e2), true - case "nsqsup": - // SQUARE ORIGINAL OF with slash + case "nsqsup": // SQUARE ORIGINAL OF with slash return rune(0x2290), true - case "nsqsupe": - // NOT SQUARE ORIGINAL OF OR EQUAL TO + case "nsqsupe": // NOT SQUARE ORIGINAL OF OR EQUAL TO return rune(0x22e3), true - case "nsubset": - // SUBSET OF with vertical line - return rune(0x2282), true - case "nsub": - // NOT A SUBSET OF + case "nsub": // NOT A SUBSET OF return rune(0x2284), true - case "nsubE": - // SUBSET OF ABOVE EQUALS SIGN with slash + case "nsubE": // SUBSET OF ABOVE EQUALS SIGN with slash return rune(0x2ac5), true - case "nsube": - // NEITHER A SUBSET OF NOR EQUAL TO + case "nsube": // NEITHER A SUBSET OF NOR EQUAL TO return rune(0x2288), true - case "nsubseteq": - // NEITHER A SUBSET OF NOR EQUAL TO + case "nsubset": // SUBSET OF with vertical line + return rune(0x2282), true + case "nsubseteq": // NEITHER A SUBSET OF NOR EQUAL TO return rune(0x2288), true - case "nsubseteqq": - // SUBSET OF ABOVE EQUALS SIGN with slash + case "nsubseteqq": // SUBSET OF ABOVE EQUALS SIGN with slash return rune(0x2ac5), true - case "nsucc": - // DOES NOT SUCCEED + case "nsucc": // DOES NOT SUCCEED return rune(0x2281), true - case "nsucceq": - // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash + case "nsucceq": // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash return rune(0x2ab0), true - case "nsupset": - // SUPERSET OF with vertical line - return rune(0x2283), true - case "nsup": - // NOT A SUPERSET OF + case "nsup": // NOT A SUPERSET OF return rune(0x2285), true - case "nsupE": - // SUPERSET OF ABOVE EQUALS SIGN with slash + case "nsupE": // SUPERSET OF ABOVE EQUALS SIGN with slash return rune(0x2ac6), true - case "nsupe": - // NEITHER A SUPERSET OF NOR EQUAL TO + case "nsupe": // NEITHER A SUPERSET OF NOR EQUAL TO return rune(0x2289), true - case "nsupseteq": - // NEITHER A SUPERSET OF NOR EQUAL TO + case "nsupset": // SUPERSET OF with vertical line + return rune(0x2283), true + case "nsupseteq": // NEITHER A SUPERSET OF NOR EQUAL TO return rune(0x2289), true - case "nsupseteqq": - // SUPERSET OF ABOVE EQUALS SIGN with slash + case "nsupseteqq": // SUPERSET OF ABOVE EQUALS SIGN with slash return rune(0x2ac6), true - case "ntgl": - // NEITHER GREATER-THAN NOR LESS-THAN + case "ntgl": // NEITHER GREATER-THAN NOR LESS-THAN return rune(0x2279), true - case "ntilde": - // LATIN SMALL LETTER N WITH TILDE + case "ntilde": // LATIN SMALL LETTER N WITH TILDE return rune(0xf1), true - case "ntlg": - // NEITHER LESS-THAN NOR GREATER-THAN + case "ntlg": // NEITHER LESS-THAN NOR GREATER-THAN return rune(0x2278), true - case "ntriangleleft": - // NOT NORMAL SUBGROUP OF + case "ntriangleleft": // NOT NORMAL SUBGROUP OF return rune(0x22ea), true - case "ntrianglelefteq": - // NOT NORMAL SUBGROUP OF OR EQUAL TO + case "ntrianglelefteq": // NOT NORMAL SUBGROUP OF OR EQUAL TO return rune(0x22ec), true - case "ntriangleright": - // DOES NOT CONTAIN AS NORMAL SUBGROUP + case "ntriangleright": // DOES NOT CONTAIN AS NORMAL SUBGROUP return rune(0x22eb), true - case "ntrianglerighteq": - // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL + case "ntrianglerighteq": // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL return rune(0x22ed), true - case "numero": - // NUMERO SIGN - return rune(0x2116), true - case "numsp": - // FIGURE SPACE - return rune(0x2007), true - case "nu": - // GREEK SMALL LETTER NU + case "nu": // GREEK SMALL LETTER NU return rune(0x03bd), true - case "num": - // NUMBER SIGN + case "num": // NUMBER SIGN return rune(0x23), true - case "nvDash": - // NOT TRUE + case "numero": // NUMERO SIGN + return rune(0x2116), true + case "numsp": // FIGURE SPACE + return rune(0x2007), true + case "nvDash": // NOT TRUE return rune(0x22ad), true - case "nvHarr": - // LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE + case "nvHarr": // LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE return rune(0x2904), true - case "nvap": - // EQUIVALENT TO with vertical line + case "nvap": // EQUIVALENT TO with vertical line return rune(0x224d), true - case "nvbrtri": - // VERTICAL BAR BESIDE RIGHT TRIANGLE with slash + case "nvbrtri": // VERTICAL BAR BESIDE RIGHT TRIANGLE with slash return rune(0x29d0), true - case "nvdash": - // DOES NOT PROVE + case "nvdash": // DOES NOT PROVE return rune(0x22ac), true - case "nvge": - // GREATER-THAN OR EQUAL TO with vertical line + case "nvge": // GREATER-THAN OR EQUAL TO with vertical line return rune(0x2265), true - case "nvgt": - // GREATER-THAN SIGN with vertical line + case "nvgt": // GREATER-THAN SIGN with vertical line return rune(0x3e), true - case "nvinfin": - // INFINITY NEGATED WITH VERTICAL BAR + case "nvinfin": // INFINITY NEGATED WITH VERTICAL BAR return rune(0x29de), true - case "nvlArr": - // LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE + case "nvlArr": // LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE return rune(0x2902), true - case "nvle": - // LESS-THAN OR EQUAL TO with vertical line + case "nvle": // LESS-THAN OR EQUAL TO with vertical line return rune(0x2264), true - case "nvltrie": - // NORMAL SUBGROUP OF OR EQUAL TO with vertical line - return rune(0x22b4), true - case "nvlt": - // LESS-THAN SIGN with vertical line + case "nvlt": // LESS-THAN SIGN with vertical line return rune(0x3c), true - case "nvrArr": - // RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE + case "nvltrie": // NORMAL SUBGROUP OF OR EQUAL TO with vertical line + return rune(0x22b4), true + case "nvrArr": // RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE return rune(0x2903), true - case "nvrtrie": - // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO with vertical line + case "nvrtrie": // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO with vertical line return rune(0x22b5), true - case "nvsim": - // TILDE OPERATOR with vertical line + case "nvsim": // TILDE OPERATOR with vertical line return rune(0x223c), true - case "nwArr": - // NORTH WEST DOUBLE ARROW + case "nwArr": // NORTH WEST DOUBLE ARROW return rune(0x21d6), true - case "nwarhk": - // NORTH WEST ARROW WITH HOOK + case "nwarhk": // NORTH WEST ARROW WITH HOOK return rune(0x2923), true - case "nwarrow": - // NORTH WEST ARROW + case "nwarr": // NORTH WEST ARROW return rune(0x2196), true - case "nwarr": - // NORTH WEST ARROW + case "nwarrow": // NORTH WEST ARROW return rune(0x2196), true - case "nwnear": - // NORTH WEST ARROW AND NORTH EAST ARROW + case "nwnear": // NORTH WEST ARROW AND NORTH EAST ARROW return rune(0x2927), true - case "nwonearr": - // NORTH WEST ARROW CROSSING NORTH EAST ARROW + case "nwonearr": // NORTH WEST ARROW CROSSING NORTH EAST ARROW return rune(0x2932), true - case "nwsesarr": - // NORTH WEST AND SOUTH EAST ARROW + case "nwsesarr": // NORTH WEST AND SOUTH EAST ARROW return rune(0x2921), true } case 'o': switch name { - case "oS": - // CIRCLED LATIN CAPITAL LETTER S + case "oS": // CIRCLED LATIN CAPITAL LETTER S return rune(0x24c8), true - case "oacgr": - // GREEK SMALL LETTER OMICRON WITH TONOS + case "oacgr": // GREEK SMALL LETTER OMICRON WITH TONOS return rune(0x03cc), true - case "oacute": - // LATIN SMALL LETTER O WITH ACUTE + case "oacute": // LATIN SMALL LETTER O WITH ACUTE return rune(0xf3), true - case "oast": - // CIRCLED ASTERISK OPERATOR + case "oast": // CIRCLED ASTERISK OPERATOR return rune(0x229b), true - case "obsol": - // CIRCLED REVERSE SOLIDUS + case "obsol": // CIRCLED REVERSE SOLIDUS return rune(0x29b8), true - case "ocir": - // CIRCLED RING OPERATOR + case "ocir": // CIRCLED RING OPERATOR return rune(0x229a), true - case "ocirc": - // LATIN SMALL LETTER O WITH CIRCUMFLEX + case "ocirc": // LATIN SMALL LETTER O WITH CIRCUMFLEX return rune(0xf4), true - case "ocy": - // CYRILLIC SMALL LETTER O + case "ocy": // CYRILLIC SMALL LETTER O return rune(0x043e), true - case "odash": - // CIRCLED DASH + case "odash": // CIRCLED DASH return rune(0x229d), true - case "odblac": - // LATIN SMALL LETTER O WITH DOUBLE ACUTE + case "odblac": // LATIN SMALL LETTER O WITH DOUBLE ACUTE return rune(0x0151), true - case "odiv": - // CIRCLED DIVISION SIGN + case "odiv": // CIRCLED DIVISION SIGN return rune(0x2a38), true - case "odot": - // CIRCLED DOT OPERATOR + case "odot": // CIRCLED DOT OPERATOR return rune(0x2299), true - case "odsold": - // CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN + case "odsold": // CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN return rune(0x29bc), true - case "oelig": - // LATIN SMALL LIGATURE OE + case "oelig": // LATIN SMALL LIGATURE OE return rune(0x0153), true - case "ofcir": - // CIRCLED BULLET + case "ofcir": // CIRCLED BULLET return rune(0x29bf), true - case "ofr": - // MATHEMATICAL FRAKTUR SMALL O + case "ofr": // MATHEMATICAL FRAKTUR SMALL O return rune(0x01d52c), true - case "ogon": - // OGONEK + case "ogon": // OGONEK return rune(0x02db), true - case "ogr": - // GREEK SMALL LETTER OMICRON + case "ogr": // GREEK SMALL LETTER OMICRON return rune(0x03bf), true - case "ograve": - // LATIN SMALL LETTER O WITH GRAVE + case "ograve": // LATIN SMALL LETTER O WITH GRAVE return rune(0xf2), true - case "ogt": - // CIRCLED GREATER-THAN + case "ogt": // CIRCLED GREATER-THAN return rune(0x29c1), true - case "ohacgr": - // GREEK SMALL LETTER OMEGA WITH TONOS + case "ohacgr": // GREEK SMALL LETTER OMEGA WITH TONOS return rune(0x03ce), true - case "ohbar": - // CIRCLE WITH HORIZONTAL BAR + case "ohbar": // CIRCLE WITH HORIZONTAL BAR return rune(0x29b5), true - case "ohgr": - // GREEK SMALL LETTER OMEGA + case "ohgr": // GREEK SMALL LETTER OMEGA return rune(0x03c9), true - case "ohm": - // GREEK CAPITAL LETTER OMEGA + case "ohm": // GREEK CAPITAL LETTER OMEGA return rune(0x03a9), true - case "oint": - // CONTOUR INTEGRAL + case "oint": // CONTOUR INTEGRAL return rune(0x222e), true - case "olarr": - // ANTICLOCKWISE OPEN CIRCLE ARROW + case "olarr": // ANTICLOCKWISE OPEN CIRCLE ARROW return rune(0x21ba), true - case "olcir": - // CIRCLED WHITE BULLET + case "olcir": // CIRCLED WHITE BULLET return rune(0x29be), true - case "olcross": - // CIRCLE WITH SUPERIMPOSED X + case "olcross": // CIRCLE WITH SUPERIMPOSED X return rune(0x29bb), true - case "oline": - // OVERLINE + case "oline": // OVERLINE return rune(0x203e), true - case "olt": - // CIRCLED LESS-THAN + case "olt": // CIRCLED LESS-THAN return rune(0x29c0), true - case "omacr": - // LATIN SMALL LETTER O WITH MACRON + case "omacr": // LATIN SMALL LETTER O WITH MACRON return rune(0x014d), true - case "omega": - // GREEK SMALL LETTER OMEGA + case "omega": // GREEK SMALL LETTER OMEGA return rune(0x03c9), true - case "omicron": - // GREEK SMALL LETTER OMICRON + case "omicron": // GREEK SMALL LETTER OMICRON return rune(0x03bf), true - case "omid": - // CIRCLED VERTICAL BAR + case "omid": // CIRCLED VERTICAL BAR return rune(0x29b6), true - case "ominus": - // CIRCLED MINUS + case "ominus": // CIRCLED MINUS return rune(0x2296), true - case "oopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL O + case "oopf": // MATHEMATICAL DOUBLE-STRUCK SMALL O return rune(0x01d560), true - case "opar": - // CIRCLED PARALLEL + case "opar": // CIRCLED PARALLEL return rune(0x29b7), true - case "operp": - // CIRCLED PERPENDICULAR + case "operp": // CIRCLED PERPENDICULAR return rune(0x29b9), true - case "opfgamma": - // DOUBLE-STRUCK SMALL GAMMA + case "opfgamma": // DOUBLE-STRUCK SMALL GAMMA return rune(0x213d), true - case "opfpi": - // DOUBLE-STRUCK CAPITAL PI + case "opfpi": // DOUBLE-STRUCK CAPITAL PI return rune(0x213f), true - case "opfsum": - // DOUBLE-STRUCK N-ARY SUMMATION + case "opfsum": // DOUBLE-STRUCK N-ARY SUMMATION return rune(0x2140), true - case "oplus": - // CIRCLED PLUS + case "oplus": // CIRCLED PLUS return rune(0x2295), true - case "orarr": - // CLOCKWISE OPEN CIRCLE ARROW - return rune(0x21bb), true - case "or": - // LOGICAL OR + case "or": // LOGICAL OR return rune(0x2228), true - case "orderof": - // SCRIPT SMALL O + case "orarr": // CLOCKWISE OPEN CIRCLE ARROW + return rune(0x21bb), true + case "ord": // LOGICAL OR WITH HORIZONTAL DASH + return rune(0x2a5d), true + case "order": // SCRIPT SMALL O return rune(0x2134), true - case "order": - // SCRIPT SMALL O + case "orderof": // SCRIPT SMALL O return rune(0x2134), true - case "ord": - // LOGICAL OR WITH HORIZONTAL DASH - return rune(0x2a5d), true - case "ordf": - // FEMININE ORDINAL INDICATOR + case "ordf": // FEMININE ORDINAL INDICATOR return rune(0xaa), true - case "ordm": - // MASCULINE ORDINAL INDICATOR + case "ordm": // MASCULINE ORDINAL INDICATOR return rune(0xba), true - case "origof": - // ORIGINAL OF + case "origof": // ORIGINAL OF return rune(0x22b6), true - case "oror": - // TWO INTERSECTING LOGICAL OR + case "oror": // TWO INTERSECTING LOGICAL OR return rune(0x2a56), true - case "orslope": - // SLOPING LARGE OR + case "orslope": // SLOPING LARGE OR return rune(0x2a57), true - case "orv": - // LOGICAL OR WITH MIDDLE STEM + case "orv": // LOGICAL OR WITH MIDDLE STEM return rune(0x2a5b), true - case "oscr": - // SCRIPT SMALL O + case "oscr": // SCRIPT SMALL O return rune(0x2134), true - case "oslash": - // LATIN SMALL LETTER O WITH STROKE + case "oslash": // LATIN SMALL LETTER O WITH STROKE return rune(0xf8), true - case "osol": - // CIRCLED DIVISION SLASH + case "osol": // CIRCLED DIVISION SLASH return rune(0x2298), true - case "otilde": - // LATIN SMALL LETTER O WITH TILDE + case "otilde": // LATIN SMALL LETTER O WITH TILDE return rune(0xf5), true - case "otimes": - // CIRCLED TIMES + case "otimes": // CIRCLED TIMES return rune(0x2297), true - case "otimesas": - // CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT + case "otimesas": // CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT return rune(0x2a36), true - case "ouml": - // LATIN SMALL LETTER O WITH DIAERESIS + case "ouml": // LATIN SMALL LETTER O WITH DIAERESIS return rune(0xf6), true - case "ovbar": - // APL FUNCTIONAL SYMBOL CIRCLE STILE + case "ovbar": // APL FUNCTIONAL SYMBOL CIRCLE STILE return rune(0x233d), true - case "ovrbrk": - // TOP SQUARE BRACKET + case "ovrbrk": // TOP SQUARE BRACKET return rune(0x23b4), true - case "ovrcub": - // TOP CURLY BRACKET + case "ovrcub": // TOP CURLY BRACKET return rune(0x23de), true - case "ovrpar": - // TOP PARENTHESIS + case "ovrpar": // TOP PARENTHESIS return rune(0x23dc), true - case "oxuarr": - // UP ARROW THROUGH CIRCLE + case "oxuarr": // UP ARROW THROUGH CIRCLE return rune(0x29bd), true } case 'p': switch name { - case "part": - // PARTIAL DIFFERENTIAL - return rune(0x2202), true - case "par": - // PARALLEL TO + case "par": // PARALLEL TO return rune(0x2225), true - case "parallel": - // PARALLEL TO - return rune(0x2225), true - case "para": - // PILCROW SIGN + case "para": // PILCROW SIGN return rune(0xb6), true - case "parsim": - // PARALLEL WITH TILDE OPERATOR + case "parallel": // PARALLEL TO + return rune(0x2225), true + case "parsim": // PARALLEL WITH TILDE OPERATOR return rune(0x2af3), true - case "parsl": - // DOUBLE SOLIDUS OPERATOR + case "parsl": // DOUBLE SOLIDUS OPERATOR return rune(0x2afd), true - case "pcy": - // CYRILLIC SMALL LETTER PE + case "part": // PARTIAL DIFFERENTIAL + return rune(0x2202), true + case "pcy": // CYRILLIC SMALL LETTER PE return rune(0x043f), true - case "percnt": - // PERCENT SIGN + case "percnt": // PERCENT SIGN return rune(0x25), true - case "period": - // FULL STOP + case "period": // FULL STOP return rune(0x2e), true - case "permil": - // PER MILLE SIGN + case "permil": // PER MILLE SIGN return rune(0x2030), true - case "perp": - // UP TACK + case "perp": // UP TACK return rune(0x22a5), true - case "pertenk": - // PER TEN THOUSAND SIGN + case "pertenk": // PER TEN THOUSAND SIGN return rune(0x2031), true - case "pfr": - // MATHEMATICAL FRAKTUR SMALL P + case "pfr": // MATHEMATICAL FRAKTUR SMALL P return rune(0x01d52d), true - case "pgr": - // GREEK SMALL LETTER PI + case "pgr": // GREEK SMALL LETTER PI return rune(0x03c0), true - case "phgr": - // GREEK SMALL LETTER PHI + case "phgr": // GREEK SMALL LETTER PHI + return rune(0x03c6), true + case "phi": // GREEK SMALL LETTER PHI return rune(0x03c6), true - case "phis": - // GREEK PHI SYMBOL + case "phis": // GREEK PHI SYMBOL return rune(0x03d5), true - case "phiv": - // GREEK PHI SYMBOL + case "phiv": // GREEK PHI SYMBOL return rune(0x03d5), true - case "phi": - // GREEK SMALL LETTER PHI - return rune(0x03c6), true - case "phmmat": - // SCRIPT CAPITAL M + case "phmmat": // SCRIPT CAPITAL M return rune(0x2133), true - case "phone": - // BLACK TELEPHONE + case "phone": // BLACK TELEPHONE return rune(0x260e), true - case "pitchfork": - // PITCHFORK + case "pi": // GREEK SMALL LETTER PI + return rune(0x03c0), true + case "pitchfork": // PITCHFORK return rune(0x22d4), true - case "piv": - // GREEK PI SYMBOL + case "piv": // GREEK PI SYMBOL return rune(0x03d6), true - case "pi": - // GREEK SMALL LETTER PI - return rune(0x03c0), true - case "planck": - // PLANCK CONSTANT OVER TWO PI + case "planck": // PLANCK CONSTANT OVER TWO PI return rune(0x210f), true - case "planckh": - // PLANCK CONSTANT + case "planckh": // PLANCK CONSTANT return rune(0x210e), true - case "plankv": - // PLANCK CONSTANT OVER TWO PI + case "plankv": // PLANCK CONSTANT OVER TWO PI return rune(0x210f), true - case "plusacir": - // PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE + case "plus": // PLUS SIGN + return rune(0x2b), true + case "plusacir": // PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE return rune(0x2a23), true - case "plusb": - // SQUARED PLUS + case "plusb": // SQUARED PLUS return rune(0x229e), true - case "pluscir": - // PLUS SIGN WITH SMALL CIRCLE ABOVE + case "pluscir": // PLUS SIGN WITH SMALL CIRCLE ABOVE return rune(0x2a22), true - case "plusdo": - // DOT PLUS + case "plusdo": // DOT PLUS return rune(0x2214), true - case "plusdu": - // PLUS SIGN WITH DOT BELOW + case "plusdu": // PLUS SIGN WITH DOT BELOW return rune(0x2a25), true - case "pluse": - // PLUS SIGN ABOVE EQUALS SIGN + case "pluse": // PLUS SIGN ABOVE EQUALS SIGN return rune(0x2a72), true - case "plusmn": - // PLUS-MINUS SIGN + case "plusmn": // PLUS-MINUS SIGN return rune(0xb1), true - case "plussim": - // PLUS SIGN WITH TILDE BELOW + case "plussim": // PLUS SIGN WITH TILDE BELOW return rune(0x2a26), true - case "plustrif": - // PLUS SIGN WITH BLACK TRIANGLE + case "plustrif": // PLUS SIGN WITH BLACK TRIANGLE return rune(0x2a28), true - case "plustwo": - // PLUS SIGN WITH SUBSCRIPT TWO + case "plustwo": // PLUS SIGN WITH SUBSCRIPT TWO return rune(0x2a27), true - case "plus": - // PLUS SIGN - return rune(0x2b), true - case "pm": - // PLUS-MINUS SIGN + case "pm": // PLUS-MINUS SIGN return rune(0xb1), true - case "pointint": - // INTEGRAL AROUND A POINT OPERATOR + case "pointint": // INTEGRAL AROUND A POINT OPERATOR return rune(0x2a15), true - case "popf": - // MATHEMATICAL DOUBLE-STRUCK SMALL P + case "popf": // MATHEMATICAL DOUBLE-STRUCK SMALL P return rune(0x01d561), true - case "pound": - // POUND SIGN + case "pound": // POUND SIGN return rune(0xa3), true - case "prod": - // N-ARY PRODUCT - return rune(0x220f), true - case "prop": - // PROPORTIONAL TO - return rune(0x221d), true - case "propto": - // PROPORTIONAL TO - return rune(0x221d), true - case "pr": - // PRECEDES + case "pr": // PRECEDES return rune(0x227a), true - case "prE": - // PRECEDES ABOVE EQUALS SIGN + case "prE": // PRECEDES ABOVE EQUALS SIGN return rune(0x2ab3), true - case "prap": - // PRECEDES ABOVE ALMOST EQUAL TO + case "prap": // PRECEDES ABOVE ALMOST EQUAL TO return rune(0x2ab7), true - case "prcue": - // PRECEDES OR EQUAL TO - return rune(0x227c), true - case "prec": - // PRECEDES - return rune(0x227a), true - case "preccurlyeq": - // PRECEDES OR EQUAL TO + case "prcue": // PRECEDES OR EQUAL TO return rune(0x227c), true - case "precnsim": - // PRECEDES BUT NOT EQUIVALENT TO - return rune(0x22e8), true - case "precsim": - // PRECEDES OR EQUIVALENT TO - return rune(0x227e), true - case "pre": - // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + case "pre": // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN return rune(0x2aaf), true - case "precapprox": - // PRECEDES ABOVE ALMOST EQUAL TO + case "prec": // PRECEDES + return rune(0x227a), true + case "precapprox": // PRECEDES ABOVE ALMOST EQUAL TO return rune(0x2ab7), true - case "preceq": - // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + case "preccurlyeq": // PRECEDES OR EQUAL TO + return rune(0x227c), true + case "preceq": // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN return rune(0x2aaf), true - case "precnapprox": - // PRECEDES ABOVE NOT ALMOST EQUAL TO + case "precnapprox": // PRECEDES ABOVE NOT ALMOST EQUAL TO return rune(0x2ab9), true - case "precneqq": - // PRECEDES ABOVE NOT EQUAL TO + case "precneqq": // PRECEDES ABOVE NOT EQUAL TO return rune(0x2ab5), true - case "primes": - // DOUBLE-STRUCK CAPITAL P - return rune(0x2119), true - case "prime": - // PRIME + case "precnsim": // PRECEDES BUT NOT EQUIVALENT TO + return rune(0x22e8), true + case "precsim": // PRECEDES OR EQUIVALENT TO + return rune(0x227e), true + case "prime": // PRIME return rune(0x2032), true - case "prnE": - // PRECEDES ABOVE NOT EQUAL TO + case "primes": // DOUBLE-STRUCK CAPITAL P + return rune(0x2119), true + case "prnE": // PRECEDES ABOVE NOT EQUAL TO return rune(0x2ab5), true - case "prnap": - // PRECEDES ABOVE NOT ALMOST EQUAL TO + case "prnap": // PRECEDES ABOVE NOT ALMOST EQUAL TO return rune(0x2ab9), true - case "prnsim": - // PRECEDES BUT NOT EQUIVALENT TO + case "prnsim": // PRECEDES BUT NOT EQUIVALENT TO return rune(0x22e8), true - case "profalar": - // ALL AROUND-PROFILE + case "prod": // N-ARY PRODUCT + return rune(0x220f), true + case "profalar": // ALL AROUND-PROFILE return rune(0x232e), true - case "profline": - // ARC + case "profline": // ARC return rune(0x2312), true - case "profsurf": - // SEGMENT + case "profsurf": // SEGMENT return rune(0x2313), true - case "prsim": - // PRECEDES OR EQUIVALENT TO + case "prop": // PROPORTIONAL TO + return rune(0x221d), true + case "propto": // PROPORTIONAL TO + return rune(0x221d), true + case "prsim": // PRECEDES OR EQUIVALENT TO return rune(0x227e), true - case "prurel": - // PRECEDES UNDER RELATION + case "prurel": // PRECEDES UNDER RELATION return rune(0x22b0), true - case "pscr": - // MATHEMATICAL SCRIPT SMALL P + case "pscr": // MATHEMATICAL SCRIPT SMALL P return rune(0x01d4c5), true - case "psgr": - // GREEK SMALL LETTER PSI + case "psgr": // GREEK SMALL LETTER PSI return rune(0x03c8), true - case "psi": - // GREEK SMALL LETTER PSI + case "psi": // GREEK SMALL LETTER PSI return rune(0x03c8), true - case "puncsp": - // PUNCTUATION SPACE + case "puncsp": // PUNCTUATION SPACE return rune(0x2008), true } case 'q': switch name { - case "qfr": - // MATHEMATICAL FRAKTUR SMALL Q + case "qfr": // MATHEMATICAL FRAKTUR SMALL Q return rune(0x01d52e), true - case "qint": - // QUADRUPLE INTEGRAL OPERATOR + case "qint": // QUADRUPLE INTEGRAL OPERATOR return rune(0x2a0c), true - case "qopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL Q + case "qopf": // MATHEMATICAL DOUBLE-STRUCK SMALL Q return rune(0x01d562), true - case "qprime": - // QUADRUPLE PRIME + case "qprime": // QUADRUPLE PRIME return rune(0x2057), true - case "qscr": - // MATHEMATICAL SCRIPT SMALL Q + case "qscr": // MATHEMATICAL SCRIPT SMALL Q return rune(0x01d4c6), true - case "quaternions": - // DOUBLE-STRUCK CAPITAL H + case "quaternions": // DOUBLE-STRUCK CAPITAL H return rune(0x210d), true - case "quatint": - // QUATERNION INTEGRAL OPERATOR + case "quatint": // QUATERNION INTEGRAL OPERATOR return rune(0x2a16), true - case "questeq": - // QUESTIONED EQUAL TO - return rune(0x225f), true - case "quest": - // QUESTION MARK + case "quest": // QUESTION MARK return rune(0x3f), true - case "quot": - // QUOTATION MARK + case "questeq": // QUESTIONED EQUAL TO + return rune(0x225f), true + case "quot": // QUOTATION MARK return rune(0x22), true } case 'r': switch name { - case "rAarr": - // RIGHTWARDS TRIPLE ARROW + case "rAarr": // RIGHTWARDS TRIPLE ARROW return rune(0x21db), true - case "rArr": - // RIGHTWARDS DOUBLE ARROW + case "rArr": // RIGHTWARDS DOUBLE ARROW return rune(0x21d2), true - case "rAtail": - // RIGHTWARDS DOUBLE ARROW-TAIL + case "rAtail": // RIGHTWARDS DOUBLE ARROW-TAIL return rune(0x291c), true - case "rBarr": - // RIGHTWARDS TRIPLE DASH ARROW + case "rBarr": // RIGHTWARDS TRIPLE DASH ARROW return rune(0x290f), true - case "rHar": - // RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN + case "rHar": // RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN return rune(0x2964), true - case "race": - // REVERSED TILDE with underline + case "race": // REVERSED TILDE with underline return rune(0x223d), true - case "racute": - // LATIN SMALL LETTER R WITH ACUTE + case "racute": // LATIN SMALL LETTER R WITH ACUTE return rune(0x0155), true - case "radic": - // SQUARE ROOT + case "radic": // SQUARE ROOT return rune(0x221a), true - case "raemptyv": - // EMPTY SET WITH RIGHT ARROW ABOVE + case "raemptyv": // EMPTY SET WITH RIGHT ARROW ABOVE return rune(0x29b3), true - case "rang": - // MATHEMATICAL RIGHT ANGLE BRACKET + case "rang": // MATHEMATICAL RIGHT ANGLE BRACKET return rune(0x27e9), true - case "rangd": - // RIGHT ANGLE BRACKET WITH DOT + case "rangd": // RIGHT ANGLE BRACKET WITH DOT return rune(0x2992), true - case "range": - // REVERSED ANGLE WITH UNDERBAR + case "range": // REVERSED ANGLE WITH UNDERBAR return rune(0x29a5), true - case "rangle": - // MATHEMATICAL RIGHT ANGLE BRACKET + case "rangle": // MATHEMATICAL RIGHT ANGLE BRACKET return rune(0x27e9), true - case "raquo": - // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + case "raquo": // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK return rune(0xbb), true - case "rarr2": - // RIGHTWARDS PAIRED ARROWS + case "rarr": // RIGHTWARDS ARROW + return rune(0x2192), true + case "rarr2": // RIGHTWARDS PAIRED ARROWS return rune(0x21c9), true - case "rarr3": - // THREE RIGHTWARDS ARROWS + case "rarr3": // THREE RIGHTWARDS ARROWS return rune(0x21f6), true - case "rarrb": - // RIGHTWARDS ARROW TO BAR - return rune(0x21e5), true - case "rarrhk": - // RIGHTWARDS ARROW WITH HOOK - return rune(0x21aa), true - case "rarrlp": - // RIGHTWARDS ARROW WITH LOOP - return rune(0x21ac), true - case "rarrtl": - // RIGHTWARDS ARROW WITH TAIL - return rune(0x21a3), true - case "rarrw": - // RIGHTWARDS WAVE ARROW - return rune(0x219d), true - case "rarr": - // RIGHTWARDS ARROW - return rune(0x2192), true - case "rarrap": - // RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO + case "rarrap": // RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO return rune(0x2975), true - case "rarrbfs": - // RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND + case "rarrb": // RIGHTWARDS ARROW TO BAR + return rune(0x21e5), true + case "rarrbfs": // RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND return rune(0x2920), true - case "rarrc": - // WAVE ARROW POINTING DIRECTLY RIGHT + case "rarrc": // WAVE ARROW POINTING DIRECTLY RIGHT return rune(0x2933), true - case "rarrfs": - // RIGHTWARDS ARROW TO BLACK DIAMOND + case "rarrfs": // RIGHTWARDS ARROW TO BLACK DIAMOND return rune(0x291e), true - case "rarrpl": - // RIGHTWARDS ARROW WITH PLUS BELOW + case "rarrhk": // RIGHTWARDS ARROW WITH HOOK + return rune(0x21aa), true + case "rarrlp": // RIGHTWARDS ARROW WITH LOOP + return rune(0x21ac), true + case "rarrpl": // RIGHTWARDS ARROW WITH PLUS BELOW return rune(0x2945), true - case "rarrsim": - // RIGHTWARDS ARROW ABOVE TILDE OPERATOR + case "rarrsim": // RIGHTWARDS ARROW ABOVE TILDE OPERATOR return rune(0x2974), true - case "rarrx": - // RIGHTWARDS ARROW THROUGH X + case "rarrtl": // RIGHTWARDS ARROW WITH TAIL + return rune(0x21a3), true + case "rarrw": // RIGHTWARDS WAVE ARROW + return rune(0x219d), true + case "rarrx": // RIGHTWARDS ARROW THROUGH X return rune(0x2947), true - case "ratail": - // RIGHTWARDS ARROW-TAIL + case "ratail": // RIGHTWARDS ARROW-TAIL return rune(0x291a), true - case "ratio": - // RATIO + case "ratio": // RATIO return rune(0x2236), true - case "rationals": - // DOUBLE-STRUCK CAPITAL Q + case "rationals": // DOUBLE-STRUCK CAPITAL Q return rune(0x211a), true - case "rbarr": - // RIGHTWARDS DOUBLE DASH ARROW + case "rbarr": // RIGHTWARDS DOUBLE DASH ARROW return rune(0x290d), true - case "rbbrk": - // LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT + case "rbbrk": // LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT return rune(0x2773), true - case "rbrace": - // RIGHT CURLY BRACKET + case "rbrace": // RIGHT CURLY BRACKET return rune(0x7d), true - case "rbrack": - // RIGHT SQUARE BRACKET + case "rbrack": // RIGHT SQUARE BRACKET return rune(0x5d), true - case "rbrke": - // RIGHT SQUARE BRACKET WITH UNDERBAR + case "rbrke": // RIGHT SQUARE BRACKET WITH UNDERBAR return rune(0x298c), true - case "rbrksld": - // RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER + case "rbrksld": // RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER return rune(0x298e), true - case "rbrkslu": - // RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER + case "rbrkslu": // RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER return rune(0x2990), true - case "rcaron": - // LATIN SMALL LETTER R WITH CARON + case "rcaron": // LATIN SMALL LETTER R WITH CARON return rune(0x0159), true - case "rcedil": - // LATIN SMALL LETTER R WITH CEDILLA + case "rcedil": // LATIN SMALL LETTER R WITH CEDILLA return rune(0x0157), true - case "rceil": - // RIGHT CEILING + case "rceil": // RIGHT CEILING return rune(0x2309), true - case "rcub": - // RIGHT CURLY BRACKET + case "rcub": // RIGHT CURLY BRACKET return rune(0x7d), true - case "rcy": - // CYRILLIC SMALL LETTER ER + case "rcy": // CYRILLIC SMALL LETTER ER return rune(0x0440), true - case "rdca": - // ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS + case "rdca": // ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS return rune(0x2937), true - case "rdharb": - // RIGHTWARDS HARPOON WITH BARB DOWN TO BAR + case "rdharb": // RIGHTWARDS HARPOON WITH BARB DOWN TO BAR return rune(0x2957), true - case "rdiag": - // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT + case "rdiag": // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT return rune(0x2571), true - case "rdiofdi": - // RISING DIAGONAL CROSSING FALLING DIAGONAL + case "rdiofdi": // RISING DIAGONAL CROSSING FALLING DIAGONAL return rune(0x292b), true - case "rdldhar": - // RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN + case "rdldhar": // RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN return rune(0x2969), true - case "rdosearr": - // RISING DIAGONAL CROSSING SOUTH EAST ARROW + case "rdosearr": // RISING DIAGONAL CROSSING SOUTH EAST ARROW return rune(0x2930), true - case "rdquor": - // RIGHT DOUBLE QUOTATION MARK + case "rdquo": // RIGHT DOUBLE QUOTATION MARK return rune(0x201d), true - case "rdquo": - // RIGHT DOUBLE QUOTATION MARK + case "rdquor": // RIGHT DOUBLE QUOTATION MARK return rune(0x201d), true - case "rdsh": - // DOWNWARDS ARROW WITH TIP RIGHTWARDS + case "rdsh": // DOWNWARDS ARROW WITH TIP RIGHTWARDS return rune(0x21b3), true - case "realpart": - // BLACK-LETTER CAPITAL R + case "real": // BLACK-LETTER CAPITAL R return rune(0x211c), true - case "reals": - // DOUBLE-STRUCK CAPITAL R - return rune(0x211d), true - case "real": - // BLACK-LETTER CAPITAL R - return rune(0x211c), true - case "realine": - // SCRIPT CAPITAL R + case "realine": // SCRIPT CAPITAL R return rune(0x211b), true - case "rect": - // WHITE RECTANGLE + case "realpart": // BLACK-LETTER CAPITAL R + return rune(0x211c), true + case "reals": // DOUBLE-STRUCK CAPITAL R + return rune(0x211d), true + case "rect": // WHITE RECTANGLE return rune(0x25ad), true - case "reg": - // REGISTERED SIGN + case "reg": // REGISTERED SIGN return rune(0xae), true - case "rfbowtie": - // BOWTIE WITH RIGHT HALF BLACK + case "rfbowtie": // BOWTIE WITH RIGHT HALF BLACK return rune(0x29d2), true - case "rfisht": - // RIGHT FISH TAIL + case "rfisht": // RIGHT FISH TAIL return rune(0x297d), true - case "rfloor": - // RIGHT FLOOR + case "rfloor": // RIGHT FLOOR return rune(0x230b), true - case "rfr": - // MATHEMATICAL FRAKTUR SMALL R + case "rfr": // MATHEMATICAL FRAKTUR SMALL R return rune(0x01d52f), true - case "rftimes": - // TIMES WITH RIGHT HALF BLACK + case "rftimes": // TIMES WITH RIGHT HALF BLACK return rune(0x29d5), true - case "rgr": - // GREEK SMALL LETTER RHO + case "rgr": // GREEK SMALL LETTER RHO return rune(0x03c1), true - case "rhard": - // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + case "rhard": // RIGHTWARDS HARPOON WITH BARB DOWNWARDS return rune(0x21c1), true - case "rharu": - // RIGHTWARDS HARPOON WITH BARB UPWARDS + case "rharu": // RIGHTWARDS HARPOON WITH BARB UPWARDS return rune(0x21c0), true - case "rharul": - // RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH + case "rharul": // RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH return rune(0x296c), true - case "rhov": - // GREEK RHO SYMBOL - return rune(0x03f1), true - case "rho": - // GREEK SMALL LETTER RHO + case "rho": // GREEK SMALL LETTER RHO return rune(0x03c1), true - case "rightarrowtail": - // RIGHTWARDS ARROW WITH TAIL - return rune(0x21a3), true - case "rightarrow": - // RIGHTWARDS ARROW + case "rhov": // GREEK RHO SYMBOL + return rune(0x03f1), true + case "rightarrow": // RIGHTWARDS ARROW return rune(0x2192), true - case "rightharpoondown": - // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + case "rightarrowtail": // RIGHTWARDS ARROW WITH TAIL + return rune(0x21a3), true + case "rightharpoondown": // RIGHTWARDS HARPOON WITH BARB DOWNWARDS return rune(0x21c1), true - case "rightharpoonup": - // RIGHTWARDS HARPOON WITH BARB UPWARDS + case "rightharpoonup": // RIGHTWARDS HARPOON WITH BARB UPWARDS return rune(0x21c0), true - case "rightleftarrows": - // RIGHTWARDS ARROW OVER LEFTWARDS ARROW + case "rightleftarrows": // RIGHTWARDS ARROW OVER LEFTWARDS ARROW return rune(0x21c4), true - case "rightleftharpoons": - // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + case "rightleftharpoons": // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON return rune(0x21cc), true - case "rightrightarrows": - // RIGHTWARDS PAIRED ARROWS + case "rightrightarrows": // RIGHTWARDS PAIRED ARROWS return rune(0x21c9), true - case "rightsquigarrow": - // RIGHTWARDS WAVE ARROW + case "rightsquigarrow": // RIGHTWARDS WAVE ARROW return rune(0x219d), true - case "rightthreetimes": - // RIGHT SEMIDIRECT PRODUCT + case "rightthreetimes": // RIGHT SEMIDIRECT PRODUCT return rune(0x22cc), true - case "rimply": - // RIGHT DOUBLE ARROW WITH ROUNDED HEAD + case "rimply": // RIGHT DOUBLE ARROW WITH ROUNDED HEAD return rune(0x2970), true - case "ring": - // RING ABOVE + case "ring": // RING ABOVE return rune(0x02da), true - case "risingdotseq": - // IMAGE OF OR APPROXIMATELY EQUAL TO + case "risingdotseq": // IMAGE OF OR APPROXIMATELY EQUAL TO return rune(0x2253), true - case "rlarr2": - // RIGHTWARDS ARROW OVER LEFTWARDS ARROW + case "rlarr": // RIGHTWARDS ARROW OVER LEFTWARDS ARROW return rune(0x21c4), true - case "rlarr": - // RIGHTWARDS ARROW OVER LEFTWARDS ARROW + case "rlarr2": // RIGHTWARDS ARROW OVER LEFTWARDS ARROW return rune(0x21c4), true - case "rlhar": - // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + case "rlhar": // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON return rune(0x21cc), true - case "rlhar2": - // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + case "rlhar2": // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON return rune(0x21cc), true - case "rlm": - // RIGHT-TO-LEFT MARK + case "rlm": // RIGHT-TO-LEFT MARK return rune(0x200f), true - case "rmoust": - // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION + case "rmoust": // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION return rune(0x23b1), true - case "rmoustache": - // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION + case "rmoustache": // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION return rune(0x23b1), true - case "rnmid": - // DOES NOT DIVIDE WITH REVERSED NEGATION SLASH + case "rnmid": // DOES NOT DIVIDE WITH REVERSED NEGATION SLASH return rune(0x2aee), true - case "roang": - // MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET + case "roang": // MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET return rune(0x27ed), true - case "roarr": - // RIGHTWARDS OPEN-HEADED ARROW + case "roarr": // RIGHTWARDS OPEN-HEADED ARROW return rune(0x21fe), true - case "robrk": - // MATHEMATICAL RIGHT WHITE SQUARE BRACKET + case "robrk": // MATHEMATICAL RIGHT WHITE SQUARE BRACKET return rune(0x27e7), true - case "rocub": - // RIGHT WHITE CURLY BRACKET + case "rocub": // RIGHT WHITE CURLY BRACKET return rune(0x2984), true - case "ropar": - // RIGHT WHITE PARENTHESIS + case "ropar": // RIGHT WHITE PARENTHESIS return rune(0x2986), true - case "ropf": - // MATHEMATICAL DOUBLE-STRUCK SMALL R + case "ropf": // MATHEMATICAL DOUBLE-STRUCK SMALL R return rune(0x01d563), true - case "roplus": - // PLUS SIGN IN RIGHT HALF CIRCLE + case "roplus": // PLUS SIGN IN RIGHT HALF CIRCLE return rune(0x2a2e), true - case "rotimes": - // MULTIPLICATION SIGN IN RIGHT HALF CIRCLE + case "rotimes": // MULTIPLICATION SIGN IN RIGHT HALF CIRCLE return rune(0x2a35), true - case "rpargt": - // RIGHT ARC GREATER-THAN BRACKET - return rune(0x2994), true - case "rpar": - // RIGHT PARENTHESIS + case "rpar": // RIGHT PARENTHESIS return rune(0x29), true - case "rppolint": - // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE + case "rpargt": // RIGHT ARC GREATER-THAN BRACKET + return rune(0x2994), true + case "rppolint": // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE return rune(0x2a12), true - case "rrarr": - // RIGHTWARDS PAIRED ARROWS + case "rrarr": // RIGHTWARDS PAIRED ARROWS return rune(0x21c9), true - case "rsaquo": - // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + case "rsaquo": // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK return rune(0x203a), true - case "rscr": - // MATHEMATICAL SCRIPT SMALL R + case "rscr": // MATHEMATICAL SCRIPT SMALL R return rune(0x01d4c7), true - case "rsh": - // UPWARDS ARROW WITH TIP RIGHTWARDS + case "rsh": // UPWARDS ARROW WITH TIP RIGHTWARDS return rune(0x21b1), true - case "rsolbar": - // REVERSE SOLIDUS WITH HORIZONTAL STROKE + case "rsolbar": // REVERSE SOLIDUS WITH HORIZONTAL STROKE return rune(0x29f7), true - case "rsqb": - // RIGHT SQUARE BRACKET + case "rsqb": // RIGHT SQUARE BRACKET return rune(0x5d), true - case "rsquor": - // RIGHT SINGLE QUOTATION MARK + case "rsquo": // RIGHT SINGLE QUOTATION MARK return rune(0x2019), true - case "rsquo": - // RIGHT SINGLE QUOTATION MARK + case "rsquor": // RIGHT SINGLE QUOTATION MARK return rune(0x2019), true - case "rthree": - // RIGHT SEMIDIRECT PRODUCT + case "rthree": // RIGHT SEMIDIRECT PRODUCT return rune(0x22cc), true - case "rtimes": - // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT + case "rtimes": // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT return rune(0x22ca), true - case "rtrie": - // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO + case "rtri": // WHITE RIGHT-POINTING SMALL TRIANGLE + return rune(0x25b9), true + case "rtrie": // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO return rune(0x22b5), true - case "rtrif": - // BLACK RIGHT-POINTING SMALL TRIANGLE + case "rtrif": // BLACK RIGHT-POINTING SMALL TRIANGLE return rune(0x25b8), true - case "rtri": - // WHITE RIGHT-POINTING SMALL TRIANGLE - return rune(0x25b9), true - case "rtriltri": - // RIGHT TRIANGLE ABOVE LEFT TRIANGLE + case "rtriltri": // RIGHT TRIANGLE ABOVE LEFT TRIANGLE return rune(0x29ce), true - case "ruharb": - // RIGHTWARDS HARPOON WITH BARB UP TO BAR + case "ruharb": // RIGHTWARDS HARPOON WITH BARB UP TO BAR return rune(0x2953), true - case "ruluhar": - // RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP + case "ruluhar": // RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP return rune(0x2968), true - case "rx": - // PRESCRIPTION TAKE + case "rx": // PRESCRIPTION TAKE return rune(0x211e), true } case 's': switch name { - case "sacute": - // LATIN SMALL LETTER S WITH ACUTE + case "sacute": // LATIN SMALL LETTER S WITH ACUTE return rune(0x015b), true - case "samalg": - // N-ARY COPRODUCT + case "samalg": // N-ARY COPRODUCT return rune(0x2210), true - case "sampi": - // GREEK LETTER SAMPI + case "sampi": // GREEK LETTER SAMPI return rune(0x03e0), true - case "sbquo": - // SINGLE LOW-9 QUOTATION MARK + case "sbquo": // SINGLE LOW-9 QUOTATION MARK return rune(0x201a), true - case "sbsol": - // SMALL REVERSE SOLIDUS + case "sbsol": // SMALL REVERSE SOLIDUS return rune(0xfe68), true - case "sc": - // SUCCEEDS + case "sc": // SUCCEEDS return rune(0x227b), true - case "scE": - // SUCCEEDS ABOVE EQUALS SIGN + case "scE": // SUCCEEDS ABOVE EQUALS SIGN return rune(0x2ab4), true - case "scap": - // SUCCEEDS ABOVE ALMOST EQUAL TO + case "scap": // SUCCEEDS ABOVE ALMOST EQUAL TO return rune(0x2ab8), true - case "scaron": - // LATIN SMALL LETTER S WITH CARON + case "scaron": // LATIN SMALL LETTER S WITH CARON return rune(0x0161), true - case "sccue": - // SUCCEEDS OR EQUAL TO + case "sccue": // SUCCEEDS OR EQUAL TO return rune(0x227d), true - case "scedil": - // LATIN SMALL LETTER S WITH CEDILLA - return rune(0x015f), true - case "sce": - // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + case "sce": // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN return rune(0x2ab0), true - case "scirc": - // LATIN SMALL LETTER S WITH CIRCUMFLEX + case "scedil": // LATIN SMALL LETTER S WITH CEDILLA + return rune(0x015f), true + case "scirc": // LATIN SMALL LETTER S WITH CIRCUMFLEX return rune(0x015d), true - case "scnE": - // SUCCEEDS ABOVE NOT EQUAL TO + case "scnE": // SUCCEEDS ABOVE NOT EQUAL TO return rune(0x2ab6), true - case "scnap": - // SUCCEEDS ABOVE NOT ALMOST EQUAL TO + case "scnap": // SUCCEEDS ABOVE NOT ALMOST EQUAL TO return rune(0x2aba), true - case "scnsim": - // SUCCEEDS BUT NOT EQUIVALENT TO + case "scnsim": // SUCCEEDS BUT NOT EQUIVALENT TO return rune(0x22e9), true - case "scpolint": - // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE + case "scpolint": // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE return rune(0x2a13), true - case "scsim": - // SUCCEEDS OR EQUIVALENT TO + case "scsim": // SUCCEEDS OR EQUIVALENT TO return rune(0x227f), true - case "scy": - // CYRILLIC SMALL LETTER ES + case "scy": // CYRILLIC SMALL LETTER ES return rune(0x0441), true - case "sdotb": - // SQUARED DOT OPERATOR - return rune(0x22a1), true - case "sdot": - // DOT OPERATOR + case "sdot": // DOT OPERATOR return rune(0x22c5), true - case "sdote": - // EQUALS SIGN WITH DOT BELOW + case "sdotb": // SQUARED DOT OPERATOR + return rune(0x22a1), true + case "sdote": // EQUALS SIGN WITH DOT BELOW return rune(0x2a66), true - case "seArr": - // SOUTH EAST DOUBLE ARROW + case "seArr": // SOUTH EAST DOUBLE ARROW return rune(0x21d8), true - case "searhk": - // SOUTH EAST ARROW WITH HOOK + case "searhk": // SOUTH EAST ARROW WITH HOOK return rune(0x2925), true - case "searrow": - // SOUTH EAST ARROW + case "searr": // SOUTH EAST ARROW return rune(0x2198), true - case "searr": - // SOUTH EAST ARROW + case "searrow": // SOUTH EAST ARROW return rune(0x2198), true - case "sect": - // SECTION SIGN + case "sect": // SECTION SIGN return rune(0xa7), true - case "semi": - // SEMICOLON + case "semi": // SEMICOLON return rune(0x3b), true - case "seonearr": - // SOUTH EAST ARROW CROSSING NORTH EAST ARROW + case "seonearr": // SOUTH EAST ARROW CROSSING NORTH EAST ARROW return rune(0x292d), true - case "seswar": - // SOUTH EAST ARROW AND SOUTH WEST ARROW + case "seswar": // SOUTH EAST ARROW AND SOUTH WEST ARROW return rune(0x2929), true - case "setminus": - // SET MINUS + case "setminus": // SET MINUS return rune(0x2216), true - case "setmn": - // SET MINUS + case "setmn": // SET MINUS return rune(0x2216), true - case "sext": - // SIX POINTED BLACK STAR + case "sext": // SIX POINTED BLACK STAR return rune(0x2736), true - case "sfgr": - // GREEK SMALL LETTER FINAL SIGMA + case "sfgr": // GREEK SMALL LETTER FINAL SIGMA return rune(0x03c2), true - case "sfrown": - // FROWN - return rune(0x2322), true - case "sfr": - // MATHEMATICAL FRAKTUR SMALL S + case "sfr": // MATHEMATICAL FRAKTUR SMALL S return rune(0x01d530), true - case "sgr": - // GREEK SMALL LETTER SIGMA + case "sfrown": // FROWN + return rune(0x2322), true + case "sgr": // GREEK SMALL LETTER SIGMA return rune(0x03c3), true - case "sharp": - // MUSIC SHARP SIGN + case "sharp": // MUSIC SHARP SIGN return rune(0x266f), true - case "shchcy": - // CYRILLIC SMALL LETTER SHCHA + case "shchcy": // CYRILLIC SMALL LETTER SHCHA return rune(0x0449), true - case "shcy": - // CYRILLIC SMALL LETTER SHA + case "shcy": // CYRILLIC SMALL LETTER SHA return rune(0x0448), true - case "shortmid": - // DIVIDES + case "shortmid": // DIVIDES return rune(0x2223), true - case "shortparallel": - // PARALLEL TO + case "shortparallel": // PARALLEL TO return rune(0x2225), true - case "shuffle": - // SHUFFLE PRODUCT + case "shuffle": // SHUFFLE PRODUCT return rune(0x29e2), true - case "shy": - // SOFT HYPHEN + case "shy": // SOFT HYPHEN return rune(0xad), true - case "sigma": - // GREEK SMALL LETTER SIGMA + case "sigma": // GREEK SMALL LETTER SIGMA return rune(0x03c3), true - case "sigmaf": - // GREEK SMALL LETTER FINAL SIGMA + case "sigmaf": // GREEK SMALL LETTER FINAL SIGMA return rune(0x03c2), true - case "sigmav": - // GREEK SMALL LETTER FINAL SIGMA + case "sigmav": // GREEK SMALL LETTER FINAL SIGMA return rune(0x03c2), true - case "sim": - // TILDE OPERATOR + case "sim": // TILDE OPERATOR return rune(0x223c), true - case "simdot": - // TILDE OPERATOR WITH DOT ABOVE + case "simdot": // TILDE OPERATOR WITH DOT ABOVE return rune(0x2a6a), true - case "sime": - // ASYMPTOTICALLY EQUAL TO + case "sime": // ASYMPTOTICALLY EQUAL TO return rune(0x2243), true - case "simeq": - // ASYMPTOTICALLY EQUAL TO + case "simeq": // ASYMPTOTICALLY EQUAL TO return rune(0x2243), true - case "simg": - // SIMILAR OR GREATER-THAN + case "simg": // SIMILAR OR GREATER-THAN return rune(0x2a9e), true - case "simgE": - // SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN + case "simgE": // SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN return rune(0x2aa0), true - case "siml": - // SIMILAR OR LESS-THAN + case "siml": // SIMILAR OR LESS-THAN return rune(0x2a9d), true - case "simlE": - // SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN + case "simlE": // SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN return rune(0x2a9f), true - case "simne": - // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO + case "simne": // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO return rune(0x2246), true - case "simplus": - // PLUS SIGN WITH TILDE ABOVE + case "simplus": // PLUS SIGN WITH TILDE ABOVE return rune(0x2a24), true - case "simrarr": - // TILDE OPERATOR ABOVE RIGHTWARDS ARROW + case "simrarr": // TILDE OPERATOR ABOVE RIGHTWARDS ARROW return rune(0x2972), true - case "slarr": - // LEFTWARDS ARROW + case "slarr": // LEFTWARDS ARROW return rune(0x2190), true - case "slint": - // INTEGRAL AVERAGE WITH SLASH + case "slint": // INTEGRAL AVERAGE WITH SLASH return rune(0x2a0f), true - case "smallsetminus": - // SET MINUS + case "smallsetminus": // SET MINUS return rune(0x2216), true - case "smashp": - // SMASH PRODUCT + case "smashp": // SMASH PRODUCT return rune(0x2a33), true - case "smeparsl": - // EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE + case "smeparsl": // EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE return rune(0x29e4), true - case "smid": - // DIVIDES + case "smid": // DIVIDES return rune(0x2223), true - case "smile": - // SMILE + case "smile": // SMILE return rune(0x2323), true - case "smt": - // SMALLER THAN + case "smt": // SMALLER THAN return rune(0x2aaa), true - case "smte": - // SMALLER THAN OR EQUAL TO + case "smte": // SMALLER THAN OR EQUAL TO return rune(0x2aac), true - case "smtes": - // SMALLER THAN OR slanted EQUAL + case "smtes": // SMALLER THAN OR slanted EQUAL return rune(0x2aac), true - case "softcy": - // CYRILLIC SMALL LETTER SOFT SIGN + case "softcy": // CYRILLIC SMALL LETTER SOFT SIGN return rune(0x044c), true - case "solbar": - // APL FUNCTIONAL SYMBOL SLASH BAR - return rune(0x233f), true - case "solb": - // SQUARED RISING DIAGONAL SLASH - return rune(0x29c4), true - case "sol": - // SOLIDUS + case "sol": // SOLIDUS return rune(0x2f), true - case "sopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL S + case "solb": // SQUARED RISING DIAGONAL SLASH + return rune(0x29c4), true + case "solbar": // APL FUNCTIONAL SYMBOL SLASH BAR + return rune(0x233f), true + case "sopf": // MATHEMATICAL DOUBLE-STRUCK SMALL S return rune(0x01d564), true - case "spades": - // BLACK SPADE SUIT + case "spades": // BLACK SPADE SUIT return rune(0x2660), true - case "spadesuit": - // BLACK SPADE SUIT + case "spadesuit": // BLACK SPADE SUIT return rune(0x2660), true - case "spar": - // PARALLEL TO + case "spar": // PARALLEL TO return rune(0x2225), true - case "sqcap": - // SQUARE CAP + case "sqcap": // SQUARE CAP return rune(0x2293), true - case "sqcaps": - // SQUARE CAP with serifs + case "sqcaps": // SQUARE CAP with serifs return rune(0x2293), true - case "sqcup": - // SQUARE CUP + case "sqcup": // SQUARE CUP return rune(0x2294), true - case "sqcups": - // SQUARE CUP with serifs + case "sqcups": // SQUARE CUP with serifs return rune(0x2294), true - case "sqsub": - // SQUARE IMAGE OF + case "sqsub": // SQUARE IMAGE OF return rune(0x228f), true - case "sqsube": - // SQUARE IMAGE OF OR EQUAL TO + case "sqsube": // SQUARE IMAGE OF OR EQUAL TO return rune(0x2291), true - case "sqsubset": - // SQUARE IMAGE OF + case "sqsubset": // SQUARE IMAGE OF return rune(0x228f), true - case "sqsubseteq": - // SQUARE IMAGE OF OR EQUAL TO + case "sqsubseteq": // SQUARE IMAGE OF OR EQUAL TO return rune(0x2291), true - case "sqsup": - // SQUARE ORIGINAL OF + case "sqsup": // SQUARE ORIGINAL OF return rune(0x2290), true - case "sqsupe": - // SQUARE ORIGINAL OF OR EQUAL TO + case "sqsupe": // SQUARE ORIGINAL OF OR EQUAL TO return rune(0x2292), true - case "sqsupset": - // SQUARE ORIGINAL OF + case "sqsupset": // SQUARE ORIGINAL OF return rune(0x2290), true - case "sqsupseteq": - // SQUARE ORIGINAL OF OR EQUAL TO + case "sqsupseteq": // SQUARE ORIGINAL OF OR EQUAL TO return rune(0x2292), true - case "squ": - // WHITE SQUARE + case "squ": // WHITE SQUARE return rune(0x25a1), true - case "square": - // WHITE SQUARE + case "square": // WHITE SQUARE return rune(0x25a1), true - case "squarf": - // BLACK SMALL SQUARE + case "squarf": // BLACK SMALL SQUARE return rune(0x25aa), true - case "squb": - // SQUARED SQUARE + case "squb": // SQUARED SQUARE return rune(0x29c8), true - case "squerr": - // ERROR-BARRED WHITE SQUARE + case "squerr": // ERROR-BARRED WHITE SQUARE return rune(0x29ee), true - case "squf": - // BLACK SMALL SQUARE + case "squf": // BLACK SMALL SQUARE return rune(0x25aa), true - case "squferr": - // ERROR-BARRED BLACK SQUARE + case "squferr": // ERROR-BARRED BLACK SQUARE return rune(0x29ef), true - case "srarr": - // RIGHTWARDS ARROW + case "srarr": // RIGHTWARDS ARROW return rune(0x2192), true - case "sscr": - // MATHEMATICAL SCRIPT SMALL S + case "sscr": // MATHEMATICAL SCRIPT SMALL S return rune(0x01d4c8), true - case "ssetmn": - // SET MINUS + case "ssetmn": // SET MINUS return rune(0x2216), true - case "ssmile": - // SMILE + case "ssmile": // SMILE return rune(0x2323), true - case "sstarf": - // STAR OPERATOR + case "sstarf": // STAR OPERATOR return rune(0x22c6), true - case "starf": - // BLACK STAR - return rune(0x2605), true - case "star": - // WHITE STAR + case "star": // WHITE STAR return rune(0x2606), true - case "stigma": - // GREEK LETTER STIGMA + case "starf": // BLACK STAR + return rune(0x2605), true + case "stigma": // GREEK LETTER STIGMA return rune(0x03da), true - case "straightepsilon": - // GREEK LUNATE EPSILON SYMBOL + case "straightepsilon": // GREEK LUNATE EPSILON SYMBOL return rune(0x03f5), true - case "straightphi": - // GREEK PHI SYMBOL + case "straightphi": // GREEK PHI SYMBOL return rune(0x03d5), true - case "strns": - // MACRON + case "strns": // MACRON return rune(0xaf), true - case "sub": - // SUBSET OF + case "sub": // SUBSET OF return rune(0x2282), true - case "subE": - // SUBSET OF ABOVE EQUALS SIGN + case "subE": // SUBSET OF ABOVE EQUALS SIGN return rune(0x2ac5), true - case "subdot": - // SUBSET WITH DOT + case "subdot": // SUBSET WITH DOT return rune(0x2abd), true - case "sube": - // SUBSET OF OR EQUAL TO + case "sube": // SUBSET OF OR EQUAL TO return rune(0x2286), true - case "subedot": - // SUBSET OF OR EQUAL TO WITH DOT ABOVE + case "subedot": // SUBSET OF OR EQUAL TO WITH DOT ABOVE return rune(0x2ac3), true - case "submult": - // SUBSET WITH MULTIPLICATION SIGN BELOW + case "submult": // SUBSET WITH MULTIPLICATION SIGN BELOW return rune(0x2ac1), true - case "subnE": - // SUBSET OF ABOVE NOT EQUAL TO + case "subnE": // SUBSET OF ABOVE NOT EQUAL TO return rune(0x2acb), true - case "subne": - // SUBSET OF WITH NOT EQUAL TO + case "subne": // SUBSET OF WITH NOT EQUAL TO return rune(0x228a), true - case "subplus": - // SUBSET WITH PLUS SIGN BELOW + case "subplus": // SUBSET WITH PLUS SIGN BELOW return rune(0x2abf), true - case "subrarr": - // SUBSET ABOVE RIGHTWARDS ARROW + case "subrarr": // SUBSET ABOVE RIGHTWARDS ARROW return rune(0x2979), true - case "subset": - // SUBSET OF + case "subset": // SUBSET OF return rune(0x2282), true - case "subseteq": - // SUBSET OF OR EQUAL TO + case "subseteq": // SUBSET OF OR EQUAL TO return rune(0x2286), true - case "subseteqq": - // SUBSET OF ABOVE EQUALS SIGN + case "subseteqq": // SUBSET OF ABOVE EQUALS SIGN return rune(0x2ac5), true - case "subsetneq": - // SUBSET OF WITH NOT EQUAL TO + case "subsetneq": // SUBSET OF WITH NOT EQUAL TO return rune(0x228a), true - case "subsetneqq": - // SUBSET OF ABOVE NOT EQUAL TO + case "subsetneqq": // SUBSET OF ABOVE NOT EQUAL TO return rune(0x2acb), true - case "subsim": - // SUBSET OF ABOVE TILDE OPERATOR + case "subsim": // SUBSET OF ABOVE TILDE OPERATOR return rune(0x2ac7), true - case "subsub": - // SUBSET ABOVE SUBSET + case "subsub": // SUBSET ABOVE SUBSET return rune(0x2ad5), true - case "subsup": - // SUBSET ABOVE SUPERSET + case "subsup": // SUBSET ABOVE SUPERSET return rune(0x2ad3), true - case "succ": - // SUCCEEDS + case "succ": // SUCCEEDS return rune(0x227b), true - case "succapprox": - // SUCCEEDS ABOVE ALMOST EQUAL TO + case "succapprox": // SUCCEEDS ABOVE ALMOST EQUAL TO return rune(0x2ab8), true - case "succcurlyeq": - // SUCCEEDS OR EQUAL TO + case "succcurlyeq": // SUCCEEDS OR EQUAL TO return rune(0x227d), true - case "succeq": - // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + case "succeq": // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN return rune(0x2ab0), true - case "succnapprox": - // SUCCEEDS ABOVE NOT ALMOST EQUAL TO + case "succnapprox": // SUCCEEDS ABOVE NOT ALMOST EQUAL TO return rune(0x2aba), true - case "succneqq": - // SUCCEEDS ABOVE NOT EQUAL TO + case "succneqq": // SUCCEEDS ABOVE NOT EQUAL TO return rune(0x2ab6), true - case "succnsim": - // SUCCEEDS BUT NOT EQUIVALENT TO + case "succnsim": // SUCCEEDS BUT NOT EQUIVALENT TO return rune(0x22e9), true - case "succsim": - // SUCCEEDS OR EQUIVALENT TO + case "succsim": // SUCCEEDS OR EQUIVALENT TO return rune(0x227f), true - case "sum": - // N-ARY SUMMATION + case "sum": // N-ARY SUMMATION return rune(0x2211), true - case "sumint": - // SUMMATION WITH INTEGRAL + case "sumint": // SUMMATION WITH INTEGRAL return rune(0x2a0b), true - case "sung": - // EIGHTH NOTE + case "sung": // EIGHTH NOTE return rune(0x266a), true - case "sup": - // SUPERSET OF + case "sup": // SUPERSET OF return rune(0x2283), true - case "sup1": - // SUPERSCRIPT ONE + case "sup1": // SUPERSCRIPT ONE return rune(0xb9), true - case "sup2": - // SUPERSCRIPT TWO + case "sup2": // SUPERSCRIPT TWO return rune(0xb2), true - case "sup3": - // SUPERSCRIPT THREE + case "sup3": // SUPERSCRIPT THREE return rune(0xb3), true - case "supE": - // SUPERSET OF ABOVE EQUALS SIGN + case "supE": // SUPERSET OF ABOVE EQUALS SIGN return rune(0x2ac6), true - case "supdot": - // SUPERSET WITH DOT + case "supdot": // SUPERSET WITH DOT return rune(0x2abe), true - case "supdsub": - // SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET + case "supdsub": // SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET return rune(0x2ad8), true - case "supe": - // SUPERSET OF OR EQUAL TO + case "supe": // SUPERSET OF OR EQUAL TO return rune(0x2287), true - case "supedot": - // SUPERSET OF OR EQUAL TO WITH DOT ABOVE + case "supedot": // SUPERSET OF OR EQUAL TO WITH DOT ABOVE return rune(0x2ac4), true - case "suphsol": - // SUPERSET PRECEDING SOLIDUS + case "suphsol": // SUPERSET PRECEDING SOLIDUS return rune(0x27c9), true - case "suphsub": - // SUPERSET BESIDE SUBSET + case "suphsub": // SUPERSET BESIDE SUBSET return rune(0x2ad7), true - case "suplarr": - // SUPERSET ABOVE LEFTWARDS ARROW + case "suplarr": // SUPERSET ABOVE LEFTWARDS ARROW return rune(0x297b), true - case "supmult": - // SUPERSET WITH MULTIPLICATION SIGN BELOW + case "supmult": // SUPERSET WITH MULTIPLICATION SIGN BELOW return rune(0x2ac2), true - case "supnE": - // SUPERSET OF ABOVE NOT EQUAL TO + case "supnE": // SUPERSET OF ABOVE NOT EQUAL TO return rune(0x2acc), true - case "supne": - // SUPERSET OF WITH NOT EQUAL TO + case "supne": // SUPERSET OF WITH NOT EQUAL TO return rune(0x228b), true - case "supplus": - // SUPERSET WITH PLUS SIGN BELOW + case "supplus": // SUPERSET WITH PLUS SIGN BELOW return rune(0x2ac0), true - case "supset": - // SUPERSET OF + case "supset": // SUPERSET OF return rune(0x2283), true - case "supseteq": - // SUPERSET OF OR EQUAL TO + case "supseteq": // SUPERSET OF OR EQUAL TO return rune(0x2287), true - case "supseteqq": - // SUPERSET OF ABOVE EQUALS SIGN + case "supseteqq": // SUPERSET OF ABOVE EQUALS SIGN return rune(0x2ac6), true - case "supsetneq": - // SUPERSET OF WITH NOT EQUAL TO + case "supsetneq": // SUPERSET OF WITH NOT EQUAL TO return rune(0x228b), true - case "supsetneqq": - // SUPERSET OF ABOVE NOT EQUAL TO + case "supsetneqq": // SUPERSET OF ABOVE NOT EQUAL TO return rune(0x2acc), true - case "supsim": - // SUPERSET OF ABOVE TILDE OPERATOR + case "supsim": // SUPERSET OF ABOVE TILDE OPERATOR return rune(0x2ac8), true - case "supsub": - // SUPERSET ABOVE SUBSET + case "supsub": // SUPERSET ABOVE SUBSET return rune(0x2ad4), true - case "supsup": - // SUPERSET ABOVE SUPERSET + case "supsup": // SUPERSET ABOVE SUPERSET return rune(0x2ad6), true - case "swArr": - // SOUTH WEST DOUBLE ARROW + case "swArr": // SOUTH WEST DOUBLE ARROW return rune(0x21d9), true - case "swarhk": - // SOUTH WEST ARROW WITH HOOK + case "swarhk": // SOUTH WEST ARROW WITH HOOK return rune(0x2926), true - case "swarrow": - // SOUTH WEST ARROW + case "swarr": // SOUTH WEST ARROW return rune(0x2199), true - case "swarr": - // SOUTH WEST ARROW + case "swarrow": // SOUTH WEST ARROW return rune(0x2199), true - case "swnwar": - // SOUTH WEST ARROW AND NORTH WEST ARROW + case "swnwar": // SOUTH WEST ARROW AND NORTH WEST ARROW return rune(0x292a), true - case "szlig": - // LATIN SMALL LETTER SHARP S + case "szlig": // LATIN SMALL LETTER SHARP S return rune(0xdf), true } case 't': switch name { - case "target": - // POSITION INDICATOR + case "target": // POSITION INDICATOR return rune(0x2316), true - case "tau": - // GREEK SMALL LETTER TAU + case "tau": // GREEK SMALL LETTER TAU return rune(0x03c4), true - case "tbrk": - // TOP SQUARE BRACKET + case "tbrk": // TOP SQUARE BRACKET return rune(0x23b4), true - case "tcaron": - // LATIN SMALL LETTER T WITH CARON + case "tcaron": // LATIN SMALL LETTER T WITH CARON return rune(0x0165), true - case "tcedil": - // LATIN SMALL LETTER T WITH CEDILLA + case "tcedil": // LATIN SMALL LETTER T WITH CEDILLA return rune(0x0163), true - case "tcy": - // CYRILLIC SMALL LETTER TE + case "tcy": // CYRILLIC SMALL LETTER TE return rune(0x0442), true - case "tdot": - // COMBINING THREE DOTS ABOVE + case "tdot": // COMBINING THREE DOTS ABOVE return rune(0x20db), true - case "telrec": - // TELEPHONE RECORDER + case "telrec": // TELEPHONE RECORDER return rune(0x2315), true - case "tfr": - // MATHEMATICAL FRAKTUR SMALL T + case "tfr": // MATHEMATICAL FRAKTUR SMALL T return rune(0x01d531), true - case "tgr": - // GREEK SMALL LETTER TAU + case "tgr": // GREEK SMALL LETTER TAU return rune(0x03c4), true - case "there4": - // THEREFORE + case "there4": // THEREFORE return rune(0x2234), true - case "therefore": - // THEREFORE + case "therefore": // THEREFORE return rune(0x2234), true - case "thermod": - // THERMODYNAMIC + case "thermod": // THERMODYNAMIC return rune(0x29e7), true - case "thetasym": - // GREEK THETA SYMBOL - return rune(0x03d1), true - case "thetas": - // GREEK SMALL LETTER THETA + case "theta": // GREEK SMALL LETTER THETA return rune(0x03b8), true - case "thetav": - // GREEK THETA SYMBOL - return rune(0x03d1), true - case "theta": - // GREEK SMALL LETTER THETA + case "thetas": // GREEK SMALL LETTER THETA return rune(0x03b8), true - case "thgr": - // GREEK SMALL LETTER THETA + case "thetasym": // GREEK THETA SYMBOL + return rune(0x03d1), true + case "thetav": // GREEK THETA SYMBOL + return rune(0x03d1), true + case "thgr": // GREEK SMALL LETTER THETA return rune(0x03b8), true - case "thickapprox": - // ALMOST EQUAL TO + case "thickapprox": // ALMOST EQUAL TO return rune(0x2248), true - case "thicksim": - // TILDE OPERATOR + case "thicksim": // TILDE OPERATOR return rune(0x223c), true - case "thinsp": - // THIN SPACE + case "thinsp": // THIN SPACE return rune(0x2009), true - case "thkap": - // ALMOST EQUAL TO + case "thkap": // ALMOST EQUAL TO return rune(0x2248), true - case "thksim": - // TILDE OPERATOR + case "thksim": // TILDE OPERATOR return rune(0x223c), true - case "thorn": - // LATIN SMALL LETTER THORN + case "thorn": // LATIN SMALL LETTER THORN return rune(0xfe), true - case "tilde": - // SMALL TILDE + case "tilde": // SMALL TILDE return rune(0x02dc), true - case "timeint": - // INTEGRAL WITH TIMES SIGN + case "timeint": // INTEGRAL WITH TIMES SIGN return rune(0x2a18), true - case "timesb": - // SQUARED TIMES + case "times": // MULTIPLICATION SIGN + return rune(0xd7), true + case "timesb": // SQUARED TIMES return rune(0x22a0), true - case "timesbar": - // MULTIPLICATION SIGN WITH UNDERBAR + case "timesbar": // MULTIPLICATION SIGN WITH UNDERBAR return rune(0x2a31), true - case "timesd": - // MULTIPLICATION SIGN WITH DOT ABOVE + case "timesd": // MULTIPLICATION SIGN WITH DOT ABOVE return rune(0x2a30), true - case "times": - // MULTIPLICATION SIGN - return rune(0xd7), true - case "tint": - // TRIPLE INTEGRAL + case "tint": // TRIPLE INTEGRAL return rune(0x222d), true - case "toea": - // NORTH EAST ARROW AND SOUTH EAST ARROW + case "toea": // NORTH EAST ARROW AND SOUTH EAST ARROW return rune(0x2928), true - case "top": - // DOWN TACK + case "top": // DOWN TACK return rune(0x22a4), true - case "topbot": - // APL FUNCTIONAL SYMBOL I-BEAM + case "topbot": // APL FUNCTIONAL SYMBOL I-BEAM return rune(0x2336), true - case "topcir": - // DOWN TACK WITH CIRCLE BELOW + case "topcir": // DOWN TACK WITH CIRCLE BELOW return rune(0x2af1), true - case "topfork": - // PITCHFORK WITH TEE TOP - return rune(0x2ada), true - case "topf": - // MATHEMATICAL DOUBLE-STRUCK SMALL T + case "topf": // MATHEMATICAL DOUBLE-STRUCK SMALL T return rune(0x01d565), true - case "tosa": - // SOUTH EAST ARROW AND SOUTH WEST ARROW + case "topfork": // PITCHFORK WITH TEE TOP + return rune(0x2ada), true + case "tosa": // SOUTH EAST ARROW AND SOUTH WEST ARROW return rune(0x2929), true - case "tprime": - // TRIPLE PRIME + case "tprime": // TRIPLE PRIME return rune(0x2034), true - case "trade": - // TRADE MARK SIGN + case "trade": // TRADE MARK SIGN return rune(0x2122), true - case "triS": - // S IN TRIANGLE + case "triS": // S IN TRIANGLE return rune(0x29cc), true - case "trianglelefteq": - // NORMAL SUBGROUP OF OR EQUAL TO - return rune(0x22b4), true - case "triangleq": - // DELTA EQUAL TO - return rune(0x225c), true - case "trianglerighteq": - // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO - return rune(0x22b5), true - case "triangle": - // WHITE UP-POINTING SMALL TRIANGLE + case "triangle": // WHITE UP-POINTING SMALL TRIANGLE return rune(0x25b5), true - case "triangledown": - // WHITE DOWN-POINTING SMALL TRIANGLE + case "triangledown": // WHITE DOWN-POINTING SMALL TRIANGLE return rune(0x25bf), true - case "triangleleft": - // WHITE LEFT-POINTING SMALL TRIANGLE + case "triangleleft": // WHITE LEFT-POINTING SMALL TRIANGLE return rune(0x25c3), true - case "triangleright": - // WHITE RIGHT-POINTING SMALL TRIANGLE + case "trianglelefteq": // NORMAL SUBGROUP OF OR EQUAL TO + return rune(0x22b4), true + case "triangleq": // DELTA EQUAL TO + return rune(0x225c), true + case "triangleright": // WHITE RIGHT-POINTING SMALL TRIANGLE return rune(0x25b9), true - case "tribar": - // TRIANGLE WITH UNDERBAR + case "trianglerighteq": // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO + return rune(0x22b5), true + case "tribar": // TRIANGLE WITH UNDERBAR return rune(0x29cb), true - case "tridot": - // WHITE UP-POINTING TRIANGLE WITH DOT + case "tridot": // WHITE UP-POINTING TRIANGLE WITH DOT return rune(0x25ec), true - case "tridoto": - // TRIANGLE WITH DOT ABOVE + case "tridoto": // TRIANGLE WITH DOT ABOVE return rune(0x29ca), true - case "trie": - // DELTA EQUAL TO + case "trie": // DELTA EQUAL TO return rune(0x225c), true - case "triminus": - // MINUS SIGN IN TRIANGLE + case "triminus": // MINUS SIGN IN TRIANGLE return rune(0x2a3a), true - case "triplus": - // PLUS SIGN IN TRIANGLE + case "triplus": // PLUS SIGN IN TRIANGLE return rune(0x2a39), true - case "trisb": - // TRIANGLE WITH SERIFS AT BOTTOM + case "trisb": // TRIANGLE WITH SERIFS AT BOTTOM return rune(0x29cd), true - case "tritime": - // MULTIPLICATION SIGN IN TRIANGLE + case "tritime": // MULTIPLICATION SIGN IN TRIANGLE return rune(0x2a3b), true - case "trpezium": - // WHITE TRAPEZIUM + case "trpezium": // WHITE TRAPEZIUM return rune(0x23e2), true - case "tscr": - // MATHEMATICAL SCRIPT SMALL T + case "tscr": // MATHEMATICAL SCRIPT SMALL T return rune(0x01d4c9), true - case "tscy": - // CYRILLIC SMALL LETTER TSE + case "tscy": // CYRILLIC SMALL LETTER TSE return rune(0x0446), true - case "tshcy": - // CYRILLIC SMALL LETTER TSHE + case "tshcy": // CYRILLIC SMALL LETTER TSHE return rune(0x045b), true - case "tstrok": - // LATIN SMALL LETTER T WITH STROKE + case "tstrok": // LATIN SMALL LETTER T WITH STROKE return rune(0x0167), true - case "tverbar": - // TRIPLE VERTICAL BAR DELIMITER + case "tverbar": // TRIPLE VERTICAL BAR DELIMITER return rune(0x2980), true - case "twixt": - // BETWEEN + case "twixt": // BETWEEN return rune(0x226c), true - case "twoheadleftarrow": - // LEFTWARDS TWO HEADED ARROW + case "twoheadleftarrow": // LEFTWARDS TWO HEADED ARROW return rune(0x219e), true - case "twoheadrightarrow": - // RIGHTWARDS TWO HEADED ARROW + case "twoheadrightarrow": // RIGHTWARDS TWO HEADED ARROW return rune(0x21a0), true } case 'u': switch name { - case "uAarr": - // UPWARDS TRIPLE ARROW + case "uAarr": // UPWARDS TRIPLE ARROW return rune(0x290a), true - case "uArr": - // UPWARDS DOUBLE ARROW + case "uArr": // UPWARDS DOUBLE ARROW return rune(0x21d1), true - case "uHar": - // UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT + case "uHar": // UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT return rune(0x2963), true - case "uacgr": - // GREEK SMALL LETTER UPSILON WITH TONOS + case "uacgr": // GREEK SMALL LETTER UPSILON WITH TONOS return rune(0x03cd), true - case "uacute": - // LATIN SMALL LETTER U WITH ACUTE + case "uacute": // LATIN SMALL LETTER U WITH ACUTE return rune(0xfa), true - case "uarr2": - // UPWARDS PAIRED ARROWS - return rune(0x21c8), true - case "uarr": - // UPWARDS ARROW + case "uarr": // UPWARDS ARROW return rune(0x2191), true - case "uarrb": - // UPWARDS ARROW TO BAR + case "uarr2": // UPWARDS PAIRED ARROWS + return rune(0x21c8), true + case "uarrb": // UPWARDS ARROW TO BAR return rune(0x2912), true - case "uarrln": - // UPWARDS ARROW WITH HORIZONTAL STROKE + case "uarrln": // UPWARDS ARROW WITH HORIZONTAL STROKE return rune(0x2909), true - case "ubrcy": - // CYRILLIC SMALL LETTER SHORT U + case "ubrcy": // CYRILLIC SMALL LETTER SHORT U return rune(0x045e), true - case "ubreve": - // LATIN SMALL LETTER U WITH BREVE + case "ubreve": // LATIN SMALL LETTER U WITH BREVE return rune(0x016d), true - case "ucirc": - // LATIN SMALL LETTER U WITH CIRCUMFLEX + case "ucirc": // LATIN SMALL LETTER U WITH CIRCUMFLEX return rune(0xfb), true - case "ucy": - // CYRILLIC SMALL LETTER U + case "ucy": // CYRILLIC SMALL LETTER U return rune(0x0443), true - case "udarr": - // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW + case "udarr": // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW return rune(0x21c5), true - case "udblac": - // LATIN SMALL LETTER U WITH DOUBLE ACUTE + case "udblac": // LATIN SMALL LETTER U WITH DOUBLE ACUTE return rune(0x0171), true - case "udhar": - // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT + case "udhar": // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT return rune(0x296e), true - case "udiagr": - // GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + case "udiagr": // GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS return rune(0x03b0), true - case "udigr": - // GREEK SMALL LETTER UPSILON WITH DIALYTIKA + case "udigr": // GREEK SMALL LETTER UPSILON WITH DIALYTIKA return rune(0x03cb), true - case "udrbrk": - // BOTTOM SQUARE BRACKET + case "udrbrk": // BOTTOM SQUARE BRACKET return rune(0x23b5), true - case "udrcub": - // BOTTOM CURLY BRACKET + case "udrcub": // BOTTOM CURLY BRACKET return rune(0x23df), true - case "udrpar": - // BOTTOM PARENTHESIS + case "udrpar": // BOTTOM PARENTHESIS return rune(0x23dd), true - case "ufisht": - // UP FISH TAIL + case "ufisht": // UP FISH TAIL return rune(0x297e), true - case "ufr": - // MATHEMATICAL FRAKTUR SMALL U + case "ufr": // MATHEMATICAL FRAKTUR SMALL U return rune(0x01d532), true - case "ugr": - // GREEK SMALL LETTER UPSILON + case "ugr": // GREEK SMALL LETTER UPSILON return rune(0x03c5), true - case "ugrave": - // LATIN SMALL LETTER U WITH GRAVE + case "ugrave": // LATIN SMALL LETTER U WITH GRAVE return rune(0xf9), true - case "uharl": - // UPWARDS HARPOON WITH BARB LEFTWARDS + case "uharl": // UPWARDS HARPOON WITH BARB LEFTWARDS return rune(0x21bf), true - case "uharr": - // UPWARDS HARPOON WITH BARB RIGHTWARDS + case "uharr": // UPWARDS HARPOON WITH BARB RIGHTWARDS return rune(0x21be), true - case "uhblk": - // UPPER HALF BLOCK + case "uhblk": // UPPER HALF BLOCK return rune(0x2580), true - case "ulcorn": - // TOP LEFT CORNER + case "ulcorn": // TOP LEFT CORNER return rune(0x231c), true - case "ulcorner": - // TOP LEFT CORNER + case "ulcorner": // TOP LEFT CORNER return rune(0x231c), true - case "ulcrop": - // TOP LEFT CROP + case "ulcrop": // TOP LEFT CROP return rune(0x230f), true - case "uldlshar": - // UP BARB LEFT DOWN BARB LEFT HARPOON + case "uldlshar": // UP BARB LEFT DOWN BARB LEFT HARPOON return rune(0x2951), true - case "ulharb": - // UPWARDS HARPOON WITH BARB LEFT TO BAR + case "ulharb": // UPWARDS HARPOON WITH BARB LEFT TO BAR return rune(0x2958), true - case "ultri": - // UPPER LEFT TRIANGLE + case "ultri": // UPPER LEFT TRIANGLE return rune(0x25f8), true - case "umacr": - // LATIN SMALL LETTER U WITH MACRON + case "umacr": // LATIN SMALL LETTER U WITH MACRON return rune(0x016b), true - case "uml": - // DIAERESIS + case "uml": // DIAERESIS return rune(0xa8), true - case "uogon": - // LATIN SMALL LETTER U WITH OGONEK + case "uogon": // LATIN SMALL LETTER U WITH OGONEK return rune(0x0173), true - case "uopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL U + case "uopf": // MATHEMATICAL DOUBLE-STRUCK SMALL U return rune(0x01d566), true - case "uparrow": - // UPWARDS ARROW + case "uparrow": // UPWARDS ARROW return rune(0x2191), true - case "updownarrow": - // UP DOWN ARROW + case "updownarrow": // UP DOWN ARROW return rune(0x2195), true - case "upharpoonleft": - // UPWARDS HARPOON WITH BARB LEFTWARDS + case "upharpoonleft": // UPWARDS HARPOON WITH BARB LEFTWARDS return rune(0x21bf), true - case "upharpoonright": - // UPWARDS HARPOON WITH BARB RIGHTWARDS + case "upharpoonright": // UPWARDS HARPOON WITH BARB RIGHTWARDS return rune(0x21be), true - case "upint": - // INTEGRAL WITH OVERBAR + case "upint": // INTEGRAL WITH OVERBAR return rune(0x2a1b), true - case "uplus": - // MULTISET UNION + case "uplus": // MULTISET UNION return rune(0x228e), true - case "upsih": - // GREEK UPSILON WITH HOOK SYMBOL - return rune(0x03d2), true - case "upsilon": - // GREEK SMALL LETTER UPSILON + case "upsi": // GREEK SMALL LETTER UPSILON return rune(0x03c5), true - case "upsi": - // GREEK SMALL LETTER UPSILON + case "upsih": // GREEK UPSILON WITH HOOK SYMBOL + return rune(0x03d2), true + case "upsilon": // GREEK SMALL LETTER UPSILON return rune(0x03c5), true - case "upuparrows": - // UPWARDS PAIRED ARROWS + case "upuparrows": // UPWARDS PAIRED ARROWS return rune(0x21c8), true - case "urcorn": - // TOP RIGHT CORNER + case "urcorn": // TOP RIGHT CORNER return rune(0x231d), true - case "urcorner": - // TOP RIGHT CORNER + case "urcorner": // TOP RIGHT CORNER return rune(0x231d), true - case "urcrop": - // TOP RIGHT CROP + case "urcrop": // TOP RIGHT CROP return rune(0x230e), true - case "urdrshar": - // UP BARB RIGHT DOWN BARB RIGHT HARPOON + case "urdrshar": // UP BARB RIGHT DOWN BARB RIGHT HARPOON return rune(0x294f), true - case "urharb": - // UPWARDS HARPOON WITH BARB RIGHT TO BAR + case "urharb": // UPWARDS HARPOON WITH BARB RIGHT TO BAR return rune(0x2954), true - case "uring": - // LATIN SMALL LETTER U WITH RING ABOVE + case "uring": // LATIN SMALL LETTER U WITH RING ABOVE return rune(0x016f), true - case "urtrif": - // BLACK UPPER RIGHT TRIANGLE - return rune(0x25e5), true - case "urtri": - // UPPER RIGHT TRIANGLE + case "urtri": // UPPER RIGHT TRIANGLE return rune(0x25f9), true - case "uscr": - // MATHEMATICAL SCRIPT SMALL U + case "urtrif": // BLACK UPPER RIGHT TRIANGLE + return rune(0x25e5), true + case "uscr": // MATHEMATICAL SCRIPT SMALL U return rune(0x01d4ca), true - case "utdot": - // UP RIGHT DIAGONAL ELLIPSIS + case "utdot": // UP RIGHT DIAGONAL ELLIPSIS return rune(0x22f0), true - case "utilde": - // LATIN SMALL LETTER U WITH TILDE + case "utilde": // LATIN SMALL LETTER U WITH TILDE return rune(0x0169), true - case "utrif": - // BLACK UP-POINTING SMALL TRIANGLE - return rune(0x25b4), true - case "utri": - // WHITE UP-POINTING SMALL TRIANGLE + case "utri": // WHITE UP-POINTING SMALL TRIANGLE return rune(0x25b5), true - case "uuarr": - // UPWARDS PAIRED ARROWS + case "utrif": // BLACK UP-POINTING SMALL TRIANGLE + return rune(0x25b4), true + case "uuarr": // UPWARDS PAIRED ARROWS return rune(0x21c8), true - case "uuml": - // LATIN SMALL LETTER U WITH DIAERESIS + case "uuml": // LATIN SMALL LETTER U WITH DIAERESIS return rune(0xfc), true - case "uwangle": - // OBLIQUE ANGLE OPENING DOWN + case "uwangle": // OBLIQUE ANGLE OPENING DOWN return rune(0x29a7), true } case 'v': switch name { - case "vArr": - // UP DOWN DOUBLE ARROW + case "vArr": // UP DOWN DOUBLE ARROW return rune(0x21d5), true - case "vBar": - // SHORT UP TACK WITH UNDERBAR + case "vBar": // SHORT UP TACK WITH UNDERBAR return rune(0x2ae8), true - case "vBarv": - // SHORT UP TACK ABOVE SHORT DOWN TACK + case "vBarv": // SHORT UP TACK ABOVE SHORT DOWN TACK return rune(0x2ae9), true - case "vDash": - // TRUE + case "vDash": // TRUE return rune(0x22a8), true - case "vDdash": - // VERTICAL BAR TRIPLE RIGHT TURNSTILE + case "vDdash": // VERTICAL BAR TRIPLE RIGHT TURNSTILE return rune(0x2ae2), true - case "vangrt": - // RIGHT ANGLE VARIANT WITH SQUARE + case "vangrt": // RIGHT ANGLE VARIANT WITH SQUARE return rune(0x299c), true - case "varepsilon": - // GREEK LUNATE EPSILON SYMBOL + case "varepsilon": // GREEK LUNATE EPSILON SYMBOL return rune(0x03f5), true - case "varkappa": - // GREEK KAPPA SYMBOL + case "varkappa": // GREEK KAPPA SYMBOL return rune(0x03f0), true - case "varnothing": - // EMPTY SET + case "varnothing": // EMPTY SET return rune(0x2205), true - case "varphi": - // GREEK PHI SYMBOL + case "varphi": // GREEK PHI SYMBOL return rune(0x03d5), true - case "varpi": - // GREEK PI SYMBOL + case "varpi": // GREEK PI SYMBOL return rune(0x03d6), true - case "varpropto": - // PROPORTIONAL TO + case "varpropto": // PROPORTIONAL TO return rune(0x221d), true - case "varr": - // UP DOWN ARROW + case "varr": // UP DOWN ARROW return rune(0x2195), true - case "varrho": - // GREEK RHO SYMBOL + case "varrho": // GREEK RHO SYMBOL return rune(0x03f1), true - case "varsigma": - // GREEK SMALL LETTER FINAL SIGMA + case "varsigma": // GREEK SMALL LETTER FINAL SIGMA return rune(0x03c2), true - case "varsubsetneq": - // SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members + case "varsubsetneq": // SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members return rune(0x228a), true - case "varsubsetneqq": - // SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members + case "varsubsetneqq": // SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members return rune(0x2acb), true - case "varsupsetneq": - // SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members + case "varsupsetneq": // SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members return rune(0x228b), true - case "varsupsetneqq": - // SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members + case "varsupsetneqq": // SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members return rune(0x2acc), true - case "vartheta": - // GREEK THETA SYMBOL + case "vartheta": // GREEK THETA SYMBOL return rune(0x03d1), true - case "vartriangleleft": - // NORMAL SUBGROUP OF + case "vartriangleleft": // NORMAL SUBGROUP OF return rune(0x22b2), true - case "vartriangleright": - // CONTAINS AS NORMAL SUBGROUP + case "vartriangleright": // CONTAINS AS NORMAL SUBGROUP return rune(0x22b3), true - case "vbrtri": - // VERTICAL BAR BESIDE RIGHT TRIANGLE + case "vbrtri": // VERTICAL BAR BESIDE RIGHT TRIANGLE return rune(0x29d0), true - case "vcy": - // CYRILLIC SMALL LETTER VE + case "vcy": // CYRILLIC SMALL LETTER VE return rune(0x0432), true - case "vdash": - // RIGHT TACK + case "vdash": // RIGHT TACK return rune(0x22a2), true - case "vee": - // LOGICAL OR + case "vee": // LOGICAL OR return rune(0x2228), true - case "veeBar": - // LOGICAL OR WITH DOUBLE UNDERBAR + case "veeBar": // LOGICAL OR WITH DOUBLE UNDERBAR return rune(0x2a63), true - case "veebar": - // XOR + case "veebar": // XOR return rune(0x22bb), true - case "veeeq": - // EQUIANGULAR TO + case "veeeq": // EQUIANGULAR TO return rune(0x225a), true - case "vellip": - // VERTICAL ELLIPSIS + case "vellip": // VERTICAL ELLIPSIS return rune(0x22ee), true - case "vellip4": - // DOTTED FENCE + case "vellip4": // DOTTED FENCE return rune(0x2999), true - case "vellipv": - // TRIPLE COLON OPERATOR + case "vellipv": // TRIPLE COLON OPERATOR return rune(0x2af6), true - case "verbar": - // VERTICAL LINE + case "verbar": // VERTICAL LINE return rune(0x7c), true - case "vert3": - // TRIPLE VERTICAL BAR BINARY RELATION - return rune(0x2af4), true - case "vert": - // VERTICAL LINE + case "vert": // VERTICAL LINE return rune(0x7c), true - case "vfr": - // MATHEMATICAL FRAKTUR SMALL V + case "vert3": // TRIPLE VERTICAL BAR BINARY RELATION + return rune(0x2af4), true + case "vfr": // MATHEMATICAL FRAKTUR SMALL V return rune(0x01d533), true - case "vldash": - // LEFT SQUARE BRACKET LOWER CORNER + case "vldash": // LEFT SQUARE BRACKET LOWER CORNER return rune(0x23a3), true - case "vltri": - // NORMAL SUBGROUP OF + case "vltri": // NORMAL SUBGROUP OF return rune(0x22b2), true - case "vnsub": - // SUBSET OF with vertical line + case "vnsub": // SUBSET OF with vertical line return rune(0x2282), true - case "vnsup": - // SUPERSET OF with vertical line + case "vnsup": // SUPERSET OF with vertical line return rune(0x2283), true - case "vopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL V + case "vopf": // MATHEMATICAL DOUBLE-STRUCK SMALL V return rune(0x01d567), true - case "vprime": - // PRIME + case "vprime": // PRIME return rune(0x2032), true - case "vprop": - // PROPORTIONAL TO + case "vprop": // PROPORTIONAL TO return rune(0x221d), true - case "vrtri": - // CONTAINS AS NORMAL SUBGROUP + case "vrtri": // CONTAINS AS NORMAL SUBGROUP return rune(0x22b3), true - case "vscr": - // MATHEMATICAL SCRIPT SMALL V + case "vscr": // MATHEMATICAL SCRIPT SMALL V return rune(0x01d4cb), true - case "vsubnE": - // SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members + case "vsubnE": // SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members return rune(0x2acb), true - case "vsubne": - // SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members + case "vsubne": // SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members return rune(0x228a), true - case "vsupnE": - // SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members + case "vsupnE": // SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members return rune(0x2acc), true - case "vsupne": - // SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members + case "vsupne": // SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members return rune(0x228b), true - case "vzigzag": - // VERTICAL ZIGZAG LINE + case "vzigzag": // VERTICAL ZIGZAG LINE return rune(0x299a), true } case 'w': switch name { - case "wcirc": - // LATIN SMALL LETTER W WITH CIRCUMFLEX + case "wcirc": // LATIN SMALL LETTER W WITH CIRCUMFLEX return rune(0x0175), true - case "wedbar": - // LOGICAL AND WITH UNDERBAR + case "wedbar": // LOGICAL AND WITH UNDERBAR return rune(0x2a5f), true - case "wedge": - // LOGICAL AND + case "wedge": // LOGICAL AND return rune(0x2227), true - case "wedgeq": - // ESTIMATES + case "wedgeq": // ESTIMATES return rune(0x2259), true - case "weierp": - // SCRIPT CAPITAL P + case "weierp": // SCRIPT CAPITAL P return rune(0x2118), true - case "wfr": - // MATHEMATICAL FRAKTUR SMALL W + case "wfr": // MATHEMATICAL FRAKTUR SMALL W return rune(0x01d534), true - case "wopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL W + case "wopf": // MATHEMATICAL DOUBLE-STRUCK SMALL W return rune(0x01d568), true - case "wp": - // SCRIPT CAPITAL P + case "wp": // SCRIPT CAPITAL P return rune(0x2118), true - case "wreath": - // WREATH PRODUCT + case "wr": // WREATH PRODUCT return rune(0x2240), true - case "wr": - // WREATH PRODUCT + case "wreath": // WREATH PRODUCT return rune(0x2240), true - case "wscr": - // MATHEMATICAL SCRIPT SMALL W + case "wscr": // MATHEMATICAL SCRIPT SMALL W return rune(0x01d4cc), true } case 'x': switch name { - case "xandand": - // TWO LOGICAL AND OPERATOR + case "xandand": // TWO LOGICAL AND OPERATOR return rune(0x2a07), true - case "xbsol": - // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT + case "xbsol": // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT return rune(0x2571), true - case "xcap": - // N-ARY INTERSECTION + case "xcap": // N-ARY INTERSECTION return rune(0x22c2), true - case "xcirc": - // LARGE CIRCLE + case "xcirc": // LARGE CIRCLE return rune(0x25ef), true - case "xcup": - // N-ARY UNION + case "xcup": // N-ARY UNION return rune(0x22c3), true - case "xcupdot": - // N-ARY UNION OPERATOR WITH DOT + case "xcupdot": // N-ARY UNION OPERATOR WITH DOT return rune(0x2a03), true - case "xdtri": - // WHITE DOWN-POINTING TRIANGLE + case "xdtri": // WHITE DOWN-POINTING TRIANGLE return rune(0x25bd), true - case "xfr": - // MATHEMATICAL FRAKTUR SMALL X + case "xfr": // MATHEMATICAL FRAKTUR SMALL X return rune(0x01d535), true - case "xgr": - // GREEK SMALL LETTER XI + case "xgr": // GREEK SMALL LETTER XI return rune(0x03be), true - case "xhArr": - // LONG LEFT RIGHT DOUBLE ARROW + case "xhArr": // LONG LEFT RIGHT DOUBLE ARROW return rune(0x27fa), true - case "xharr": - // LONG LEFT RIGHT ARROW + case "xharr": // LONG LEFT RIGHT ARROW return rune(0x27f7), true - case "xi": - // GREEK SMALL LETTER XI + case "xi": // GREEK SMALL LETTER XI return rune(0x03be), true - case "xlArr": - // LONG LEFTWARDS DOUBLE ARROW + case "xlArr": // LONG LEFTWARDS DOUBLE ARROW return rune(0x27f8), true - case "xlarr": - // LONG LEFTWARDS ARROW + case "xlarr": // LONG LEFTWARDS ARROW return rune(0x27f5), true - case "xmap": - // LONG RIGHTWARDS ARROW FROM BAR + case "xmap": // LONG RIGHTWARDS ARROW FROM BAR return rune(0x27fc), true - case "xnis": - // CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE + case "xnis": // CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE return rune(0x22fb), true - case "xodot": - // N-ARY CIRCLED DOT OPERATOR + case "xodot": // N-ARY CIRCLED DOT OPERATOR return rune(0x2a00), true - case "xopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL X + case "xopf": // MATHEMATICAL DOUBLE-STRUCK SMALL X return rune(0x01d569), true - case "xoplus": - // N-ARY CIRCLED PLUS OPERATOR + case "xoplus": // N-ARY CIRCLED PLUS OPERATOR return rune(0x2a01), true - case "xoror": - // TWO LOGICAL OR OPERATOR + case "xoror": // TWO LOGICAL OR OPERATOR return rune(0x2a08), true - case "xotime": - // N-ARY CIRCLED TIMES OPERATOR + case "xotime": // N-ARY CIRCLED TIMES OPERATOR return rune(0x2a02), true - case "xrArr": - // LONG RIGHTWARDS DOUBLE ARROW + case "xrArr": // LONG RIGHTWARDS DOUBLE ARROW return rune(0x27f9), true - case "xrarr": - // LONG RIGHTWARDS ARROW + case "xrarr": // LONG RIGHTWARDS ARROW return rune(0x27f6), true - case "xscr": - // MATHEMATICAL SCRIPT SMALL X + case "xscr": // MATHEMATICAL SCRIPT SMALL X return rune(0x01d4cd), true - case "xsol": - // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT + case "xsol": // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT return rune(0x2572), true - case "xsqcap": - // N-ARY SQUARE INTERSECTION OPERATOR + case "xsqcap": // N-ARY SQUARE INTERSECTION OPERATOR return rune(0x2a05), true - case "xsqcup": - // N-ARY SQUARE UNION OPERATOR + case "xsqcup": // N-ARY SQUARE UNION OPERATOR return rune(0x2a06), true - case "xsqu": - // WHITE MEDIUM SQUARE + case "xsqu": // WHITE MEDIUM SQUARE return rune(0x25fb), true - case "xsquf": - // BLACK MEDIUM SQUARE + case "xsquf": // BLACK MEDIUM SQUARE return rune(0x25fc), true - case "xtimes": - // N-ARY TIMES OPERATOR + case "xtimes": // N-ARY TIMES OPERATOR return rune(0x2a09), true - case "xuplus": - // N-ARY UNION OPERATOR WITH PLUS + case "xuplus": // N-ARY UNION OPERATOR WITH PLUS return rune(0x2a04), true - case "xutri": - // WHITE UP-POINTING TRIANGLE + case "xutri": // WHITE UP-POINTING TRIANGLE return rune(0x25b3), true - case "xvee": - // N-ARY LOGICAL OR + case "xvee": // N-ARY LOGICAL OR return rune(0x22c1), true - case "xwedge": - // N-ARY LOGICAL AND + case "xwedge": // N-ARY LOGICAL AND return rune(0x22c0), true } case 'y': switch name { - case "yacute": - // LATIN SMALL LETTER Y WITH ACUTE + case "yacute": // LATIN SMALL LETTER Y WITH ACUTE return rune(0xfd), true - case "yacy": - // CYRILLIC SMALL LETTER YA + case "yacy": // CYRILLIC SMALL LETTER YA return rune(0x044f), true - case "ycirc": - // LATIN SMALL LETTER Y WITH CIRCUMFLEX + case "ycirc": // LATIN SMALL LETTER Y WITH CIRCUMFLEX return rune(0x0177), true - case "ycy": - // CYRILLIC SMALL LETTER YERU + case "ycy": // CYRILLIC SMALL LETTER YERU return rune(0x044b), true - case "yen": - // YEN SIGN + case "yen": // YEN SIGN return rune(0xa5), true - case "yfr": - // MATHEMATICAL FRAKTUR SMALL Y + case "yfr": // MATHEMATICAL FRAKTUR SMALL Y return rune(0x01d536), true - case "yicy": - // CYRILLIC SMALL LETTER YI + case "yicy": // CYRILLIC SMALL LETTER YI return rune(0x0457), true - case "yopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL Y + case "yopf": // MATHEMATICAL DOUBLE-STRUCK SMALL Y return rune(0x01d56a), true - case "yscr": - // MATHEMATICAL SCRIPT SMALL Y + case "yscr": // MATHEMATICAL SCRIPT SMALL Y return rune(0x01d4ce), true - case "yucy": - // CYRILLIC SMALL LETTER YU + case "yucy": // CYRILLIC SMALL LETTER YU return rune(0x044e), true - case "yuml": - // LATIN SMALL LETTER Y WITH DIAERESIS + case "yuml": // LATIN SMALL LETTER Y WITH DIAERESIS return rune(0xff), true } case 'z': switch name { - case "zacute": - // LATIN SMALL LETTER Z WITH ACUTE + case "zacute": // LATIN SMALL LETTER Z WITH ACUTE return rune(0x017a), true - case "zcaron": - // LATIN SMALL LETTER Z WITH CARON + case "zcaron": // LATIN SMALL LETTER Z WITH CARON return rune(0x017e), true - case "zcy": - // CYRILLIC SMALL LETTER ZE + case "zcy": // CYRILLIC SMALL LETTER ZE return rune(0x0437), true - case "zdot": - // LATIN SMALL LETTER Z WITH DOT ABOVE + case "zdot": // LATIN SMALL LETTER Z WITH DOT ABOVE return rune(0x017c), true - case "zeetrf": - // BLACK-LETTER CAPITAL Z + case "zeetrf": // BLACK-LETTER CAPITAL Z return rune(0x2128), true - case "zeta": - // GREEK SMALL LETTER ZETA + case "zeta": // GREEK SMALL LETTER ZETA return rune(0x03b6), true - case "zfr": - // MATHEMATICAL FRAKTUR SMALL Z + case "zfr": // MATHEMATICAL FRAKTUR SMALL Z return rune(0x01d537), true - case "zgr": - // GREEK SMALL LETTER ZETA + case "zgr": // GREEK SMALL LETTER ZETA return rune(0x03b6), true - case "zhcy": - // CYRILLIC SMALL LETTER ZHE + case "zhcy": // CYRILLIC SMALL LETTER ZHE return rune(0x0436), true - case "zigrarr": - // RIGHTWARDS SQUIGGLE ARROW + case "zigrarr": // RIGHTWARDS SQUIGGLE ARROW return rune(0x21dd), true - case "zopf": - // MATHEMATICAL DOUBLE-STRUCK SMALL Z + case "zopf": // MATHEMATICAL DOUBLE-STRUCK SMALL Z return rune(0x01d56b), true - case "zscr": - // MATHEMATICAL SCRIPT SMALL Z + case "zscr": // MATHEMATICAL SCRIPT SMALL Z return rune(0x01d4cf), true - case "zwj": - // ZERO WIDTH JOINER + case "zwj": // ZERO WIDTH JOINER return rune(0x200d), true - case "zwnj": - // ZERO WIDTH NON-JOINER + case "zwnj": // ZERO WIDTH NON-JOINER return rune(0x200c), true } } diff --git a/core/encoding/json/unmarshal.odin b/core/encoding/json/unmarshal.odin index 678f2dcfa..afcc43c0c 100644 --- a/core/encoding/json/unmarshal.odin +++ b/core/encoding/json/unmarshal.odin @@ -201,20 +201,37 @@ unmarshal_string_token :: proc(p: ^Parser, val: any, str: string, ti: ^reflect.T unmarshal_value :: proc(p: ^Parser, v: any) -> (err: Unmarshal_Error) { UNSUPPORTED_TYPE := Unsupported_Type_Error{v.id, p.curr_token} token := p.curr_token - + v := v ti := reflect.type_info_base(type_info_of(v.id)) - // NOTE: If it's a union with only one variant, then treat it as that variant - if u, ok := ti.variant.(reflect.Type_Info_Union); ok && len(u.variants) == 1 && token.kind != .Null { - variant := u.variants[0] - v.id = variant.id - ti = reflect.type_info_base(variant) - if !reflect.is_pointer_internally(variant) { - tag := any{rawptr(uintptr(v.data) + u.tag_offset), u.tag_type.id} - assign_int(tag, 1) + if u, ok := ti.variant.(reflect.Type_Info_Union); ok && token.kind != .Null { + // NOTE: If it's a union with only one variant, then treat it as that variant + if len(u.variants) == 1 { + variant := u.variants[0] + v.id = variant.id + ti = reflect.type_info_base(variant) + if !reflect.is_pointer_internally(variant) { + tag := any{rawptr(uintptr(v.data) + u.tag_offset), u.tag_type.id} + assign_int(tag, 1) + } + } else if v.id != Value { + for variant, i in u.variants { + variant_any := any{v.data, variant.id} + variant_p := p^ + if err = unmarshal_value(&variant_p, variant_any); err == nil { + p^ = variant_p + + raw_tag := i + if !u.no_nil { raw_tag += 1 } + tag := any{rawptr(uintptr(v.data) + u.tag_offset), u.tag_type.id} + assign_int(tag, raw_tag) + return + } + } + return UNSUPPORTED_TYPE } } - + switch &dst in v { // Handle json.Value as an unknown type case Value: diff --git a/core/fmt/fmt.odin b/core/fmt/fmt.odin index 402f783cf..c9e284edc 100644 --- a/core/fmt/fmt.odin +++ b/core/fmt/fmt.odin @@ -216,7 +216,7 @@ tprintf :: proc(fmt: string, args: ..any) -> string { // Returns: A formatted string // bprint :: proc(buf: []byte, args: ..any, sep := " ") -> string { - sb := strings.builder_from_bytes(buf[0:len(buf)]) + sb := strings.builder_from_bytes(buf) return sbprint(&sb, ..args, sep=sep) } // Creates a formatted string using a supplied buffer as the backing array, appends newline. Writes into the buffer. @@ -229,7 +229,7 @@ bprint :: proc(buf: []byte, args: ..any, sep := " ") -> string { // Returns: A formatted string with a newline character at the end // bprintln :: proc(buf: []byte, args: ..any, sep := " ") -> string { - sb := strings.builder_from_bytes(buf[0:len(buf)]) + sb := strings.builder_from_bytes(buf) return sbprintln(&sb, ..args, sep=sep) } // Creates a formatted string using a supplied buffer as the backing array. Writes into the buffer. @@ -242,7 +242,7 @@ bprintln :: proc(buf: []byte, args: ..any, sep := " ") -> string { // Returns: A formatted string // bprintf :: proc(buf: []byte, fmt: string, args: ..any) -> string { - sb := strings.builder_from_bytes(buf[0:len(buf)]) + sb := strings.builder_from_bytes(buf) return sbprintf(&sb, fmt, ..args) } // Runtime assertion with a formatted message @@ -1232,8 +1232,12 @@ _pad :: proc(fi: ^Info, s: string) { // // NOTE: Can return "NaN", "+Inf", "-Inf", "+<value>", or "-<value>". // -_fmt_float_as :: proc(fi: ^Info, v: f64, bit_size: int, verb: rune, float_fmt: byte) { - prec := fi.prec if fi.prec_set else 3 +_fmt_float_as :: proc(fi: ^Info, v: f64, bit_size: int, verb: rune, float_fmt: byte, prec: int) { + prec := prec + if fi.prec_set { + prec = fi.prec + } + buf: [386]byte // Can return "NaN", "+Inf", "-Inf", "+<value>", "-<value>". @@ -1242,7 +1246,7 @@ _fmt_float_as :: proc(fi: ^Info, v: f64, bit_size: int, verb: rune, float_fmt: b if !fi.plus { // Strip sign from "+<value>" but not "+Inf". if str[0] == '+' && str[1] != 'I' { - str = str[1:] + str = str[1:] } } @@ -1258,11 +1262,13 @@ _fmt_float_as :: proc(fi: ^Info, v: f64, bit_size: int, verb: rune, float_fmt: b // fmt_float :: proc(fi: ^Info, v: f64, bit_size: int, verb: rune) { switch verb { - case 'f', 'F', 'g', 'G', 'v': - _fmt_float_as(fi, v, bit_size, verb, 'f') + case 'g', 'G', 'v': + _fmt_float_as(fi, v, bit_size, verb, 'g', -1) + case 'f', 'F': + _fmt_float_as(fi, v, bit_size, verb, 'f', 3) case 'e', 'E': // BUG(): "%.3e" returns "3.000e+00" - _fmt_float_as(fi, v, bit_size, verb, 'e') + _fmt_float_as(fi, v, bit_size, verb, 'e', 6) case 'h', 'H': prev_fi := fi^ diff --git a/core/fmt/fmt_os.odin b/core/fmt/fmt_os.odin index 1f0ccf412..3d1b0847b 100644 --- a/core/fmt/fmt_os.odin +++ b/core/fmt/fmt_os.odin @@ -1,4 +1,5 @@ -//+build !freestanding !js +//+build !freestanding +//+build !js package fmt import "core:runtime" diff --git a/core/log/log_allocator.odin b/core/log/log_allocator.odin index 934f0d643..360562f01 100644 --- a/core/log/log_allocator.odin +++ b/core/log/log_allocator.odin @@ -1,19 +1,28 @@ package log import "core:runtime" +import "core:fmt" + +Log_Allocator_Format :: enum { + Bytes, // Actual number of bytes. + Human, // Bytes in human units like bytes, kibibytes, etc. as appropriate. +} Log_Allocator :: struct { allocator: runtime.Allocator, level: Level, prefix: string, locked: bool, + size_fmt: Log_Allocator_Format, } -log_allocator_init :: proc(la: ^Log_Allocator, level: Level, allocator := context.allocator, prefix := "") { +log_allocator_init :: proc(la: ^Log_Allocator, level: Level, size_fmt := Log_Allocator_Format.Bytes, + allocator := context.allocator, prefix := "") { la.allocator = allocator la.level = level la.prefix = prefix la.locked = false + la.size_fmt = size_fmt } @@ -29,71 +38,71 @@ log_allocator_proc :: proc(allocator_data: rawptr, mode: runtime.Allocator_Mode, old_memory: rawptr, old_size: int, location := #caller_location) -> ([]byte, runtime.Allocator_Error) { la := (^Log_Allocator)(allocator_data) + if context.logger.procedure == nil || la.level < context.logger.lowest_level { + return la.allocator.procedure(la.allocator.data, mode, size, alignment, old_memory, old_size, location) + } + padding := " " if la.prefix != "" else "" + buf: [256]byte = --- + if !la.locked { la.locked = true defer la.locked = false switch mode { case .Alloc: - logf( - la.level, - "%s%s>>> ALLOCATOR(mode=.Alloc, size=%d, alignment=%d)", - la.prefix, padding, size, alignment, - location = location, - ) + format: string + switch la.size_fmt { + case .Bytes: format = "%s%s>>> ALLOCATOR(mode=.Alloc, size=%d, alignment=%d)" + case .Human: format = "%s%s>>> ALLOCATOR(mode=.Alloc, size=%m, alignment=%d)" + } + str := fmt.bprintf(buf[:], format, la.prefix, padding, size, alignment) + context.logger.procedure(context.logger.data, la.level, str, context.logger.options, location) + case .Alloc_Non_Zeroed: - logf( - la.level, - "%s%s>>> ALLOCATOR(mode=.Alloc_Non_Zeroed, size=%d, alignment=%d)", - la.prefix, padding, size, alignment, - location = location, - ) + format: string + switch la.size_fmt { + case .Bytes: format = "%s%s>>> ALLOCATOR(mode=.Alloc_Non_Zeroed, size=%d, alignment=%d)" + case .Human: format = "%s%s>>> ALLOCATOR(mode=.Alloc_Non_Zeroed, size=%m, alignment=%d)" + } + str := fmt.bprintf(buf[:], format, la.prefix, padding, size, alignment) + context.logger.procedure(context.logger.data, la.level, str, context.logger.options, location) + case .Free: if old_size != 0 { - logf( - la.level, - "%s%s<<< ALLOCATOR(mode=.Free, ptr=%p, size=%d)", - la.prefix, padding, old_memory, old_size, - location = location, - ) + format: string + switch la.size_fmt { + case .Bytes: format = "%s%s<<< ALLOCATOR(mode=.Free, ptr=%p, size=%d)" + case .Human: format = "%s%s<<< ALLOCATOR(mode=.Free, ptr=%p, size=%m)" + } + str := fmt.bprintf(buf[:], format, la.prefix, padding, old_memory, old_size) + context.logger.procedure(context.logger.data, la.level, str, context.logger.options, location) } else { - logf( - la.level, - "%s%s<<< ALLOCATOR(mode=.Free, ptr=%p)", - la.prefix, padding, old_memory, - location = location, - ) + str := fmt.bprintf(buf[:], "%s%s<<< ALLOCATOR(mode=.Free, ptr=%p)", la.prefix, padding, old_memory) + context.logger.procedure(context.logger.data, la.level, str, context.logger.options, location) } + case .Free_All: - logf( - la.level, - "%s%s<<< ALLOCATOR(mode=.Free_All)", - la.prefix, padding, - location = location, - ) + str := fmt.bprintf(buf[:], "%s%s<<< ALLOCATOR(mode=.Free_All)", la.prefix, padding) + context.logger.procedure(context.logger.data, la.level, str, context.logger.options, location) + case .Resize: - logf( - la.level, - "%s%s>>> ALLOCATOR(mode=.Resize, ptr=%p, old_size=%d, size=%d, alignment=%d)", - la.prefix, padding, old_memory, old_size, size, alignment, - location = location, - ) + format: string + switch la.size_fmt { + case .Bytes: format = "%s%s>>> ALLOCATOR(mode=.Resize, ptr=%p, old_size=%d, size=%d, alignment=%d)" + case .Human: format = "%s%s>>> ALLOCATOR(mode=.Resize, ptr=%p, old_size=%m, size=%m, alignment=%d)" + } + str := fmt.bprintf(buf[:], format, la.prefix, padding, old_memory, old_size, size, alignment) + context.logger.procedure(context.logger.data, la.level, str, context.logger.options, location) + case .Query_Features: - logf( - la.level, - "%s%ALLOCATOR(mode=.Query_Features)", - la.prefix, padding, - location = location, - ) + str := fmt.bprintf(buf[:], "%s%sALLOCATOR(mode=.Query_Features)", la.prefix, padding) + context.logger.procedure(context.logger.data, la.level, str, context.logger.options, location) + case .Query_Info: - logf( - la.level, - "%s%ALLOCATOR(mode=.Query_Info)", - la.prefix, padding, - location = location, - ) + str := fmt.bprintf(buf[:], "%s%sALLOCATOR(mode=.Query_Info)", la.prefix, padding) + context.logger.procedure(context.logger.data, la.level, str, context.logger.options, location) } } @@ -102,13 +111,9 @@ log_allocator_proc :: proc(allocator_data: rawptr, mode: runtime.Allocator_Mode, la.locked = true defer la.locked = false if err != nil { - logf( - la.level, - "%s%ALLOCATOR ERROR=%v", - la.prefix, padding, error, - location = location, - ) + str := fmt.bprintf(buf[:], "%s%sALLOCATOR ERROR=%v", la.prefix, padding, err) + context.logger.procedure(context.logger.data, la.level, str, context.logger.options, location) } } return data, err -}
\ No newline at end of file +} diff --git a/core/mem/virtual/arena.odin b/core/mem/virtual/arena.odin index 082ae3cd8..90379e5e6 100644 --- a/core/mem/virtual/arena.odin +++ b/core/mem/virtual/arena.odin @@ -98,15 +98,15 @@ arena_alloc :: proc(arena: ^Arena, size: uint, alignment: uint, loc := #caller_l switch arena.kind { case .Growing: - if arena.curr_block == nil || (safe_add(arena.curr_block.used, size) or_else 0) > arena.curr_block.reserved { - size = mem.align_forward_uint(size, alignment) + needed := mem.align_forward_uint(size, alignment) + if arena.curr_block == nil || (safe_add(arena.curr_block.used, needed) or_else 0) > arena.curr_block.reserved { if arena.minimum_block_size == 0 { arena.minimum_block_size = DEFAULT_ARENA_GROWING_MINIMUM_BLOCK_SIZE } - block_size := max(size, arena.minimum_block_size) + block_size := max(needed, arena.minimum_block_size) - new_block := memory_block_alloc(size, block_size, {}) or_return + new_block := memory_block_alloc(needed, block_size, alignment, {}) or_return new_block.prev = arena.curr_block arena.curr_block = new_block arena.total_reserved += new_block.reserved diff --git a/core/mem/virtual/virtual.odin b/core/mem/virtual/virtual.odin index 1624fae9d..00a9e6a5d 100644 --- a/core/mem/virtual/virtual.odin +++ b/core/mem/virtual/virtual.odin @@ -68,7 +68,7 @@ align_formula :: #force_inline proc "contextless" (size, align: uint) -> uint { } @(require_results) -memory_block_alloc :: proc(committed, reserved: uint, flags: Memory_Block_Flags) -> (block: ^Memory_Block, err: Allocator_Error) { +memory_block_alloc :: proc(committed, reserved: uint, alignment: uint = 0, flags: Memory_Block_Flags = {}) -> (block: ^Memory_Block, err: Allocator_Error) { page_size := DEFAULT_PAGE_SIZE assert(mem.is_power_of_two(uintptr(page_size))) @@ -79,8 +79,8 @@ memory_block_alloc :: proc(committed, reserved: uint, flags: Memory_Block_Flags) reserved = align_formula(reserved, page_size) committed = clamp(committed, 0, reserved) - total_size := uint(reserved + size_of(Platform_Memory_Block)) - base_offset := uintptr(size_of(Platform_Memory_Block)) + total_size := uint(reserved + max(alignment, size_of(Platform_Memory_Block))) + base_offset := uintptr(max(alignment, size_of(Platform_Memory_Block))) protect_offset := uintptr(0) do_protection := false @@ -183,4 +183,4 @@ memory_block_dealloc :: proc(block_to_free: ^Memory_Block) { safe_add :: #force_inline proc "contextless" (x, y: uint) -> (uint, bool) { z, did_overflow := intrinsics.overflow_add(x, y) return z, !did_overflow -}
\ No newline at end of file +} diff --git a/core/odin/parser/parser.odin b/core/odin/parser/parser.odin index 39bd77055..f11d0eb73 100644 --- a/core/odin/parser/parser.odin +++ b/core/odin/parser/parser.odin @@ -1438,7 +1438,7 @@ parse_stmt :: proc(p: ^Parser) -> ^ast.Stmt { } range.reverse = true } else { - error(p, range.pos, "#reverse can only be applied to a 'for in' statement") + error(p, stmt.pos, "#reverse can only be applied to a 'for in' statement") } return stmt case "include": diff --git a/core/os/os_linux.odin b/core/os/os_linux.odin index aabf42574..298335ac9 100644 --- a/core/os/os_linux.odin +++ b/core/os/os_linux.odin @@ -263,26 +263,48 @@ Unix_File_Time :: struct { nanoseconds: i64, } -OS_Stat :: struct { - device_id: u64, // ID of device containing file - serial: u64, // File serial number - nlink: u64, // Number of hard links - mode: u32, // Mode of the file - uid: u32, // User ID of the file's owner - gid: u32, // Group ID of the file's group - _padding: i32, // 32 bits of padding - rdev: u64, // Device ID, if device - size: i64, // Size of the file, in bytes - block_size: i64, // Optimal bllocksize for I/O - blocks: i64, // Number of 512-byte blocks allocated - - last_access: Unix_File_Time, // Time of last access - modified: Unix_File_Time, // Time of last modification - status_change: Unix_File_Time, // Time of last status change - - _reserve1, - _reserve2, - _reserve3: i64, +when ODIN_ARCH == .arm64 { + OS_Stat :: struct { + device_id: u64, // ID of device containing file + serial: u64, // File serial number + mode: u32, // Mode of the file + nlink: u32, // Number of hard links + uid: u32, // User ID of the file's owner + gid: u32, // Group ID of the file's group + rdev: u64, // Device ID, if device + _: u64, // Padding + size: i64, // Size of the file, in bytes + block_size: i32, // Optimal blocksize for I/O + _: i32, // Padding + blocks: i64, // Number of 512-byte blocks allocated + + last_access: Unix_File_Time, // Time of last access + modified: Unix_File_Time, // Time of last modification + status_change: Unix_File_Time, // Time of last status change + + _reserved: [2]i32, + } + #assert(size_of(OS_Stat) == 128) +} else { + OS_Stat :: struct { + device_id: u64, // ID of device containing file + serial: u64, // File serial number + nlink: u64, // Number of hard links + mode: u32, // Mode of the file + uid: u32, // User ID of the file's owner + gid: u32, // Group ID of the file's group + _: i32, // 32 bits of padding + rdev: u64, // Device ID, if device + size: i64, // Size of the file, in bytes + block_size: i64, // Optimal bllocksize for I/O + blocks: i64, // Number of 512-byte blocks allocated + + last_access: Unix_File_Time, // Time of last access + modified: Unix_File_Time, // Time of last modification + status_change: Unix_File_Time, // Time of last status change + + _reserved: [3]i64, + } } // NOTE(laleksic, 2021-01-21): Comment and rename these to match OS_Stat above diff --git a/core/runtime/core_builtin.odin b/core/runtime/core_builtin.odin index 0348a93df..c3c5fd5d0 100644 --- a/core/runtime/core_builtin.odin +++ b/core/runtime/core_builtin.odin @@ -234,6 +234,8 @@ delete :: proc{ delete_dynamic_array, delete_slice, delete_map, + delete_soa_slice, + delete_soa_dynamic_array, } @@ -346,7 +348,7 @@ make_multi_pointer :: proc($T: typeid/[^]$E, #any_int len: int, allocator := con // // Similar to `new`, the first argument is a type, not a value. Unlike new, make's return type is the same as the // type of its argument, not a pointer to it. -// Make uses the specified allocator, default is context.allocator, default is context.allocator +// Make uses the specified allocator, default is context.allocator. @builtin make :: proc{ make_slice, @@ -587,11 +589,14 @@ assign_at_elem :: proc(array: ^$T/[dynamic]$E, index: int, arg: E, loc := #calle @builtin assign_at_elems :: proc(array: ^$T/[dynamic]$E, index: int, args: ..E, loc := #caller_location) -> (ok: bool, err: Allocator_Error) #no_bounds_check #optional_allocator_error { - if index+len(args) < len(array) { + new_size := index + len(args) + if len(args) == 0 { + ok = true + } else if new_size < len(array) { copy(array[index:], args) ok = true } else { - resize(array, index+1+len(args), loc) or_return + resize(array, new_size, loc) or_return copy(array[index:], args) ok = true } diff --git a/core/runtime/default_allocators_arena.odin b/core/runtime/default_allocators_arena.odin index 1c36c4f7c..4506acb56 100644 --- a/core/runtime/default_allocators_arena.odin +++ b/core/runtime/default_allocators_arena.odin @@ -28,11 +28,11 @@ safe_add :: #force_inline proc "contextless" (x, y: uint) -> (uint, bool) { } @(require_results) -memory_block_alloc :: proc(allocator: Allocator, capacity: uint, loc := #caller_location) -> (block: ^Memory_Block, err: Allocator_Error) { - total_size := uint(capacity + size_of(Memory_Block)) - base_offset := uintptr(size_of(Memory_Block)) +memory_block_alloc :: proc(allocator: Allocator, capacity: uint, alignment: uint, loc := #caller_location) -> (block: ^Memory_Block, err: Allocator_Error) { + total_size := uint(capacity + max(alignment, size_of(Memory_Block))) + base_offset := uintptr(max(alignment, size_of(Memory_Block))) - min_alignment: int = max(16, align_of(Memory_Block)) + min_alignment: int = max(16, align_of(Memory_Block), int(alignment)) data := mem_alloc(int(total_size), min_alignment, allocator, loc) or_return block = (^Memory_Block)(raw_data(data)) end := uintptr(raw_data(data)[len(data):]) @@ -102,20 +102,20 @@ arena_alloc :: proc(arena: ^Arena, size, alignment: uint, loc := #caller_locatio if size == 0 { return } - - if arena.curr_block == nil || (safe_add(arena.curr_block.used, size) or_else 0) > arena.curr_block.capacity { - size = align_forward_uint(size, alignment) + + needed := align_forward_uint(size, alignment) + if arena.curr_block == nil || (safe_add(arena.curr_block.used, needed) or_else 0) > arena.curr_block.capacity { if arena.minimum_block_size == 0 { arena.minimum_block_size = DEFAULT_ARENA_GROWING_MINIMUM_BLOCK_SIZE } - block_size := max(size, arena.minimum_block_size) + block_size := max(needed, arena.minimum_block_size) if arena.backing_allocator.procedure == nil { arena.backing_allocator = default_allocator() } - new_block := memory_block_alloc(arena.backing_allocator, block_size, loc) or_return + new_block := memory_block_alloc(arena.backing_allocator, block_size, alignment, loc) or_return new_block.prev = arena.curr_block arena.curr_block = new_block arena.total_capacity += new_block.capacity @@ -134,7 +134,7 @@ arena_init :: proc(arena: ^Arena, size: uint, backing_allocator: Allocator, loc arena^ = {} arena.backing_allocator = backing_allocator arena.minimum_block_size = max(size, 1<<12) // minimum block size of 4 KiB - new_block := memory_block_alloc(arena.backing_allocator, arena.minimum_block_size, loc) or_return + new_block := memory_block_alloc(arena.backing_allocator, arena.minimum_block_size, 0, loc) or_return arena.curr_block = new_block arena.total_capacity += new_block.capacity return nil diff --git a/core/runtime/os_specific_any.odin b/core/runtime/os_specific_any.odin index 5fffceeeb..6a96655c4 100644 --- a/core/runtime/os_specific_any.odin +++ b/core/runtime/os_specific_any.odin @@ -1,4 +1,8 @@ -//+build !freestanding !wasi !windows !js !darwin +//+build !darwin +//+build !freestanding +//+build !js +//+build !wasi +//+build !windows package runtime import "core:os" diff --git a/core/runtime/procs.odin b/core/runtime/procs.odin index 1592c608b..1b8a54c6d 100644 --- a/core/runtime/procs.odin +++ b/core/runtime/procs.odin @@ -37,7 +37,18 @@ when ODIN_NO_CRT && ODIN_OS == .Windows { } return ptr } - + + @(link_name="bzero", linkage="strong", require) + bzero :: proc "c" (ptr: rawptr, len: int) -> rawptr { + if ptr != nil && len != 0 { + p := ([^]byte)(ptr) + for i := 0; i < len; i += 1 { + p[i] = 0 + } + } + return ptr + } + @(link_name="memmove", linkage="strong", require) memmove :: proc "c" (dst, src: rawptr, len: int) -> rawptr { d, s := ([^]byte)(dst), ([^]byte)(src) diff --git a/core/slice/slice.odin b/core/slice/slice.odin index 748bd28f7..2a9e29d01 100644 --- a/core/slice/slice.odin +++ b/core/slice/slice.odin @@ -158,51 +158,25 @@ linear_search_proc :: proc(array: $A/[]$T, f: proc(T) -> bool) -> (index: int, f binary_search :: proc(array: $A/[]$T, key: T) -> (index: int, found: bool) where intrinsics.type_is_ordered(T) #no_bounds_check { - // I would like to use binary_search_by(array, key, cmp) here, but it doesn't like it: - // Cannot assign value 'cmp' of type 'proc($E, $E) -> Ordering' to 'proc(i32, i32) -> Ordering' in argument - return binary_search_by(array, key, proc(key: T, element: T) -> Ordering { - switch { - case element < key: return .Less - case element > key: return .Greater - case: return .Equal - } - }) + return binary_search_by(array, key, cmp_proc(T)) } @(require_results) binary_search_by :: proc(array: $A/[]$T, key: T, f: proc(T, T) -> Ordering) -> (index: int, found: bool) #no_bounds_check { - // INVARIANTS: - // - 0 <= left <= (left + size = right) <= len(array) - // - f returns .Less for everything in array[:left] - // - f returns .Greater for everything in array[right:] - size := len(array) - left := 0 - right := size - + n := len(array) + left, right := 0, n for left < right { - mid := left + size / 2 - - // Steps to verify this is in-bounds: - // 1. We note that `size` is strictly positive due to the loop condition - // 2. Therefore `size/2 < size` - // 3. Adding `left` to both sides yields `(left + size/2) < (left + size)` - // 4. We know from the invariant that `left + size <= len(array)` - // 5. Therefore `left + size/2 < self.len()` - cmp := f(key, array[mid]) - - left = mid + 1 if cmp == .Less else left - right = mid if cmp == .Greater else right - - switch cmp { - case .Equal: return mid, true - case .Less: left = mid + 1 - case .Greater: right = mid + mid := int(uint(left+right) >> 1) + if f(array[mid], key) == .Less { + left = mid+1 + } else { + // .Equal or .Greater + right = mid } - - size = right - left } - - return left, false + // left == right + // f(array[left-1], key) == .Less (if left > 0) + return left, left < n && f(array[left], key) == .Equal } @(require_results) @@ -444,14 +418,35 @@ reduce :: proc(s: $S/[]$U, initializer: $V, f: proc(V, U) -> V) -> V { } @(require_results) -filter :: proc(s: $S/[]$U, f: proc(U) -> bool, allocator := context.allocator) -> S { - r := make([dynamic]U, 0, 0, allocator) +reduce_reverse :: proc(s: $S/[]$U, initializer: $V, f: proc(V, U) -> V) -> V { + r := initializer + for i := len(s)-1; i >= 0; i -= 1 { + #no_bounds_check r = f(r, s[i]) + } + return r +} + +@(require_results) +filter :: proc(s: $S/[]$U, f: proc(U) -> bool, allocator := context.allocator) -> (res: S, err: runtime.Allocator_Error) #optional_allocator_error { + r := make([dynamic]U, 0, 0, allocator) or_return for v in s { if f(v) { append(&r, v) } } - return r[:] + return r[:], nil +} + +@(require_results) +filter_reverse :: proc(s: $S/[]$U, f: proc(U) -> bool, allocator := context.allocator) -> (res: S, err: runtime.Allocator_Error) #optional_allocator_error { + r := make([dynamic]U, 0, 0, allocator) or_return + for i := len(s)-1; i >= 0; i -= 1 { + #no_bounds_check v := s[i] + if f(v) { + append(&r, v) + } + } + return r[:], nil } @(require_results) @@ -475,6 +470,60 @@ scanner :: proc (s: $S/[]$U, initializer: $V, f: proc(V, U) -> V, allocator := c @(require_results) +repeat :: proc(s: $S/[]$U, count: int, allocator := context.allocator) -> (b: S, err: runtime.Allocator_Error) #optional_allocator_error { + if count < 0 { + panic("slice: negative repeat count") + } else if count > 0 && (len(s)*count)/count != len(s) { + panic("slice: repeat count will cause an overflow") + } + + b = make(S, len(s)*count, allocator) or_return + i := copy(b, s) + for i < len(b) { // 2^N trick to reduce the need to copy + copy(b[i:], b[:i]) + i *= 2 + } + return +} + +// 'unique' replaces consecutive runs of equal elements with a single copy. +// The procedures modifies the slice in-place and returns the modified slice. +@(require_results) +unique :: proc(s: $S/[]$T) -> S where intrinsics.type_is_comparable(T) #no_bounds_check { + if len(s) < 2 { + return s + } + i := 1 + for j in 1..<len(s) { + if s[j] != s[j-1] && i != j { + s[i] = s[j] + } + i += 1 + } + + return s[:i] +} + +// 'unique_proc' replaces consecutive runs of equal elements with a single copy using a comparison procedure +// The procedures modifies the slice in-place and returns the modified slice. +@(require_results) +unique_proc :: proc(s: $S/[]$T, eq: proc(T, T) -> bool) -> S #no_bounds_check { + if len(s) < 2 { + return s + } + i := 1 + for j in 1..<len(s) { + if !eq(s[j], s[j-1]) && i != j { + s[i] = s[j] + } + i += 1 + } + + return s[:i] +} + + +@(require_results) min :: proc(s: $S/[]$T) -> (res: T, ok: bool) where intrinsics.type_is_ordered(T) #optional_ok { if len(s) != 0 { res = s[0] diff --git a/core/strconv/generic_float.odin b/core/strconv/generic_float.odin index 70febf832..4ad42a647 100644 --- a/core/strconv/generic_float.odin +++ b/core/strconv/generic_float.odin @@ -103,8 +103,11 @@ generic_ftoa :: proc(buf: []byte, val: f64, fmt: byte, precision, bit_size: int) } } else { switch fmt { - case 'e', 'E': decimal.round(d, prec+1) - case 'f', 'F': decimal.round(d, d.decimal_point+prec) + case 'e', 'E': + prec += 1 + decimal.round(d, prec) + case 'f', 'F': + decimal.round(d, d.decimal_point+prec) case 'g', 'G': if prec == 0 { prec = 1 diff --git a/core/sys/linux/bits.odin b/core/sys/linux/bits.odin index 1ca60d494..8b7de5d5e 100644 --- a/core/sys/linux/bits.odin +++ b/core/sys/linux/bits.odin @@ -1,7 +1,9 @@ package linux -/// Represents an error returned by most of syscalls +/* + Represents an error returned by most of syscalls +*/ Errno :: enum i32 { NONE = 0, // Errno-base @@ -142,8 +144,9 @@ Errno :: enum i32 { EDEADLOCK = EDEADLK, } - -/// Bits for Open_Flags +/* + Bits for Open_Flags +*/ Open_Flags_Bits :: enum { RDONLY = 0, WRONLY = 1, @@ -164,7 +167,9 @@ Open_Flags_Bits :: enum { PATH = 21, } -/// Bits for FD_Flags bitset +/* + Bits for FD_Flags bitset +*/ FD_Flags_Bits :: enum { SYMLINK_NOFOLLOW = 8, REMOVEDIR = 9, @@ -177,7 +182,9 @@ FD_Flags_Bits :: enum { RECURSIVE = 15, } -/// The bits for the Mode bitset. +/* + The bits for the Mode bitset. +*/ Mode_Bits :: enum { IXOTH = 0, // 0o0000001 IWOTH = 1, // 0o0000002 @@ -197,7 +204,9 @@ Mode_Bits :: enum { IFREG = 15, // 0o0100000 } -/// The bits used by the Statx_Mask bitset +/* + The bits used by the Statx_Mask bitset +*/ Statx_Mask_Bits :: enum { TYPE = 0, MODE = 1, @@ -215,8 +224,10 @@ Statx_Mask_Bits :: enum { DIOALIGN = 13, } -/// Bits found in Statx_Attr bitset -/// You should not use these directly +/* + Bits found in Statx_Attr bitset + You should not use these directly +*/ Statx_Attr_Bits :: enum { COMPRESSED = 2, // 0x00000004 IMMUTABLE = 4, // 0x00000010 @@ -229,7 +240,9 @@ Statx_Attr_Bits :: enum { DAX = 21, // 0x00200000 } -/// Magic bits for filesystems returned by Stat_FS +/* + Magic bits for filesystems returned by Stat_FS +*/ FS_Magic :: enum u32 { ADFS_SUPER_MAGIC = 0xadf5, AFFS_SUPER_MAGIC = 0xadff, @@ -317,7 +330,9 @@ FS_Magic :: enum u32 { _XIAFS_SUPER_MAGIC = 0x012fd16d, } -/// Bits for FS_Flags bitset +/* + Bits for FS_Flags bitset +*/ FS_Flags_Bits :: enum { RDONLY = 0, NOSUID = 1, @@ -340,20 +355,26 @@ Seek_Whence :: enum i16 { HOLE = 4, } -/// Bits for Close_Range_Flags +/* + Bits for Close_Range_Flags +*/ Close_Range_Flags_Bits :: enum { CLOEXEC = 2, UNSHARE = 1, } -/// Bits for Rename_Flags +/* + Bits for Rename_Flags +*/ Rename_Flags_Bits :: enum { EXCHANGE = 1, NOREPLACE = 0, WHITEOUT = 2, } -/// Type of the file in a directory entry +/* + Type of the file in a directory entry +*/ Dirent_Type :: enum u8 { UNKNOWN = 0, FIFO = 1, @@ -366,14 +387,18 @@ Dirent_Type :: enum u8 { WHT = 14, } -/// Type of a lock for fcntl.2 +/* + Type of a lock for fcntl(2) +*/ FLock_Type :: enum i16 { RDLCK = 0, WRLCK = 1, UNLCK = 2, } -/// Bits for FD_Notifications +/* + Bits for FD_Notifications +*/ FD_Notifications_Bits :: enum { ACCESS = 0, MODIFY = 1, @@ -384,7 +409,9 @@ FD_Notifications_Bits :: enum { MULTISHOT = 31, } -/// Bits for seal +/* + Bits for seal +*/ Seal_Bits :: enum { SEAL = 0, SHRINK = 1, @@ -408,14 +435,18 @@ FD_Lease :: enum { UNLCK = 2, } -/// Kind of owner for FD_Owner +/* + Kind of owner for FD_Owner +*/ F_Owner_Type :: enum i32 { OWNER_TID = 0, OWNER_PID = 1, OWNER_PGRP = 2, } -/// Command for fcntl.2 +/* + Command for fcntl(2) +*/ FCntl_Command :: enum { DUPFD = 0, GETFD = 1, @@ -465,7 +496,9 @@ Fd_Poll_Events_Bits :: enum { RDHUP = 13, } -/// Bits for Mem_Protection bitfield +/* + Bits for Mem_Protection bitfield +*/ Mem_Protection_Bits :: enum{ READ = 0, WRITE = 1, @@ -479,7 +512,9 @@ Mem_Protection_Bits :: enum{ GROWSUP = 25, } -/// Bits for Map_Flags +/* + Bits for Map_Flags +*/ Map_Flags_Bits :: enum { SHARED = 0, PRIVATE = 1, @@ -504,19 +539,25 @@ Map_Flags_Bits :: enum { UNINITIALIZED = 26, } -/// Bits for MLock_Flags +/* + Bits for MLock_Flags +*/ MLock_Flags_Bits :: enum { ONFAULT = 0, } -/// Bits for MSync_Flags +/* + Bits for MSync_Flags +*/ MSync_Flags_Bits :: enum { ASYNC = 0, INVALIDATE = 1, SYNC = 2, } -/// Argument for madvice.2 +/* + Argument for madvice(2) +*/ MAdvice :: enum { NORMAL = 0, RANDOM = 1, @@ -545,27 +586,35 @@ MAdvice :: enum { SOFT_OFFLINE = 101, } -/// Bits for PKey_Access_Rights +/* + Bits for PKey_Access_Rights +*/ PKey_Access_Bits :: enum { DISABLE_ACCESS = 0, DISABLE_WRITE = 2, } -/// Bits for MRemap_Flags +/* + Bits for MRemap_Flags +*/ MRemap_Flags_Bits :: enum { MAYMOVE = 0, FIXED = 1, DONTUNMAP = 2, } -/// Bits for Get_Random_Flags +/* + Bits for Get_Random_Flags +*/ Get_Random_Flags_Bits :: enum { RANDOM = 0, NONBLOCK = 1, INSECURE = 2, } -/// Bits for Perf_Flags +/* + Bits for Perf_Flags +*/ Perf_Flags_Bits :: enum { FD_NO_GROUP = 0, FD_OUTPUT = 1, @@ -573,7 +622,9 @@ Perf_Flags_Bits :: enum { FD_CLOEXEC = 3, } -/// Union tag for Perf_Event_Attr struct +/* + Union tag for Perf_Event_Attr struct +*/ Perf_Event_Type :: enum u32 { HARDWARE = 0, SOFTWARE = 1, @@ -633,7 +684,9 @@ Perf_Cap_Flags_Bits :: enum u64 { User_Time_Short = 5, } -/// Specifies the type of the hardware event that you want to get info about +/* + Specifies the type of the hardware event that you want to get info about +*/ Perf_Hardware_Id :: enum u64 { CPU_CYCLES = 0, INSTRUCTIONS = 1, @@ -647,7 +700,9 @@ Perf_Hardware_Id :: enum u64 { REF_CPU_CYCLES = 9, } -/// Specifies the cache for the particular cache event that you want to get info about +/* + Specifies the cache for the particular cache event that you want to get info about +*/ Perf_Hardware_Cache_Id :: enum u64 { L1D = 0, L1I = 1, @@ -658,20 +713,26 @@ Perf_Hardware_Cache_Id :: enum u64 { NODE = 6, } -/// Specifies the cache op that you want to get info about +/* + Specifies the cache op that you want to get info about +*/ Perf_Hardware_Cache_Op_Id :: enum u64 { READ = 0, WRITE = 1, PREFETCH = 2, } -/// Specifies the cache operation result that you want to get info about +/* + Specifies the cache operation result that you want to get info about +*/ Perf_Hardware_Cache_Result_Id :: enum u64 { ACCESS = 0, MISS = 1, } -/// Specifies the particular software event that you want to get info about +/* + Specifies the particular software event that you want to get info about +*/ Perf_Software_Id :: enum u64 { CPU_CLOCK = 0, TASK_CLOCK = 1, @@ -688,7 +749,9 @@ Perf_Software_Id :: enum u64 { } -/// Specifies which values to include in the sample +/* + Specifies which values to include in the sample +*/ Perf_Event_Sample_Type_Bits :: enum { IP = 0, TID = 1, @@ -726,7 +789,9 @@ Perf_Read_Format_Bits :: enum { LOST = 4, } -/// Chooses the breakpoint type +/* + Chooses the breakpoint type +*/ Hardware_Breakpoint_Type :: enum u32 { EMPTY = 0, R = 1, @@ -736,7 +801,9 @@ Hardware_Breakpoint_Type :: enum u32 { INVALID = RW | X, } -/// Bits for Branch_Sample_Type +/* + Bits for Branch_Sample_Type +*/ Branch_Sample_Type_Bits :: enum { USER = 0, KERNEL = 1, @@ -759,7 +826,9 @@ Branch_Sample_Type_Bits :: enum { PRIV_SAVE = 18, } -/// Represent the type of Id +/* + Represent the type of Id +*/ Id_Type :: enum uint { ALL = 0, PID = 1, @@ -767,7 +836,9 @@ Id_Type :: enum uint { PIDFD = 3, } -/// Options for wait syscalls +/* + Options for wait syscalls +*/ Wait_Option :: enum { WNOHANG = 0, WUNTRACED = 1, @@ -781,12 +852,16 @@ Wait_Option :: enum { __WCLONE = 31, } -/// Bits for flags for pidfd +/* + Bits for flags for pidfd +*/ Pid_FD_Flags_Bits :: enum { NONBLOCK = 11, } -/// Priority for process, process group, user +/* + Priority for process, process group, user +*/ Priority_Which :: enum i32 { PROCESS = 0, PGRP = 1, @@ -849,10 +924,12 @@ Sig_Stack_Flag :: enum i32 { AUTODISARM = 31, } -/// Type of socket to create -/// For TCP you want to use SOCK_STREAM -/// For UDP you want to use SOCK_DGRAM -/// Also see Protocol +/* + Type of socket to create + - For TCP you want to use SOCK_STREAM + - For UDP you want to use SOCK_DGRAM + Also see `Protocol` +*/ Socket_Type :: enum { STREAM = 1, DGRAM = 2, @@ -863,13 +940,17 @@ Socket_Type :: enum { PACKET = 10, } -/// Bits for Socket_FD_Flags +/* + Bits for Socket_FD_Flags +*/ Socket_FD_Flags_Bits :: enum { NONBLOCK = 14, CLOEXEC = 25, } -/// Protocol family +/* + Protocol family +*/ Protocol_Family :: enum u16 { UNSPEC = 0, LOCAL = 1, @@ -922,11 +1003,13 @@ Protocol_Family :: enum u16 { MCTP = 45, } -/// The protocol number according to IANA protocol number list -/// Full list of protocol numbers: -/// https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml -/// Supported by the OS protocols can be queried by reading: -/// /etc/protocols +/* + The protocol number according to IANA protocol number list + Full list of protocol numbers: + https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml + Supported by the OS protocols can be queried by reading: + /etc/protocols +*/ Protocol :: enum { HOPOPT = 0, ICMP = 1, @@ -1066,7 +1149,9 @@ Protocol :: enum { Reserved = 255, } -/// API Level for get/setsockopt.2 +/* + API Level for getsockopt(2)/setsockopt(2) +*/ Socket_API_Level :: enum { // Comes from <bits/socket-constants.h> SOCKET = 1, @@ -1103,8 +1188,10 @@ Socket_API_Level :: enum { SMC = 286, } -/// If Socket_API_Level == .SOCKET, these are the options -/// you can specify in get/setsockopt.2 +/* + If Socket_API_Level == .SOCKET, these are the options + you can specify in getsockopt(2)/setsockopt(2) +*/ Socket_Option :: enum { DEBUG = 1, REUSEADDR = 2, @@ -1249,7 +1336,9 @@ Socket_TCP_Option :: enum { TX_DELAY = 37, } -/// Bits for Socket_Msg +/* + Bits for Socket_Msg +*/ Socket_Msg_Bits :: enum { OOB = 0, PEEK = 1, @@ -1275,14 +1364,18 @@ Socket_Msg_Bits :: enum { CMSG_CLOEXEC = 30, } -/// Argument to shutdown.2 +/* + Argument to shutdown(2) +*/ Shutdown_How :: enum i32 { RD = 0, WR = 1, RDWR = 2, } -/// Second argument to futex.2 syscall +/* + Second argument to futex(2) syscall +*/ Futex_Op :: enum u32 { WAIT = 0, WAKE = 1, @@ -1300,13 +1393,17 @@ Futex_Op :: enum u32 { LOCK_PI2 = 13, } -/// Bits for Futex_Flags +/* + Bits for Futex_Flags +*/ Futex_Flags_Bits :: enum { PRIVATE = 7, REALTIME = 8, } -/// Kind of operation on futex, see FUTEX_WAKE_OP +/* + Kind of operation on futex, see FUTEX_WAKE_OP +*/ Futex_Arg_Op :: enum { SET = 0, /* uaddr2 = oparg; */ ADD = 1, /* uaddr2 += oparg; */ @@ -1320,7 +1417,9 @@ Futex_Arg_Op :: enum { PO2_XOR = 4, /* uaddr2 ^= 1<<oparg; */ } -/// Kind of comparison operation on futex, see FUTEX_WAKE_OP +/* + Kind of comparison operation on futex, see FUTEX_WAKE_OP +*/ Futex_Cmp_Op :: enum { EQ = 0, /* if (oldval == cmparg) wake */ NE = 1, /* if (oldval != cmparg) wake */ @@ -1330,7 +1429,9 @@ Futex_Cmp_Op :: enum { GE = 5, /* if (oldval >= cmparg) wake */ } -/// The kind of resource limits +/* + The kind of resource limits +*/ RLimit_Kind :: enum i32 { CPU = 0, FSIZE = 1, @@ -1351,7 +1452,9 @@ RLimit_Kind :: enum i32 { NLIMITS = 16, } -/// Represents the user of resources +/* + Represents the user of resources +*/ RUsage_Who :: enum i32 { CHILDREN = -1, SELF = 0, @@ -1359,7 +1462,9 @@ RUsage_Who :: enum i32 { LWP = THREAD, } -/// Bits for Personality_Flags +/* + Bits for Personality_Flags +*/ UNAME26 :: 17 ADDR_NO_RANDOMIZE :: 18 FDPIC_FUNCPTRS :: 19 @@ -1372,8 +1477,10 @@ WHOLE_SECONDS :: 25 STICKY_TIMEOUTS :: 26 ADDR_LIMIT_3GB :: 27 -/// Personality type -/// These go into the bottom 8 bits of the personality value +/* + Personality type + These go into the bottom 8 bits of the personality value +*/ PER_LINUX :: 0x0000 PER_LINUX_32BIT :: 0x0000 | ADDR_LIMIT_32BIT PER_LINUX_FDPIC :: 0x0000 | FDPIC_FUNCPTRS @@ -1398,3 +1505,254 @@ PER_OSF4 :: 0x000f PER_HPUX :: 0x0010 PER_MASK :: 0x00ff +/* + Bits for access modes for shared memory +*/ +IPC_Mode_Bits :: enum { + WROTH = 1, + RDOTH = 2, + WRGRP = 4, + RDGRP = 5, + WRUSR = 7, + RDUSR = 8, + DEST = 9, + LOCKED = 10, +} + +/* + Shared memory flags bits +*/ +IPC_Flags_Bits :: enum { + IPC_CREAT = 9, + IPC_EXCL = 10, + IPC_NOWAIT = 11, + // Semaphore + SEM_UNDO = 9, + // Shared memory + SHM_HUGETLB = 11, + SHM_NORESERVE = 12, + SHM_RDONLY = 12, + SHM_RND = 13, + SHM_REMAP = 14, + SHM_EXEC = 15, + // Message queue + MSG_NOERROR = 12, + MSG_EXCEPT = 13, + MSG_COPY = 14, +} + +/* + IPC memory commands +*/ +IPC_Cmd :: enum i16 { + // IPC common + IPC_RMID = 0, + IPC_SET = 1, + IPC_STAT = 2, + // Shared memory + SHM_LOCK = 11, + SHM_UNLOCK = 12, + SHM_STAT = 13, + SHM_INFO = 14, + SHM_STAT_ANY = 15, + // Semaphore + GETPID = 11, + GETVAL = 12, + GETALL = 13, + GETNCNT = 14, + GETZCNT = 15, + SETVAL = 16, + SETALL = 17, + SEM_STAT = 18, + SEM_INFO = 19, + SEM_STAT_ANY = 20, + // Message queue + MSG_STAT = 11, + MSG_INFO = 12, + MSG_STAT_ANY = 13, +} + +/* + File locking operation bits +*/ +FLock_Op_Bits :: enum { + SH = 1, + EX = 2, + NB = 4, + UN = 8, +} + +/* + ptrace requests +*/ +PTrace_Request :: enum { + TRACEME = 0, + PEEKTEXT = 1, + PEEKDATA = 2, + PEEKUSER = 3, + POKETEXT = 4, + POKEDATA = 5, + POKEUSER = 6, + CONT = 7, + KILL = 8, + SINGLESTEP = 9, + GETREGS = 12, + SETREGS = 13, + GETFPREGS = 14, + SETFPREGS = 15, + ATTACH = 16, + DETACH = 17, + GETFPXREGS = 18, + SETFPXREGS = 19, + SYSCALL = 24, + GET_THREAD_AREA = 25, + SET_THREAD_AREA = 26, + ARCH_PRCTL = 30, + SYSEMU = 31, + SYSEMU_SINGLESTEP = 32, + SINGLEBLOCK = 33, + SETOPTIONS = 0x4200, + GETEVENTMSG = 0x4201, + GETSIGINFO = 0x4202, + SETSIGINFO = 0x4203, + GETREGSET = 0x4204, + SETREGSET = 0x4205, + SEIZE = 0x4206, + INTERRUPT = 0x4207, + LISTEN = 0x4208, + PEEKSIGINFO = 0x4209, + GETSIGMASK = 0x420a, + SETSIGMASK = 0x420b, + SECCOMP_GET_FILTER = 0x420c, + SECCOMP_GET_METADATA = 0x420d, + GET_SYSCALL_INFO = 0x420e, + GET_RSEQ_CONFIGURATION = 0x420f, +} + +/* + ptrace options +*/ +PTrace_Options_Bits :: enum { + TRACESYSGOOD = 0, + TRACEFORK = 1, + TRACEVFORK = 2, + TRACECLONE = 3, + TRACEEXEC = 4, + TRACEVFORKDONE = 5, + TRACEEXIT = 6, + TRACESECCOMP = 7, + EXITKILL = 20, + SUSPEND_SECCOMP = 21, +} + +/* + ptrace event codes. +*/ +PTrace_Event_Code :: enum { + EVENT_FORK = 1, + EVENT_VFORK = 2, + EVENT_CLONE = 3, + EVENT_EXEC = 4, + EVENT_VFORK_DONE = 5, + EVENT_EXIT = 6, + EVENT_SECCOMP = 7, + EVENT_STOP = 128, +} + +/* + ptrace's get syscall info operation. +*/ +PTrace_Get_Syscall_Info_Op :: enum u8 { + NONE = 0, + ENTRY = 1, + EXIT = 2, + SECCOMP = 3, +} + +/* + ptrace's PEEKSIGINFO flags bits +*/ +PTrace_Peek_Sig_Info_Flags_Bits :: enum { + SHARED = 0, +} + +/* + Syslog actions. +*/ +Syslog_Action :: enum i32 { + CLOSE = 0, + OPEN = 1, + READ = 2, + READ_ALL = 3, + READ_CLEAR = 4, + CLEAR = 5, + CONSOLE_OFF = 6, + CONSOLE_ON = 7, + CONSOLE_LEVEL = 8, + SIZE_UNREAD = 9, + SIZE_BUFFER = 10, +} + +/* + Bits for splice flags. +*/ +Splice_Flags_Bits :: enum { + MOVE = 0x01, + NONBLOCK = 0x02, + MORE = 0x04, + GIFT = 0x08, +} + +/* + Clock IDs for various system clocks. +*/ +Clock_Id :: enum { + REALTIME = 0, + MONOTONIC = 1, + PROCESS_CPUTIME_ID = 2, + THREAD_CPUTIME_ID = 3, + MONOTONIC_RAW = 4, + REALTIME_COARSE = 5, + MONOTONIC_COARSE = 6, + BOOTTIME = 7, + REALTIME_ALARM = 8, + BOOTTIME_ALARM = 9, +} + +/* + Bits for POSIX interval timer flags. +*/ +ITimer_Flags_Bits :: enum { + ABSTIME = 1, +} + +/* + Bits for epoll_create(2) flags. +*/ +EPoll_Flags_Bits :: enum { + FDCLOEXEC = 19, +} + +EPoll_Event_Kind :: enum u32 { + IN = 0x001, + PRI = 0x002, + OUT = 0x004, + RDNORM = 0x040, + RDBAND = 0x080, + WRNORM = 0x100, + WRBAND = 0x200, + MSG = 0x400, + ERR = 0x008, + HUP = 0x010, + RDHUP = 0x2000, + EXCLUSIVE = 1<<28, + WAKEUP = 1<<29, + ONESHOT = 1<<30, + ET = 1<<31, +} + +EPoll_Ctl_Opcode :: enum i32 { + ADD = 1, + DEL = 2, + MOD = 3, +} diff --git a/core/sys/linux/constants.odin b/core/sys/linux/constants.odin index e725ed2fd..6294602e9 100644 --- a/core/sys/linux/constants.odin +++ b/core/sys/linux/constants.odin @@ -1,26 +1,40 @@ package linux -/// Special file descriptor to pass to `*at` functions to specify -/// that relative paths are relative to current directory +/* + Special file descriptor to pass to `*at` functions to specify + that relative paths are relative to current directory. +*/ AT_FDCWD :: Fd(-100) -/// Special value to put into timespec for utimensat() to set timestamp to the current time +/* + Special value to put into timespec for utimensat() to set timestamp to the current time. +*/ UTIME_NOW :: uint((1 << 30) - 1) -/// Special value to put into the timespec for utimensat() to leave the corresponding field of the timestamp unchanged +/* + Special value to put into the timespec for utimensat() to leave the corresponding field of the timestamp unchanged. +*/ UTIME_OMIT :: uint((1 << 30) - 2) -/// For wait4: Pass this pid to wait for any process +/* + For wait4: Pass this pid to wait for any process. +*/ WAIT_ANY :: Pid(-1) -/// For wait4: Pass this pid to wait for any process in current process group +/* + For wait4: Pass this pid to wait for any process in current process group. +*/ WAIT_MYPGRP :: Pid(0) -/// Maximum priority (aka nice value) for the process +/* + Maximum priority (aka nice value) for the process. +*/ PRIO_MAX :: 20 -/// Minimum priority (aka nice value) for the process +/* + Minimum priority (aka nice value) for the process. +*/ PRIO_MIN :: -20 SIGRTMIN :: Signal(32) @@ -35,40 +49,64 @@ S_IFCHR :: Mode{.IFCHR} S_IFDIR :: Mode{.IFDIR} S_IFREG :: Mode{.IFREG} -/// Checks the Mode bits to see if the file is a named pipe (FIFO) +/* + Checks the Mode bits to see if the file is a named pipe (FIFO). +*/ S_ISFIFO :: #force_inline proc "contextless" (m: Mode) -> bool {return (S_IFFIFO == (m & S_IFMT))} -/// Check the Mode bits to see if the file is a character device +/* + Check the Mode bits to see if the file is a character device. +*/ S_ISCHR :: #force_inline proc "contextless" (m: Mode) -> bool {return (S_IFCHR == (m & S_IFMT))} - -/// Check the Mode bits to see if the file is a directory + +/* + Check the Mode bits to see if the file is a directory. +*/ S_ISDIR :: #force_inline proc "contextless" (m: Mode) -> bool {return (S_IFDIR == (m & S_IFMT))} -/// Check the Mode bits to see if the file is a register +/* + Check the Mode bits to see if the file is a register. +*/ S_ISREG :: #force_inline proc "contextless" (m: Mode) -> bool {return (S_IFREG == (m & S_IFMT))} -/// Check the Mode bits to see if the file is a socket +/* + Check the Mode bits to see if the file is a socket. +*/ S_ISSOCK :: #force_inline proc "contextless" (m: Mode) -> bool {return (S_IFSOCK == (m & S_IFMT))} -/// Check the Mode bits to see if the file is a symlink +/* + Check the Mode bits to see if the file is a symlink. +*/ S_ISLNK :: #force_inline proc "contextless" (m: Mode) -> bool {return (S_IFLNK == (m & S_IFMT))} -/// Check the Mode bits to see if the file is a block device +/* + Check the Mode bits to see if the file is a block device. +*/ S_ISBLK :: #force_inline proc "contextless" (m: Mode) -> bool {return (S_IFBLK == (m & S_IFMT))} -/// For access.2 syscall family: instruct to check if the file exists +/* + For access.2 syscall family: instruct to check if the file exists. +*/ F_OK :: Mode{} -/// For access.2 syscall family: instruct to check if the file is executable +/* + For access.2 syscall family: instruct to check if the file is executable. +*/ X_OK :: Mode{.IXOTH} -/// For access.2 syscall family: instruct to check if the file is writeable +/* + For access.2 syscall family: instruct to check if the file is writeable. +*/ W_OK :: Mode{.IWOTH} -/// For access.2 syscall family: instruct to check if the file is readable +/* + For access.2 syscall family: instruct to check if the file is readable. +*/ R_OK :: Mode{.IROTH} -/// The stats you get by calling `stat` +/* + The stats you get by calling `stat`. +*/ STATX_BASIC_STATS :: Statx_Mask { .TYPE, .MODE, @@ -83,6 +121,10 @@ STATX_BASIC_STATS :: Statx_Mask { .BLOCKS, } +/* + Tell `shmget` to create a new key +*/ +IPC_PRIVATE :: Key(0) FCntl_Command_DUPFD :: distinct FCntl_Command FCntl_Command_GETFD :: distinct FCntl_Command @@ -165,28 +207,44 @@ Futex_Wait_requeue_Pi_Type :: distinct Futex_Op Futex_Cmp_requeue_Pi_Type :: distinct Futex_Op Futex_Lock_Pi2_Type :: distinct Futex_Op -/// Wait on futex wakeup signal +/* + Wait on futex wakeup signal. +*/ FUTEX_WAIT :: Futex_Wait_Type(.WAIT) -/// Wake up other processes waiting on the futex +/* + Wake up other processes waiting on the futex. +*/ FUTEX_WAKE :: Futex_Wake_Type(.WAKE) -/// Not implemented. Basically, since +/* + Not implemented. Basically, since. +*/ FUTEX_FD :: Futex_Fd_Type(.FD) -/// Requeue waiters from one futex to another +/* + Requeue waiters from one futex to another. +*/ FUTEX_REQUEUE :: Futex_Requeue_Type(.REQUEUE) -/// Requeue waiters from one futex to another if the value at mutex matches +/* + Requeue waiters from one futex to another if the value at mutex matches. +*/ FUTEX_CMP_REQUEUE :: Futex_Cmp_Requeue_Type(.CMP_REQUEUE) -/// See man pages, I'm not describing it here +/* + See man pages, I'm not describing it here. +*/ FUTEX_WAKE_OP :: Futex_Wake_Op_Type(.WAKE_OP) -/// Wait on a futex, but the value is a bitset +/* + Wait on a futex, but the value is a bitset. +*/ FUTEX_WAIT_BITSET :: Futex_Wait_Bitset_Type(.WAIT_BITSET) -/// Wait on a futex, but the value is a bitset +/* + Wait on a futex, but the value is a bitset. +*/ FUTEX_WAKE_BITSET :: Futex_Wake_Bitset_Type(.WAKE_BITSET) // TODO(flysand): Priority inversion futexes @@ -197,3 +255,82 @@ FUTEX_WAIT_REQUEUE_PI :: Futex_Wait_requeue_Pi_Type(.WAIT_REQUEUE_PI) FUTEX_CMP_REQUEUE_PI :: Futex_Cmp_requeue_Pi_Type(.CMP_REQUEUE_PI) FUTEX_LOCK_PI2 :: Futex_Lock_Pi2_Type(.LOCK_PI2) +PTrace_Traceme_Type :: distinct PTrace_Request +PTrace_Peek_Type :: distinct PTrace_Request +PTrace_Poke_Type :: distinct PTrace_Request +PTrace_Cont_Type :: distinct PTrace_Request +PTrace_Kill_Type :: distinct PTrace_Request +PTrace_Singlestep_Type :: distinct PTrace_Request +PTrace_Getregs_Type :: distinct PTrace_Request +PTrace_Setregs_Type :: distinct PTrace_Request +PTrace_Getfpregs_Type :: distinct PTrace_Request +PTrace_Setfpregs_Type :: distinct PTrace_Request +PTrace_Attach_Type :: distinct PTrace_Request +PTrace_Detach_Type :: distinct PTrace_Request +PTrace_Getfpxregs_Type :: distinct PTrace_Request +PTrace_Setfpxregs_Type :: distinct PTrace_Request +PTrace_Syscall_Type :: distinct PTrace_Request +PTrace_Get_Thread_Area_Type :: distinct PTrace_Request +PTrace_Set_Thread_Area_Type :: distinct PTrace_Request +PTrace_Arch_Prctl_Type :: distinct PTrace_Request +PTrace_Sysemu_Type :: distinct PTrace_Request +PTrace_Sysemu_Singlestep_Type :: distinct PTrace_Request +PTrace_Singleblock_Type :: distinct PTrace_Request +PTrace_Setoptions_Type :: distinct PTrace_Request +PTrace_Geteventmsg_Type :: distinct PTrace_Request +PTrace_Getsiginfo_Type :: distinct PTrace_Request +PTrace_Setsiginfo_Type :: distinct PTrace_Request +PTrace_Getregset_Type :: distinct PTrace_Request +PTrace_Setregset_Type :: distinct PTrace_Request +PTrace_Seize_Type :: distinct PTrace_Request +PTrace_Interrupt_Type :: distinct PTrace_Request +PTrace_Listen_Type :: distinct PTrace_Request +PTrace_Peeksiginfo_Type :: distinct PTrace_Request +PTrace_Getsigmask_Type :: distinct PTrace_Request +PTrace_Setsigmask_Type :: distinct PTrace_Request +PTrace_Seccomp_Get_Filter_Type :: distinct PTrace_Request +PTrace_Seccomp_Get_Metadata_Type :: distinct PTrace_Request +PTrace_Get_Syscall_Info_Type :: distinct PTrace_Request +PTrace_Get_RSeq_Configuration_Type :: distinct PTrace_Request + +PTRACE_TRACEME :: PTrace_Traceme_Type(.TRACEME) +PTRACE_PEEKTEXT :: PTrace_Peek_Type(.PEEKTEXT) +PTRACE_PEEKDATA :: PTrace_Peek_Type(.PEEKDATA) +PTRACE_PEEKUSER :: PTrace_Peek_Type(.PEEKUSER) +PTRACE_POKETEXT :: PTrace_Poke_Type(.POKETEXT) +PTRACE_POKEDATA :: PTrace_Poke_Type(.POKEDATA) +PTRACE_POKEUSER :: PTrace_Poke_Type(.POKEUSER) +PTRACE_CONT :: PTrace_Cont_Type(.CONT) +PTRACE_KILL :: PTrace_Kill_Type(.KILL) +PTRACE_SINGLESTEP :: PTrace_Singlestep_Type(.SINGLESTEP) +PTRACE_GETREGS :: PTrace_Getregs_Type(.GETREGS) +PTRACE_SETREGS :: PTrace_Setregs_Type(.SETREGS) +PTRACE_GETFPREGS :: PTrace_Getfpregs_Type(.GETFPREGS) +PTRACE_SETFPREGS :: PTrace_Setfpregs_Type(.SETFPREGS) +PTRACE_ATTACH :: PTrace_Attach_Type(.ATTACH) +PTRACE_DETACH :: PTrace_Detach_Type(.DETACH) +PTRACE_GETFPXREGS :: PTrace_Getfpxregs_Type(.GETFPXREGS) +PTRACE_SETFPXREGS :: PTrace_Setfpxregs_Type(.SETFPXREGS) +PTRACE_SYSCALL :: PTrace_Syscall_Type(.SYSCALL) +PTRACE_GET_THREAD_AREA :: PTrace_Get_Thread_Area_Type(.GET_THREAD_AREA) +PTRACE_SET_THREAD_AREA :: PTrace_Set_Thread_Area_Type(.SET_THREAD_AREA) +PTRACE_ARCH_PRCTL :: PTrace_Arch_Prctl_Type(.ARCH_PRCTL) +PTRACE_SYSEMU :: PTrace_Sysemu_Type(.SYSEMU) +PTRACE_SYSEMU_SINGLESTEP :: PTrace_Sysemu_Singlestep_Type(.SYSEMU_SINGLESTEP) +PTRACE_SINGLEBLOCK :: PTrace_Singleblock_Type(.SINGLEBLOCK) +PTRACE_SETOPTIONS :: PTrace_Setoptions_Type(.SETOPTIONS) +PTRACE_GETEVENTMSG :: PTrace_Geteventmsg_Type(.GETEVENTMSG) +PTRACE_GETSIGINFO :: PTrace_Getsiginfo_Type(.GETSIGINFO) +PTRACE_SETSIGINFO :: PTrace_Setsiginfo_Type(.SETSIGINFO) +PTRACE_GETREGSET :: PTrace_Getregset_Type(.GETREGSET) +PTRACE_SETREGSET :: PTrace_Setregset_Type(.SETREGSET) +PTRACE_SEIZE :: PTrace_Seize_Type(.SEIZE) +PTRACE_INTERRUPT :: PTrace_Interrupt_Type(.INTERRUPT) +PTRACE_LISTEN :: PTrace_Listen_Type(.LISTEN) +PTRACE_PEEKSIGINFO :: PTrace_Peeksiginfo_Type(.PEEKSIGINFO) +PTRACE_GETSIGMASK :: PTrace_Getsigmask_Type(.GETSIGMASK) +PTRACE_SETSIGMASK :: PTrace_Setsigmask_Type(.SETSIGMASK) +PTRACE_SECCOMP_GET_FILTER :: PTrace_Seccomp_Get_Filter_Type(.SECCOMP_GET_FILTER) +PTRACE_SECCOMP_GET_METADATA :: PTrace_Seccomp_Get_Metadata_Type(.SECCOMP_GET_METADATA) +PTRACE_GET_SYSCALL_INFO :: PTrace_Get_Syscall_Info_Type(.GET_SYSCALL_INFO) +PTRACE_GET_RSEQ_CONFIGURATION :: PTrace_Get_RSeq_Configuration_Type(.GET_RSEQ_CONFIGURATION) diff --git a/core/sys/linux/sys.odin b/core/sys/linux/sys.odin index e0e19056a..27c855c3b 100644 --- a/core/sys/linux/sys.odin +++ b/core/sys/linux/sys.odin @@ -4,35 +4,40 @@ package linux import "core:intrinsics" -/// Read data from file into the buffer -/// Returns the number of bytes successfully read, which may be less than the size -/// of the buffer even if the termination is successfull -/// -/// Available since Linux 1.0 -/// Before Linux 3.14, this operation is not atomic (i.e. not thread safe). -read :: proc "contextless" (fd: Fd, buf: []$T) -> (int, Errno) { - ret := syscall(SYS_read, fd, raw_data(buf), len(buf) * size_of(T)) +/* + Read data from file into the buffer + Returns the number of bytes successfully read, which may be less than the size + of the buffer even if the termination is successfull. + Available since Linux 1.0. + Before Linux 3.14, this operation is not atomic (i.e. not thread safe). +*/ +read :: proc "contextless" (fd: Fd, buf: []u8) -> (int, Errno) { + ret := syscall(SYS_read, fd, raw_data(buf), len(buf)) return errno_unwrap(ret, int) } -/// Write the data from a buffer into the file -/// Returns the number of bytes successfully written, which may be less than the size -/// of the buffer, even if the termination is successfull -/// When using direct I/O, error doesn't mean the write has failed. Partial data may -/// have been written. -/// If .Eintr is returned, the write operation has failed due to interrupt. You'll probably -/// need to restart this syscall -/// -/// Available since Linux 1.0 -/// Before Linux 3.14 this operation is not atomic (i.e. not thread safe) -write :: proc "contextless" (fd: Fd, buf: []$T) -> (int, Errno) { - ret := syscall(SYS_write, fd, raw_data(buf), len(buf)*size_of(T)) +/* + Write the data from a buffer into the file + Returns the number of bytes successfully written, which may be less than the size + of the buffer, even if the termination is successfull + When using direct I/O, error doesn't mean the write has failed. Partial data may + have been written. + If .Eintr is returned, the write operation has failed due to interrupt. You'll probably + need to restart this syscall + + Available since Linux 1.0 + Before Linux 3.14 this operation is not atomic (i.e. not thread safe) +*/ +write :: proc "contextless" (fd: Fd, buf: []u8) -> (int, Errno) { + ret := syscall(SYS_write, fd, raw_data(buf), len(buf)) return errno_unwrap(ret, int) } -/// Open file, get the file descriptor -/// Available since Linux 1.0 -/// On ARM64 available since Linux 2.6.16 +/* + Open file, get the file descriptor + Available since Linux 1.0. + On ARM64 available since Linux 2.6.16. +*/ open :: proc "contextless" (name: cstring, flags: Open_Flags, mode: Mode = {}) -> (Fd, Errno) { when ODIN_ARCH == .arm64 { ret := syscall(SYS_openat, AT_FDCWD, transmute(uintptr) name, transmute(u32) mode) @@ -43,20 +48,24 @@ open :: proc "contextless" (name: cstring, flags: Open_Flags, mode: Mode = {}) - } } -/// Close the file -/// Available since Linux 1.0 +/* + Close the file. + Available since Linux 1.0. +*/ close :: proc "contextless" (fd: Fd) -> (Errno) { ret := syscall(SYS_close, fd) return Errno(-ret) } -/// Get file status -/// -/// Returns information about the file in struct pointed to by `stat` parameter. -/// -/// Available since Linux 1.0 -/// For 32-bit systems a different syscall is used that became available since 2.4 -/// Not available on arm64 +/* + Get file status. + + Returns information about the file in struct pointed to by `stat` parameter. + + Available since Linux 1.0 + For 32-bit systems a different syscall is used that became available since 2.4. + Not available on ARM64. +*/ stat :: proc "contextless" (filename: cstring, stat: ^Stat) -> (Errno) { when size_of(int) == 8 { when ODIN_ARCH == .arm64 { @@ -72,12 +81,14 @@ stat :: proc "contextless" (filename: cstring, stat: ^Stat) -> (Errno) { } } -/// Get file status from file descriptor -/// -/// Returns information about the file in struct pointed to by `stat` parameter. -/// -/// Available since Linux 1.0 -/// For 32-bit systems a different syscall is used that became available since 2.4 +/* + Get file status from file descriptor. + + Returns information about the file in struct pointed to by `stat` parameter. + + Available since Linux 1.0. + For 32-bit systems a different syscall is used that became available since 2.4. +*/ fstat :: proc "contextless" (fd: Fd, stat: ^Stat) -> (Errno) { when size_of(int) == 8 { ret := syscall(SYS_fstat, stat) @@ -88,14 +99,16 @@ fstat :: proc "contextless" (fd: Fd, stat: ^Stat) -> (Errno) { } } -/// Get information about the file that's potentially a symbolic link -/// The information is returned in a struct pointed to by `stat` parameter. -/// The difference with stat, fstat is that if the file is a symbolic link, -/// stat and fstat will dereference the link. lstat doesn't dereference symlinks -/// -/// Available since Linux 1.0 -/// For 32-bit systems a different syscall is used that became available since 2.4 -/// Not available on arm64 +/* + Get information about the file that's potentially a symbolic link + The information is returned in a struct pointed to by `stat` parameter. + The difference with stat, fstat is that if the file is a symbolic link, + stat and fstat will dereference the link. lstat doesn't dereference symlinks. + + Available since Linux 1.0. + For 32-bit systems a different syscall is used that became available since 2.4. + Not available on arm64. +*/ lstat :: proc "contextless" (filename: cstring, stat: ^Stat) -> (Errno) { when size_of(int) == 8 { when ODIN_ARCH == .arm64 { @@ -110,8 +123,10 @@ lstat :: proc "contextless" (filename: cstring, stat: ^Stat) -> (Errno) { } } -/// Wait on event on a file descriptor -/// Available since Linux 2.2 +/* + Wait on event on a file descriptor. + Available since Linux 2.2. +*/ poll :: proc "contextless" (fds: []Poll_Fd, timeout: i32) -> (i32, Errno) { when ODIN_ARCH == .arm64 { seconds := cast(uint) timeout / 1000 @@ -125,23 +140,27 @@ poll :: proc "contextless" (fds: []Poll_Fd, timeout: i32) -> (i32, Errno) { } } - -/// Seek the file stream to specified offset -/// Available since Linux 1.0 -/// On 32-bit platforms available since Linux 1.2 -lseek :: proc "contextless" (fd: Fd, off: i64, whence: Seek_Whence) -> (Errno) { +/* + Seek the file stream to specified offset. + Available since Linux 1.0. + On 32-bit platforms available since Linux 1.2. +*/ +lseek :: proc "contextless" (fd: Fd, off: i64, whence: Seek_Whence) -> (i64, Errno) { when size_of(int) == 8 { ret := syscall(SYS_lseek, fd, off, whence) - return Errno(-ret) + return errno_unwrap(ret, i64) } else { - ret := syscall(SYS__llseek, fd, compat64_arg_pair(off), whence) - return Errno(-ret) + result: i64 = --- + ret := syscall(SYS__llseek, fd, compat64_arg_pair(off), &result, whence) + return result, Errno(-ret) } } -/// Map files into memory -/// Available since Linux 1.0 -/// On 32-bit platforms since Linux 1.0 +/* + Map files into memory. + Available since Linux 1.0. + On 32-bit platforms since Linux 1.0. +*/ mmap :: proc "contextless" (addr: uintptr, size: uint, prot: Mem_Protection, flags: Map_Flags, fd: Fd = Fd(-1), offset: i64 = 0) -> (rawptr, Errno) { when size_of(int) == 8 { ret := syscall(SYS_mmap, addr, size, transmute(i32) prot, transmute(i32) flags, fd, offset) @@ -152,63 +171,99 @@ mmap :: proc "contextless" (addr: uintptr, size: uint, prot: Mem_Protection, fla } } -/// Protect memory region +/* + Protect memory region. + Available since Linux 1.0. +*/ mprotect :: proc "contextless" (addr: rawptr, size: uint, prot: Mem_Protection) -> (Errno) { ret := syscall(SYS_mprotect, addr, size, transmute(i32) prot) return Errno(-ret) } -/// Unmap memory -/// Available since Linux 1.0 +/* + Unmap memory. + Available since Linux 1.0. +*/ munmap :: proc "contextless" (addr: rawptr, size: uint) -> (Errno) { ret := syscall(SYS_munmap, addr, size) return Errno(-ret) } -// TODO(flysand): brk +/* + Extend the data segment size until the address `addr`. Note: you may be + familiar with sbrk(), which is not actually a syscall, so is not + implemented here. + Available since Linux 1.0. +*/ +brk :: proc "contextless" (addr: uintptr) -> (Errno) { + ret := syscall(SYS_brk, addr) + return Errno(-ret) +} -/// Alter an action taken by a process +/* + Alter an action taken by a process. +*/ rt_sigaction :: proc "contextless" (sig: Signal, sigaction: ^Sig_Action, old_sigaction: ^Sig_Action) -> Errno { ret := syscall(SYS_rt_sigaction, sig, sigaction, old_sigaction, size_of(Sig_Set)) return Errno(-ret) } -/// Examime and alter blocked signals -/// Available since Linux 2.2 +/* + Examime and alter blocked signals. + Available since Linux 2.2. +*/ rt_sigprocmask :: proc "contextless" (mask_kind: Sig_Mask_Kind, new_set: ^Sig_Set, old_set: ^Sig_Set) -> Errno { ret := syscall(SYS_rt_sigprocmask, mask_kind, new_set, old_set, size_of(Sig_Set)) return Errno(-ret) } -// TODO(flysand): rt_sigreturn - // TODO(flysand): ioctl -/// Read the file at a specified offset -/// Note, it is not an error to return less bytes than requested -/// Available since Linux 2.2 -pread :: proc "contextless" (fd: Fd, buf: []$T, offset: i64) -> (int, Errno) { - ret := syscall(SYS_pread64, fd, raw_data(buf), compat64_arg_pair(len(buf)*size_of(T))) +/* + Read the file at a specified offset. + Note, it is not an error to return less bytes than requested. + Available since Linux 2.2. +*/ +pread :: proc "contextless" (fd: Fd, buf: []u8, offset: i64) -> (int, Errno) { + ret := syscall(SYS_pread64, fd, raw_data(buf), len(buf), compat64_arg_pair(offset)) return errno_unwrap(ret, int) } -/// Read the file at a specified offset -/// Note, it is not an error to return less bytes than requested -/// Available since Linux 2.2 -pwrite :: proc "contextless" (fd: Fd, buf: []$T, offset: i64) -> (int, Errno) { - ret := syscall(SYS_pwrite64, fd, raw_data(buf), compat64_arg_pair(len(buf)*size_of(T))) +/* + Read the file at a specified offset. + Note, it is not an error to return less bytes than requested. + Available since Linux 2.2. +*/ +pwrite :: proc "contextless" (fd: Fd, buf: []u8, offset: i64) -> (int, Errno) { + ret := syscall(SYS_pwrite64, fd, raw_data(buf), len(buf), compat64_arg_pair(offset)) return errno_unwrap(ret, int) } -// TODO(flysand): readv +/* + Read the data from file into multiple buffers. + Available since Linux 2.0. +*/ +readv :: proc "contextless" (fd: Fd, iov: []IO_Vec) -> (int, Errno) { + ret := syscall(SYS_readv, fd, raw_data(iov), len(iov)) + return errno_unwrap(ret, int) +} -// TODO(flysand): writev +/* + Write the data from multiple buffers into a file. + Available since Linux 2.0. +*/ +writev :: proc "contextless" (fd: Fd, iov: []IO_Vec) -> (int, Errno) { + ret := syscall(SYS_writev, fd, raw_data(iov), len(iov)) + return errno_unwrap(ret, int) +} -/// Check user permissions for a file -/// If Mode is F_OK, checks whether the file exists -/// Similarly, X_OK, W_OK, R_OK check if the file is executable, writeable, readable respectively -/// Available since Linux 1.0 -/// For ARM64 available since Linux 2.6.16 +/* + Check user permissions for a file. + If Mode is F_OK, checks whether the file exists. + Similarly, X_OK, W_OK, R_OK check if the file is executable, writeable, readable respectively. + Available since Linux 1.0. + For ARM64 available since Linux 2.6.16. +*/ access :: proc "contextless" (name: cstring, mode: Mode = F_OK) -> (bool, Errno) { when ODIN_ARCH == .arm64 { ret := syscall(SYS_faccessat, AT_FDCWD, cast(rawptr) name, transmute(u32) mode) @@ -219,18 +274,27 @@ access :: proc "contextless" (name: cstring, mode: Mode = F_OK) -> (bool, Errno) } } -/// Create a pipe -/// Available since Linux 2.6.27 +/* + Create a pipe + Available since Linux 2.6.27 +*/ pipe2 :: proc "contextless" (pipes: ^[2]Fd, flags: Open_Flags) -> (Errno) { ret := syscall(SYS_pipe2, pipes, transmute(u32) flags) return Errno(-ret) } -// TODO(flysand): select - -// TODO(flysand): sched_yield +/* + Yield the processor. + Available since Linux 2.0. +*/ +sched_yield :: proc "contextless" () { + syscall(SYS_sched_yield) +} -// TODO(flysand): add docs here +/* + Remap a virtual memory address. + Available since Linux 2.0. +*/ mremap :: proc "contextless" (old_addr: rawptr, old_size: uint, new_size: uint, flags: MRemap_Flags, new_addr: uintptr = 0) -> (rawptr, Errno) { if .FIXED in flags { ret := syscall(SYS_mremap, old_addr, old_size, new_size, transmute(i32) flags, new_addr) @@ -241,38 +305,81 @@ mremap :: proc "contextless" (old_addr: rawptr, old_size: uint, new_size: uint, } } -/// Sync file with memory map -/// Available since Linux 2.0 +/* + Sync file with memory map. + Available since Linux 2.0. +*/ msync :: proc "contextless" (addr: rawptr, size: uint, flags: MSync_Flags) -> (Errno) { ret := syscall(SYS_msync, addr, size, transmute(i32) flags) return Errno(-ret) } -// TODO(flysand): mincore +/* + Determine if pages are resident in memory. + Available since Linux 2.4. +*/ +mincore :: proc "contextless" (addr: rawptr, size: uint, vec: []b8) -> (Errno) { + ret := syscall(SYS_mincore, addr, size, raw_data(vec)) + return Errno(-ret) +} -/// Give advice about use of memory -/// Available since Linux 2.4 +/* + Give advice about use of memory. + Available since Linux 2.4. +*/ madvise :: proc "contextless" (addr: rawptr, size: uint, advice: MAdvice) -> (Errno) { ret := syscall(SYS_madvise, addr, size, advice) return Errno(-ret) } -// TODO(flysand): shmget +/* + Allocate a SystemV shared memory segment. + Available since Linux 2.0. +*/ +shmget :: proc "contextless" (key: Key, size: uint, flags: IPC_Flags) -> (Key, Errno) { + ret := syscall(SYS_shmget, key, size, transmute(i16) flags) + return errno_unwrap(ret, Key) +} -// TODO(flysand): shmat +/* + SystemV shared memory segment operations. + Available since Linux 2.0. +*/ +shmat :: proc "contextless" (key: Key, addr: rawptr, flags: IPC_Flags) -> (rawptr, Errno) { + ret := syscall(SYS_shmat, key, addr, transmute(i16) flags) + return errno_unwrap(ret, rawptr, uintptr) +} -// TODO(flysand): shmctl +shmctl_ds :: proc "contextless" (key: Key, cmd: IPC_Cmd, buf: ^Shmid_DS) -> (Errno) { + ret := syscall(SYS_shmctl, key, cmd, buf) + return Errno(-ret) +} -/// Allocate a new file descriptor that refers to the same file as the one provided -/// Available since Linux 1.0 +shmctl_info :: proc "contextless" (key: Key, cmd: IPC_Cmd, buf: ^Shm_Info) -> (int, Errno) { + ret := syscall(SYS_shmctl, key, cmd, buf) + return errno_unwrap(ret, int) +} + +/* + SystemV shared memory control. + Available since Linux 2.0. +*/ +shmctl :: proc {shmctl_ds, shmctl_info} + +/* + Allocate a new file descriptor that refers to the same file as the one provided. + Available since Linux 1.0. +*/ dup :: proc "contextless" (fd: Fd) -> (Fd, Errno) { ret := syscall(SYS_dup, fd) return errno_unwrap(ret, Fd) } -/// Adjust an existing file descriptor to point to the same file as `old` -/// Available since Linux 1.0 -/// On ARM64 available since Linux 2.6.27 +/* + Adjust an existing file descriptor to point to the same file as `old`. + Available since Linux 1.0. + On ARM64 available since Linux 2.6.27. +*/ dup2 :: proc "contextless" (old: Fd, new: Fd) -> (Fd, Errno) { when ODIN_ARCH == .arm64 { ret := syscall(SYS_dup3, old, new, 0) @@ -283,35 +390,99 @@ dup2 :: proc "contextless" (old: Fd, new: Fd) -> (Fd, Errno) { } } -// TODO(flysand): pause +/* + Wait until the next signal is delivered. + Available since Linux 1.0. + On ARM64 available since Linux 2.6.16. +*/ +pause :: proc "contextless" () { + when ODIN_ARCH == .arm64 { + syscall(SYS_ppoll, 0, 0, 0, 0) + } else { + syscall(SYS_pause) + } +} -// TODO(flysand): nanosleep +/* + High-resolution sleep. + Available since Linux 2.0. +*/ +nanosleep :: proc "contextless" (req: ^Time_Spec, rem: ^Time_Spec) -> (Errno) { + ret := syscall(SYS_nanosleep, req, rem) + return Errno(-ret) +} -// TODO(flysand): getitimer +/* + Get the value of an internal timer. + Available since Linux 1.0. +*/ +getitimer :: proc "contextless" (which: ITimer_Which, cur: ^ITimer_Val) -> (Errno) { + ret := syscall(SYS_getitimer, cur) + return Errno(-ret) +} -// TODO(flysand): alarm +/* + Set an alarm clock for delivery of a signal. + Available since Linux 1.0. +*/ +alarm :: proc "contextless" (seconds: u32) -> u32 { + when ODIN_ARCH == .arm64 { + new := ITimer_Val { value = { seconds = cast(int) seconds } } + old := ITimer_Val {} + syscall(SYS_setitimer, ITimer_Which.REAL, &new, &old) + return u32(old.value.seconds) + u32(new.value.microseconds) + } else { + return cast(u32) syscall(SYS_alarm, seconds) + } +} -// TODO(flysand): setitimer +/* + Set the value of an internal timer. + Available since Linux 1.0. +*/ +setitimer :: proc "contextless" (which: ITimer_Which, new: ^ITimer_Val, old: ^ITimer_Val) -> (Errno) { + ret := syscall(SYS_getitimer, new, old) + return Errno(-ret) +} -/// Returns the thread group ID of the current process -/// Note that it doesn't return the pid, despite it's name. -/// Available since Linux 1.0 +/* + Returns the thread group ID of the current process. + Note that it doesn't return the pid, despite it's name. + Available since Linux 1.0. +*/ getpid :: proc "contextless" () -> Pid { return cast(Pid) syscall(SYS_getpid) } -// TODO(flysand): sendfile +/* + Transfer the data between file descriptors. + Available since Linux 2.2. + On 32-bit platforms available since Linux 2.6. +*/ +sendfile :: proc "contextless" (out_fd: Fd, in_fd: Fd, offset: ^i64, count: uint) -> (int, Errno) { + when size_of(int) == 8 { + ret := syscall(SYS_sendfile, out_fd, in_fd, offset, count) + return errno_unwrap(ret, int) + } else { + ret := syscall(SYS_sendfile64, out_fd, in_fd, offset, count) + return errno_unwrap(ret, int) + } +} -/// Create a socket file descriptor -/// Available since Linux 2.0 +/* + Create a socket file descriptor. + Available since Linux 2.0. +*/ socket :: proc "contextless" (domain: Address_Family, socktype: Socket_Type, sockflags: Socket_FD_Flags, protocol: Protocol) -> (Fd, Errno) { sock_type_flags: int = cast(int) socktype | transmute(int) sockflags ret := syscall(SYS_socket, domain, sock_type_flags, protocol) return errno_unwrap(ret, Fd) } -/// Connect the socket to the address -/// Available since Linux 2.0 +/* + Connect the socket to the address. + Available since Linux 2.0. +*/ connect :: proc "contextless" (sock: Fd, addr: ^$T) -> (Errno) where T == Sock_Addr_In || @@ -322,9 +493,11 @@ where return Errno(-ret) } -/// Accept a pending connection or block until new connection appears -/// Depends on Sock_FD_Flags of the `sock` parameter. -/// Available since Linux 2.0 +/* + Accept a pending connection or block until new connection appears. + Depends on Sock_FD_Flags of the `sock` parameter. + Available since Linux 2.0. +*/ accept :: proc "contextless" (sock: Fd, addr: ^$T, sockflags: Socket_FD_Flags = {}) -> (Fd, Errno) where T == Sock_Addr_In || @@ -370,25 +543,49 @@ send_noaddr :: proc "contextless" (sock: Fd, buf: []u8, flags: Socket_Msg) -> (i return errno_unwrap(ret, int) } -/// Receive a message from a socket -/// Available since Linux 2.0 +/* + Receive a message from a socket. + Available since Linux 2.0. +*/ recv :: proc {recvfrom, recv_noaddr} -/// Send a message through a socket -/// Available since Linux 2.0 +/* + Send a message through a socket. + Available since Linux 2.0. +*/ send :: proc {sendto, send_noaddr} -// TODO(flysand): sendmsg +/* + Send a message on a socket. + Available since Linux 2.0. +*/ +sendmsg :: proc "contextless" (sock: Fd, msghdr: ^Msg_Hdr, flags: Socket_Msg) -> (int, Errno) { + ret := syscall(SYS_sendmsg, sock, msghdr, transmute(i32) flags) + return errno_unwrap(ret, int) +} -// TODO(flysand): recvmsg +/* + Receive a message on a socket. + Available since Linux 2.0. +*/ +recvmsg :: proc "contextless" (sock: Fd, msghdr: ^Msg_Hdr, flags: Socket_Msg) -> (int, Errno) { + ret := syscall(SYS_recvmsg, sock, msghdr, transmute(i32) flags) + return errno_unwrap(ret, int) +} +/* + Shutdown a socket. + Available since Linux 2.0. +*/ shutdown :: proc "contextless" (sock: Fd, how: Shutdown_How) -> (Errno) { ret := syscall(SYS_shutdown, sock, how) return Errno(-ret) } -/// Bind a socket to the given local address -/// Available since Linux 2.0 +/* + Bind a socket to the given local address. + Available since Linux 2.0. +*/ bind :: proc "contextless" (sock: Fd, addr: ^$T) -> (Errno) where T == Sock_Addr_In || @@ -399,18 +596,43 @@ where return Errno(-ret) } -/// Marks the socket as a socket that listen to connections using accept.2 -/// Available since Linux 2.0 +/* + Marks the socket as a socket that listen to connections using accept(2). + Available since Linux 2.0. +*/ listen :: proc "contextless" (sock: Fd, queue_len: i32) -> (Errno) { ret := syscall(SYS_listen, sock, queue_len) return Errno(-ret) } -// TODO(flysand): getsockname +/* + Get socket name (aka it's bound address). + Available since Linux 2.0. +*/ +getsockname :: proc "contextless" (sock: Fd, addr: ^Sock_Addr_Any) -> (Errno) { + addr_len := size_of(Sock_Addr_Any) + ret := syscall(SYS_getsockname, sock, addr, &addr_len) + return Errno(-ret) +} -// TODO(flysand): getpeername +/* + Get the name of the connected peer socket. + Available since Linux 2.0. +*/ +getpeername :: proc "contextless" (sock: Fd, addr: ^Sock_Addr_Any) -> (Errno) { + addr_len := size_of(Sock_Addr_Any) + ret := syscall(SYS_getpeername, sock, addr, &addr_len) + return Errno(-ret) +} -// TODO(flysand): socketpair +/* + Create a pair of connected sockets. + Available since Linux 2.0. +*/ +socketpair :: proc "contextless" (domain: Protocol_Family, type: Socket_Type, proto: Protocol, pair: ^[2]Fd) -> (Errno) { + ret := syscall(SYS_socketpair, domain, type, proto, pair) + return Errno(-ret) +} // TODO(flysand): the parameters are the same, maybe there's a way to make it into a single proc, sacrificing type // safety slightly @@ -450,8 +672,10 @@ where return setsockopt_base(sock, cast(int) level, cast(int) opt, val) } -/// Set socket option for a given socket API level -/// Available since Linux 2.0 +/* + Set socket option for a given socket API level. + Available since Linux 2.0. +*/ setsockopt :: proc { setsockopt_sock, setsockopt_tcp, @@ -494,8 +718,10 @@ where return getsockopt_base(sock, cast(int) level, cast(int) opt, val) } -/// Get socket option for a given socket API level -/// Available since Linux 2.0 +/* + Get socket option for a given socket API level. + Available since Linux 2.0. +*/ getsockopt :: proc { getsockopt_sock, getsockopt_tcp, @@ -505,8 +731,10 @@ getsockopt :: proc { // TODO(flysand): clone (probably not in this PR, maybe not ever) -/// Creates a copy of the running process -/// Available since Linux 1.0 +/* + Creates a copy of the running process. + Available since Linux 1.0. +*/ fork :: proc "contextless" () -> (Pid, Errno) { when ODIN_ARCH == .arm64 { // Note(flysand): this syscall is not documented, but the bottom 8 bits of flags @@ -519,51 +747,162 @@ fork :: proc "contextless" () -> (Pid, Errno) { } } -// TODO(flysand): vfork +/* + Create a child process and block parent. + Available since Linux 2.2. +*/ +vfork :: proc "contextless" () -> Pid { + when ODIN_ARCH != .arm64 { + return Pid(syscall(SYS_vfork)) + } else { + return Pid(syscall(SYS_clone, Signal.SIGCHLD)) + } +} -// TODO(flysand): execve +/* + Replace the current process with another program. + Available since Linux 1.0. + On ARM64 available since Linux 3.19. +*/ +execve :: proc "contextless" (name: cstring, argv: [^]cstring, envp: [^]cstring) -> (Errno) { + when ODIN_ARCH != .arm64 { + ret := syscall(SYS_execve, cast(rawptr) name, cast(rawptr) argv, cast(rawptr) envp) + return Errno(-ret) + } else { + ret := syscall(SYS_execveat, AT_FDCWD, cast(rawptr) name, cast(rawptr) argv, cast(rawptr) envp) + return Errno(-ret) + } +} -/// Exit the thread with a given exit code -/// Available since Linux 1.0 +/* + Exit the thread with a given exit code. + Available since Linux 1.0. +*/ exit :: proc "contextless" (code: i32) -> ! { syscall(SYS_exit, code) unreachable() } -/// Wait for the process to change state -/// Available since Linux 1.0 +/* + Wait for the process to change state. + Available since Linux 1.0. +*/ wait4 :: proc "contextless" (pid: Pid, status: ^u32, options: Wait_Options) -> (Pid, Errno) { ret := syscall(SYS_wait4, pid, status, transmute(u32) options) return errno_unwrap(ret, Pid) } -/// See wait4 +/* + See `wait4` for documentation. +*/ waitpid :: wait4 -// TODO(flysand): kill +/* + Send signal to a process. + Available since Linux 1.0. +*/ +kill :: proc "contextless" (pid: Pid, signal: Signal) -> (Errno) { + ret := syscall(SYS_kill, pid, signal) + return Errno(-ret) +} -/// Get system information -/// Available since Linux 1.0 +/* + Get system information. + Available since Linux 1.0. +*/ uname :: proc "contextless" (uts_name: ^UTS_Name) -> (Errno) { ret := syscall(SYS_uname, uts_name) return Errno(-ret) } -// TODO(flysand): semget +/* + Get a SystemV semaphore set identifier. + Available since Linux 2.0. +*/ +semget :: proc "contextless" (key: Key, n: i32, flags: IPC_Flags) -> (Key, Errno) { + ret := syscall(SYS_semget, key, n, transmute(i16) flags) + return errno_unwrap(ret, Key) +} -// TODO(flysand): semop +/* + SystemV semaphore operations. + Available since Linux 2.0. +*/ +semop :: proc "contextless" (key: Key, ops: []Sem_Buf) -> (Errno) { + when ODIN_ARCH != .i386 { + ret := syscall(SYS_semop, key, raw_data(ops), len(ops)) + return Errno(-ret) + } else { + // Note(flysand): Max time limit, let's not worry about nanoseconds... + max_timespec := Time_Spec { + time_sec = max(uint), + time_nsec = 0, + } + ret := syscall(SYS_semtimedop_time64, key, raw_data(ops), len(ops), &max_timespec) + return Errno(-ret) + } +} -// TODO(flysand): semctl +semctl3 :: proc "contextless" (key: Key, semnum: i32, cmd: IPC_Cmd) -> (int, Errno) { + ret := syscall(SYS_semctl, key, semnum, cmd) + return errno_unwrap(ret, int) +} + +semctl4 :: proc "contextless" (key: Key, semnum: i32, cmd: IPC_Cmd, semun: ^Sem_Un) -> (int, Errno) { + ret := syscall(SYS_semctl, key, semnum, cmd, semun) + return errno_unwrap(ret, int) +} + +/* + SystemV semaphore control operations. + Available since Linux 2.0. +*/ +semctl :: proc {semctl3, semctl4} -// TODO(flysand): shmdt +/* + SystemV shared memory operations. + Available since Linux 2.0. +*/ +shmdt :: proc "contextless" (shmaddr: rawptr) -> (Errno) { + ret := syscall(SYS_shmdt, shmaddr) + return Errno(-ret) +} -// TODO(flysand): msgget +/* + Get SystemV message queue identifier. + Available since Linux 2.0. +*/ +msgget :: proc "contextless" (key: Key, flags: IPC_Flags) -> (Key, Errno) { + ret := syscall(SYS_msgget, key, transmute(i16) flags) + return errno_unwrap(ret, Key) +} -// TODO(flysand): msgsnd +/* + Send message to a SystemV message queue. + Available since Linux 2.0. +*/ +msgsnd :: proc "contextless" (key: Key, buf: rawptr, size: int, flags: IPC_Flags) -> (Errno) { + ret := syscall(SYS_msgsnd, key, buf, size, transmute(i16) flags) + return Errno(-ret) +} -// TODO(flysand): msgrcv +/* + Receive a message from a SystemV message queue. + Available since Linux 2.0. +*/ +msgrcv :: proc "contextless" (key: Key, buf: rawptr, size: int, type: uint, flags: IPC_Flags) -> (int, Errno) { + ret := syscall(SYS_msgrcv, key, buf, size, type, transmute(i16) flags) + return errno_unwrap(ret, int) +} -// TODO(flysand): msgctl +/* + SystemV message control operations. + Available since Linux 2.0. +*/ +msgctl :: proc "contextless" (key: Key, cmd: IPC_Cmd, buf: ^Msqid_DS) -> (int, Errno) { + ret := syscall(SYS_msgctl, key, cmd, buf) + return errno_unwrap(ret, int) +} fcntl_dupfd :: proc "contextless" (fd: Fd, cmd: FCntl_Command_DUPFD, newfd: Fd) -> (Fd, Errno) { ret := syscall(SYS_fcntl, fd, cmd, newfd) @@ -727,18 +1066,39 @@ fcntl :: proc { fcntl_set_file_rw_hint, } -// TODO(flysand): flock +/* + Apply or remove advisory lock on an open file. + Available since Linux 2.0. +*/ +flock :: proc "contextless" (fd: Fd, operation: FLock_Op) -> (Errno) { + ret := syscall(SYS_flock, fd, transmute(i32) operation) + return Errno(-ret) +} -/// Sync state of the file with the storage device +/* + Sync state of the file with the storage device. + Available since Linux 1.0. +*/ fsync :: proc "contextless" (fd: Fd) -> (Errno) { ret := syscall(SYS_fsync, fd) return Errno(-ret) } -// TODO(flysand): fdatasync +/* + Synchronize the state of the file with the storage device. Similar to `fsync`, + except does not flush the metadata. + Available since Linux 2.0. +*/ +fdatasync :: proc "contextless" (fd: Fd) -> (Errno) { + ret := syscall(SYS_fdatasync, fd) + return Errno(-ret) +} -/// Truncate a file to specified length -/// On 32-bit architectures available since Linux 2.4 +/* + Truncate a file to specified length. + Available since Linux 1.0. + On 32-bit architectures available since Linux 2.4. +*/ truncate :: proc "contextless" (name: cstring, length: i64) -> (Errno) { when size_of(int) == 4 { ret := syscall(SYS_truncate64, cast(rawptr) name, compat64_arg_pair(length)) @@ -749,8 +1109,10 @@ truncate :: proc "contextless" (name: cstring, length: i64) -> (Errno) { } } -/// Truncate a file specified by file descriptor to specified length -/// On 32-bit architectures available since 2.4 +/* + Truncate a file specified by file descriptor to specified length. + On 32-bit architectures available since 2.4. +*/ ftruncate :: proc "contextless" (fd: Fd, length: i64) -> (Errno) { when size_of(int) == 4 { ret := syscall(SYS_ftruncate64, fd, compat64_arg_pair(length)) @@ -761,38 +1123,48 @@ ftruncate :: proc "contextless" (fd: Fd, length: i64) -> (Errno) { } } -/// Retrieve the contents of the directory specified by dirfd -/// Returns the number of bytes written -/// Available since Linux 2.4 +/* + Retrieve the contents of the directory specified by dirfd. + Returns the number of bytes written. + Available since Linux 2.4. +*/ getdents :: proc "contextless" (dirfd: Fd, buf: []u8) -> (int, Errno) { ret := syscall(SYS_getdents64, dirfd, raw_data(buf), len(buf)) return errno_unwrap(ret, int) } -/// Get current working directory -/// Available since Linux 1.0 +/* + Get current working directory. + Available since Linux 1.0. +*/ getcwd :: proc "contextless" (buf: []u8) -> (int, Errno) { ret := syscall(SYS_getcwd, raw_data(buf), len(buf)) return errno_unwrap(ret, int) } -/// Change working directory to the directory specified by path -/// Available since Linux 1.0 +/* + Change working directory to the directory specified by path. + Available since Linux 1.0. +*/ chdir :: proc "contextless" (path: cstring) -> (Errno) { ret := syscall(SYS_chdir, cast(rawptr) path) return Errno(-ret) } -/// Change working directory to the directory specified by dirfd -/// Available since Linux 1.0 +/* + Change working directory to the directory specified by dirfd. + Available since Linux 1.0. +*/ fchdir :: proc "contextless" (fd: Fd) -> (Errno) { ret := syscall(SYS_fchdir, fd) return Errno(-ret) } -/// Rename (move) the file -/// Available since Linux 1.0 -/// On ARM64 available since Linux 2.6.16 +/* + Rename (move) the file. + Available since Linux 1.0. + On ARM64 available since Linux 2.6.16. +*/ rename :: proc "contextless" (old: cstring, new: cstring) -> (Errno) { when ODIN_ARCH == .arm64 { ret := syscall(SYS_renameat, AT_FDCWD, cast(rawptr) old, AT_FDCWD, cast(rawptr) new) @@ -803,9 +1175,11 @@ rename :: proc "contextless" (old: cstring, new: cstring) -> (Errno) { } } -/// Creates a directory -/// Available since Linux 1.0 -/// On ARM64 available since Linux 2.6.16 +/* + Creates a directory. + Available since Linux 1.0. + On ARM64 available since Linux 2.6.16. +*/ mkdir :: proc "contextless" (name: cstring, mode: Mode) -> (Errno) { when ODIN_ARCH == .arm64 { ret := syscall(SYS_mkdirat, AT_FDCWD, cast(rawptr) name, transmute(u32) mode) @@ -816,9 +1190,11 @@ mkdir :: proc "contextless" (name: cstring, mode: Mode) -> (Errno) { } } -/// Remove a directory specified by name -/// Available since Linux 1.0 -/// On ARM64 available since Linux 2.6.16 +/* + Remove a directory specified by name. + Available since Linux 1.0. + On ARM64 available since Linux 2.6.16. +*/ rmdir :: proc "contextless" (name: cstring) -> (Errno) { when ODIN_ARCH == .arm64 { ret := syscall(SYS_unlinkat, AT_FDCWD, cast(rawptr) name, transmute(i32) FD_Flags{.REMOVEDIR}) @@ -829,11 +1205,25 @@ rmdir :: proc "contextless" (name: cstring) -> (Errno) { } } -// TODO(flysand): creat +/* + Create a file. + Available since Linux 1.0. + On ARM64 available since Linux 2.6.16. +*/ +creat :: proc "contextless" (name: cstring, mode: Mode) -> (Fd, Errno) { + when ODIN_ARCH == .arm64 { + return openat(AT_FDCWD, name, {.CREAT, .WRONLY,.TRUNC}, mode) + } else { + ret := syscall(SYS_creat, cast(rawptr) name, transmute(u32) mode) + return errno_unwrap(ret, Fd) + } +} -/// Create a hard link on a file -/// Available since Linux 1.0 -/// On ARM64 available since Linux 2.6.16 +/* + Create a hard link on a file. + Available since Linux 1.0. + On ARM64 available since Linux 2.6.16. +*/ link :: proc "contextless" (target: cstring, linkpath: cstring) -> (Errno) { when ODIN_ARCH == .arm64 { ret := syscall(SYS_linkat, AT_FDCWD, cast(rawptr) target, AT_FDCWD, cast(rawptr) linkpath) @@ -844,9 +1234,11 @@ link :: proc "contextless" (target: cstring, linkpath: cstring) -> (Errno) { } } -/// Delete a name, and possible a file it refers to -/// Available since Linux 1.0 -/// On ARM64 available since Linux 2.6.16 +/* + Delete a name, and possible a file it refers to. + Available since Linux 1.0. + On ARM64 available since Linux 2.6.16. +*/ unlink :: proc "contextless" (name: cstring) -> (Errno) { when ODIN_ARCH == .arm64 { ret := syscall(SYS_unlinkat, AT_FDCWD, cast(rawptr) name, 0) @@ -857,9 +1249,11 @@ unlink :: proc "contextless" (name: cstring) -> (Errno) { } } -/// Create a symbolic link -/// Available since Linux 1.0 -/// On arm64 available since Linux 2.6.16 +/* + Create a symbolic link. + Available since Linux 1.0. + On arm64 available since Linux 2.6.16. +*/ symlink :: proc "contextless" (target: cstring, linkpath: cstring) -> (Errno) { when ODIN_ARCH == .arm64 { ret := syscall(SYS_symlinkat, AT_FDCWD, cast(rawptr) target, cast(rawptr) linkpath) @@ -870,9 +1264,11 @@ symlink :: proc "contextless" (target: cstring, linkpath: cstring) -> (Errno) { } } -/// Read the value of a symbolic link -/// Available since Linux 1.0 -/// On arm64 available since Linux 2.6.16 +/* + Read the value of a symbolic link. + Available since Linux 1.0. + On arm64 available since Linux 2.6.16. +*/ readlink :: proc "contextless" (name: cstring, buf: []u8) -> (int, Errno) { when ODIN_ARCH == .arm64 { ret := syscall(SYS_readlinkat, AT_FDCWD, cast(rawptr) name, raw_data(buf), len(buf)) @@ -883,9 +1279,11 @@ readlink :: proc "contextless" (name: cstring, buf: []u8) -> (int, Errno) { } } -/// Change file permissions -/// Available since Linux 1.0 -/// On ARM64 available since Linux 2.6.16 +/* + Change file permissions. + Available since Linux 1.0. + On ARM64 available since Linux 2.6.16. +*/ chmod :: proc "contextless" (name: cstring, mode: Mode) -> (Errno) { when ODIN_ARCH == .arm64 { ret := syscall(SYS_fchmodat, cast(rawptr) name, transmute(u32) mode, 0) @@ -896,17 +1294,21 @@ chmod :: proc "contextless" (name: cstring, mode: Mode) -> (Errno) { } } -/// Change file permissions through a file descriptor -/// Available since Linux 1.0 +/* + Change file permissions through a file descriptor. + Available since Linux 1.0. +*/ fchmod :: proc "contextless" (fd: Fd, mode: Mode) -> (Errno) { ret := syscall(SYS_fchmod, fd, transmute(u32) mode) return Errno(-ret) } -/// Change ownership of a file -/// Available since Linux 2.2 -/// On 32-bit architectures available since Linux 2.4 -/// On ARM64 available since Linux 2.6.16 +/* + Change ownership of a file. + Available since Linux 2.2. + On 32-bit architectures available since Linux 2.4. + On ARM64 available since Linux 2.6.16. +*/ chown :: proc "contextless" (name: cstring, uid: Uid, gid: Gid) -> (Errno) { when size_of(int) == 4 { ret := syscall(SYS_chown32, cast(rawptr) name, uid, gid) @@ -920,9 +1322,11 @@ chown :: proc "contextless" (name: cstring, uid: Uid, gid: Gid) -> (Errno) { } } -/// Change ownership of a file by file descriptor -/// Available since Linux 1.0 -/// On 32-bit architecvtures available since Linux 2.4 +/* + Change ownership of a file by file descriptor. + Available since Linux 1.0. + On 32-bit architecvtures available since Linux 2.4. +*/ fchown :: proc "contextless" (fd: Fd, uid: Uid, gid: Gid) -> (Errno) { when size_of(int) == 4 { ret := syscall(SYS_fchown32, fd, uid, gid) @@ -933,10 +1337,12 @@ fchown :: proc "contextless" (fd: Fd, uid: Uid, gid: Gid) -> (Errno) { } } -/// Change ownership of a file. Unlike chown, if a file is a symlink dooesn't dereference it -/// Available since Linux 1.0 -/// On 32-bit architectures available since Linux 2.4 -/// On ARM64 available since Linux 2.6.16 +/* + Change ownership of a file. Unlike chown, if a file is a symlink dooesn't dereference it. + Available since Linux 1.0. + On 32-bit architectures available since Linux 2.4. + On ARM64 available since Linux 2.6.16. +*/ lchown :: proc "contextless" (name: cstring, uid: Uid, gid: Gid) -> (Errno) { when size_of(int) == 4 { ret := syscall(SYS_lchown32, cast(rawptr) name, uid, gid) @@ -950,42 +1356,239 @@ lchown :: proc "contextless" (name: cstring, uid: Uid, gid: Gid) -> (Errno) { } } -// TODO(flysand): umask +/* + Set file mode creation mask. + Available since Linux 1.0. +*/ +umask :: proc "contextless" (mask: Mode) -> Mode { + ret := syscall(SYS_umask, transmute(u32) mask) + return transmute(Mode) cast(u32) ret +} -// TODO(flysand): gettimeofday +/* + Get current time. + Available since Linux 1.0. +*/ +gettimeofday :: proc "contextless" (tv: ^Time_Val) -> (Errno) { + ret := syscall(SYS_gettimeofday, tv) + return Errno(-ret) +} -/// Get limits on resources -/// Available since Linux 1.0 +/* + Get limits on resources. + Available since Linux 1.0. +*/ getrlimit :: proc "contextless" (kind: RLimit_Kind, resource: ^RLimit) -> (Errno) { ret := syscall(SYS_getrlimit, kind, resource) return Errno(-ret) } -/// Get resource usage -/// Available since Linux 1.0 +/* + Get resource usage. + Available since Linux 1.0. +*/ getrusage :: proc "contextless" (who: RUsage_Who, rusage: ^RUsage) -> (Errno) { ret := syscall(SYS_getrusage, who, rusage) return Errno(-ret) } -/// Get information about the system +/* + Get information about the system. + Available since Linux 1.0. +*/ sysinfo :: proc "contextless" (sysinfo: ^Sys_Info) -> (Errno) { ret := syscall(SYS_sysinfo, sysinfo) return Errno(-ret) } -/// Get current process times -/// Available since Linux 1.0 +/* + Get current process times. + Available since Linux 1.0. +*/ times :: proc "contextless" (tms: ^Tms) -> (Errno) { ret := syscall(SYS_times, cast(rawptr) tms) return Errno(-ret) } -// TODO(flysand): ptrace +ptrace_traceme :: proc "contextless" (rq: PTrace_Traceme_Type) -> (Errno) { + ret := syscall(SYS_ptrace, rq) + return Errno(-ret) +} + +ptrace_peek :: proc "contextless" (rq: PTrace_Peek_Type, pid: Pid, addr: uintptr) -> (uint, Errno) { + ret := syscall(SYS_ptrace, rq, pid, addr) + return errno_unwrap(ret, uint) +} + +ptrace_poke :: proc "contextless" (rq: PTrace_Poke_Type, pid: Pid, addr: uintptr, data: uint) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, addr, data) + return Errno(-ret) +} + +ptrace_getregs :: proc "contextless" (rq: PTrace_Getregs_Type, pid: Pid, buf: ^User_Regs) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, 0, buf) + return Errno(-ret) +} + +ptrace_getfpregs :: proc "contextless" (rq: PTrace_Getfpregs_Type, pid: Pid, buf: ^User_FP_Regs) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, 0, buf) + return Errno(-ret) +} + +ptrace_getfpxregs :: proc "contextless" (rq: PTrace_Getfpxregs_Type, pid: Pid, buf: ^User_FPX_Regs) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, 0, buf) + return Errno(-ret) +} + +ptrace_setregs :: proc "contextless" (rq: PTrace_Setregs_Type, pid: Pid, buf: ^User_Regs) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, 0, buf) + return Errno(-ret) +} + +ptrace_setfpregs :: proc "contextless" (rq: PTrace_Setfpregs_Type, pid: Pid, buf: ^User_FP_Regs) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, 0, buf) + return Errno(-ret) +} + +ptrace_setfpxregs :: proc "contextless" (rq: PTrace_Setfpxregs_Type, pid: Pid, buf: ^User_FPX_Regs) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, 0, buf) + return Errno(-ret) +} + +ptrace_getregset :: proc "contextless" (rq: PTrace_Getregset_Type, pid: Pid, note: PTrace_Note_Type, buf: ^IO_Vec) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, note, buf) + return Errno(-ret) +} + +ptrace_setregset :: proc "contextless" (rq: PTrace_Setregset_Type, pid: Pid, note: PTrace_Note_Type, buf: ^IO_Vec) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, note, buf) + return Errno(-ret) +} + +ptrace_getsiginfo :: proc "contextless" (rq: PTrace_Getsiginfo_Type, pid: Pid, si: ^Sig_Info) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, si) + return Errno(-ret) +} + +ptrace_peeksiginfo :: proc "contextless" (rq: PTrace_Peeksiginfo_Type, pid: Pid, si: ^Sig_Info) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, si) + return Errno(-ret) +} + +ptrace_getsigmask :: proc "contextless" (rq: PTrace_Getsigmask_Type, pid: Pid, sigmask: ^Sig_Set) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, size_of(Sig_Set), sigmask) + return Errno(-ret) +} + +ptrace_setsigmask :: proc "contextless" (rq: PTrace_Setsigmask_Type, pid: Pid, sigmask: ^Sig_Set) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, size_of(Sig_Set), sigmask) + return Errno(-ret) +} + +ptrace_setoptions :: proc "contextless" (rq: PTrace_Setoptions_Type, pid: Pid, options: PTrace_Options) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, 0, transmute(u32) options) + return Errno(-ret) +} + +ptrace_geteventmsg :: proc "contextless" (rq: PTrace_Geteventmsg_Type, pid: Pid, msg: ^uint) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, msg) + return Errno(-ret) +} + +ptrace_cont :: proc "contextless" (rq: PTrace_Cont_Type, pid: Pid, sig: Signal) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, sig) + return Errno(-ret) +} + +ptrace_singlestep :: proc "contextless" (rq: PTrace_Singlestep_Type, pid: Pid, sig: Signal) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, sig) + return Errno(-ret) +} + +ptrace_syscall :: proc "contextless" (rq: PTrace_Syscall_Type, pid: Pid, sig: Signal) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, sig) + return Errno(-ret) +} + +ptrace_sysemu :: proc "contextless" (rq: PTrace_Sysemu_Type, pid: Pid, sig: Signal) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, sig) + return Errno(-ret) +} + +ptrace_sysemu_singlestep :: proc "contextless" (rq: PTrace_Sysemu_Singlestep_Type, pid: Pid, sig: Signal) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, sig) + return Errno(-ret) +} + +ptrace_listen :: proc "contextless" (rq: PTrace_Listen_Type, pid: Pid) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid) + return Errno(-ret) +} + +ptrace_interrupt :: proc "contextless" (rq: PTrace_Interrupt_Type, pid: Pid) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid) + return Errno(-ret) +} + +ptrace_attach :: proc "contextless" (rq: PTrace_Attach_Type, pid: Pid) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid) + return Errno(-ret) +} -/// Get real user ID -/// Available since Linux 1.0 -/// On 32-bit platforms available since Linux 2.4 +ptrace_seize :: proc "contextless" (rq: PTrace_Seize_Type, pid: Pid, opt: PTrace_Options) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, 0, transmute(u32) opt) + return Errno(-ret) +} + +// TODO(flysand): ptrace_seccomp_get_filter + +ptrace_detach :: proc "contextless" (rq: PTrace_Detach_Type, pid: Pid, sig: Signal) -> (Errno) { + ret := syscall(SYS_ptrace, rq, pid, 0, sig) + return Errno(-ret) +} + +// TODO(flysand): ptrace_get_thread_area +// TODO(flysand): ptrace_set_thread_area +// TODO(flysand): ptrace_get_syscall_info + +/* + Trace process. +*/ +ptrace :: proc { + ptrace_traceme, + ptrace_peek, + ptrace_poke, + ptrace_getregs, + ptrace_getfpregs, + ptrace_getfpxregs, + ptrace_setregs, + ptrace_setfpregs, + ptrace_setfpxregs, + ptrace_getregset, + ptrace_setregset, + ptrace_getsiginfo, + ptrace_peeksiginfo, + ptrace_getsigmask, + ptrace_setsigmask, + ptrace_setoptions, + ptrace_geteventmsg, + ptrace_cont, + ptrace_singlestep, + ptrace_syscall, + ptrace_sysemu, + ptrace_sysemu_singlestep, + ptrace_listen, + ptrace_interrupt, + ptrace_attach, + ptrace_seize, + ptrace_detach, +} + +/* + Get real user ID. + Available since Linux 1.0. + On 32-bit platforms available since Linux 2.4. +*/ getuid :: proc "contextless" () -> Uid { when size_of(int) == 8 { return cast(Uid) syscall(SYS_getuid) @@ -994,11 +1597,20 @@ getuid :: proc "contextless" () -> Uid { } } -// TODO(flysand): syslog +/* + Read or clear kernel message ring buffer. + Available since Linux 1.0. +*/ +syslog :: proc "contextless" (act: Syslog_Action, buf: []u8) -> (int, Errno) { + ret := syscall(SYS_syslog, act, raw_data(buf), len(buf)) + return errno_unwrap(ret, int) +} -/// Get real group ID -/// Available since Linux 1.0 -/// On 32-bit platforms available since Linux 2.4 +/* + Get real group ID. + Available since Linux 1.0. + On 32-bit platforms available since Linux 2.4. +*/ getgid :: proc "contextless" () -> Gid { when size_of(int) == 8 { return cast(Gid) syscall(SYS_getgid) @@ -1007,9 +1619,11 @@ getgid :: proc "contextless" () -> Gid { } } -/// Set effective user id -/// Available since Linux 1.0 -/// On 32-bit platforms available since Linux 2.4 +/* + Set effective User ID. + Available since Linux 1.0. + On 32-bit platforms available since Linux 2.4. +*/ @(require_results) setuid :: proc "contextless" (uid: Uid) -> (Errno) { when size_of(int) == 8 { @@ -1021,10 +1635,12 @@ setuid :: proc "contextless" (uid: Uid) -> (Errno) { } } -/// Set effective group id -/// If the process is privileged also sets real group id -/// Available since Linux 1.0 -/// On 32-bit platforms available since Linux 2.4 +/* + Set effective group id. + If the process is privileged also sets real group id. + Available since Linux 1.0. + On 32-bit platforms available since Linux 2.4. +*/ @(require_results) setgid :: proc "contextless" (gid: Gid) -> (Errno) { when size_of(int) == 8 { @@ -1036,9 +1652,11 @@ setgid :: proc "contextless" (gid: Gid) -> (Errno) { } } -/// Get effective user ID -/// Available since Linux 1.0 -/// On 32-bit platforms available since Linux 2.4 +/* + Get effective user ID. + Available since Linux 1.0. + On 32-bit platforms available since Linux 2.4. +*/ geteuid :: proc "contextless" () -> Uid { when size_of(int) == 8 { return cast(Uid) syscall(SYS_geteuid) @@ -1047,9 +1665,11 @@ geteuid :: proc "contextless" () -> Uid { } } -/// Get effective group ID -/// Available since Linux 1.0 -/// On 32-bit platforms available since Linux 2.4 +/* + Get effective group ID. + Available since Linux 1.0. + On 32-bit platforms available since Linux 2.4. +*/ getegid :: proc "contextless" () -> Gid { when size_of(int) == 8 { return cast(Gid) syscall(SYS_getegid) @@ -1058,21 +1678,27 @@ getegid :: proc "contextless" () -> Gid { } } -/// Set process group -/// Available since Linux 1.0 +/* + Set process group. + Available since Linux 1.0. +*/ setpgid :: proc "contextless" (pid: Pid, pgid: Pid) -> (Errno) { ret := syscall(SYS_setpgid, pid, pgid) return Errno(-ret) } -/// Get the parent process ID -/// Available since Linux 1.0 +/* + Get the parent process ID. + Available since Linux 1.0. +*/ getppid :: proc "contextless" () -> Pid { return cast(Pid) syscall(SYS_getppid) } -/// Get process group -/// Available since Linux 1.0 +/* + Get process group. + Available since Linux 1.0. +*/ getpgrp :: proc "contextless" () -> (Pid, Errno) { when ODIN_ARCH == .arm64 { ret := syscall(SYS_getpgid, 0) @@ -1083,17 +1709,21 @@ getpgrp :: proc "contextless" () -> (Pid, Errno) { } } -/// Create a session and set the process group ID -/// Available since Linux 2.0 +/* + Create a session and set the process group ID. + Available since Linux 2.0. +*/ setsid :: proc "contextless" () -> (Errno) { ret := syscall(SYS_setsid) return Errno(-ret) } -/// Set real and/or effective user id -/// If any of the arguments is -1, the corresponding id is not changed -/// Available since Linux 1.0 -/// On 32-bit platforms available since Linux 2.4 +/* + Set real and/or effective user id. + If any of the arguments is -1, the corresponding id is not changed. + Available since Linux 1.0. + On 32-bit platforms available since Linux 2.4. +*/ @(require_results) setreuid :: proc "contextless" (real: Uid, effective: Uid) -> (Errno) { when size_of(int) == 8 { @@ -1105,10 +1735,12 @@ setreuid :: proc "contextless" (real: Uid, effective: Uid) -> (Errno) { } } -/// Set real and/or effective group id -/// If any of the arguments is -1, the corresponding id is not changed -/// Available since Linux 1.0 -/// On 32-bit platforms available since Linux 2.4 +/* + Set real and/or effective group id. + If any of the arguments is -1, the corresponding id is not changed. + Available since Linux 1.0. + On 32-bit platforms available since Linux 2.4. +*/ @(require_results) setregid :: proc "contextless" (real: Gid, effective: Gid) -> (Errno) { when size_of(int) == 8 { @@ -1120,14 +1752,42 @@ setregid :: proc "contextless" (real: Gid, effective: Gid) -> (Errno) { } } -// TODO(flysand): getgroups +/* + Get supplementary group IDs. + Available since Linux 1.0. + On 32-bit platforms available since Linux 2.4. +*/ +getgroups :: proc "contextless" (gids: []Gid) -> (int, Errno) { + when size_of(int) == 8 { + ret := syscall(SYS_getgroups, len(gids), raw_data(gids)) + return errno_unwrap(ret, int) + } else { + ret := syscall(SYS_getgroups32, len(gids), raw_data(gids)) + return errno_unwrap(ret, int) + } +} -// TODO(flysand): setgroups +/* + Set supplementary group IDs. + Available since Linux 1.0. + On 32-bit platforms available since Linux 2.4. +*/ +setgroups :: proc "contextless" (gids: []Gid) -> (Errno) { + when size_of(int) == 8 { + ret := syscall(SYS_setgroups, len(gids), raw_data(gids)) + return Errno(-ret) + } else { + ret := syscall(SYS_setgroups32, len(gids), raw_data(gids)) + return Errno(-ret) + } +} -/// Set real, effective and/or saved user id -/// If any of the arguments is -1, the corresponding id is not changed -/// Available since Linux 2.2 -/// On 32-bit platforms available since Linux 2.4 +/* + Set real, effective and/or saved user id. + If any of the arguments is -1, the corresponding id is not changed. + Available since Linux 2.2. + On 32-bit platforms available since Linux 2.4. +*/ @(require_results) setresuid :: proc "contextless" (real: Uid, effective: Uid, saved: Uid) -> (Errno) { when size_of(int) == 8 { @@ -1139,9 +1799,11 @@ setresuid :: proc "contextless" (real: Uid, effective: Uid, saved: Uid) -> (Errn } } -/// Get real, effective and saved user id -/// Available since Linux 2.2 -/// On 32-bit platforms available since Linux 2.4 +/* + Get real, effective and saved user id. + Available since Linux 2.2. + On 32-bit platforms available since Linux 2.4. +*/ getresuid :: proc "contextless" (real: ^Uid, effective: ^Uid, saved: ^Uid) -> (Errno) { when size_of(int) == 8 { ret := syscall(SYS_getresuid, cast(rawptr) real, cast(rawptr) effective, cast(rawptr) saved) @@ -1152,10 +1814,12 @@ getresuid :: proc "contextless" (real: ^Uid, effective: ^Uid, saved: ^Uid) -> (E } } -/// Set real, effective and/or saved group id -/// If any of the arguments is -1, the corresponding id is not changed -/// Available since Linux 2.2 -/// On 32-bit platforms available since Linux 2.4 +/* + Set real, effective and/or saved group id. + If any of the arguments is -1, the corresponding id is not changed. + Available since Linux 2.2. + On 32-bit platforms available since Linux 2.4. +*/ @(require_results) setresgid :: proc "contextless" (real: Gid, effective: Gid, saved: Uid) -> (Errno) { when size_of(int) == 8 { @@ -1167,9 +1831,11 @@ setresgid :: proc "contextless" (real: Gid, effective: Gid, saved: Uid) -> (Errn } } -/// Get real, effective and saved group id -/// Available since Linux 2.2 -/// On 32-bit platforms available since Linux 2.4 +/* + Get real, effective and saved group id. + Available since Linux 2.2. + On 32-bit platforms available since Linux 2.4. +*/ getresgid :: proc "contextless" (real: ^Gid, effective: ^Gid, saved: ^Gid) -> (Errno) { when size_of(int) == 8 { ret := syscall(SYS_getresgid, cast(rawptr) real, cast(rawptr) effective, cast(rawptr) saved) @@ -1180,17 +1846,19 @@ getresgid :: proc "contextless" (real: ^Gid, effective: ^Gid, saved: ^Gid) -> (E } } -/// Get process group -/// Available since Linux 1.0 +/* + Get process group. + Available since Linux 1.0. +*/ getpgid :: proc "contextless" (pid: Pid) -> (Pid, Errno) { ret := syscall(SYS_getpgid, pid) return errno_unwrap(ret, Pid) } -// NOTE(flysand): setfsuid and setfsgid are deprecated - -/// Get session ID of the calling process -/// Available since Linux 2.0 +/* + Get session ID of the calling process. + Available since Linux 2.0. +*/ getsid :: proc "contextless" (pid: Pid) -> (Pid, Errno) { ret := syscall(SYS_getsid, pid) return errno_unwrap(ret, Pid) @@ -1200,48 +1868,60 @@ getsid :: proc "contextless" (pid: Pid) -> (Pid, Errno) { // TODO(flysand): capset -/// Examine pending signals -/// Available since Linux 2.2 +/* + Examine pending signals. + Available since Linux 2.2. +*/ rt_sigpending :: proc "contextless" (sigs: ^Sig_Set) -> Errno { ret := syscall(SYS_rt_sigpending, sigs, size_of(Sig_Set)) return Errno(-ret) } -/// Synchronously wait for queued signals -/// Available since Linux 2.2 +/* + Synchronously wait for queued signals. + Available since Linux 2.2. +*/ rt_sigtimedwait :: proc "contextless" (sigs: ^Sig_Set, info: ^Sig_Info, time_sus: ^Time_Spec) -> (Signal, Errno) { ret := syscall(SYS_rt_sigtimedwait, sigs, info, time_sus, size_of(Sig_Set)) return errno_unwrap(ret, Signal) } -/// Send signal information to a process -/// Available since Linux 2.2 +/* + Send signal information to a process. + Available since Linux 2.2. +*/ rt_sigqueueinfo :: proc "contextless" (pid: Pid, sig: Signal, si: ^Sig_Info) -> (Errno) { ret := syscall(SYS_rt_sigqueueinfo, pid, sig, si) return Errno(-ret) } -/// Replace the signal mask for a value with the new mask until a signal is received -/// Available since Linux 2.2 +/* + Replace the signal mask for a value with the new mask until a signal is received. + Available since Linux 2.2. +*/ rt_sigsuspend :: proc "contextless" (sigset: ^Sig_Set) -> Errno { ret := syscall(SYS_rt_sigsuspend, sigset, size_of(Sig_Set)) return Errno(-ret) } -/// Set or get signal stack context -/// Available since Linux 2.2 +/* + Set or get signal stack context. + Available since Linux 2.2. +*/ sigaltstack :: proc "contextless" (stack: ^Sig_Stack, old_stack: ^Sig_Stack) -> (Errno) { ret := syscall(SYS_sigaltstack, stack, old_stack) return Errno(-ret) } -// TODO(flysand): utime - -/// Create a special or ordinary file -/// `mode` parameter contains both the the file mode and the type of the node to create -/// -> Add one of S_IFSOCK, S_IFBLK, S_IFFIFO, S_IFCHR to mode -/// Available since Linux 1.0 -/// On ARM64 available since Linux 2.6.16 +/* + Create a special or ordinary file. + + `mode` parameter contains both the the file mode and the type of the node to create. + -> Add one of S_IFSOCK, S_IFBLK, S_IFFIFO, S_IFCHR to mode. + + Available since Linux 1.0. + On ARM64 available since Linux 2.6.16. +*/ mknod :: proc "contextless" (name: cstring, mode: Mode, dev: Dev) -> (Errno) { when ODIN_ARCH == .arm64 { ret := syscall(SYS_mknodat, AT_FDCWD, cast(rawptr) name, transmute(u32) mode, dev) @@ -1252,10 +1932,10 @@ mknod :: proc "contextless" (name: cstring, mode: Mode, dev: Dev) -> (Errno) { } } -// TODO(flysand): uselib - -/// Set the process execution domain -/// Available since Linux 1.2 +/* + Set the process execution domain. + Available since Linux 1.2. +*/ personality :: proc "contextless" (personality: uint) -> (uint, Errno) { ret := syscall(SYS_personality, personality) return errno_unwrap(ret, uint) @@ -1263,10 +1943,12 @@ personality :: proc "contextless" (personality: uint) -> (uint, Errno) { // TODO(flysand): ustat -/// Query information about filesystem -/// -/// Available since Linux 1.0 -/// For 32-bit systems a different syscall is used that became available since 2.6 +/* + Query information about filesystem. + + Available since Linux 1.0. + For 32-bit systems a different syscall is used that became available since 2.6. +*/ statfs :: proc "contextless" (path: cstring, statfs: ^Stat_FS) -> (Errno) { when size_of(int) == 8 { ret := syscall(SYS_statfs, transmute(uintptr) path, statfs) @@ -1277,10 +1959,12 @@ statfs :: proc "contextless" (path: cstring, statfs: ^Stat_FS) -> (Errno) { } } -/// Query information about filesystem by file descriptor -/// -/// Available since Linux 1.0 -/// For 32-bit systems a different syscall is used that became available since 2.6 +/* + Query information about filesystem by file descriptor. + + Available since Linux 1.0. + For 32-bit systems a different syscall is used that became available since 2.6. +*/ fstatfs :: proc "contextless" (fd: Fd, statfs: ^Stat_FS) -> (Errno) { when size_of(int) == 8 { ret := syscall(SYS_statfs, fd, statfs) @@ -1293,8 +1977,10 @@ fstatfs :: proc "contextless" (fd: Fd, statfs: ^Stat_FS) -> (Errno) { // TODO(flysand): sysfs -/// Get priority on user, process group or process -/// Available since Linux 1.0 +/* + Get priority on user, process group or process. + Available since Linux 1.0. +*/ getpriority :: proc "contextless" (which: Priority_Which, who: i32) -> (i32, Errno) { ret := syscall(SYS_getpriority, which, who) prio, err := errno_unwrap(ret, i32) @@ -1304,8 +1990,10 @@ getpriority :: proc "contextless" (which: Priority_Which, who: i32) -> (i32, Err return prio, err } -/// Set priority on user, process group or process -/// Available since Linux 1.0 +/* + Set priority on user, process group or process. + Available since Linux 1.0. +*/ setpriority :: proc "contextless" (which: Priority_Which, who: i32, prio: i32) -> (Errno) { ret := syscall(SYS_setpriority, which, who, prio) return Errno(-ret) @@ -1325,9 +2013,11 @@ setpriority :: proc "contextless" (which: Priority_Which, who: i32, prio: i32) - // TODO(flysand): sched_rr_get_interval -/// Lock and memory -/// Available since Linux 2.0 -/// If flags specified, available since Linux 4.4 +/* + Lock and memory. + Available since Linux 2.0. + If flags specified, available since Linux 4.4. +*/ mlock :: proc "contextless" (addr: rawptr, size: uint, flags: MLock_Flags = {}) -> (Errno) { // Pretty darn recent syscall, better call simpler version if we can if flags > {} { @@ -1339,20 +2029,28 @@ mlock :: proc "contextless" (addr: rawptr, size: uint, flags: MLock_Flags = {}) } } -/// Unlock memory -/// Available since Linux 2.0 +/* + Unlock memory. + Available since Linux 2.0. +*/ munlock :: proc "contextless" (addr: rawptr, size: uint) -> (Errno) { ret := syscall(SYS_munlock, addr, size) return Errno(-ret) } -/// Lock all memory +/* + Lock all memory. + Available since Linux 2.0. +*/ mlockall :: proc "contextless" (flags: MLock_Flags = {}) -> (Errno) { ret := syscall(SYS_mlockall, transmute(i32) flags) return Errno(-ret) } -/// Unlock all memory +/* + Unlock all memory. + Available since Linux 2.0. +*/ munlockall :: proc "contextless" () -> (Errno) { ret := syscall(SYS_munlockall) return Errno(-ret) @@ -1372,8 +2070,10 @@ munlockall :: proc "contextless" () -> (Errno) { // TODO(flysand): adj_timex -/// Set limits on resources -/// Available since Linux 1.0 +/* + Set limits on resources. + Available since Linux 1.0. +*/ setrlimit :: proc "contextless" (kind: RLimit_Kind, resource: ^RLimit) -> (Errno) { ret := syscall(SYS_setrlimit, kind, resource) return Errno(-ret) @@ -1395,17 +2095,21 @@ setrlimit :: proc "contextless" (kind: RLimit_Kind, resource: ^RLimit) -> (Errno // TODO(flysand): reboot -/// Set hostname -/// Note: to get the host name, use `uname` syscall -/// Available since Linux 1.0 +/* + Set hostname. + Note: to get the host name, use `uname` syscall. + Available since Linux 1.0. +*/ sethostname :: proc "contextless" (hostname: string) -> (Errno) { ret := syscall(SYS_sethostname, raw_data(hostname), len(hostname)) return Errno(-ret) } -/// Set domain name -/// Note: to get the domain name, use `uname` syscall -/// Available since Linux 2.2 +/* + Set domain name. + Note: to get the domain name, use `uname` syscall. + Available since Linux 2.2. +*/ setdomainname :: proc "contextless" (name: string) -> (Errno) { ret := syscall(SYS_setdomainname, raw_data(name), len(name)) return Errno(-ret) @@ -1415,16 +2119,10 @@ setdomainname :: proc "contextless" (name: string) -> (Errno) { // TODO(flysand): ioperm -// TODO(flysand): create_module - // TODO(flysand): init_module // TODO(flysand): delete_module -// TODO(flysand): get_kernel_syms - -// TODO(flysand): query_module - // TODO(flysand): quotactl // TODO(flysand): nfsservctl @@ -1439,12 +2137,14 @@ setdomainname :: proc "contextless" (name: string) -> (Errno) { // TODO(flysand): security -/// Returns the thread ID of the current process -/// This is what the kernel calls "pid" -/// Let me insert a tiny rant here, this terminology is confusing: -/// sometimes pid refers to a thread, and other times it refers -/// to a thread group (process group?) -/// Anyway, this syscall is available since Linux 1.0 +/* + Returns the thread ID of the current process + This is what the kernel calls "pid". + Let me insert a tiny rant here, this terminology is confusing: + sometimes pid refers to a thread, and other times it refers + to a thread group (process group?) + Anyway, this syscall is available since Linux 1.0 +*/ gettid :: proc "contextless" () -> Pid { return cast(Pid) syscall(SYS_gettid) } @@ -1475,19 +2175,35 @@ gettid :: proc "contextless" () -> Pid { // TODO(flysand): fremovexattr -// TODO(flysand): tkill - -// TODO(flysand): time +/* + Get current time in seconds. + Available since Linux 1.0. +*/ +time :: proc "contextless" (tloc: ^uint) -> (Errno) { + when ODIN_ARCH != .arm64 { + ret := syscall(SYS_time, tloc) + return Errno(-ret) + } else { + ts: Time_Spec + ret := syscall(SYS_clock_gettime, Clock_Id.REALTIME, &ts) + tloc^ = ts.time_sec + return Errno(-ret) + } +} -/// Wait on a futex until it's signaled +/* + Wait on a futex until it's signaled. +*/ futex_wait :: proc "contextless" (futex: ^Futex, op: Futex_Wait_Type, flags: Futex_Flags, val: u32, timeout: ^Time_Spec = nil) -> (Errno) { futex_flags := cast(u32) op + transmute(u32) flags ret := syscall(SYS_futex, futex, futex_flags, val, timeout) return Errno(-ret) } -/// Wake up other threads on a futex -/// n_wakeup specifies the number of processes to wakeup. Specify max(i32) to wake up all processes waiting +/* + Wake up other threads on a futex + n_wakeup specifies the number of processes to wakeup. Specify max(i32) to wake up all processes waiting +*/ futex_wake :: proc "contextless" (futex: ^Futex, op: Futex_Wake_Type, flags: Futex_Flags, n_wakeup: i32) -> (int, Errno) { futex_flags := cast(u32) op + transmute(u32) flags ret := syscall(SYS_futex, futex, futex_flags, n_wakeup) @@ -1496,12 +2212,14 @@ futex_wake :: proc "contextless" (futex: ^Futex, op: Futex_Wake_Type, flags: Fut // NOTE(flysand): futex_fd is racy, so not implemented -/// Requeues processes waiting on futex `futex` to wait on futex `requeue_futex` -/// `requeue_threshold` specifies the maximum amount of waiters to wake up, the rest of the waiters will be requeued -/// `requeue_max` specifies the maximum amount of waiters that are required at `requeue_futex` -/// The operation blocks until the `requeue_max` requirement is satisfied -/// If the value of the mutex is not equal to `val`, fails with EAGAIN before any further checks -/// Returns the total number of waiters that have been woken up plus the number of waiters requeued +/* + Requeues processes waiting on futex `futex` to wait on futex `requeue_futex` + `requeue_threshold` specifies the maximum amount of waiters to wake up, the rest of the waiters will be requeued + `requeue_max` specifies the maximum amount of waiters that are required at `requeue_futex` + The operation blocks until the `requeue_max` requirement is satisfied + If the value of the mutex is not equal to `val`, fails with EAGAIN before any further checks + Returns the total number of waiters that have been woken up plus the number of waiters requeued. +*/ futex_cmp_requeue :: proc "contextless" (futex: ^Futex, op: Futex_Cmp_Requeue_Type, flags: Futex_Flags, requeue_threshold: u32, requeue_max: i32, requeue_futex: ^Futex, val: i32) -> (int, Errno) { @@ -1510,8 +2228,10 @@ futex_cmp_requeue :: proc "contextless" (futex: ^Futex, op: Futex_Cmp_Requeue_Ty return errno_unwrap(ret, int) } -/// See `futex_cmp_requeue`, this function does the same thing but doesn't check the value of the futex -/// Returns the total number of waiters that have been woken up +/* + See `futex_cmp_requeue`, this function does the same thing but doesn't check the value of the futex. + Returns the total number of waiters that have been woken up. +*/ futex_requeue :: proc "contextless" (futex: ^Futex, op: Futex_Requeue_Type, flags: Futex_Flags, requeue_threshold: u32, requeue_max: i32, requeue_futex: ^Futex) -> (int, Errno) { @@ -1520,8 +2240,10 @@ futex_requeue :: proc "contextless" (futex: ^Futex, op: Futex_Requeue_Type, flag return errno_unwrap(ret, int) } -/// Okay, for this one, see the man pages, the description for it is pretty long and very specific. It's sole -/// purpose is to allow implementing conditional values sync primitive, it seems like +/* + Okay, for this one, see the man pages, the description for it is pretty long and very specific. It's sole. + purpose is to allow implementing conditional values sync primitive, it seems like. +*/ futex_wake_op :: proc "contextless" (futex: ^Futex, op: Futex_Wake_Op_Type, flags: Futex_Flags, wakeup: i32, dst_wakeup, dst: ^Futex, futex_op: u32) -> (int, Errno) { @@ -1530,7 +2252,9 @@ futex_wake_op :: proc "contextless" (futex: ^Futex, op: Futex_Wake_Op_Type, flag return errno_unwrap(ret, int) } -/// Same as wait, but mask specifies bits that must be equal for the mutex to wake up +/* + Same as wait, but mask specifies bits that must be equal for the mutex to wake up. +*/ futex_wait_bitset :: proc "contextless" (futex: ^Futex, op: Futex_Wait_Bitset_Type, flags: Futex_Flags, val: u32, timeout: ^Time_Spec, mask: u32) -> (int, Errno) { @@ -1539,7 +2263,9 @@ futex_wait_bitset :: proc "contextless" (futex: ^Futex, op: Futex_Wait_Bitset_Ty return errno_unwrap(ret, int) } -/// Wake up on bitset +/* + Wake up on bitset. +*/ futex_wake_bitset :: proc "contextless" (futex: ^Futex, op: Futex_Wake_Bitset_Type, flags: Futex_Flags, n_wakeup: u32, mask: u32) -> (int, Errno) { futex_flags := cast(u32) op + transmute(u32) flags @@ -1579,36 +2305,82 @@ futex :: proc { // TODO(flysand): lookup_dcookie -// TODO(flysand): epoll_create - -// TODO(flysand): epoll_ctl_old - -// TODO(flysand): epoll_wait_old +/* + Open an epoll file descriptor. + + The `size` argument is ignored but must be greater than zero. + + Available since Linux 2.6. +*/ +epoll_create :: proc(size: i32 = 1) -> (Fd, Errno) { + when ODIN_ARCH != .arm64 { + ret := syscall(SYS_epoll_create) + return errno_unwrap(ret, Fd) + } else { + ret := syscall(SYS_epoll_create1, i32(0)) + return errno_unwrap(ret, Fd) + } +} // TODO(flysand): remap_file_pages -/// Set the address of the futex that's gonna be waken when -/// current thread terminates -/// Available since Linux 2.6 +/* + Set the address of the futex that's gonna be waken when. + current thread terminates. + Available since Linux 2.6. +*/ set_tid_address :: proc "contextless" (tidptr: ^u32) { syscall(SYS_set_tid_address, tidptr) } -// TODO(flysand): restart_syscall - // TODO(flysand): semtimedop // TODO(flysand): fadvise64 -// TODO(flysand): timer_create +/* + Create POSIX per-process timer. + Available since Linux 2.6. +*/ +timer_create :: proc "contextless" (clock_id: Clock_Id, sigevent: ^Sig_Event, timer: ^Timer) -> (Errno) { + ret := syscall(SYS_timer_create, clock_id, sigevent, timer) + return Errno(-ret) +} -// TODO(flysand): timer_settime +/* + Get the state of the POSIX per-process timer. + Available since Linux 2.6. +*/ +timer_gettime :: proc "contextless" (timer: Timer, curr_value: ^ITimer_Spec) -> (Errno) { + ret := syscall(SYS_timer_gettime, timer, curr_value) + return Errno(-ret) +} -// TODO(flysand): timer_gettime +/* + Arm/disarm the state of the POSIX per-process timer. + Available since Linux 2.6. +*/ +timer_settime :: proc "contextless" (timer: Timer, flags: ITimer_Flags, #no_alias new_value, old_value: ^ITimer_Spec) -> (Errno) { + ret := syscall(SYS_timer_settime, timer, transmute(u32) flags, new_value, old_value) + return Errno(-ret) +} -// TODO(flysand): timer_getoverrun +/* + Get overrun count of the POSIX per-process timer. + Available since Linux 2.6. +*/ +timer_getoverrun :: proc "contextless" (timer: Timer) -> (int, Errno) { + ret := syscall(SYS_timer_getoverrun, timer) + return errno_unwrap(ret, int) +} -// TODO(flysand): timer_delete +/* + Delete a POSIX per-process timer. + Available since Linux 2.6. +*/ +timer_delete :: proc "contextless" (timer: Timer) -> (Errno) { + ret := syscall(SYS_timer_delete, timer) + return Errno(-ret) +} // TODO(flysand): clock_settime @@ -1618,18 +2390,54 @@ set_tid_address :: proc "contextless" (tidptr: ^u32) { // TODO(flysand): clock_nanosleep -/// Exit the thread group -/// Available since Linux 2.6 +/* + Exit the thread group. + Available since Linux 2.6. +*/ exit_group :: proc "contextless" (code: i32) -> ! { syscall(SYS_exit_group, code) unreachable() } -// TODO(flysand): epoll_wait +/* + Wait for an I/O event on an epoll file descriptor. + + `timeout` is specified in milliseconds. + + Available since Linux 2.6. +*/ +epoll_wait :: proc(epfd: Fd, events: [^]EPoll_Event, count: i32, timeout: i32) -> (i32, Errno) { + when ODIN_ARCH != .arm64 { + ret := syscall(SYS_epoll_wait, epfd, events, count, timeout) + return errno_unwrap(ret, i32) + } else { + // Convert milliseconds to nanosecond timespec + timeout_ns := Time_Spec { + time_sec = uint(timeout * 1000), + time_nsec = 0, + } + ret := syscall(SYS_epoll_pwait, epfd, events, count, &timeout_ns, rawptr(nil)) + return errno_unwrap(ret, i32) + } +} -// TODO(flysand): epoll_ctl +/* + Control interface for an epoll file descriptor. + Available since Linux 2.6. +*/ +epoll_ctl :: proc(epfd: Fd, op: EPoll_Ctl_Opcode, fd: Fd, event: ^EPoll_Event) -> (Errno) { + ret := syscall(SYS_epoll_ctl, epfd, op, fd, event) + return Errno(-ret) +} -// TODO(flysand): tgkill +/* + Send a signal to a specific thread in a thread group. + Available since Linux 2.6. +*/ +tgkill :: proc "contextless" (tgid, tid: Pid, sig: Signal) -> (Errno) { + ret := syscall(SYS_tgkill, tgid, tid, sig) + return Errno(-ret) +} // TODO(flysand): utimes @@ -1655,9 +2463,10 @@ exit_group :: proc "contextless" (code: i32) -> ! { // TODO(flysand): kexec_load - -/// Wait on process, process group or pid file descriptor -/// Available since Linux 2.6.10 +/* + Wait on process, process group or pid file descriptor. + Available since Linux 2.6.10. +*/ waitid :: proc "contextless" (id_type: Id_Type, id: Id, sig_info: ^Sig_Info, options: Wait_Options) -> (Errno) { ret := syscall(SYS_waitid, id_type, id, sig_info, transmute(i32) options) return Errno(-ret) @@ -1681,38 +2490,46 @@ waitid :: proc "contextless" (id_type: Id_Type, id: Id, sig_info: ^Sig_Info, opt // TODO(flysand): migrate_pages -/// Open file at the specified file descriptor -/// Available since Linux 2.6.16 +/* + Open file at the specified file descriptor. + Available since Linux 2.6.16. +*/ openat :: proc "contextless" (fd: Fd, name: cstring, flags: Open_Flags, mode: Mode = {}) -> (Fd, Errno) { ret := syscall(SYS_openat, fd, AT_FDCWD, transmute(uintptr) name, transmute(u32) mode) return errno_unwrap(ret, Fd) } -/// Create a directory relative to specified dirfd -/// Available since Linux 2.6.16 +/* + Create a directory relative to specified dirfd. + Available since Linux 2.6.16. +*/ mkdirat :: proc "contextless" (dirfd: Fd, name: cstring, mode: Mode) -> (Errno) { ret := syscall(SYS_mkdirat, dirfd, cast(rawptr) name, transmute(u32) mode) return Errno(-ret) } -/// Create a special or ordinary file wrt given directory specified by dirfd -/// Available since Linux 2.6.16 +/* + Create a special or ordinary file wrt given directory specified by dirfd. + Available since Linux 2.6.16. +*/ mknodat :: proc "contextless" (dirfd: Fd, name: cstring, mode: Mode, dev: Dev) -> (Errno) { ret := syscall(SYS_mknodat, dirfd, cast(rawptr) name, transmute(u32) mode, dev) return Errno(-ret) } -/// Change the ownership of the file specified relative to directory -/// Available since Linux 2.6.16 +/* + Change the ownership of the file specified relative to directory. + Available since Linux 2.6.16. +*/ fchownat :: proc "contextless" (dirfd: Fd, name: cstring, uid: Uid, gid: Gid) -> (Errno) { ret := syscall(SYS_fchownat, dirfd, cast(rawptr) name, uid, gid) return Errno(-ret) } -// TODO(flysand): futimesat - -/// Get information about a file at a specific directory -/// Available since Linux 2.6.16 +/* + Get information about a file at a specific directory. + Available since Linux 2.6.16. +*/ fstatat :: proc "contextless" (dirfd: Fd, name: cstring, stat: ^Stat, flags: FD_Flags) -> (Errno) { when size_of(int) == 4 { ret := syscall(SYS_fstatat64, dirfd, cast(rawptr) name, stat, transmute(i32) flags) @@ -1726,59 +2543,73 @@ fstatat :: proc "contextless" (dirfd: Fd, name: cstring, stat: ^Stat, flags: FD_ } } -/// Remove a directory entry relative to a directory file descriptor -/// Available since Linux 2.6.16 +/* + Remove a directory entry relative to a directory file descriptor. + Available since Linux 2.6.16. +*/ unlinkat :: proc "contextless" (dirfd: Fd, name: cstring, flags: FD_Flags) -> (Errno) { ret := syscall(SYS_unlinkat, dirfd, cast(rawptr) name, transmute(i32) flags) return Errno(-ret) } -/// Rename the file with names relative to the specified dirfd's -/// Available since Linux 2.6.16 +/* + Rename the file with names relative to the specified dirfd's. + Available since Linux 2.6.16. +*/ renameat :: proc "contextless" (oldfd: Fd, old: cstring, newfd: Fd, new: cstring) -> (Errno) { ret := syscall(SYS_renameat, oldfd, cast(rawptr) old, newfd, cast(rawptr) new) return Errno(-ret) } -/// Creates a hard link on a file relative to specified dirfd -/// Available since Linux 2.6.16 +/* + Creates a hard link on a file relative to specified dirfd. + Available since Linux 2.6.16. +*/ linkat :: proc "contextless" (target_dirfd: Fd, oldpath: cstring, link_dirfd: Fd, link: cstring, flags: FD_Flags) -> (Errno) { ret := syscall(SYS_linkat, target_dirfd, cast(rawptr) oldpath, link_dirfd, cast(rawptr) link, transmute(i32) flags) return Errno(-ret) } -/// Create a symbolic link at specified dirfd -/// Available since Linux 2.6.16 +/* + Create a symbolic link at specified dirfd. + Available since Linux 2.6.16. +*/ symlinkat :: proc "contextless" (dirfd: Fd, target: cstring, linkpath: cstring) -> (Errno) { ret := syscall(SYS_symlinkat, dirfd, cast(rawptr) target, cast(rawptr) linkpath) return Errno(-ret) } -/// Read the value of a symbolic link at given dirfd -/// Available since Linux 2.6.16 +/* + Read the value of a symbolic link at given dirfd. + Available since Linux 2.6.16. +*/ readlinkat :: proc "contextless" (dirfd: Fd, name: cstring, buf: []u8) -> (int, Errno) { ret := syscall(SYS_readlinkat, dirfd, cast(rawptr) name, raw_data(buf), len(buf)) return errno_unwrap(ret, int) } -/// Change the file mode at a specified file descriptor -/// Available since Linux 2.6.16 +/* + Change the file mode at a specified file descriptor. + Available since Linux 2.6.16. +*/ fchmodat :: proc "contextless" (dirfd: Fd, name: cstring, mode: Mode, flags: FD_Flags) -> (Errno) { ret := syscall(SYS_fchmodat, cast(rawptr) name, transmute(u32) mode, transmute(i32) flags) return Errno(-ret) } -/// Checks the user permissions for a file at specified dirfd -/// Available since Linux 2.6.16 +/* + Checks the user permissions for a file at specified dirfd. + Available since Linux 2.6.16. +*/ faccessat :: proc "contextless" (dirfd: Fd, name: cstring, mode: Mode = F_OK) -> (bool, Errno) { ret := syscall(SYS_faccessat, dirfd, cast(rawptr) name, transmute(u32) mode) return errno_unwrap(ret, bool) } -// TODO(flysand): pselect6 - -/// Wait for events on a file descriptor -/// Available since Linux 2.6.16 +/* + Wait for events on a file descriptor. + Available since Linux 2.6.16. +*/ ppoll :: proc "contextless" (fds: []Poll_Fd, timeout: ^Time_Spec, sigmask: ^Sig_Set) -> (Errno) { when size_of(int) == 8 { ret := syscall(SYS_ppoll, raw_data(fds), len(fds), timeout, sigmask, size_of(Sig_Set)) @@ -1795,9 +2626,23 @@ ppoll :: proc "contextless" (fds: []Poll_Fd, timeout: ^Time_Spec, sigmask: ^Sig_ // TODO(flysand): get_robust_list -// TODO(flysand): splice +/* + Transfer the data between file descriptors. + Available since Linux 2.6.17. +*/ +splice :: proc "contextless" (fd_in: Fd, off_in: ^i64, fd_out: Fd, off_out: ^i64, len: uint, flags: Splice_Flags) -> (int, Errno) { + ret := syscall(SYS_splice, fd_in, off_in, fd_out, off_out, len, transmute(u32) flags) + return errno_unwrap(ret, int) +} -// TODO(flysand): tee +/* + Transfer the data between file descriptors. + Available since Linux 2.6.16. +*/ +tee :: proc "contextless" (fd_in: Fd, fd_out: Fd, len: uint, flags: Splice_Flags) -> (int, Errno) { + ret := syscall(SYS_tee, fd_in, fd_out, len, transmute(u32) flags) + return errno_unwrap(ret, int) +} // TODO(flysand): sync_file_range @@ -1805,14 +2650,25 @@ ppoll :: proc "contextless" (fds: []Poll_Fd, timeout: ^Time_Spec, sigmask: ^Sig_ // TODO(flysand): move_pages -/// Change file timestamps with nanosecond precision -/// Available since Linux 2.6.22 -utimensat :: proc "contextless" (dirfd: Fd, name: cstring, timespec: ^Time_Spec, flags: FD_Flags) -> (Errno) { - ret := syscall(SYS_utimensat, dirfd, cast(rawptr) name, timespec, transmute(i32) flags) +/* + Change file timestamps with nanosecond precision. + **utimes** must point to an array of two `Time_Spec`'s. The "utime" is the + last access time, the second is last modification time. + Available since Linux 2.6.22. +*/ +utimensat :: proc "contextless" (dirfd: Fd, name: cstring, utimes: [^]Time_Spec, flags: FD_Flags) -> (Errno) { + ret := syscall(SYS_utimensat, dirfd, cast(rawptr) name, utimes, transmute(i32) flags) return Errno(-ret) } -// TODO(flysand): epoll_pwait +/* + Wait for an I/O event on an epoll file descriptor. + Available since Linux 2.6. +*/ +epoll_pwait :: proc(epfd: Fd, events: [^]EPoll_Event, count: i32, timeout: i32, sigmask: ^Sig_Set) -> (i32, Errno) { + ret := syscall(SYS_epoll_pwait, epfd, events, count, timeout, sigmask) + return errno_unwrap(ret, i32) +} // TODO(flysand): signalfd @@ -1832,11 +2688,16 @@ utimensat :: proc "contextless" (dirfd: Fd, name: cstring, timespec: ^Time_Spec, // TODO(flysand): eventfd2 -// TODO(flysand): epoll_create1 +epoll_create1 :: proc(flags: EPoll_Flags) -> (Fd, Errno) { + ret := syscall(SYS_epoll_create1, transmute(i32) flags) + return errno_unwrap(ret, Fd) +} -/// Adjust an existing file descriptor to point to the same file as `old` -/// In addition to dup2 allows to pass O_CLOEXEC flag -/// Available since Linux 2.6.27 +/* + Adjust an existing file descriptor to point to the same file as `old`. + In addition to dup2 allows to pass O_CLOEXEC flag. + Available since Linux 2.6.27. +*/ dup3 :: proc "contextless" (old: Fd, new: Fd, flags: Open_Flags) -> (Fd, Errno) { ret := syscall(SYS_dup3, old, new, transmute(i32) flags) return errno_unwrap(ret, Fd) @@ -1848,7 +2709,6 @@ dup3 :: proc "contextless" (old: Fd, new: Fd, flags: Open_Flags) -> (Fd, Errno) // TODO(flysand): pwritev - /// Send signal information to a thread /// Available since Linux 2.2 rt_tgsigqueueinfo :: proc "contextless" (tgid: Pid, pid: Pid, sig: Signal, si: ^Sig_Info) -> (Errno) { @@ -1856,14 +2716,23 @@ rt_tgsigqueueinfo :: proc "contextless" (tgid: Pid, pid: Pid, sig: Signal, si: ^ return Errno(-ret) } -/// Set up performance monitoring -/// Available since Linux 2.6.31 +/* + Set up performance monitoring. + Available since Linux 2.6.31. +*/ perf_event_open :: proc "contextless" (attr: ^Perf_Event_Attr, pid: Pid, cpu: int, group_fd: Fd, flags: Perf_Flags = {}) -> (Fd, Errno) { ret := syscall(SYS_perf_event_open, attr, pid, cpu, group_fd, transmute(uint) flags) return errno_unwrap(ret, Fd) } -// TODO(flysand): recvmmsg +/* + Receive multiple messages from a socket. + Available since Linux 2.6.33. +*/ +recvmmsg :: proc "contextless" (sock: Fd, msg_vec: []MMsg_Hdr, flags: Socket_Msg) -> (int, Errno) { + ret := syscall(SYS_recvmmsg, sock, raw_data(msg_vec), len(msg_vec), transmute(i32) flags) + return errno_unwrap(ret, int) +} // TODO(flysand): fanotify_init @@ -1879,7 +2748,14 @@ perf_event_open :: proc "contextless" (attr: ^Perf_Event_Attr, pid: Pid, cpu: in // TODO(flysand): syncfs -// TODO(flysand): sendmmsg +/* + Send multiple messages on a socket. + Available since Linux 3.0. +*/ +sendmmsg :: proc "contextless" (sock: Fd, msg_vec: []MMsg_Hdr, flags: Socket_Msg) -> (int, Errno) { + ret := syscall(SYS_sendmmsg, sock, raw_data(msg_vec), len(msg_vec), transmute(i32) flags) + return errno_unwrap(ret, int) +} // TODO(flysand): setns @@ -1897,8 +2773,10 @@ perf_event_open :: proc "contextless" (attr: ^Perf_Event_Attr, pid: Pid, cpu: in // TODO(flysand): sched_getattr -/// Rename the file with names relative to the specified dirfd's with other options -/// Available since Linux 3.15 +/* + Rename the file with names relative to the specified dirfd's with other options. + Available since Linux 3.15. +*/ renameat2 :: proc "contextless" (oldfd: Fd, old: cstring, newfd: Fd, new: cstring, flags: Rename_Flags) -> (Errno) { ret := syscall(SYS_renameat2, oldfd, cast(rawptr) old, newfd, cast(rawptr) new, transmute(u32) flags) return Errno(-ret) @@ -1917,7 +2795,14 @@ getrandom :: proc "contextless" (buf: []u8, flags: Get_Random_Flags) -> (int, Er // TODO(flysand): bpf -// TODO(flysand): execveat +/* + Execute program relative to a directory file descriptor. + Available since Linux 3.19. +*/ +execveat :: proc "contextless" (dirfd: Fd, name: cstring, argv: [^]cstring, envp: [^]cstring) -> (Errno) { + ret := syscall(SYS_execveat, dirfd, cast(rawptr) name, cast(rawptr) argv, cast(rawptr) envp) + return Errno(-ret) +} // TODO(flysand): userfaultfd @@ -1937,14 +2822,16 @@ getrandom :: proc "contextless" (buf: []u8, flags: Get_Random_Flags) -> (int, Er // TODO(flysand): pkey_free -/// Query extended information about the file -/// -/// The file can be specified as: -/// absolute pathname: `dir` parameter is ignored -/// relatvie pathname: `dir` parameter specifies the base directory's fd -/// file descriptor: `AT_EMPTY_PATH` is passed in flags, pathname is empty, `dir` specifies the file descriptor -/// -/// Available since Linux 4.11 +/* + Query extended information about the file + + The file can be specified as: + - absolute pathname: `dir` parameter is ignored + - relatvie pathname: `dir` parameter specifies the base directory's fd + - file descriptor: `AT_EMPTY_PATH` is passed in flags, pathname is empty, `dir` specifies the file descriptor + + Available since Linux 4.11 +*/ statx :: proc "contextless" (dir: Fd, pathname: cstring, flags: FD_Flags, mask: Statx_Mask, statx: ^Statx) -> (Errno) { ret := syscall(SYS_statx, dir, transmute(uintptr) pathname, transmute(i32) flags, transmute(u32) mask, statx) return Errno(-ret) @@ -1974,10 +2861,12 @@ statx :: proc "contextless" (dir: Fd, pathname: cstring, flags: FD_Flags, mask: // TODO(flysand): fspick -/// Creates a new PID file descriptor -/// The process identified by `pid` must be a pid group leader -/// The returned `pidfd` has `CLOEXEC` semantics -/// Available since Linux 5.3 +/* + Creates a new PID file descriptor. + The process identified by `pid` must be a pid group leader. + The returned `pidfd` has `CLOEXEC` semantics. + Available since Linux 5.3. +*/ pidfd_open :: proc "contextless" (pid: Pid, flags: Pid_FD_Flags) -> (Pid_FD, Errno) { ret := syscall(SYS_pidfd_open, pid, transmute(i32) flags) return errno_unwrap(ret, Pid_FD) @@ -1985,9 +2874,11 @@ pidfd_open :: proc "contextless" (pid: Pid, flags: Pid_FD_Flags) -> (Pid_FD, Err // TODO(flysand): clone3 (probably not this PR) -/// Close the range of files as an atomic operation -/// The range of file descriptors is inclusive, and may contain invalid file descriptors -/// Available since Linux 5.9 +/* + Close the range of files as an atomic operation. + The range of file descriptors is inclusive, and may contain invalid file descriptors. + Available since Linux 5.9. +*/ close_range :: proc "contextless" (lo: Fd, hi: Fd, flags: Close_Range_Flags) -> (Errno) { ret := syscall(SYS_close_range, lo, hi, transmute(u32) flags) return Errno(-ret) @@ -1995,17 +2886,21 @@ close_range :: proc "contextless" (lo: Fd, hi: Fd, flags: Close_Range_Flags) -> // TODO(flysand): openat2 -/// Get a file descriptor from another process -/// `fd` refers to a file descriptor number to get -/// `flags` must be zero -/// Available since Linux 5.3 +/* + Get a file descriptor from another process. + - `fd` refers to a file descriptor number to get. + - `flags` must be zero. + Available since Linux 5.3. +*/ pidfd_getfd :: proc "contextless" (pidfd: Pid_FD, fd: Fd, flags: i32 = 0) -> (Fd, Errno) { ret := syscall(SYS_pidfd_getfd, pidfd, fd, flags) return errno_unwrap(ret, Fd) } -/// Checks the user permissions for a file at specified dirfd (with flags) -/// Available since Linux 5.8 +/* + Checks the user permissions for a file at specified dirfd (with flags). + Available since Linux 5.8. +*/ faccessat2 :: proc "contextless" (dirfd: Fd, name: cstring, mode: Mode = F_OK, flags: FD_Flags = FD_Flags{}) -> (bool, Errno) { ret := syscall(SYS_faccessat2, dirfd, cast(rawptr) name, transmute(u32) mode, transmute(i32) flags) return errno_unwrap(ret, bool) @@ -2013,7 +2908,14 @@ faccessat2 :: proc "contextless" (dirfd: Fd, name: cstring, mode: Mode = F_OK, f // TODO(flysand): process_madvise -// TODO(flysand): epoll_pwait2 +/* + Wait for an I/O event on an epoll file descriptor. + Available since Linux 2.6. +*/ +epoll_pwait2 :: proc(epfd: Fd, events: [^]EPoll_Event, count: i32, timeout: ^Time_Spec, sigmask: ^Sig_Set) -> (i32, Errno) { + ret := syscall(SYS_epoll_pwait2, epfd, events, count, timeout, sigmask) + return errno_unwrap(ret, i32) +} // TODO(flysand): mount_setattr diff --git a/core/sys/linux/types.odin b/core/sys/linux/types.odin index afa7faf33..099c18b5c 100644 --- a/core/sys/linux/types.odin +++ b/core/sys/linux/types.odin @@ -1,56 +1,104 @@ //+build linux package linux -/// Represents storage device handle +/* + Type for storage device handle. +*/ Dev :: distinct int -/// Represents 32-bit user id +/* + Type for 32-bit User IDs. +*/ Uid :: distinct u32 -/// Represents 32-bit group id +/* + Type for 32-bit Group IDs. +*/ Gid :: distinct u32 -/// Process id's +/* + Type for Process IDs, Thread IDs, Thread group ID. +*/ Pid :: distinct int -/// Represents pid, pifd, pgid values in general +/* + Type for any of: pid, pidfd, pgid. +*/ Id :: distinct uint -/// Represents a file descriptor +/* + Represents a file descriptor. +*/ Fd :: distinct i32 -/// Represents a PID file descriptor +/* + Type for PID file descriptors. +*/ Pid_FD :: distinct i32 -/// Represents 64-bit inode number for files -/// Used pretty much only in struct Stat64 for 32-bit platforms +/* + Type for 64-bit inode number for files. + Used pretty much only in struct Stat64 for 32-bit platforms. +*/ Inode :: distinct u64 -/// Represents time with nanosecond precision +/* + Shared memory identifiers used by shmget(2) and other calls. +*/ +Key :: distinct i32 + +/* + Represents timer IDs. +*/ +Timer :: distinct i32 + +/* + Represents time with nanosecond precision. +*/ Time_Spec :: struct { time_sec: uint, time_nsec: uint, } -/// Represents time with millisecond precision +/* + Represents time with millisecond precision. +*/ Time_Val :: struct { seconds: int, microseconds: int, } -/// open.2 flags +/* + Access and modification times for files +*/ +UTim_Buf :: struct { + actime: uint, + modtime: uint, +} + +/* + Flags for open(2). +*/ Open_Flags :: bit_set[Open_Flags_Bits; u32] -/// Flags for the file descriptor to be passed in some syscalls +/* + Flags for the file descriptors. +*/ FD_Flags :: bit_set[FD_Flags_Bits; i32] -/// Represents file's permission and status bits -/// Example: -/// When you're passing a value of this type the recommended usage is -/// sys.Mode{.S_IXOTH, .S_IROTH} | sys.S_IRWXU | sys.S_IRWXG -/// This would generate a mode that has full permissions for the -/// file's owner and group, and only "read" and "execute" bits -/// for others. +/* + Represents file's permission and status bits +**Example:** + When you're passing a value of this type the recommended usage is: + + ``` + linux.Mode{.S_IXOTH, .S_IROTH} | linux.S_IRWXU | linux.S_IRWXG + ``` + + This would generate a mode that has full permissions for the + file's owner and group, and only "read" and "execute" bits + for others. +*/ Mode :: bit_set[Mode_Bits; u32] when ODIN_ARCH == .amd64 { @@ -111,29 +159,38 @@ when ODIN_ARCH == .amd64 { } } -/// Represents the file state. -/// Mirrors struct stat in glibc/linux kernel. -/// If you're on 32-bit platform, consider using Stat64 instead +/* + Represents the file state. + If you're on 32-bit platform, consider using Stat64 instead. +*/ Stat :: struct { using _impl_stat: _Arch_Stat, } -/// Timestamp type used for Statx struct +/* + Timestamp type used for Statx struct +*/ Statx_Timestamp :: struct { sec: i64, nsec: u32, _: i32, } -/// Query params/results for `statx()` +/* + Query params/results for `statx()`. +*/ Statx_Mask :: bit_set[Statx_Mask_Bits; u32] -/// File attributes, returned by statx. This bitset is also -/// used to specify which attributes are present, not just -/// their value. +/* + File attributes, returned by statx. This bitset is also + used to specify which attributes are present, not just + their value. +*/ Statx_Attr :: bit_set[Statx_Attr_Bits; u64] -/// The extended Stat struct +/* + The extended Stat struct, the argument to statx(2) syscall. +*/ Statx :: struct { mask: Statx_Mask, blksize: u32, @@ -165,7 +222,9 @@ Statx :: struct { _: [12]u64, } -/// Mount flags for filesystem +/* + Mount flags for filesystem. +*/ FS_Flags :: bit_set[FS_Flags_Bits; u32] when size_of(int) == 8 { @@ -205,19 +264,28 @@ when size_of(int) == 8 { } } +/* + Struct for statfs(2). +*/ Stat_FS :: struct { using _impl_stat_fs: _Arch_Stat_FS, } -/// Flags for close_range.2 +/* + Flags for close_range(2). +*/ Close_Range_Flags :: bit_set[Close_Range_Flags_Bits; u32] -/// Flags for rename.2 +/* + Flags for rename(2). +*/ Rename_Flags :: bit_set[Rename_Flags_Bits; u32] -/// Directory entry -/// Recommended to use this with dirent_iterator() -/// and dirent_name() +/* + Directory entry record. + Recommended iterate these with `dirent_iterator()`, + and obtain the name via `dirent_name()`. +*/ Dirent :: struct { ino: Inode, off: i64, @@ -226,7 +294,9 @@ Dirent :: struct { name: [0]u8, // See dirent_name } -/// Lock record for fcntl.2 +/* + Lock record for fcntl(2). +*/ FLock :: struct { type: FLock_Type, whence: Seek_Whence, @@ -235,50 +305,83 @@ FLock :: struct { pid: Pid, } -/// Flags for fcntl_notify +/* + File locking operations. + Use one of `EX`, `RW` or `UN` to specify the operation, and add `UN` if + you need a non-blocking operation. +*/ +FLock_Op :: bit_set[FLock_Op_Bits; i32] + +/* + Flags for `fcntl_notify()`. +*/ FD_Notifications :: bit_set[FD_Notifications_Bits; i32] -/// Seals for fcntl_add_seals +/* + Seals for `fcntl_add_seals()`. +*/ Seal :: bit_set[Seal_Bits; i32] -/// Represents owner that receives events on file updates +/* + Represents owner that receives events on file updates. +*/ F_Owner :: struct { type: F_Owner_Type, pid: Pid, } -/// Events for ppoll +/* + Events for ppoll(2). +*/ Fd_Poll_Events :: bit_set[Fd_Poll_Events_Bits; u16] -/// Struct for ppoll +/* + Struct for ppoll(2). +*/ Poll_Fd :: struct { fd: Fd, events: Fd_Poll_Events, revents: Fd_Poll_Events, } -/// Specifies protection for memory pages +/* + Specifies protection for memory pages. +*/ Mem_Protection :: bit_set[Mem_Protection_Bits; i32] -/// Flags for mmap +/* + Flags for mmap. +*/ Map_Flags :: bit_set[Map_Flags_Bits; i32] -/// Flags for mlock.2 +/* + Flags for mlock(2). +*/ MLock_Flags :: bit_set[MLock_Flags_Bits; u32] -/// Flags for msync.2 +/* + Flags for msync(2). +*/ MSync_Flags :: bit_set[MSync_Flags_Bits; i32] -/// Access rights for pkey_alloc.2 +/* + Access rights for pkey_alloc(2). +*/ PKey_Access_Rights :: bit_set[PKey_Access_Bits; u32] -/// Flags for mremap.2 +/* + Flags for mremap(2). +*/ MRemap_Flags :: bit_set[MRemap_Flags_Bits; i32] -/// Flags for getrandom syscall +/* + Flags for getrandom(2) syscall. +*/ Get_Random_Flags :: bit_set[Get_Random_Flags_Bits; i32] -/// Flags for perf_event_open syscall +/* + Flags for perf_event_open(2) syscall. +*/ Perf_Flags :: bit_set[Perf_Flags_Bits; uint] Perf_Event_Flags :: distinct bit_set[Perf_Event_Flags_Bits; u64] @@ -289,10 +392,14 @@ Perf_Cap_Flags :: distinct bit_set[Perf_Cap_Flags_Bits; u64] Perf_Event_Sample_Type :: bit_set[Perf_Event_Sample_Type_Bits; u64] -/// Specifies which branches to include in branch record +/* + Specifies which branches to include in branch record. +*/ Branch_Sample_Type :: bit_set[Branch_Sample_Type_Bits; u64] -/// The struct for perf_event_open +/* + The struct for perf_event_open. +*/ Perf_Event_Attr :: struct #packed { type: Perf_Event_Type, size: u32, @@ -336,7 +443,9 @@ Perf_Event_Attr :: struct #packed { _: u16, } -/// The ring buffer structure when mmaping Perf_Event_Attr +/* + The ring buffer structure when mmaping Perf_Event_Attr. +*/ Perf_Event_Mmap_Page :: struct #packed { version: u32, compat_version: u32, @@ -371,10 +480,14 @@ Perf_Event_Mmap_Page :: struct #packed { // TODO(flysand): Its taking too much effort to bind the other data structures related to perf_event_open -/// Options for wait4() and waitpid() +/* + Options for wait4(2) and waitpid(2). +*/ Wait_Options :: bit_set[Wait_Option; i32] -/// Flags for pidfd_open.2 +/* + Flags for pidfd_open(2). +*/ Pid_FD_Flags :: bit_set[Pid_FD_Flags_Bits; i32] // Note(flysand): these could, in principle be implemented with bitfields, @@ -441,6 +554,28 @@ Sig_Info :: struct #packed { }, } +SIGEV_MAX_SIZE :: 64 +SIGEV_PAD_SIZE :: ((SIGEV_MAX_SIZE-size_of(i32)*2+size_of(Sig_Val))/size_of(i32)) + +Sig_Val :: struct #raw_union { + sival_int: i32, + sival_ptr: rawptr, +} + +Sig_Event :: struct { + value: Sig_Val, + signo: i32, + notify: i32, + using _: struct #raw_union { + _: [SIGEV_PAD_SIZE]u32, + thread_id: Pid, + using _: struct { + notify_function: #type proc "c" (val: Sig_Val), + notify_attribute: rawptr, + }, + }, +} + Sig_Stack_Flags :: bit_set[Sig_Stack_Flag; i32] Sig_Stack :: struct { @@ -459,27 +594,36 @@ Sig_Action :: struct($T: typeid) { mask: Sig_Set, } - -/// Flags for the socket file descriptor -/// Note, on linux these are technically passed by OR'ing together -/// with Socket_Type, our wrapper does this under the hood. +/* + Flags for the socket file descriptor. + Note, on linux these are technically passed by OR'ing together + with Socket_Type, our wrapper does this under the hood. +*/ Socket_FD_Flags :: bit_set[Socket_FD_Flags_Bits; int] -/// Address family for the socket -/// Typically there's one address family for every protocol family +/* + Address family for the socket. + Typically there's one address family for every protocol family. +*/ Address_Family :: distinct Protocol_Family -/// Flags for the socket for send/recv calls +/* + Flags for the socket for send/recv calls. +*/ Socket_Msg :: bit_set[Socket_Msg_Bits; i32] -/// Struct representing IPv4 socket address +/* + Struct representing IPv4 socket address. +*/ Sock_Addr_In :: struct #packed { sin_family: Address_Family, sin_port: u16be, sin_addr: [4]u8, } -/// Struct representing IPv6 socket address +/* + Struct representing IPv6 socket address. +*/ Sock_Addr_In6 :: struct #packed { sin6_family: Address_Family, sin6_port: u16be, @@ -488,7 +632,9 @@ Sock_Addr_In6 :: struct #packed { sin6_scope_id: u32, } -/// Struct representing an arbitrary socket address +/* + Struct representing an arbitrary socket address. +*/ Sock_Addr_Any :: struct #raw_union { using _: struct { family: Address_Family, @@ -498,13 +644,38 @@ Sock_Addr_Any :: struct #raw_union { using ipv6: Sock_Addr_In6, } -/// Just an alias to make futex-values more visible +/* + Message header for sendmsg/recvmsg +*/ +Msg_Hdr :: struct { + name: rawptr, + namelen: i32, + iov: []IO_Vec, // ptr followed by length, abi matches + control: []u8, + flags: Socket_Msg, +} + +/* + Multiple message header for sendmmsg/recvmmsg +*/ +MMsg_Hdr :: struct { + hdr: Msg_Hdr, + len: u32, +} + +/* + Just an alias to make futex-values more visible +*/ Futex :: u32 -/// Flags for the futex (they are kept separately) +/* + Flags for the futex (they are kept separately) +*/ Futex_Flags :: bit_set[Futex_Flags_Bits; u32] -/// Times +/* + Times +*/ Tms :: struct { tms_utime: int, tms_stime: int, @@ -512,8 +683,10 @@ Tms :: struct { tms_cstime: int, } -/// "Unix time-sharing system name", allegedly -/// Basically system info +/* + "Unix time-sharing system name", allegedly. + Basically system info. +*/ UTS_Name :: struct { sysname: [65]u8 `fmt:"s,0"`, nodename: [65]u8 `fmt:"s,0"`, @@ -523,7 +696,9 @@ UTS_Name :: struct { domainname: [65]u8 `fmt:"s,0"`, } -/// Return buffer for the sysinfo syscall +/* + Return buffer for the sysinfo syscall +*/ Sys_Info :: struct { uptime: int, loads: [3]int, @@ -540,14 +715,17 @@ Sys_Info :: struct { _padding: [20 - (2 * size_of(int)) - size_of(i32)]u8, } -/// Resource limit +/* + Resource limit +*/ RLimit :: struct { cur: uint, max: uint, } -/// Structure representing how much of each resource -/// got used. +/* + Structure representing how much of each resource got used. +*/ RUsage :: struct { utime: Time_Val, stime: Time_Val, @@ -566,3 +744,498 @@ RUsage :: struct { nvcsw_word: int, nivcsw_word: int, } + +/* + Struct used for IO operations +*/ +IO_Vec :: struct { + base: rawptr, + len: uint, +} + +/* + Access mode for shared memory +*/ +IPC_Mode :: bit_set[IPC_Mode_Bits; u32] + +/* + Flags used by IPC objects +*/ +IPC_Flags :: bit_set[IPC_Flags_Bits; i16] + +/* + Permissions for IPC objects +*/ +IPC_Perm :: struct { + key: Key, + uid: u32, + gid: u32, + cuid: u32, + cgid: u32, + mode: IPC_Mode, + seq: u16, + _: [2 + 2*size_of(int)]u8, +} + +when size_of(int) == 8 || ODIN_ARCH == .i386 { + // 32-bit and 64-bit x86, 64-bit arm + _Arch_Shmid_DS :: struct { + perm: IPC_Perm, + segsz: uint, + atime: int, + dtime: int, + ctime: int, + cpid: Pid, + lpid: Pid, + nattch: uint, + _: [2]uint, + } +} else { + // Other 32-bit platforms + // NOTE(flysand): I'm not risking assuming it's little endian... + _Arch_Shmid_DS :: struct { + perm: IPC_Perm, + segsz: uint, + atime: uint, + atime_high: uint, + dtime: uint, + dtime_high: uint, + ctime: uint, + ctime_high: uint, + cpid: Pid, + lpid: Pid, + nattach: uint, + _: [2]uint, + } +} + +/* + SystemV shared memory data. +*/ +Shmid_DS :: _Arch_Shmid_DS + +/* + SystemV shared memory info. +*/ +Shm_Info :: struct { + used_ids: i32, + shm_tot: uint, + shm_rss: uint, + shm_swp: uint, + swap_attempts: uint, + swap_successes: uint, +} + +/* + SystemV semaphore operation. +*/ +Sem_Buf :: struct { + num: u16, + op: IPC_Cmd, + flg: IPC_Flags, +} + +when ODIN_ARCH == .i386 { + _Arch_Semid_DS :: struct { + perm: IPC_Perm, + otime: uint, + otime_high: uint, + ctime: uint, + ctime_high: uint, + nsems: uint, + _: [2]uint, + } +} else when ODIN_ARCH == .amd64 { + _Arch_Semid_DS :: struct { + perm: IPC_Perm, + otime: int, + ctime: int, + nsems: uint, + _: [2]uint, + } +} else when ODIN_ARCH == .arm32 { + _Arch_Semid_DS :: struct { + perm: IPC_Perm, + otime: uint, + otime_high: uint, + ctime: uint, + ctime_high: uint, + nsems: uint, + _: [2]uint, + } +} else when ODIN_ARCH == .arm64 { + _Arch_Semid_DS :: struct { + perm: IPC_Perm, + otime: int, + ctime: int, + sem_nsems: uint, + __unused3: uint, + __unused4: uint, + } +} + +/* + Architecture-specific semaphore data. +*/ +Semid_DS :: _Arch_Semid_DS + +/* + Argument for semctl functions +*/ +Sem_Un :: struct #raw_union { + val: i32, + buf: rawptr, + array: u16, + __buf: Sem_Info, + _: uintptr, +} + +/* + SystenV semaphore info. +*/ +Sem_Info :: struct { + semmap: i32, + mni: i32, + mns: i32, + mnu: i32, + msl: i32, + opm: i32, + ume: i32, + usz: i32, + vmx: i32, + aem: i32, +} + +/* + Template for the struct used for sending and receiving messages +*/ +Msg_Buf :: struct { + type: int, + text: [0]u8, +} + +/* + SystemV message queue data. +*/ +Msqid_DS :: struct { + perm: IPC_Perm, + stime: uint, + rtime: uint, + ctime: uint, + cbytes: uint, + qnum: uint, + qbytes: uint, + lspid: Pid, + lrpid: Pid, + _: [2]uint, +} + +/* + Interval timer types +*/ +ITimer_Which :: enum { + REAL = 0, + VIRTUAL = 1, + PROF = 2, +} + +/* + Interval timer value +*/ +ITimer_Val :: struct { + interval: Time_Val, + value: Time_Val, +} + +ITimer_Spec :: struct { + interval: Time_Spec, + value: Time_Spec, +} + +/* + Flags for POSIX interval timers. +*/ +ITimer_Flags :: bit_set[ITimer_Flags_Bits; u32] + +when ODIN_ARCH == .arm32 { + _Arch_User_Regs :: struct { + cpsr: uint, + pc: uint, + lr: uint, + sp: uint, + ip: uint, + fp: uint, + r10: uint, + r9: uint, + r8: uint, + r7: uint, + r6: uint, + r5: uint, + r4: uint, + r3: uint, + r2: uint, + r1: uint, + r0: uint, + ORIG_r0: uint, + } + // TODO(flysand): Idk what to do about these, couldn't find their + // definitions + _Arch_User_FP_Regs :: struct {} + _Arch_User_FPX_Regs :: struct {} +} else when ODIN_ARCH == .arm64 { + _Arch_User_Regs :: struct { + regs: [31]uint, + sp: uint, + pc: uint, + pstate: uint, + } + _Arch_User_FP_Regs :: struct { + vregs: [32]u128, + fpsr: u32, + fpcr: u32, + _: [2]u32, + } + _Arch_User_FPX_Regs :: struct {} +} else when ODIN_ARCH == .i386 { + _Arch_User_Regs :: struct { + ebx: uint, + ecx: uint, + edx: uint, + esi: uint, + edi: uint, + ebp: uint, + eax: uint, + xds: uint, + xes: uint, + xfs: uint, + xgs: uint, + orig_eax: uint, + eip: uint, + xcs: uint, + eflags: uint, + esp: uint, + xss: uint, + } + // x87 FPU state + _Arch_User_FP_Regs :: struct { + cwd: uint, + swd: uint, + twd: uint, + fip: uint, + fcs: uint, + foo: uint, + fos: uint, + st_space: [20]uint, + } + // FXSR instruction set state + _Arch_User_FPX_Regs :: struct { + cwd: u16, + swd: u16, + twd: u16, + fop: u16, + fip: uint, + fcs: uint, + foo: uint, + fos: uint, + mxcsr: uint, + _: uint, + st_space: [32]uint, + xmm_space: [32]uint, + padding: [56]uint, + } +} else when ODIN_ARCH == .amd64 { + _Arch_User_Regs :: struct { + // Callee-preserved, may not be correct if the syscall doesn't need + // these registers + r15: uint, + r14: uint, + r13: uint, + r12: uint, + rbp: uint, + rbx: uint, + // Always saved + r11: uint, + r10: uint, + r9: uint, + r8: uint, + rax: uint, + rcx: uint, + rdx: uint, + rsi: uint, + rdi: uint, + // On syscall entry this is the syscall number, on CPU exception this + // is the error code, on hardware interrupt this is its IRQ number + orig_rax: uint, + // Return frame for iretq + rip: uint, + cs: uint, + eflags: uint, + rsp: uint, + ss: uint, + } + // All floating point state + _Arch_User_FP_Regs :: struct { + cwd: u16, + swd: u16, + twd: u16, + fop: u16, + rip: uint, + rdp: uint, + mxcsr: u32, + mxcsr_mask: u32, + st_space: [32]u32, + xmm_space: [64]u32, + _: [24]u32, + } + // FXSR instruction set state + _Arch_User_FPX_Regs :: struct { + cwd: u16, + swd: u16, + twd: u16, + fop: u16, + fip: uint, + fcs: uint, + foo: uint, + fos: uint, + mxcsr: uint, + _: uint, + st_space: [32]uint, + xmm_space: [32]uint, + padding: [56]uint, + } +} + +/* + Architecture-specific registers struct. +*/ +User_Regs :: _Arch_User_Regs + +/* + Architecture-specific floating-point registers +*/ +User_FP_Regs :: _Arch_User_FP_Regs + +/* + Architecture-specific extended floating-point registers. + Currently only used for x86 CPU's. +*/ +User_FPX_Regs :: _Arch_User_FPX_Regs + +/* + ptrace options. +*/ +PTrace_Options :: bit_set[PTrace_Options_Bits; u32] + +/* + ptrace's PEEKSIGINFO argument. +*/ +PTrace_Peek_Sig_Info_Args :: struct { + off: u64, + flags: PTrace_Peek_Sig_Info_Flags, + nr: i32, +} + +/* + ptrace's PEEKSIGINFO flags. +*/ +PTrace_Peek_Sig_Info_Flags :: bit_set[PTrace_Peek_Sig_Info_Flags_Bits; u32] + +/* + ptrace's SECCOMP metadata. +*/ +PTrace_Seccomp_Metadata :: struct { + filter_off: u64, + flags: u64, +} + +/* + ptrace's results of GET_SYSCALL_INFO. +*/ +PTrace_Syscall_Info :: struct { + op: PTrace_Get_Syscall_Info_Op, + arch: u32, // TODO: AUDIT_ARCH* + instruction_pointer: u64, + stack_pointer: u64, + using _: struct #raw_union { + entry: struct { + nr: u64, + args: [6]u64, + }, + exit: struct { + rval: i64, + is_error: b8, + }, + seccomp: struct { + nr: u64, + args: [6]u64, + ret_data: u32, + }, + }, +} + +/* + ptrace's results of GET_RSEQ_CONFIGURATION. +*/ +PTrace_RSeq_Configuration :: struct { + rseq_abi_pointer: u64, + rseq_abi_size: u32, + signature: u32, + flags: u32, + _: u32, +} + +/* + Note types for PTRACE_GETREGSET. Mirrors constants in `elf` definition, + files though this enum only contains the constants defined for architectures + Odin can compile to. +*/ +PTrace_Note_Type :: enum { + NT_PRSTATUS = 1, + NT_PRFPREG = 2, + NT_PRPSINFO = 3, + NT_TASKSTRUCT = 4, + NT_AUXV = 6, + NT_SIGINFO = 0x53494749, + NT_FILE = 0x46494c45, + NT_PRXFPREG = 0x46e62b7f, + NT_386_TLS = 0x200, + NT_386_IOPERM = 0x201, + NT_X86_XSTATE = 0x202, + NT_X86_SHSTK = 0x204, + NT_ARM_VFP = 0x400, + NT_ARM_TLS = 0x401, + NT_ARM_HW_BREAK = 0x402, + NT_ARM_HW_WATCH = 0x403, + NT_ARM_SYSTEM_CALL = 0x404, + NT_ARM_SVE = 0x405, + NT_ARM_PAC_MASK = 0x406, + NT_ARM_PACA_KEYS = 0x407, + NT_ARM_PACG_KEYS = 0x408, + NT_ARM_TAGGED_ADDR_CTRL = 0x409, + NT_ARM_PAC_ENABLED_KEYS = 0x40a, + NT_ARM_SSVE = 0x40b, + NT_ARM_ZA = 0x40c, + NT_ARM_ZT = 0x40d, +} + +/* + Flags for splice(2) and tee(2) syscalls. +*/ +Splice_Flags :: bit_set[Splice_Flags_Bits; u32] + +/* + Flags for epoll_create(2) syscall. +*/ +EPoll_Flags :: bit_set[EPoll_Flags_Bits; i32] + +EPoll_Data :: struct #raw_union { + ptr: rawptr, + fd: Fd, + u32: u32, + u64: u64, +} + +EPoll_Event :: struct #packed { + events: EPoll_Event_Kind, + data: EPoll_Data, +} diff --git a/core/sys/windows/hidpi.odin b/core/sys/windows/hidpi.odin new file mode 100644 index 000000000..8f1a75247 --- /dev/null +++ b/core/sys/windows/hidpi.odin @@ -0,0 +1,134 @@ +// +build windows +package sys_windows +import "core:c" + +USAGE :: distinct USHORT +PUSAGE :: ^USAGE + +HIDP_CAPS :: struct { + Usage: USAGE, + UsagePage: USAGE, + InputReportByteLength: USHORT, + OutputReportByteLength: USHORT, + FeatureReportByteLength: USHORT, + Reserved: [17]USHORT, + NumberLinkCollectionNodes: USHORT, + NumberInputButtonCaps: USHORT, + NumberInputValueCaps: USHORT, + NumberInputDataIndices: USHORT, + NumberOutputButtonCaps: USHORT, + NumberOutputValueCaps: USHORT, + NumberOutputDataIndices: USHORT, + NumberFeatureButtonCaps: USHORT, + NumberFeatureValueCaps: USHORT, + NumberFeatureDataIndices: USHORT, +} +PHIDP_CAPS :: ^HIDP_CAPS + +HIDP_BUTTON_CAPS :: struct { + UsagePage: USAGE, + ReportID: UCHAR, + IsAlias: BOOLEAN, + BitField: USHORT, + LinkCollection: USHORT, + LinkUsage: USAGE, + LinkUsagePage: USAGE, + IsRange: BOOLEAN, + IsStringRange: BOOLEAN, + IsDesignatorRange: BOOLEAN, + IsAbsolute: BOOLEAN, + ReportCount: USHORT, + Reserved2: USHORT, + Reserved: [9]ULONG, + using _: struct #raw_union { + Range: struct { + UsageMin: USAGE, + UsageMax: USAGE, + StringMin: USHORT, + StringMax: USHORT, + DesignatorMin: USHORT, + DesignatorMax: USHORT, + DataIndexMin: USHORT, + DataIndexMax: USHORT, + }, + NotRange: struct { + Usage: USAGE, + Reserved1: USAGE, + StringIndex: USHORT, + Reserved2: USHORT, + DesignatorIndex: USHORT, + Reserved3: USHORT, + DataIndex: USHORT, + Reserved4: USHORT, + }, + }, +} +PHIDP_BUTTON_CAPS :: ^HIDP_BUTTON_CAPS + +HIDP_VALUE_CAPS :: struct { + UsagePage: USAGE, + ReportID: UCHAR, + IsAlias: BOOLEAN, + BitField: USHORT, + LinkCollection: USHORT, + LinkUsage: USAGE, + LinkUsagePage: USAGE, + IsRange: BOOLEAN, + IsStringRange: BOOLEAN, + IsDesignatorRange: BOOLEAN, + IsAbsolute: BOOLEAN, + HasNull: BOOLEAN, + Reserved: UCHAR, + BitSize: USHORT, + ReportCount: USHORT, + Reserved2: [5]USHORT, + UnitsExp: ULONG, + Units: ULONG, + LogicalMin: LONG, + LogicalMax: LONG, + PhysicalMin: LONG, + PhysicalMax: LONG, + using _: struct #raw_union { + Range: struct { + UsageMin: USAGE, + UsageMax: USAGE, + StringMin: USHORT, + StringMax: USHORT, + DesignatorMin: USHORT, + DesignatorMax: USHORT, + DataIndexMin: USHORT, + DataIndexMax: USHORT, + }, + NotRange: struct { + Usage: USAGE, + Reserved1: USAGE, + StringIndex: USHORT, + Reserved2: USHORT, + DesignatorIndex: USHORT, + Reserved3: USHORT, + DataIndex: USHORT, + Reserved4: USHORT, + }, + }, +} +PHIDP_VALUE_CAPS :: ^HIDP_VALUE_CAPS + +PHIDP_PREPARSED_DATA :: rawptr + +HIDP_REPORT_TYPE :: enum c.int { + Input, + Output, + Feature, +} + +HIDP_STATUS_SUCCESS : NTSTATUS : 0x110000 + +foreign import hid "system:hid.lib" +@(default_calling_convention="stdcall") +foreign hid { + HidP_GetCaps :: proc(PreparsedData: PHIDP_PREPARSED_DATA, Capabilities: PHIDP_CAPS) -> NTSTATUS --- + HidP_GetButtonCaps :: proc(ReportType: HIDP_REPORT_TYPE, ButtonCaps: PHIDP_BUTTON_CAPS, ButtonCapsLength: PUSHORT, PreparsedData: PHIDP_PREPARSED_DATA) -> NTSTATUS --- + HidP_GetValueCaps :: proc(ReportType: HIDP_REPORT_TYPE, ValueCaps: PHIDP_VALUE_CAPS, ValueCapsLength: PUSHORT, PreparsedData: PHIDP_PREPARSED_DATA) -> NTSTATUS --- + HidP_GetUsages :: proc(ReportType: HIDP_REPORT_TYPE, UsagePage: USAGE, LinkCollection: USHORT, UsageList: PUSAGE, UsageLength: PULONG, PreparsedData: PHIDP_PREPARSED_DATA, Report: PCHAR, ReportLength: ULONG) -> NTSTATUS --- + HidP_GetUsageValue :: proc(ReportType: HIDP_REPORT_TYPE, UsagePage: USAGE, LinkCollection: USHORT, Usage: USAGE, UsageValue: PULONG, PreparsedData: PHIDP_PREPARSED_DATA, Report: PCHAR, ReportLength: ULONG) -> NTSTATUS --- +} diff --git a/core/sys/windows/types.odin b/core/sys/windows/types.odin index 360cab738..10b474866 100644 --- a/core/sys/windows/types.odin +++ b/core/sys/windows/types.odin @@ -75,6 +75,8 @@ LPRECT :: ^RECT LPPOINT :: ^POINT LSTATUS :: LONG PHKEY :: ^HKEY +PUSHORT :: ^USHORT +PCHAR :: ^CHAR UINT8 :: u8 UINT16 :: u16 diff --git a/core/sys/windows/winerror.odin b/core/sys/windows/winerror.odin index f552b9a53..118327ffa 100644 --- a/core/sys/windows/winerror.odin +++ b/core/sys/windows/winerror.odin @@ -48,3 +48,5485 @@ ERROR_PIPE_BUSY : DWORD : 231 E_NOTIMPL :: HRESULT(-0x7fff_bfff) // 0x8000_4001 SUCCEEDED :: #force_inline proc(#any_int result: int) -> bool { return result >= 0 } + + +System_Error :: enum DWORD { + // The operation completed successfully. + SUCCESS = 0x0, + // Incorrect function. + INVALID_FUNCTION = 0x1, + // The system cannot find the file specified. + FILE_NOT_FOUND = 0x2, + // The system cannot find the path specified. + PATH_NOT_FOUND = 0x3, + // The system cannot open the file. + TOO_MANY_OPEN_FILES = 0x4, + // Access is denied. + ACCESS_DENIED = 0x5, + // The handle is invalid. + INVALID_HANDLE = 0x6, + // The storage control blocks were destroyed. + ARENA_TRASHED = 0x7, + // Not enough memory resources are available to process this command. + NOT_ENOUGH_MEMORY = 0x8, + // The storage control block address is invalid. + INVALID_BLOCK = 0x9, + // The environment is incorrect. + BAD_ENVIRONMENT = 0xA, + // An attempt was made to load a program with an incorrect format. + BAD_FORMAT = 0xB, + // The access code is invalid. + INVALID_ACCESS = 0xC, + // The data is invalid. + INVALID_DATA = 0xD, + // Not enough storage is available to complete this operation. + OUTOFMEMORY = 0xE, + // The system cannot find the drive specified. + INVALID_DRIVE = 0xF, + // The directory cannot be removed. + CURRENT_DIRECTORY = 0x10, + // The system cannot move the file to a different disk drive. + NOT_SAME_DEVICE = 0x11, + // There are no more files. + NO_MORE_FILES = 0x12, + // The media is write protected. + WRITE_PROTECT = 0x13, + // The system cannot find the device specified. + BAD_UNIT = 0x14, + // The device is not ready. + NOT_READY = 0x15, + // The device does not recognize the command. + BAD_COMMAND = 0x16, + // Data error cyclic redundancy check. + CRC = 0x17, + // The program issued a command but the command length is incorrect. + BAD_LENGTH = 0x18, + // The drive cannot locate a specific area or track on the disk. + SEEK = 0x19, + // The specified disk or diskette cannot be accessed. + NOT_DOS_DISK = 0x1A, + // The drive cannot find the sector requested. + SECTOR_NOT_FOUND = 0x1B, + // The printer is out of paper. + OUT_OF_PAPER = 0x1C, + // The system cannot write to the specified device. + WRITE_FAULT = 0x1D, + // The system cannot read from the specified device. + READ_FAULT = 0x1E, + // A device attached to the system is not functioning. + GEN_FAILURE = 0x1F, + // The process cannot access the file because it is being used by another process. + SHARING_VIOLATION = 0x20, + // The process cannot access the file because another process has locked a portion of the file. + LOCK_VIOLATION = 0x21, + // The wrong diskette is in the drive. Insert %2 Volume Serial Number: %3 into drive %1. + WRONG_DISK = 0x22, + // Too many files opened for sharing. + SHARING_BUFFER_EXCEEDED = 0x24, + // Reached the end of the file. + HANDLE_EOF = 0x26, + // The disk is full. + HANDLE_DISK_FULL = 0x27, + // The request is not supported. + NOT_SUPPORTED = 0x32, + // Windows cannot find the network path. Verify that the network path is correct and the destination computer is not busy or turned off. If Windows still cannot find the network path, contact your network administrator. + REM_NOT_LIST = 0x33, + // You were not connected because a duplicate name exists on the network. If joining a domain, go to System in Control Panel to change the computer name and try again. If joining a workgroup, choose another workgroup name. + DUP_NAME = 0x34, + // The network path was not found. + BAD_NETPATH = 0x35, + // The network is busy. + NETWORK_BUSY = 0x36, + // The specified network resource or device is no longer available. + DEV_NOT_EXIST = 0x37, + // The network BIOS command limit has been reached. + TOO_MANY_CMDS = 0x38, + // A network adapter hardware error occurred. + ADAP_HDW_ERR = 0x39, + // The specified server cannot perform the requested operation. + BAD_NET_RESP = 0x3A, + // An unexpected network error occurred. + UNEXP_NET_ERR = 0x3B, + // The remote adapter is not compatible. + BAD_REM_ADAP = 0x3C, + // The printer queue is full. + PRINTQ_FULL = 0x3D, + // Space to store the file waiting to be printed is not available on the server. + NO_SPOOL_SPACE = 0x3E, + // Your file waiting to be printed was deleted. + PRINT_CANCELLED = 0x3F, + // The specified network name is no longer available. + NETNAME_DELETED = 0x40, + // Network access is denied. + NETWORK_ACCESS_DENIED = 0x41, + // The network resource type is not correct. + BAD_DEV_TYPE = 0x42, + // The network name cannot be found. + BAD_NET_NAME = 0x43, + // The name limit for the local computer network adapter card was exceeded. + TOO_MANY_NAMES = 0x44, + // The network BIOS session limit was exceeded. + TOO_MANY_SESS = 0x45, + // The remote server has been paused or is in the process of being started. + SHARING_PAUSED = 0x46, + // No more connections can be made to this remote computer at this time because there are already as many connections as the computer can accept. + REQ_NOT_ACCEP = 0x47, + // The specified printer or disk device has been paused. + REDIR_PAUSED = 0x48, + // The file exists. + FILE_EXISTS = 0x50, + // The directory or file cannot be created. + CANNOT_MAKE = 0x52, + // Fail on INT 24. + FAIL_I24 = 0x53, + // Storage to process this request is not available. + OUT_OF_STRUCTURES = 0x54, + // The local device name is already in use. + ALREADY_ASSIGNED = 0x55, + // The specified network password is not correct. + INVALID_PASSWORD = 0x56, + // The parameter is incorrect. + INVALID_PARAMETER = 0x57, + // A write fault occurred on the network. + NET_WRITE_FAULT = 0x58, + // The system cannot start another process at this time. + NO_PROC_SLOTS = 0x59, + // Cannot create another system semaphore. + TOO_MANY_SEMAPHORES = 0x64, + // The exclusive semaphore is owned by another process. + EXCL_SEM_ALREADY_OWNED = 0x65, + // The semaphore is set and cannot be closed. + SEM_IS_SET = 0x66, + // The semaphore cannot be set again. + TOO_MANY_SEM_REQUESTS = 0x67, + // Cannot request exclusive semaphores at interrupt time. + INVALID_AT_INTERRUPT_TIME = 0x68, + // The previous ownership of this semaphore has ended. + SEM_OWNER_DIED = 0x69, + // Insert the diskette for drive %1. + SEM_USER_LIMIT = 0x6A, + // The program stopped because an alternate diskette was not inserted. + DISK_CHANGE = 0x6B, + // The disk is in use or locked by another process. + DRIVE_LOCKED = 0x6C, + // The pipe has been ended. + BROKEN_PIPE = 0x6D, + // The system cannot open the device or file specified. + OPEN_FAILED = 0x6E, + // The file name is too long. + BUFFER_OVERFLOW = 0x6F, + // There is not enough space on the disk. + DISK_FULL = 0x70, + // No more internal file identifiers available. + NO_MORE_SEARCH_HANDLES = 0x71, + // The target internal file identifier is incorrect. + INVALID_TARGET_HANDLE = 0x72, + // The IOCTL call made by the application program is not correct. + INVALID_CATEGORY = 0x75, + // The verify-on-write switch parameter value is not correct. + INVALID_VERIFY_SWITCH = 0x76, + // The system does not support the command requested. + BAD_DRIVER_LEVEL = 0x77, + // This function is not supported on this system. + CALL_NOT_IMPLEMENTED = 0x78, + // The semaphore timeout period has expired. + SEM_TIMEOUT = 0x79, + // The data area passed to a system call is too small. + INSUFFICIENT_BUFFER = 0x7A, + // The filename, directory name, or volume label syntax is incorrect. + INVALID_NAME = 0x7B, + // The system call level is not correct. + INVALID_LEVEL = 0x7C, + // The disk has no volume label. + NO_VOLUME_LABEL = 0x7D, + // The specified module could not be found. + MOD_NOT_FOUND = 0x7E, + // The specified procedure could not be found. + PROC_NOT_FOUND = 0x7F, + // There are no child processes to wait for. + WAIT_NO_CHILDREN = 0x80, + // The %1 application cannot be run in Win32 mode. + CHILD_NOT_COMPLETE = 0x81, + // Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O. + DIRECT_ACCESS_HANDLE = 0x82, + // An attempt was made to move the file pointer before the beginning of the file. + NEGATIVE_SEEK = 0x83, + // The file pointer cannot be set on the specified device or file. + SEEK_ON_DEVICE = 0x84, + // A JOIN or SUBST command cannot be used for a drive that contains previously joined drives. + IS_JOIN_TARGET = 0x85, + // An attempt was made to use a JOIN or SUBST command on a drive that has already been joined. + IS_JOINED = 0x86, + // An attempt was made to use a JOIN or SUBST command on a drive that has already been substituted. + IS_SUBSTED = 0x87, + // The system tried to delete the JOIN of a drive that is not joined. + NOT_JOINED = 0x88, + // The system tried to delete the substitution of a drive that is not substituted. + NOT_SUBSTED = 0x89, + // The system tried to join a drive to a directory on a joined drive. + JOIN_TO_JOIN = 0x8A, + // The system tried to substitute a drive to a directory on a substituted drive. + SUBST_TO_SUBST = 0x8B, + // The system tried to join a drive to a directory on a substituted drive. + JOIN_TO_SUBST = 0x8C, + // The system tried to SUBST a drive to a directory on a joined drive. + SUBST_TO_JOIN = 0x8D, + // The system cannot perform a JOIN or SUBST at this time. + BUSY_DRIVE = 0x8E, + // The system cannot join or substitute a drive to or for a directory on the same drive. + SAME_DRIVE = 0x8F, + // The directory is not a subdirectory of the root directory. + DIR_NOT_ROOT = 0x90, + // The directory is not empty. + DIR_NOT_EMPTY = 0x91, + // The path specified is being used in a substitute. + IS_SUBST_PATH = 0x92, + // Not enough resources are available to process this command. + IS_JOIN_PATH = 0x93, + // The path specified cannot be used at this time. + PATH_BUSY = 0x94, + // An attempt was made to join or substitute a drive for which a directory on the drive is the target of a previous substitute. + IS_SUBST_TARGET = 0x95, + // System trace information was not specified in your CONFIG.SYS file, or tracing is disallowed. + SYSTEM_TRACE = 0x96, + // The number of specified semaphore events for DosMuxSemWait is not correct. + INVALID_EVENT_COUNT = 0x97, + // DosMuxSemWait did not execute; too many semaphores are already set. + TOO_MANY_MUXWAITERS = 0x98, + // The DosMuxSemWait list is not correct. + INVALID_LIST_FORMAT = 0x99, + // The volume label you entered exceeds the label character limit of the target file system. + LABEL_TOO_LONG = 0x9A, + // Cannot create another thread. + TOO_MANY_TCBS = 0x9B, + // The recipient process has refused the signal. + SIGNAL_REFUSED = 0x9C, + // The segment is already discarded and cannot be locked. + DISCARDED = 0x9D, + // The segment is already unlocked. + NOT_LOCKED = 0x9E, + // The address for the thread ID is not correct. + BAD_THREADID_ADDR = 0x9F, + // One or more arguments are not correct. + BAD_ARGUMENTS = 0xA0, + // The specified path is invalid. + BAD_PATHNAME = 0xA1, + // A signal is already pending. + SIGNAL_PENDING = 0xA2, + // No more threads can be created in the system. + MAX_THRDS_REACHED = 0xA4, + // Unable to lock a region of a file. + LOCK_FAILED = 0xA7, + // The requested resource is in use. + BUSY = 0xAA, + // Device's command support detection is in progress. + DEVICE_SUPPORT_IN_PROGRESS = 0xAB, + // A lock request was not outstanding for the supplied cancel region. + CANCEL_VIOLATION = 0xAD, + // The file system does not support atomic changes to the lock type. + ATOMIC_LOCKS_NOT_SUPPORTED = 0xAE, + // The system detected a segment number that was not correct. + INVALID_SEGMENT_NUMBER = 0xB4, + // The operating system cannot run %1. + INVALID_ORDINAL = 0xB6, + // Cannot create a file when that file already exists. + ALREADY_EXISTS = 0xB7, + // The flag passed is not correct. + INVALID_FLAG_NUMBER = 0xBA, + // The specified system semaphore name was not found. + SEM_NOT_FOUND = 0xBB, + // The operating system cannot run %1. + INVALID_STARTING_CODESEG = 0xBC, + // The operating system cannot run %1. + INVALID_STACKSEG = 0xBD, + // The operating system cannot run %1. + INVALID_MODULETYPE = 0xBE, + // Cannot run %1 in Win32 mode. + INVALID_EXE_SIGNATURE = 0xBF, + // The operating system cannot run %1. + EXE_MARKED_INVALID = 0xC0, + // %1 is not a valid Win32 application. + BAD_EXE_FORMAT = 0xC1, + // The operating system cannot run %1. + ITERATED_DATA_EXCEEDS_64k = 0xC2, + // The operating system cannot run %1. + INVALID_MINALLOCSIZE = 0xC3, + // The operating system cannot run this application program. + DYNLINK_FROM_INVALID_RING = 0xC4, + // The operating system is not presently configured to run this application. + IOPL_NOT_ENABLED = 0xC5, + // The operating system cannot run %1. + INVALID_SEGDPL = 0xC6, + // The operating system cannot run this application program. + AUTODATASEG_EXCEEDS_64k = 0xC7, + // The code segment cannot be greater than or equal to 64K. + RING2SEG_MUST_BE_MOVABLE = 0xC8, + // The operating system cannot run %1. + RELOC_CHAIN_XEEDS_SEGLIM = 0xC9, + // The operating system cannot run %1. + INFLOOP_IN_RELOC_CHAIN = 0xCA, + // The system could not find the environment option that was entered. + ENVVAR_NOT_FOUND = 0xCB, + // No process in the command subtree has a signal handler. + NO_SIGNAL_SENT = 0xCD, + // The filename or extension is too long. + FILENAME_EXCED_RANGE = 0xCE, + // The ring 2 stack is in use. + RING2_STACK_IN_USE = 0xCF, + // The global filename characters, * or ?, are entered incorrectly or too many global filename characters are specified. + META_EXPANSION_TOO_LONG = 0xD0, + // The signal being posted is not correct. + INVALID_SIGNAL_NUMBER = 0xD1, + // The signal handler cannot be set. + THREAD_1_INACTIVE = 0xD2, + // The segment is locked and cannot be reallocated. + LOCKED = 0xD4, + // Too many dynamic-link modules are attached to this program or dynamic-link module. + TOO_MANY_MODULES = 0xD6, + // Cannot nest calls to LoadModule. + NESTING_NOT_ALLOWED = 0xD7, + // This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher. + EXE_MACHINE_TYPE_MISMATCH = 0xD8, + // The image file %1 is signed, unable to modify. + EXE_CANNOT_MODIFY_SIGNED_BINARY = 0xD9, + // The image file %1 is strong signed, unable to modify. + EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY = 0xDA, + // This file is checked out or locked for editing by another user. + FILE_CHECKED_OUT = 0xDC, + // The file must be checked out before saving changes. + CHECKOUT_REQUIRED = 0xDD, + // The file type being saved or retrieved has been blocked. + BAD_FILE_TYPE = 0xDE, + // The file size exceeds the limit allowed and cannot be saved. + FILE_TOO_LARGE = 0xDF, + // Access Denied. Before opening files in this location, you must first add the web site to your trusted sites list, browse to the web site, and select the option to login automatically. + FORMS_AUTH_REQUIRED = 0xE0, + // Operation did not complete successfully because the file contains a virus or potentially unwanted software. + VIRUS_INFECTED = 0xE1, + // This file contains a virus or potentially unwanted software and cannot be opened. Due to the nature of this virus or potentially unwanted software, the file has been removed from this location. + VIRUS_DELETED = 0xE2, + // The pipe is local. + PIPE_LOCAL = 0xE5, + // The pipe state is invalid. + BAD_PIPE = 0xE6, + // All pipe instances are busy. + PIPE_BUSY = 0xE7, + // The pipe is being closed. + NO_DATA = 0xE8, + // No process is on the other end of the pipe. + PIPE_NOT_CONNECTED = 0xE9, + // More data is available. + MORE_DATA = 0xEA, + // The session was canceled. + VC_DISCONNECTED = 0xF0, + // The specified extended attribute name was invalid. + INVALID_EA_NAME = 0xFE, + // The extended attributes are inconsistent. + EA_LIST_INCONSISTENT = 0xFF, + // The wait operation timed out. + WAIT_TIMEOUT = 0x102, + // No more data is available. + NO_MORE_ITEMS = 0x103, + // The copy functions cannot be used. + CANNOT_COPY = 0x10A, + // The directory name is invalid. + DIRECTORY = 0x10B, + // The extended attributes did not fit in the buffer. + EAS_DIDNT_FIT = 0x113, + // The extended attribute file on the mounted file system is corrupt. + EA_FILE_CORRUPT = 0x114, + // The extended attribute table file is full. + EA_TABLE_FULL = 0x115, + // The specified extended attribute handle is invalid. + INVALID_EA_HANDLE = 0x116, + // The mounted file system does not support extended attributes. + EAS_NOT_SUPPORTED = 0x11A, + // Attempt to release mutex not owned by caller. + NOT_OWNER = 0x120, + // Too many posts were made to a semaphore. + TOO_MANY_POSTS = 0x12A, + // Only part of a ReadProcessMemory or WriteProcessMemory request was completed. + PARTIAL_COPY = 0x12B, + // The oplock request is denied. + OPLOCK_NOT_GRANTED = 0x12C, + // An invalid oplock acknowledgment was received by the system. + INVALID_OPLOCK_PROTOCOL = 0x12D, + // The volume is too fragmented to complete this operation. + DISK_TOO_FRAGMENTED = 0x12E, + // The file cannot be opened because it is in the process of being deleted. + DELETE_PENDING = 0x12F, + // Short name settings may not be changed on this volume due to the global registry setting. + INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING = 0x130, + // Short names are not enabled on this volume. + SHORT_NAMES_NOT_ENABLED_ON_VOLUME = 0x131, + // The security stream for the given volume is in an inconsistent state. Please run CHKDSK on the volume. + SECURITY_STREAM_IS_INCONSISTENT = 0x132, + // A requested file lock operation cannot be processed due to an invalid byte range. + INVALID_LOCK_RANGE = 0x133, + // The subsystem needed to support the image type is not present. + IMAGE_SUBSYSTEM_NOT_PRESENT = 0x134, + // The specified file already has a notification GUID associated with it. + NOTIFICATION_GUID_ALREADY_DEFINED = 0x135, + // An invalid exception handler routine has been detected. + INVALID_EXCEPTION_HANDLER = 0x136, + // Duplicate privileges were specified for the token. + DUPLICATE_PRIVILEGES = 0x137, + // No ranges for the specified operation were able to be processed. + NO_RANGES_PROCESSED = 0x138, + // Operation is not allowed on a file system internal file. + NOT_ALLOWED_ON_SYSTEM_FILE = 0x139, + // The physical resources of this disk have been exhausted. + DISK_RESOURCES_EXHAUSTED = 0x13A, + // The token representing the data is invalid. + INVALID_TOKEN = 0x13B, + // The device does not support the command feature. + DEVICE_FEATURE_NOT_SUPPORTED = 0x13C, + // The system cannot find message text for message number 0x%1 in the message file for %2. + MR_MID_NOT_FOUND = 0x13D, + // The scope specified was not found. + SCOPE_NOT_FOUND = 0x13E, + // The Central Access Policy specified is not defined on the target machine. + UNDEFINED_SCOPE = 0x13F, + // The Central Access Policy obtained from Active Directory is invalid. + INVALID_CAP = 0x140, + // The device is unreachable. + DEVICE_UNREACHABLE = 0x141, + // The target device has insufficient resources to complete the operation. + DEVICE_NO_RESOURCES = 0x142, + // A data integrity checksum error occurred. Data in the file stream is corrupt. + DATA_CHECKSUM_ERROR = 0x143, + // An attempt was made to modify both a KERNEL and normal Extended Attribute EA in the same operation. + INTERMIXED_KERNEL_EA_OPERATION = 0x144, + // Device does not support file-level TRIM. + FILE_LEVEL_TRIM_NOT_SUPPORTED = 0x146, + // The command specified a data offset that does not align to the device's granularity/alignment. + OFFSET_ALIGNMENT_VIOLATION = 0x147, + // The command specified an invalid field in its parameter list. + INVALID_FIELD_IN_PARAMETER_LIST = 0x148, + // An operation is currently in progress with the device. + OPERATION_IN_PROGRESS = 0x149, + // An attempt was made to send down the command via an invalid path to the target device. + BAD_DEVICE_PATH = 0x14A, + // The command specified a number of descriptors that exceeded the maximum supported by the device. + TOO_MANY_DESCRIPTORS = 0x14B, + // Scrub is disabled on the specified file. + SCRUB_DATA_DISABLED = 0x14C, + // The storage device does not provide redundancy. + NOT_REDUNDANT_STORAGE = 0x14D, + // An operation is not supported on a resident file. + RESIDENT_FILE_NOT_SUPPORTED = 0x14E, + // An operation is not supported on a compressed file. + COMPRESSED_FILE_NOT_SUPPORTED = 0x14F, + // An operation is not supported on a directory. + DIRECTORY_NOT_SUPPORTED = 0x150, + // The specified copy of the requested data could not be read. + NOT_READ_FROM_COPY = 0x151, + // No action was taken as a system reboot is required. + FAIL_NOACTION_REBOOT = 0x15E, + // The shutdown operation failed. + FAIL_SHUTDOWN = 0x15F, + // The restart operation failed. + FAIL_RESTART = 0x160, + // The maximum number of sessions has been reached. + MAX_SESSIONS_REACHED = 0x161, + // The thread is already in background processing mode. + THREAD_MODE_ALREADY_BACKGROUND = 0x190, + // The thread is not in background processing mode. + THREAD_MODE_NOT_BACKGROUND = 0x191, + // The process is already in background processing mode. + PROCESS_MODE_ALREADY_BACKGROUND = 0x192, + // The process is not in background processing mode. + PROCESS_MODE_NOT_BACKGROUND = 0x193, + // Attempt to access invalid address. + INVALID_ADDRESS = 0x1E7, + + // User profile cannot be loaded. + USER_PROFILE_LOAD = 0x1F4, + // Arithmetic result exceeded 32 bits. + ARITHMETIC_OVERFLOW = 0x216, + // There is a process on other end of the pipe. + PIPE_CONNECTED = 0x217, + // Waiting for a process to open the other end of the pipe. + PIPE_LISTENING = 0x218, + // Application verifier has found an error in the current process. + VERIFIER_STOP = 0x219, + // An error occurred in the ABIOS subsystem. + ABIOS_ERROR = 0x21A, + // A warning occurred in the WX86 subsystem. + WX86_WARNING = 0x21B, + // An error occurred in the WX86 subsystem. + WX86_ERROR = 0x21C, + // An attempt was made to cancel or set a timer that has an associated APC and the subject thread is not the thread that originally set the timer with an associated APC routine. + TIMER_NOT_CANCELED = 0x21D, + // Unwind exception code. + UNWIND = 0x21E, + // An invalid or unaligned stack was encountered during an unwind operation. + BAD_STACK = 0x21F, + // An invalid unwind target was encountered during an unwind operation. + INVALID_UNWIND_TARGET = 0x220, + // Invalid Object Attributes specified to NtCreatePort or invalid Port Attributes specified to NtConnectPort + INVALID_PORT_ATTRIBUTES = 0x221, + // Length of message passed to NtRequestPort or NtRequestWaitReplyPort was longer than the maximum message allowed by the port. + PORT_MESSAGE_TOO_LONG = 0x222, + // An attempt was made to lower a quota limit below the current usage. + INVALID_QUOTA_LOWER = 0x223, + // An attempt was made to attach to a device that was already attached to another device. + DEVICE_ALREADY_ATTACHED = 0x224, + // An attempt was made to execute an instruction at an unaligned address and the host system does not support unaligned instruction references. + INSTRUCTION_MISALIGNMENT = 0x225, + // Profiling not started. + PROFILING_NOT_STARTED = 0x226, + // Profiling not stopped. + PROFILING_NOT_STOPPED = 0x227, + // The passed ACL did not contain the minimum required information. + COULD_NOT_INTERPRET = 0x228, + // The number of active profiling objects is at the maximum and no more may be started. + PROFILING_AT_LIMIT = 0x229, + // Used to indicate that an operation cannot continue without blocking for I/O. + CANT_WAIT = 0x22A, + // Indicates that a thread attempted to terminate itself by default (called NtTerminateThread with NULL) and it was the last thread in the current process. + CANT_TERMINATE_SELF = 0x22B, + // If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. In this case information is lost, however, the filter correctly handles the exception. + UNEXPECTED_MM_CREATE_ERR = 0x22C, + // If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. In this case information is lost, however, the filter correctly handles the exception. + UNEXPECTED_MM_MAP_ERROR = 0x22D, + // If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. In this case information is lost, however, the filter correctly handles the exception. + UNEXPECTED_MM_EXTEND_ERR = 0x22E, + // A malformed function table was encountered during an unwind operation. + BAD_FUNCTION_TABLE = 0x22F, + // Indicates that an attempt was made to assign protection to a file system file or directory and one of the SIDs in the security descriptor could not be translated into a GUID that could be stored by the file system. This causes the protection attempt to fail, which may cause a file creation attempt to fail. + NO_GUID_TRANSLATION = 0x230, + // Indicates that an attempt was made to grow an LDT by setting its size, or that the size was not an even number of selectors. + INVALID_LDT_SIZE = 0x231, + // Indicates that the starting value for the LDT information was not an integral multiple of the selector size. + INVALID_LDT_OFFSET = 0x233, + // Indicates that the user supplied an invalid descriptor when trying to set up Ldt descriptors. + INVALID_LDT_DESCRIPTOR = 0x234, + // Indicates a process has too many threads to perform the requested action. For example, assignment of a primary token may only be performed when a process has zero or one threads. + TOO_MANY_THREADS = 0x235, + // An attempt was made to operate on a thread within a specific process, but the thread specified is not in the process specified. + THREAD_NOT_IN_PROCESS = 0x236, + // Page file quota was exceeded. + PAGEFILE_QUOTA_EXCEEDED = 0x237, + // The Netlogon service cannot start because another Netlogon service running in the domain conflicts with the specified role. + LOGON_SERVER_CONFLICT = 0x238, + // The SAM database on a Windows Server is significantly out of synchronization with the copy on the Domain Controller. A complete synchronization is required. + SYNCHRONIZATION_REQUIRED = 0x239, + // The NtCreateFile API failed. This error should never be returned to an application, it is a place holder for the Windows Lan Manager Redirector to use in its internal error mapping routines. + NET_OPEN_FAILED = 0x23A, + // {Privilege Failed} The I/O permissions for the process could not be changed. + IO_PRIVILEGE_FAILED = 0x23B, + // {Application Exit by CTRL+C} The application terminated as a result of a CTRL+C. + CONTROL_C_EXIT = 0x23C, + // {Missing System File} The required system file %hs is bad or missing. + MISSING_SYSTEMFILE = 0x23D, + // {Application Error} The exception %s (0x%08lx) occurred in the application at location 0x%08lx. + UNHANDLED_EXCEPTION = 0x23E, + // {Application Error} The application was unable to start correctly (0x%lx). Click OK to close the application. + APP_INIT_FAILURE = 0x23F, + // {Unable to Create Paging File} The creation of the paging file %hs failed (%lx). The requested size was %ld. + PAGEFILE_CREATE_FAILED = 0x240, + // Windows cannot verify the digital signature for this file. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source. + INVALID_IMAGE_HASH = 0x241, + // {No Paging File Specified} No paging file was specified in the system configuration. + NO_PAGEFILE = 0x242, + // {EXCEPTION} A real-mode application issued a floating-point instruction and floating-point hardware is not present. + ILLEGAL_FLOAT_CONTEXT = 0x243, + // An event pair synchronization operation was performed using the thread specific client/server event pair object, but no event pair object was associated with the thread. + NO_EVENT_PAIR = 0x244, + // A Windows Server has an incorrect configuration. + DOMAIN_CTRLR_CONFIG_ERROR = 0x245, + // An illegal character was encountered. For a multi-byte character set this includes a lead byte without a succeeding trail byte. For the Unicode character set this includes the characters 0xFFFF and 0xFFFE. + ILLEGAL_CHARACTER = 0x246, + // The Unicode character is not defined in the Unicode character set installed on the system. + UNDEFINED_CHARACTER = 0x247, + // The paging file cannot be created on a floppy diskette. + FLOPPY_VOLUME = 0x248, + // The system BIOS failed to connect a system interrupt to the device or bus for which the device is connected. + BIOS_FAILED_TO_CONNECT_INTERRUPT = 0x249, + // This operation is only allowed for the Primary Domain Controller of the domain. + BACKUP_CONTROLLER = 0x24A, + // An attempt was made to acquire a mutant such that its maximum count would have been exceeded. + MUTANT_LIMIT_EXCEEDED = 0x24B, + // A volume has been accessed for which a file system driver is required that has not yet been loaded. + FS_DRIVER_REQUIRED = 0x24C, + // {Registry File Failure} The registry cannot load the hive (file): %hs or its log or alternate. It is corrupt, absent, or not writable. + CANNOT_LOAD_REGISTRY_FILE = 0x24D, + // {Unexpected Failure in DebugActiveProcess} An unexpected failure occurred while processing a DebugActiveProcess API request. You may choose OK to terminate the process, or Cancel to ignore the error. + DEBUG_ATTACH_FAILED = 0x24E, + // {Fatal System Error} The %hs system process terminated unexpectedly with a status of 0x%08x (0x%08x 0x%08x). The system has been shut down. + SYSTEM_PROCESS_TERMINATED = 0x24F, + // {Data Not Accepted} The TDI client could not handle the data received during an indication. + DATA_NOT_ACCEPTED = 0x250, + // NTVDM encountered a hard error. + VDM_HARD_ERROR = 0x251, + // {Cancel Timeout} The driver %hs failed to complete a cancelled I/O request in the allotted time. + DRIVER_CANCEL_TIMEOUT = 0x252, + // {Reply Message Mismatch} An attempt was made to reply to an LPC message, but the thread specified by the client ID in the message was not waiting on that message. + REPLY_MESSAGE_MISMATCH = 0x253, + // {Delayed Write Failed} Windows was unable to save all the data for the file %hs. The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere. + LOST_WRITEBEHIND_DATA = 0x254, + // The parameter(s) passed to the server in the client/server shared memory window were invalid. Too much data may have been put in the shared memory window. + CLIENT_SERVER_PARAMETERS_INVALID = 0x255, + // The stream is not a tiny stream. + NOT_TINY_STREAM = 0x256, + // The request must be handled by the stack overflow code. + STACK_OVERFLOW_READ = 0x257, + // Internal OFS status codes indicating how an allocation operation is handled. Either it is retried after the containing onode is moved or the extent stream is converted to a large stream. + CONVERT_TO_LARGE = 0x258, + // The attempt to find the object found an object matching by ID on the volume but it is out of the scope of the handle used for the operation. + FOUND_OUT_OF_SCOPE = 0x259, + // The bucket array must be grown. Retry transaction after doing so. + ALLOCATE_BUCKET = 0x25A, + // The user/kernel marshalling buffer has overflowed. + MARSHALL_OVERFLOW = 0x25B, + // The supplied variant structure contains invalid data. + INVALID_VARIANT = 0x25C, + // The specified buffer contains ill-formed data. + BAD_COMPRESSION_BUFFER = 0x25D, + // {Audit Failed} An attempt to generate a security audit failed. + AUDIT_FAILED = 0x25E, + // The timer resolution was not previously set by the current process. + TIMER_RESOLUTION_NOT_SET = 0x25F, + // There is insufficient account information to log you on. + INSUFFICIENT_LOGON_INFO = 0x260, + // {Invalid DLL Entrypoint} The dynamic link library %hs is not written correctly. The stack pointer has been left in an inconsistent state. The entrypoint should be declared as WINAPI or STDCALL. Select YES to fail the DLL load. Select NO to continue execution. Selecting NO may cause the application to operate incorrectly. + BAD_DLL_ENTRYPOINT = 0x261, + // {Invalid Service Callback Entrypoint} The %hs service is not written correctly. The stack pointer has been left in an inconsistent state. The callback entrypoint should be declared as WINAPI or STDCALL. Selecting OK will cause the service to continue operation. However, the service process may operate incorrectly. + BAD_SERVICE_ENTRYPOINT = 0x262, + // There is an IP address conflict with another system on the network. + IP_ADDRESS_CONFLICT1 = 0x263, + // There is an IP address conflict with another system on the network. + IP_ADDRESS_CONFLICT2 = 0x264, + // {Low On Registry Space} The system has reached the maximum size allowed for the system part of the registry. Additional storage requests will be ignored. + REGISTRY_QUOTA_LIMIT = 0x265, + // A callback return system service cannot be executed when no callback is active. + NO_CALLBACK_ACTIVE = 0x266, + // The password provided is too short to meet the policy of your user account. Please choose a longer password. + PWD_TOO_SHORT = 0x267, + // The policy of your user account does not allow you to change passwords too frequently. This is done to prevent users from changing back to a familiar, but potentially discovered, password. If you feel your password has been compromised then please contact your administrator immediately to have a new one assigned. + PWD_TOO_RECENT = 0x268, + // You have attempted to change your password to one that you have used in the past. The policy of your user account does not allow this. Please select a password that you have not previously used. + PWD_HISTORY_CONFLICT = 0x269, + // The specified compression format is unsupported. + UNSUPPORTED_COMPRESSION = 0x26A, + // The specified hardware profile configuration is invalid. + INVALID_HW_PROFILE = 0x26B, + // The specified Plug and Play registry device path is invalid. + INVALID_PLUGPLAY_DEVICE_PATH = 0x26C, + // The specified quota list is internally inconsistent with its descriptor. + QUOTA_LIST_INCONSISTENT = 0x26D, + // {Windows Evaluation Notification} The evaluation period for this installation of Windows has expired. This system will shutdown in 1 hour. To restore access to this installation of Windows, please upgrade this installation using a licensed distribution of this product. + EVALUATION_EXPIRATION = 0x26E, + // {Illegal System DLL Relocation} The system DLL %hs was relocated in memory. The application will not run properly. The relocation occurred because the DLL %hs occupied an address range reserved for Windows system DLLs. The vendor supplying the DLL should be contacted for a new DLL. + ILLEGAL_DLL_RELOCATION = 0x26F, + // {DLL Initialization Failed} The application failed to initialize because the window station is shutting down. + DLL_INIT_FAILED_LOGOFF = 0x270, + // The validation process needs to continue on to the next step. + VALIDATE_CONTINUE = 0x271, + // There are no more matches for the current index enumeration. + NO_MORE_MATCHES = 0x272, + // The range could not be added to the range list because of a conflict. + RANGE_LIST_CONFLICT = 0x273, + // The server process is running under a SID different than that required by client. + SERVER_SID_MISMATCH = 0x274, + // A group marked use for deny only cannot be enabled. + CANT_ENABLE_DENY_ONLY = 0x275, + // {EXCEPTION} Multiple floating point faults. + FLOAT_MULTIPLE_FAULTS = 0x276, + // {EXCEPTION} Multiple floating point traps. + FLOAT_MULTIPLE_TRAPS = 0x277, + // The requested interface is not supported. + NOINTERFACE = 0x278, + // {System Standby Failed} The driver %hs does not support standby mode. Updating this driver may allow the system to go to standby mode. + DRIVER_FAILED_SLEEP = 0x279, + // The system file %1 has become corrupt and has been replaced. + CORRUPT_SYSTEM_FILE = 0x27A, + // {Virtual Memory Minimum Too Low} Your system is low on virtual memory. Windows is increasing the size of your virtual memory paging file. During this process, memory requests for some applications may be denied. For more information, see Help. + COMMITMENT_MINIMUM = 0x27B, + // A device was removed so enumeration must be restarted. + PNP_RESTART_ENUMERATION = 0x27C, + // {Fatal System Error} The system image %s is not properly signed. The file has been replaced with the signed file. The system has been shut down. + SYSTEM_IMAGE_BAD_SIGNATURE = 0x27D, + // Device will not start without a reboot. + PNP_REBOOT_REQUIRED = 0x27E, + // There is not enough power to complete the requested operation. + INSUFFICIENT_POWER = 0x27F, + // MULTIPLE_FAULT_VIOLATION = , = 0x281, + MULTIPLE_FAULT_VIOLATION = 0x280, // The system is in the process of shutting down. + // An attempt to remove a processes DebugPort was made, but a port was not already associated with the process. + PORT_NOT_SET = 0x282, + // This version of Windows is not compatible with the behavior version of directory forest, domain or domain controller. + DS_VERSION_CHECK_FAILURE = 0x283, + // The specified range could not be found in the range list. + RANGE_NOT_FOUND = 0x284, + // The driver was not loaded because the system is booting into safe mode. + NOT_SAFE_MODE_DRIVER = 0x286, + // The driver was not loaded because it failed its initialization call. + FAILED_DRIVER_ENTRY = 0x287, + // The "%hs" encountered an error while applying power or reading the device configuration. This may be caused by a failure of your hardware or by a poor connection. + DEVICE_ENUMERATION_ERROR = 0x288, + // The create operation failed because the name contained at least one mount point which resolves to a volume to which the specified device object is not attached. + MOUNT_POINT_NOT_RESOLVED = 0x289, + // The device object parameter is either not a valid device object or is not attached to the volume specified by the file name. + INVALID_DEVICE_OBJECT_PARAMETER = 0x28A, + // A Machine Check Error has occurred. Please check the system eventlog for additional information. + MCA_OCCURED = 0x28B, + // There was error [%2] processing the driver database. + DRIVER_DATABASE_ERROR = 0x28C, + // System hive size has exceeded its limit. + SYSTEM_HIVE_TOO_LARGE = 0x28D, + // The driver could not be loaded because a previous version of the driver is still in memory. + DRIVER_FAILED_PRIOR_UNLOAD = 0x28E, + // {Volume Shadow Copy Service} Please wait while the Volume Shadow Copy Service prepares volume %hs for hibernation. + VOLSNAP_PREPARE_HIBERNATE = 0x28F, + // The system has failed to hibernate (The error code is %hs). Hibernation will be disabled until the system is restarted. + HIBERNATION_FAILURE = 0x290, + // The password provided is too long to meet the policy of your user account. Please choose a shorter password. + PWD_TOO_LONG = 0x291, + // The requested operation could not be completed due to a file system limitation. + FILE_SYSTEM_LIMITATION = 0x299, + // An assertion failure has occurred. + ASSERTION_FAILURE = 0x29C, + // An error occurred in the ACPI subsystem. + ACPI_ERROR = 0x29D, + // WOW Assertion Error. + WOW_ASSERTION = 0x29E, + // A device is missing in the system BIOS MPS table. This device will not be used. Please contact your system vendor for system BIOS update. + PNP_BAD_MPS_TABLE = 0x29F, + // A translator failed to translate resources. + PNP_TRANSLATION_FAILED = 0x2A0, + // A IRQ translator failed to translate resources. + PNP_IRQ_TRANSLATION_FAILED = 0x2A1, + // Driver %2 returned invalid ID for a child device (%3). + PNP_INVALID_ID = 0x2A2, + // {Kernel Debugger Awakened} the system debugger was awakened by an interrupt. + WAKE_SYSTEM_DEBUGGER = 0x2A3, + // {Handles Closed} Handles to objects have been automatically closed as a result of the requested operation. + HANDLES_CLOSED = 0x2A4, + // {Too Much Information} The specified access control list (ACL) contained more information than was expected. + EXTRANEOUS_INFORMATION = 0x2A5, + // This warning level status indicates that the transaction state already exists for the registry sub-tree, but that a transaction commit was previously aborted. The commit has NOT been completed, but has not been rolled back either (so it may still be committed if desired). + RXACT_COMMIT_NECESSARY = 0x2A6, + // {Media Changed} The media may have changed. + MEDIA_CHECK = 0x2A7, + // {GUID Substitution} During the translation of a global identifier (GUID) to a Windows security ID SID, no administratively-defined GUID prefix was found. A substitute prefix was used, which will not compromise system security. However, this may provide a more restrictive access than intended. + GUID_SUBSTITUTION_MADE = 0x2A8, + // The create operation stopped after reaching a symbolic link. + STOPPED_ON_SYMLINK = 0x2A9, + // A long jump has been executed. + LONGJUMP = 0x2AA, + // The Plug and Play query operation was not successful. + PLUGPLAY_QUERY_VETOED = 0x2AB, + // A frame consolidation has been executed. + UNWIND_CONSOLIDATE = 0x2AC, + // {Registry Hive Recovered} Registry hive (file): %hs was corrupted and it has been recovered. Some data might have been lost. + REGISTRY_HIVE_RECOVERED = 0x2AD, + // The application is attempting to run executable code from the module %hs. This may be insecure. An alternative, %hs, is available. Should the application use the secure module %hs? + DLL_MIGHT_BE_INSECURE = 0x2AE, + // The application is loading executable code from the module %hs. This is secure, but may be incompatible with previous releases of the operating system. An alternative, %hs, is available. Should the application use the secure module %hs? + DLL_MIGHT_BE_INCOMPATIBLE = 0x2AF, + // Debugger did not handle the exception. + DBG_EXCEPTION_NOT_HANDLED = 0x2B0, + // Debugger will reply later. + DBG_REPLY_LATER = 0x2B1, + // Debugger cannot provide handle. + DBG_UNABLE_TO_PROVIDE_HANDLE = 0x2B2, + // Debugger terminated thread. + DBG_TERMINATE_THREAD = 0x2B3, + // Debugger terminated process. + DBG_TERMINATE_PROCESS = 0x2B4, + // Debugger got control C. + DBG_CONTROL_C = 0x2B5, + // Debugger printed exception on control C. + DBG_PRINTEXCEPTION_C = 0x2B6, + // Debugger received RIP exception. + DBG_RIPEXCEPTION = 0x2B7, + // Debugger received control break. + DBG_CONTROL_BREAK = 0x2B8, + // Debugger command communication exception. + DBG_COMMAND_EXCEPTION = 0x2B9, + // {Object Exists} An attempt was made to create an object and the object name already existed. + OBJECT_NAME_EXISTS = 0x2BA, + // {Thread Suspended} A thread termination occurred while the thread was suspended. The thread was resumed, and termination proceeded. + THREAD_WAS_SUSPENDED = 0x2BB, + // {Image Relocated} An image file could not be mapped at the address specified in the image file. Local fixups must be performed on this image. + IMAGE_NOT_AT_BASE = 0x2BC, + // This informational level status indicates that a specified registry sub-tree transaction state did not yet exist and had to be created. + RXACT_STATE_CREATED = 0x2BD, + // {Segment Load} A virtual DOS machine (VDM) is loading, unloading, or moving an MS-DOS or Win16 program segment image. An exception is raised so a debugger can load, unload or track symbols and breakpoints within these 16-bit segments. + SEGMENT_NOTIFICATION = 0x2BE, + // {Invalid Current Directory} The process cannot switch to the startup current directory %hs. Select OK to set current directory to %hs, or select CANCEL to exit. + BAD_CURRENT_DIRECTORY = 0x2BF, + // {Redundant Read} To satisfy a read request, the NT fault-tolerant file system successfully read the requested data from a redundant copy. This was done because the file system encountered a failure on a member of the fault-tolerant volume, but was unable to reassign the failing area of the device. + FT_READ_RECOVERY_FROM_BACKUP = 0x2C0, + // {Redundant Write} To satisfy a write request, the NT fault-tolerant file system successfully wrote a redundant copy of the information. This was done because the file system encountered a failure on a member of the fault-tolerant volume, but was not able to reassign the failing area of the device. + FT_WRITE_RECOVERY = 0x2C1, + // {Machine Type Mismatch} The image file %hs is valid, but is for a machine type other than the current machine. Select OK to continue, or CANCEL to fail the DLL load. + IMAGE_MACHINE_TYPE_MISMATCH = 0x2C2, + // {Partial Data Received} The network transport returned partial data to its client. The remaining data will be sent later. + RECEIVE_PARTIAL = 0x2C3, + // {Expedited Data Received} The network transport returned data to its client that was marked as expedited by the remote system. + RECEIVE_EXPEDITED = 0x2C4, + // {Partial Expedited Data Received} The network transport returned partial data to its client and this data was marked as expedited by the remote system. The remaining data will be sent later. + RECEIVE_PARTIAL_EXPEDITED = 0x2C5, + // {TDI Event Done} The TDI indication has completed successfully. + EVENT_DONE = 0x2C6, + // {TDI Event Pending} The TDI indication has entered the pending state. + EVENT_PENDING = 0x2C7, + // Checking file system on %wZ. + CHECKING_FILE_SYSTEM = 0x2C8, + // {Fatal Application Exit} %hs. + FATAL_APP_EXIT = 0x2C9, + // The specified registry key is referenced by a predefined handle. + PREDEFINED_HANDLE = 0x2CA, + // {Page Unlocked} The page protection of a locked page was changed to 'No Access' and the page was unlocked from memory and from the process. + WAS_UNLOCKED = 0x2CB, + // %hs + SERVICE_NOTIFICATION = 0x2CC, + // {Page Locked} One of the pages to lock was already locked. + WAS_LOCKED = 0x2CD, + // Application popup: %1 : %2 + LOG_HARD_ERROR = 0x2CE, + // ALREADY_WIN32 = , = 0x2D0, + ALREADY_WIN32 = 0x2CF, // {Machine Type Mismatch} The image file %hs is valid, but is for a machine type other than the current machine. + // A yield execution was performed and no thread was available to run. + NO_YIELD_PERFORMED = 0x2D1, + // The resumable flag to a timer API was ignored. + TIMER_RESUME_IGNORED = 0x2D2, + // The arbiter has deferred arbitration of these resources to its parent. + ARBITRATION_UNHANDLED = 0x2D3, + // The inserted CardBus device cannot be started because of a configuration error on "%hs". + CARDBUS_NOT_SUPPORTED = 0x2D4, + // The CPUs in this multiprocessor system are not all the same revision level. To use all processors the operating system restricts itself to the features of the least capable processor in the system. Should problems occur with this system, contact the CPU manufacturer to see if this mix of processors is supported. + MP_PROCESSOR_MISMATCH = 0x2D5, + // The system was put into hibernation. + HIBERNATED = 0x2D6, + // The system was resumed from hibernation. + RESUME_HIBERNATION = 0x2D7, + // Windows has detected that the system firmware (BIOS) was updated [previous firmware date = %2, current firmware date %3]. + FIRMWARE_UPDATED = 0x2D8, + // A device driver is leaking locked I/O pages causing system degradation. The system has automatically enabled tracking code in order to try and catch the culprit. + DRIVERS_LEAKING_LOCKED_PAGES = 0x2D9, + // The system has awoken. + WAKE_SYSTEM = 0x2DA, + // WAIT_1 = , = 0x2DC, + WAIT_1 = 0x2DB, // WAIT_2 = , = 0x2DD, // WAIT_3 = , = 0x2DE, // WAIT_63 = , = 0x2DF, // ABANDONED_WAIT_0 = , = 0x2E0, // ABANDONED_WAIT_63 = , = 0x2E1, // USER_APC = , = 0x2E2, // KERNEL_APC = , = 0x2E3, // ALERTED = , = 0x2E4, // The requested operation requires elevation. + // A reparse should be performed by the Object Manager since the name of the file resulted in a symbolic link. + REPARSE = 0x2E5, + // An open/create operation completed while an oplock break is underway. + OPLOCK_BREAK_IN_PROGRESS = 0x2E6, + // A new volume has been mounted by a file system. + VOLUME_MOUNTED = 0x2E7, + // This success level status indicates that the transaction state already exists for the registry sub-tree, but that a transaction commit was previously aborted. The commit has now been completed. + RXACT_COMMITTED = 0x2E8, + // This indicates that a notify change request has been completed due to closing the handle which made the notify change request. + NOTIFY_CLEANUP = 0x2E9, + // {Connect Failure on Primary Transport} An attempt was made to connect to the remote server %hs on the primary transport, but the connection failed. The computer WAS able to connect on a secondary transport. + PRIMARY_TRANSPORT_CONNECT_FAILED = 0x2EA, + // Page fault was a transition fault. + PAGE_FAULT_TRANSITION = 0x2EB, + // Page fault was a demand zero fault. + PAGE_FAULT_DEMAND_ZERO = 0x2EC, + // Page fault was a demand zero fault. + PAGE_FAULT_COPY_ON_WRITE = 0x2ED, + // Page fault was a demand zero fault. + PAGE_FAULT_GUARD_PAGE = 0x2EE, + // Page fault was satisfied by reading from a secondary storage device. + PAGE_FAULT_PAGING_FILE = 0x2EF, + // Cached page was locked during operation. + CACHE_PAGE_LOCKED = 0x2F0, + // Crash dump exists in paging file. + CRASH_DUMP = 0x2F1, + // Specified buffer contains all zeros. + BUFFER_ALL_ZEROS = 0x2F2, + // A reparse should be performed by the Object Manager since the name of the file resulted in a symbolic link. + REPARSE_OBJECT = 0x2F3, + // The device has succeeded a query-stop and its resource requirements have changed. + RESOURCE_REQUIREMENTS_CHANGED = 0x2F4, + // The translator has translated these resources into the global space and no further translations should be performed. + TRANSLATION_COMPLETE = 0x2F5, + // A process being terminated has no threads to terminate. + NOTHING_TO_TERMINATE = 0x2F6, + // The specified process is not part of a job. + PROCESS_NOT_IN_JOB = 0x2F7, + // The specified process is part of a job. + PROCESS_IN_JOB = 0x2F8, + // {Volume Shadow Copy Service} The system is now ready for hibernation. + VOLSNAP_HIBERNATE_READY = 0x2F9, + // A file system or file system filter driver has successfully completed an FsFilter operation. + FSFILTER_OP_COMPLETED_SUCCESSFULLY = 0x2FA, + // The specified interrupt vector was already connected. + INTERRUPT_VECTOR_ALREADY_CONNECTED = 0x2FB, + // The specified interrupt vector is still connected. + INTERRUPT_STILL_CONNECTED = 0x2FC, + // An operation is blocked waiting for an oplock. + WAIT_FOR_OPLOCK = 0x2FD, + // Debugger handled exception. + DBG_EXCEPTION_HANDLED = 0x2FE, + // Debugger continued. + DBG_CONTINUE = 0x2FF, + // An exception occurred in a user mode callback and the kernel callback frame should be removed. + CALLBACK_POP_STACK = 0x300, + // Compression is disabled for this volume. + COMPRESSION_DISABLED = 0x301, + // The data provider cannot fetch backwards through a result set. + CANTFETCHBACKWARDS = 0x302, + // The data provider cannot scroll backwards through a result set. + CANTSCROLLBACKWARDS = 0x303, + // The data provider requires that previously fetched data is released before asking for more data. + ROWSNOTRELEASED = 0x304, + // The data provider was not able to interpret the flags set for a column binding in an accessor. + BAD_ACCESSOR_FLAGS = 0x305, + // One or more errors occurred while processing the request. + ERRORS_ENCOUNTERED = 0x306, + // The implementation is not capable of performing the request. + NOT_CAPABLE = 0x307, + // The client of a component requested an operation which is not valid given the state of the component instance. + REQUEST_OUT_OF_SEQUENCE = 0x308, + // A version number could not be parsed. + VERSION_PARSE_ERROR = 0x309, + // The iterator's start position is invalid. + BADSTARTPOSITION = 0x30A, + // The hardware has reported an uncorrectable memory error. + MEMORY_HARDWARE = 0x30B, + // The attempted operation required self healing to be enabled. + DISK_REPAIR_DISABLED = 0x30C, + // The Desktop heap encountered an error while allocating session memory. There is more information in the system event log. + INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE = 0x30D, + // The system power state is transitioning from %2 to %3. + SYSTEM_POWERSTATE_TRANSITION = 0x30E, + // The system power state is transitioning from %2 to %3 but could enter %4. + SYSTEM_POWERSTATE_COMPLEX_TRANSITION = 0x30F, + // A thread is getting dispatched with MCA EXCEPTION because of MCA. + MCA_EXCEPTION = 0x310, + // Access to %1 is monitored by policy rule %2. + ACCESS_AUDIT_BY_POLICY = 0x311, + // Access to %1 has been restricted by your Administrator by policy rule %2. + ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY = 0x312, + // A valid hibernation file has been invalidated and should be abandoned. + ABANDON_HIBERFILE = 0x313, + // {Delayed Write Failed} Windows was unable to save all the data for the file %hs; the data has been lost. This error may be caused by network connectivity issues. Please try to save this file elsewhere. + LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED = 0x314, + // {Delayed Write Failed} Windows was unable to save all the data for the file %hs; the data has been lost. This error was returned by the server on which the file exists. Please try to save this file elsewhere. + LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR = 0x315, + // {Delayed Write Failed} Windows was unable to save all the data for the file %hs; the data has been lost. This error may be caused if the device has been removed or the media is write-protected. + LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR = 0x316, + // The resources required for this device conflict with the MCFG table. + BAD_MCFG_TABLE = 0x317, + // The volume repair could not be performed while it is online. Please schedule to take the volume offline so that it can be repaired. + DISK_REPAIR_REDIRECTED = 0x318, + // The volume repair was not successful. + DISK_REPAIR_UNSUCCESSFUL = 0x319, + // One of the volume corruption logs is full. Further corruptions that may be detected won't be logged. + CORRUPT_LOG_OVERFULL = 0x31A, + // One of the volume corruption logs is internally corrupted and needs to be recreated. The volume may contain undetected corruptions and must be scanned. + CORRUPT_LOG_CORRUPTED = 0x31B, + // One of the volume corruption logs is unavailable for being operated on. + CORRUPT_LOG_UNAVAILABLE = 0x31C, + // One of the volume corruption logs was deleted while still having corruption records in them. The volume contains detected corruptions and must be scanned. + CORRUPT_LOG_DELETED_FULL = 0x31D, + // One of the volume corruption logs was cleared by chkdsk and no longer contains real corruptions. + CORRUPT_LOG_CLEARED = 0x31E, + // Orphaned files exist on the volume but could not be recovered because no more new names could be created in the recovery directory. Files must be moved from the recovery directory. + ORPHAN_NAME_EXHAUSTED = 0x31F, + // The oplock that was associated with this handle is now associated with a different handle. + OPLOCK_SWITCHED_TO_NEW_HANDLE = 0x320, + // An oplock of the requested level cannot be granted. An oplock of a lower level may be available. + CANNOT_GRANT_REQUESTED_OPLOCK = 0x321, + // The operation did not complete successfully because it would cause an oplock to be broken. The caller has requested that existing oplocks not be broken. + CANNOT_BREAK_OPLOCK = 0x322, + // The handle with which this oplock was associated has been closed. The oplock is now broken. + OPLOCK_HANDLE_CLOSED = 0x323, + // The specified access control entry (ACE) does not contain a condition. + NO_ACE_CONDITION = 0x324, + // The specified access control entry (ACE) contains an invalid condition. + INVALID_ACE_CONDITION = 0x325, + // Access to the specified file handle has been revoked. + FILE_HANDLE_REVOKED = 0x326, + // An image file was mapped at a different address from the one specified in the image file but fixups will still be automatically performed on the image. + IMAGE_AT_DIFFERENT_BASE = 0x327, + // Access to the extended attribute was denied. + EA_ACCESS_DENIED = 0x3E2, + // The I/O operation has been aborted because of either a thread exit or an application request. + OPERATION_ABORTED = 0x3E3, + // Overlapped I/O event is not in a signaled state. + IO_INCOMPLETE = 0x3E4, + // Overlapped I/O operation is in progress. + IO_PENDING = 0x3E5, + // Invalid access to memory location. + NOACCESS = 0x3E6, + // Error performing inpage operation. + SWAPERROR = 0x3E7, + + // Recursion too deep; the stack overflowed. + STACK_OVERFLOW = 0x3E9, + // The window cannot act on the sent message. + INVALID_MESSAGE = 0x3EA, + // Cannot complete this function. + CAN_NOT_COMPLETE = 0x3EB, + // Invalid flags. + INVALID_FLAGS = 0x3EC, + // The volume does not contain a recognized file system. Please make sure that all required file system drivers are loaded and that the volume is not corrupted. + UNRECOGNIZED_VOLUME = 0x3ED, + // The volume for a file has been externally altered so that the opened file is no longer valid. + FILE_INVALID = 0x3EE, + // The requested operation cannot be performed in full-screen mode. + FULLSCREEN_MODE = 0x3EF, + // An attempt was made to reference a token that does not exist. + NO_TOKEN = 0x3F0, + // The configuration registry database is corrupt. + BADDB = 0x3F1, + // The configuration registry key is invalid. + BADKEY = 0x3F2, + // The configuration registry key could not be opened. + CANTOPEN = 0x3F3, + // The configuration registry key could not be read. + CANTREAD = 0x3F4, + // The configuration registry key could not be written. + CANTWRITE = 0x3F5, + // One of the files in the registry database had to be recovered by use of a log or alternate copy. The recovery was successful. + REGISTRY_RECOVERED = 0x3F6, + // The registry is corrupted. The structure of one of the files containing registry data is corrupted, or the system's memory image of the file is corrupted, or the file could not be recovered because the alternate copy or log was absent or corrupted. + REGISTRY_CORRUPT = 0x3F7, + // An I/O operation initiated by the registry failed unrecoverably. The registry could not read in, or write out, or flush, one of the files that contain the system's image of the registry. + REGISTRY_IO_FAILED = 0x3F8, + // The system has attempted to load or restore a file into the registry, but the specified file is not in a registry file format. + NOT_REGISTRY_FILE = 0x3F9, + // Illegal operation attempted on a registry key that has been marked for deletion. + KEY_DELETED = 0x3FA, + // System could not allocate the required space in a registry log. + NO_LOG_SPACE = 0x3FB, + // Cannot create a symbolic link in a registry key that already has subkeys or values. + KEY_HAS_CHILDREN = 0x3FC, + // Cannot create a stable subkey under a volatile parent key. + CHILD_MUST_BE_VOLATILE = 0x3FD, + // A notify change request is being completed and the information is not being returned in the caller's buffer. The caller now needs to enumerate the files to find the changes. + NOTIFY_ENUM_DIR = 0x3FE, + // A stop control has been sent to a service that other running services are dependent on. + DEPENDENT_SERVICES_RUNNING = 0x41B, + // The requested control is not valid for this service. + INVALID_SERVICE_CONTROL = 0x41C, + // The service did not respond to the start or control request in a timely fashion. + SERVICE_REQUEST_TIMEOUT = 0x41D, + // A thread could not be created for the service. + SERVICE_NO_THREAD = 0x41E, + // The service database is locked. + SERVICE_DATABASE_LOCKED = 0x41F, + // An instance of the service is already running. + SERVICE_ALREADY_RUNNING = 0x420, + // The account name is invalid or does not exist, or the password is invalid for the account name specified. + INVALID_SERVICE_ACCOUNT = 0x421, + // The service cannot be started, either because it is disabled or because it has no enabled devices associated with it. + SERVICE_DISABLED = 0x422, + // Circular service dependency was specified. + CIRCULAR_DEPENDENCY = 0x423, + // The specified service does not exist as an installed service. + SERVICE_DOES_NOT_EXIST = 0x424, + // The service cannot accept control messages at this time. + SERVICE_CANNOT_ACCEPT_CTRL = 0x425, + // The service has not been started. + SERVICE_NOT_ACTIVE = 0x426, + // The service process could not connect to the service controller. + FAILED_SERVICE_CONTROLLER_CONNECT = 0x427, + // An exception occurred in the service when handling the control request. + EXCEPTION_IN_SERVICE = 0x428, + // The database specified does not exist. + DATABASE_DOES_NOT_EXIST = 0x429, + // The service has returned a service-specific error code. + SERVICE_SPECIFIC_ERROR = 0x42A, + // The process terminated unexpectedly. + PROCESS_ABORTED = 0x42B, + // The dependency service or group failed to start. + SERVICE_DEPENDENCY_FAIL = 0x42C, + // The service did not start due to a logon failure. + SERVICE_LOGON_FAILED = 0x42D, + // After starting, the service hung in a start-pending state. + SERVICE_START_HANG = 0x42E, + // The specified service database lock is invalid. + INVALID_SERVICE_LOCK = 0x42F, + // The specified service has been marked for deletion. + SERVICE_MARKED_FOR_DELETE = 0x430, + // The specified service already exists. + SERVICE_EXISTS = 0x431, + // The system is currently running with the last-known-good configuration. + ALREADY_RUNNING_LKG = 0x432, + // The dependency service does not exist or has been marked for deletion. + SERVICE_DEPENDENCY_DELETED = 0x433, + // The current boot has already been accepted for use as the last-known-good control set. + BOOT_ALREADY_ACCEPTED = 0x434, + // No attempts to start the service have been made since the last boot. + SERVICE_NEVER_STARTED = 0x435, + // The name is already in use as either a service name or a service display name. + DUPLICATE_SERVICE_NAME = 0x436, + // The account specified for this service is different from the account specified for other services running in the same process. + DIFFERENT_SERVICE_ACCOUNT = 0x437, + // Failure actions can only be set for Win32 services, not for drivers. + CANNOT_DETECT_DRIVER_FAILURE = 0x438, + // This service runs in the same process as the service control manager. Therefore, the service control manager cannot take action if this service's process terminates unexpectedly. + CANNOT_DETECT_PROCESS_ABORT = 0x439, + // No recovery program has been configured for this service. + NO_RECOVERY_PROGRAM = 0x43A, + // The executable program that this service is configured to run in does not implement the service. + SERVICE_NOT_IN_EXE = 0x43B, + // This service cannot be started in Safe Mode. + NOT_SAFEBOOT_SERVICE = 0x43C, + // The physical end of the tape has been reached. + END_OF_MEDIA = 0x44C, + // A tape access reached a filemark. + FILEMARK_DETECTED = 0x44D, + // The beginning of the tape or a partition was encountered. + BEGINNING_OF_MEDIA = 0x44E, + // A tape access reached the end of a set of files. + SETMARK_DETECTED = 0x44F, + // No more data is on the tape. + NO_DATA_DETECTED = 0x450, + // Tape could not be partitioned. + PARTITION_FAILURE = 0x451, + // When accessing a new tape of a multivolume partition, the current block size is incorrect. + INVALID_BLOCK_LENGTH = 0x452, + // Tape partition information could not be found when loading a tape. + DEVICE_NOT_PARTITIONED = 0x453, + // Unable to lock the media eject mechanism. + UNABLE_TO_LOCK_MEDIA = 0x454, + // Unable to unload the media. + UNABLE_TO_UNLOAD_MEDIA = 0x455, + // The media in the drive may have changed. + MEDIA_CHANGED = 0x456, + // The I/O bus was reset. + BUS_RESET = 0x457, + // No media in drive. + NO_MEDIA_IN_DRIVE = 0x458, + // No mapping for the Unicode character exists in the target multi-byte code page. + NO_UNICODE_TRANSLATION = 0x459, + // A dynamic link library (DLL) initialization routine failed. + DLL_INIT_FAILED = 0x45A, + // A system shutdown is in progress. + SHUTDOWN_IN_PROGRESS = 0x45B, + // Unable to abort the system shutdown because no shutdown was in progress. + NO_SHUTDOWN_IN_PROGRESS = 0x45C, + // The request could not be performed because of an I/O device error. + IO_DEVICE = 0x45D, + // No serial device was successfully initialized. The serial driver will unload. + SERIAL_NO_DEVICE = 0x45E, + // Unable to open a device that was sharing an interrupt request (IRQ) with other devices. At least one other device that uses that IRQ was already opened. + IRQ_BUSY = 0x45F, + // A serial I/O operation was completed by another write to the serial port. The IOCTL_SERIAL_XOFF_COUNTER reached zero.) + MORE_WRITES = 0x460, + // A serial I/O operation completed because the timeout period expired. The IOCTL_SERIAL_XOFF_COUNTER did not reach zero.) + COUNTER_TIMEOUT = 0x461, + // No ID address mark was found on the floppy disk. + FLOPPY_ID_MARK_NOT_FOUND = 0x462, + // Mismatch between the floppy disk sector ID field and the floppy disk controller track address. + FLOPPY_WRONG_CYLINDER = 0x463, + // The floppy disk controller reported an error that is not recognized by the floppy disk driver. + FLOPPY_UNKNOWN_ERROR = 0x464, + // The floppy disk controller returned inconsistent results in its registers. + FLOPPY_BAD_REGISTERS = 0x465, + // While accessing the hard disk, a recalibrate operation failed, even after retries. + DISK_RECALIBRATE_FAILED = 0x466, + // While accessing the hard disk, a disk operation failed even after retries. + DISK_OPERATION_FAILED = 0x467, + // While accessing the hard disk, a disk controller reset was needed, but even that failed. + DISK_RESET_FAILED = 0x468, + // Physical end of tape encountered. + EOM_OVERFLOW = 0x469, + // Not enough server storage is available to process this command. + NOT_ENOUGH_SERVER_MEMORY = 0x46A, + // A potential deadlock condition has been detected. + POSSIBLE_DEADLOCK = 0x46B, + // The base address or the file offset specified does not have the proper alignment. + MAPPED_ALIGNMENT = 0x46C, + // An attempt to change the system power state was vetoed by another application or driver. + SET_POWER_STATE_VETOED = 0x474, + // The system BIOS failed an attempt to change the system power state. + SET_POWER_STATE_FAILED = 0x475, + // An attempt was made to create more links on a file than the file system supports. + TOO_MANY_LINKS = 0x476, + // The specified program requires a newer version of Windows. + OLD_WIN_VERSION = 0x47E, + // The specified program is not a Windows or MS-DOS program. + APP_WRONG_OS = 0x47F, + // Cannot start more than one instance of the specified program. + SINGLE_INSTANCE_APP = 0x480, + // The specified program was written for an earlier version of Windows. + RMODE_APP = 0x481, + // One of the library files needed to run this application is damaged. + INVALID_DLL = 0x482, + // No application is associated with the specified file for this operation. + NO_ASSOCIATION = 0x483, + // An error occurred in sending the command to the application. + DDE_FAIL = 0x484, + // One of the library files needed to run this application cannot be found. + DLL_NOT_FOUND = 0x485, + // The current process has used all of its system allowance of handles for Window Manager objects. + NO_MORE_USER_HANDLES = 0x486, + // The message can be used only with synchronous operations. + MESSAGE_SYNC_ONLY = 0x487, + // The indicated source element has no media. + SOURCE_ELEMENT_EMPTY = 0x488, + // The indicated destination element already contains media. + DESTINATION_ELEMENT_FULL = 0x489, + // The indicated element does not exist. + ILLEGAL_ELEMENT_ADDRESS = 0x48A, + // The indicated element is part of a magazine that is not present. + MAGAZINE_NOT_PRESENT = 0x48B, + // The indicated device requires reinitialization due to hardware errors. + DEVICE_REINITIALIZATION_NEEDED = 0x48C, + // The device has indicated that cleaning is required before further operations are attempted. + DEVICE_REQUIRES_CLEANING = 0x48D, + // The device has indicated that its door is open. + DEVICE_DOOR_OPEN = 0x48E, + // The device is not connected. + DEVICE_NOT_CONNECTED = 0x48F, + // Element not found. + NOT_FOUND = 0x490, + // There was no match for the specified key in the index. + NO_MATCH = 0x491, + // The property set specified does not exist on the object. + SET_NOT_FOUND = 0x492, + // The point passed to GetMouseMovePoints is not in the buffer. + POINT_NOT_FOUND = 0x493, + // The tracking (workstation) service is not running. + NO_TRACKING_SERVICE = 0x494, + // The Volume ID could not be found. + NO_VOLUME_ID = 0x495, + // Unable to remove the file to be replaced. + UNABLE_TO_REMOVE_REPLACED = 0x497, + // Unable to move the replacement file to the file to be replaced. The file to be replaced has retained its original name. + UNABLE_TO_MOVE_REPLACEMENT = 0x498, + // Unable to move the replacement file to the file to be replaced. The file to be replaced has been renamed using the backup name. + UNABLE_TO_MOVE_REPLACEMENT_2 = 0x499, + // The volume change journal is being deleted. + JOURNAL_DELETE_IN_PROGRESS = 0x49A, + // The volume change journal is not active. + JOURNAL_NOT_ACTIVE = 0x49B, + // A file was found, but it may not be the correct file. + POTENTIAL_FILE_FOUND = 0x49C, + // The journal entry has been deleted from the journal. + JOURNAL_ENTRY_DELETED = 0x49D, + // A system shutdown has already been scheduled. + SHUTDOWN_IS_SCHEDULED = 0x4A6, + // The system shutdown cannot be initiated because there are other users logged on to the computer. + SHUTDOWN_USERS_LOGGED_ON = 0x4A7, + // The specified device name is invalid. + BAD_DEVICE = 0x4B0, + // The device is not currently connected but it is a remembered connection. + CONNECTION_UNAVAIL = 0x4B1, + // The local device name has a remembered connection to another network resource. + DEVICE_ALREADY_REMEMBERED = 0x4B2, + // The network path was either typed incorrectly, does not exist, or the network provider is not currently available. Please try retyping the path or contact your network administrator. + NO_NET_OR_BAD_PATH = 0x4B3, + // The specified network provider name is invalid. + BAD_PROVIDER = 0x4B4, + // Unable to open the network connection profile. + CANNOT_OPEN_PROFILE = 0x4B5, + // The network connection profile is corrupted. + BAD_PROFILE = 0x4B6, + // Cannot enumerate a noncontainer. + NOT_CONTAINER = 0x4B7, + // An extended error has occurred. + EXTENDED_ERROR = 0x4B8, + // The format of the specified group name is invalid. + INVALID_GROUPNAME = 0x4B9, + // The format of the specified computer name is invalid. + INVALID_COMPUTERNAME = 0x4BA, + // The format of the specified event name is invalid. + INVALID_EVENTNAME = 0x4BB, + // The format of the specified domain name is invalid. + INVALID_DOMAINNAME = 0x4BC, + // The format of the specified service name is invalid. + INVALID_SERVICENAME = 0x4BD, + // The format of the specified network name is invalid. + INVALID_NETNAME = 0x4BE, + // The format of the specified share name is invalid. + INVALID_SHARENAME = 0x4BF, + // The format of the specified password is invalid. + INVALID_PASSWORDNAME = 0x4C0, + // The format of the specified message name is invalid. + INVALID_MESSAGENAME = 0x4C1, + // The format of the specified message destination is invalid. + INVALID_MESSAGEDEST = 0x4C2, + // Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again. + SESSION_CREDENTIAL_CONFLICT = 0x4C3, + // An attempt was made to establish a session to a network server, but there are already too many sessions established to that server. + REMOTE_SESSION_LIMIT_EXCEEDED = 0x4C4, + // The workgroup or domain name is already in use by another computer on the network. + DUP_DOMAINNAME = 0x4C5, + // The network is not present or not started. + NO_NETWORK = 0x4C6, + // The operation was canceled by the user. + CANCELLED = 0x4C7, + // The requested operation cannot be performed on a file with a user-mapped section open. + USER_MAPPED_FILE = 0x4C8, + // The remote computer refused the network connection. + CONNECTION_REFUSED = 0x4C9, + // The network connection was gracefully closed. + GRACEFUL_DISCONNECT = 0x4CA, + // The network transport endpoint already has an address associated with it. + ADDRESS_ALREADY_ASSOCIATED = 0x4CB, + // An address has not yet been associated with the network endpoint. + ADDRESS_NOT_ASSOCIATED = 0x4CC, + // An operation was attempted on a nonexistent network connection. + CONNECTION_INVALID = 0x4CD, + // An invalid operation was attempted on an active network connection. + CONNECTION_ACTIVE = 0x4CE, + // The network location cannot be reached. For information about network troubleshooting, see Windows Help. + NETWORK_UNREACHABLE = 0x4CF, + // The network location cannot be reached. For information about network troubleshooting, see Windows Help. + HOST_UNREACHABLE = 0x4D0, + // The network location cannot be reached. For information about network troubleshooting, see Windows Help. + PROTOCOL_UNREACHABLE = 0x4D1, + // No service is operating at the destination network endpoint on the remote system. + PORT_UNREACHABLE = 0x4D2, + // The request was aborted. + REQUEST_ABORTED = 0x4D3, + // The network connection was aborted by the local system. + CONNECTION_ABORTED = 0x4D4, + // The operation could not be completed. A retry should be performed. + RETRY = 0x4D5, + // A connection to the server could not be made because the limit on the number of concurrent connections for this account has been reached. + CONNECTION_COUNT_LIMIT = 0x4D6, + // Attempting to log in during an unauthorized time of day for this account. + LOGIN_TIME_RESTRICTION = 0x4D7, + // The account is not authorized to log in from this station. + LOGIN_WKSTA_RESTRICTION = 0x4D8, + // The network address could not be used for the operation requested. + INCORRECT_ADDRESS = 0x4D9, + // The service is already registered. + ALREADY_REGISTERED = 0x4DA, + // The specified service does not exist. + SERVICE_NOT_FOUND = 0x4DB, + // The operation being requested was not performed because the user has not been authenticated. + NOT_AUTHENTICATED = 0x4DC, + // The operation being requested was not performed because the user has not logged on to the network. The specified service does not exist. + NOT_LOGGED_ON = 0x4DD, + // Continue with work in progress. + CONTINUE = 0x4DE, + // An attempt was made to perform an initialization operation when initialization has already been completed. + ALREADY_INITIALIZED = 0x4DF, + // No more local devices. + NO_MORE_DEVICES = 0x4E0, + // The specified site does not exist. + NO_SUCH_SITE = 0x4E1, + // A domain controller with the specified name already exists. + DOMAIN_CONTROLLER_EXISTS = 0x4E2, + // This operation is supported only when you are connected to the server. + ONLY_IF_CONNECTED = 0x4E3, + // The group policy framework should call the extension even if there are no changes. + OVERRIDE_NOCHANGES = 0x4E4, + // The specified user does not have a valid profile. + BAD_USER_PROFILE = 0x4E5, + // This operation is not supported on a computer running Windows Server 2003 for Small Business Server. + NOT_SUPPORTED_ON_SBS = 0x4E6, + // The server machine is shutting down. + SERVER_SHUTDOWN_IN_PROGRESS = 0x4E7, + // The remote system is not available. For information about network troubleshooting, see Windows Help. + HOST_DOWN = 0x4E8, + // The security identifier provided is not from an account domain. + NON_ACCOUNT_SID = 0x4E9, + // The security identifier provided does not have a domain component. + NON_DOMAIN_SID = 0x4EA, + // AppHelp dialog canceled thus preventing the application from starting. + APPHELP_BLOCK = 0x4EB, + // This program is blocked by group policy. For more information, contact your system administrator. + ACCESS_DISABLED_BY_POLICY = 0x4EC, + // A program attempt to use an invalid register value. Normally caused by an uninitialized register. This error is Itanium specific. + REG_NAT_CONSUMPTION = 0x4ED, + // The share is currently offline or does not exist. + CSCSHARE_OFFLINE = 0x4EE, + // The Kerberos protocol encountered an error while validating the KDC certificate during smartcard logon. There is more information in the system event log. + PKINIT_FAILURE = 0x4EF, + // The Kerberos protocol encountered an error while attempting to utilize the smartcard subsystem. + SMARTCARD_SUBSYSTEM_FAILURE = 0x4F0, + // The system cannot contact a domain controller to service the authentication request. Please try again later. + DOWNGRADE_DETECTED = 0x4F1, + // The machine is locked and cannot be shut down without the force option. + MACHINE_LOCKED = 0x4F7, + // An application-defined callback gave invalid data when called. + CALLBACK_SUPPLIED_INVALID_DATA = 0x4F9, + // The group policy framework should call the extension in the synchronous foreground policy refresh. + SYNC_FOREGROUND_REFRESH_REQUIRED = 0x4FA, + // This driver has been blocked from loading. + DRIVER_BLOCKED = 0x4FB, + // A dynamic link library (DLL) referenced a module that was neither a DLL nor the process's executable image. + INVALID_IMPORT_OF_NON_DLL = 0x4FC, + // Windows cannot open this program since it has been disabled. + ACCESS_DISABLED_WEBBLADE = 0x4FD, + // Windows cannot open this program because the license enforcement system has been tampered with or become corrupted. + ACCESS_DISABLED_WEBBLADE_TAMPER = 0x4FE, + // A transaction recover failed. + RECOVERY_FAILURE = 0x4FF, + // The current thread has already been converted to a fiber. + ALREADY_FIBER = 0x500, + // The current thread has already been converted from a fiber. + ALREADY_THREAD = 0x501, + // The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application. + STACK_BUFFER_OVERRUN = 0x502, + // Data present in one of the parameters is more than the function can operate on. + PARAMETER_QUOTA_EXCEEDED = 0x503, + // An attempt to do an operation on a debug object failed because the object is in the process of being deleted. + DEBUGGER_INACTIVE = 0x504, + // An attempt to delay-load a .dll or get a function address in a delay-loaded .dll failed. + DELAY_LOAD_FAILED = 0x505, + // %1 is a 16-bit application. You do not have permissions to execute 16-bit applications. Check your permissions with your system administrator. + VDM_DISALLOWED = 0x506, + // Insufficient information exists to identify the cause of failure. + UNIDENTIFIED_ERROR = 0x507, + // The parameter passed to a C runtime function is incorrect. + INVALID_CRUNTIME_PARAMETER = 0x508, + // The operation occurred beyond the valid data length of the file. + BEYOND_VDL = 0x509, + // The service start failed since one or more services in the same process have an incompatible service SID type setting. A service with restricted service SID type can only coexist in the same process with other services with a restricted SID type. If the service SID type for this service was just configured, the hosting process must be restarted in order to start this service. + // On Windows Server 2003 and Windows XP, an unrestricted service cannot coexist in the same process with other services. The service with the unrestricted service SID type must be moved to an owned process in order to start this service. + INCOMPATIBLE_SERVICE_SID_TYPE = 0x50A, + // The process hosting the driver for this device has been terminated. + DRIVER_PROCESS_TERMINATED = 0x50B, + // An operation attempted to exceed an implementation-defined limit. + IMPLEMENTATION_LIMIT = 0x50C, + // Either the target process, or the target thread's containing process, is a protected process. + PROCESS_IS_PROTECTED = 0x50D, + // The service notification client is lagging too far behind the current state of services in the machine. + SERVICE_NOTIFY_CLIENT_LAGGING = 0x50E, + // The requested file operation failed because the storage quota was exceeded. To free up disk space, move files to a different location or delete unnecessary files. For more information, contact your system administrator. + DISK_QUOTA_EXCEEDED = 0x50F, + // The requested file operation failed because the storage policy blocks that type of file. For more information, contact your system administrator. + CONTENT_BLOCKED = 0x510, + // A privilege that the service requires to function properly does not exist in the service account configuration. You may use the Services Microsoft Management Console (MMC) snap-in (services.msc) and the Local Security Settings MMC snap-in (secpol.msc) to view the service configuration and the account configuration. + INCOMPATIBLE_SERVICE_PRIVILEGE = 0x511, + // A thread involved in this operation appears to be unresponsive. + APP_HANG = 0x512, + // Indicates a particular Security ID may not be assigned as the label of an object. + INVALID_LABEL = 0x513, + + // Not all privileges or groups referenced are assigned to the caller. + NOT_ALL_ASSIGNED = 0x514, + // Some mapping between account names and security IDs was not done. + SOME_NOT_MAPPED = 0x515, + // No system quota limits are specifically set for this account. + NO_QUOTAS_FOR_ACCOUNT = 0x516, + // No encryption key is available. A well-known encryption key was returned. + LOCAL_USER_SESSION_KEY = 0x517, + // The password is too complex to be converted to a LAN Manager password. The LAN Manager password returned is a NULL string. + NULL_LM_PASSWORD = 0x518, + // The revision level is unknown. + UNKNOWN_REVISION = 0x519, + // Indicates two revision levels are incompatible. + REVISION_MISMATCH = 0x51A, + // This security ID may not be assigned as the owner of this object. + INVALID_OWNER = 0x51B, + // This security ID may not be assigned as the primary group of an object. + INVALID_PRIMARY_GROUP = 0x51C, + // An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client. + NO_IMPERSONATION_TOKEN = 0x51D, + // The group may not be disabled. + CANT_DISABLE_MANDATORY = 0x51E, + // There are currently no logon servers available to service the logon request. + NO_LOGON_SERVERS = 0x51F, + // A specified logon session does not exist. It may already have been terminated. + NO_SUCH_LOGON_SESSION = 0x520, + // A specified privilege does not exist. + NO_SUCH_PRIVILEGE = 0x521, + // A required privilege is not held by the client. + PRIVILEGE_NOT_HELD = 0x522, + // The name provided is not a properly formed account name. + INVALID_ACCOUNT_NAME = 0x523, + // The specified account already exists. + USER_EXISTS = 0x524, + // The specified account does not exist. + NO_SUCH_USER = 0x525, + // The specified group already exists. + GROUP_EXISTS = 0x526, + // The specified group does not exist. + NO_SUCH_GROUP = 0x527, + // Either the specified user account is already a member of the specified group, or the specified group cannot be deleted because it contains a member. + MEMBER_IN_GROUP = 0x528, + // The specified user account is not a member of the specified group account. + MEMBER_NOT_IN_GROUP = 0x529, + // This operation is disallowed as it could result in an administration account being disabled, deleted or unable to log on. + LAST_ADMIN = 0x52A, + // Unable to update the password. The value provided as the current password is incorrect. + WRONG_PASSWORD = 0x52B, + // Unable to update the password. The value provided for the new password contains values that are not allowed in passwords. + ILL_FORMED_PASSWORD = 0x52C, + // Unable to update the password. The value provided for the new password does not meet the length, complexity, or history requirements of the domain. + PASSWORD_RESTRICTION = 0x52D, + // The user name or password is incorrect. + LOGON_FAILURE = 0x52E, + // Account restrictions are preventing this user from signing in. For example: blank passwords aren't allowed, sign-in times are limited, or a policy restriction has been enforced. + ACCOUNT_RESTRICTION = 0x52F, + // Your account has time restrictions that keep you from signing in right now. + INVALID_LOGON_HOURS = 0x530, + // This user isn't allowed to sign in to this computer. + INVALID_WORKSTATION = 0x531, + // The password for this account has expired. + PASSWORD_EXPIRED = 0x532, + // This user can't sign in because this account is currently disabled. + ACCOUNT_DISABLED = 0x533, + // No mapping between account names and security IDs was done. + NONE_MAPPED = 0x534, + // Too many local user identifiers (LUIDs) were requested at one time. + TOO_MANY_LUIDS_REQUESTED = 0x535, + // No more local user identifiers (LUIDs) are available. + LUIDS_EXHAUSTED = 0x536, + // The subauthority part of a security ID is invalid for this particular use. + INVALID_SUB_AUTHORITY = 0x537, + // The access control list (ACL) structure is invalid. + INVALID_ACL = 0x538, + // The security ID structure is invalid. + INVALID_SID = 0x539, + // The security descriptor structure is invalid. + INVALID_SECURITY_DESCR = 0x53A, + // The inherited access control list (ACL) or access control entry (ACE) could not be built. + BAD_INHERITANCE_ACL = 0x53C, + // The server is currently disabled. + SERVER_DISABLED = 0x53D, + // The server is currently enabled. + SERVER_NOT_DISABLED = 0x53E, + // The value provided was an invalid value for an identifier authority. + INVALID_ID_AUTHORITY = 0x53F, + // No more memory is available for security information updates. + ALLOTTED_SPACE_EXCEEDED = 0x540, + // The specified attributes are invalid, or incompatible with the attributes for the group as a whole. + INVALID_GROUP_ATTRIBUTES = 0x541, + // Either a required impersonation level was not provided, or the provided impersonation level is invalid. + BAD_IMPERSONATION_LEVEL = 0x542, + // Cannot open an anonymous level security token. + CANT_OPEN_ANONYMOUS = 0x543, + // The validation information class requested was invalid. + BAD_VALIDATION_CLASS = 0x544, + // The type of the token is inappropriate for its attempted use. + BAD_TOKEN_TYPE = 0x545, + // Unable to perform a security operation on an object that has no associated security. + NO_SECURITY_ON_OBJECT = 0x546, + // Configuration information could not be read from the domain controller, either because the machine is unavailable, or access has been denied. + CANT_ACCESS_DOMAIN_INFO = 0x547, + // The security account manager (SAM) or local security authority (LSA) server was in the wrong state to perform the security operation. + INVALID_SERVER_STATE = 0x548, + // The domain was in the wrong state to perform the security operation. + INVALID_DOMAIN_STATE = 0x549, + // This operation is only allowed for the Primary Domain Controller of the domain. + INVALID_DOMAIN_ROLE = 0x54A, + // The specified domain either does not exist or could not be contacted. + NO_SUCH_DOMAIN = 0x54B, + // The specified domain already exists. + DOMAIN_EXISTS = 0x54C, + // An attempt was made to exceed the limit on the number of domains per server. + DOMAIN_LIMIT_EXCEEDED = 0x54D, + // Unable to complete the requested operation because of either a catastrophic media failure or a data structure corruption on the disk. + INTERNAL_DB_CORRUPTION = 0x54E, + // An internal error occurred. + INTERNAL_ERROR = 0x54F, + // Generic access types were contained in an access mask which should already be mapped to nongeneric types. + GENERIC_NOT_MAPPED = 0x550, + // A security descriptor is not in the right format (absolute or self-relative). + BAD_DESCRIPTOR_FORMAT = 0x551, + // The requested action is restricted for use by logon processes only. The calling process has not registered as a logon process. + NOT_LOGON_PROCESS = 0x552, + // Cannot start a new logon session with an ID that is already in use. + LOGON_SESSION_EXISTS = 0x553, + // A specified authentication package is unknown. + NO_SUCH_PACKAGE = 0x554, + // The logon session is not in a state that is consistent with the requested operation. + BAD_LOGON_SESSION_STATE = 0x555, + // The logon session ID is already in use. + LOGON_SESSION_COLLISION = 0x556, + // A logon request contained an invalid logon type value. + INVALID_LOGON_TYPE = 0x557, + // Unable to impersonate using a named pipe until data has been read from that pipe. + CANNOT_IMPERSONATE = 0x558, + // The transaction state of a registry subtree is incompatible with the requested operation. + RXACT_INVALID_STATE = 0x559, + // An internal security database corruption has been encountered. + RXACT_COMMIT_FAILURE = 0x55A, + // Cannot perform this operation on built-in accounts. + SPECIAL_ACCOUNT = 0x55B, + // Cannot perform this operation on this built-in special group. + SPECIAL_GROUP = 0x55C, + // Cannot perform this operation on this built-in special user. + SPECIAL_USER = 0x55D, + // The user cannot be removed from a group because the group is currently the user's primary group. + MEMBERS_PRIMARY_GROUP = 0x55E, + // The token is already in use as a primary token. + TOKEN_ALREADY_IN_USE = 0x55F, + // The specified local group does not exist. + NO_SUCH_ALIAS = 0x560, + // The specified account name is not a member of the group. + MEMBER_NOT_IN_ALIAS = 0x561, + // The specified account name is already a member of the group. + MEMBER_IN_ALIAS = 0x562, + // The specified local group already exists. + ALIAS_EXISTS = 0x563, + // Logon failure: the user has not been granted the requested logon type at this computer. + LOGON_NOT_GRANTED = 0x564, + // The maximum number of secrets that may be stored in a single system has been exceeded. + TOO_MANY_SECRETS = 0x565, + // The length of a secret exceeds the maximum length allowed. + SECRET_TOO_LONG = 0x566, + // The local security authority database contains an internal inconsistency. + INTERNAL_DB_ERROR = 0x567, + // During a logon attempt, the user's security context accumulated too many security IDs. + TOO_MANY_CONTEXT_IDS = 0x568, + // Logon failure: the user has not been granted the requested logon type at this computer. + LOGON_TYPE_NOT_GRANTED = 0x569, + // A cross-encrypted password is necessary to change a user password. + NT_CROSS_ENCRYPTION_REQUIRED = 0x56A, + // A member could not be added to or removed from the local group because the member does not exist. + NO_SUCH_MEMBER = 0x56B, + // A new member could not be added to a local group because the member has the wrong account type. + INVALID_MEMBER = 0x56C, + // Too many security IDs have been specified. + TOO_MANY_SIDS = 0x56D, + // A cross-encrypted password is necessary to change this user password. + LM_CROSS_ENCRYPTION_REQUIRED = 0x56E, + // Indicates an ACL contains no inheritable components. + NO_INHERITANCE = 0x56F, + // The file or directory is corrupted and unreadable. + FILE_CORRUPT = 0x570, + // The disk structure is corrupted and unreadable. + DISK_CORRUPT = 0x571, + // There is no user session key for the specified logon session. + NO_USER_SESSION_KEY = 0x572, + // The service being accessed is licensed for a particular number of connections. No more connections can be made to the service at this time because there are already as many connections as the service can accept. + LICENSE_QUOTA_EXCEEDED = 0x573, + // The target account name is incorrect. + WRONG_TARGET_NAME = 0x574, + // Mutual Authentication failed. The server's password is out of date at the domain controller. + MUTUAL_AUTH_FAILED = 0x575, + // There is a time and/or date difference between the client and server. + TIME_SKEW = 0x576, + // This operation cannot be performed on the current domain. + CURRENT_DOMAIN_NOT_ALLOWED = 0x577, + // Invalid window handle. + INVALID_WINDOW_HANDLE = 0x578, + // Invalid menu handle. + INVALID_MENU_HANDLE = 0x579, + // Invalid cursor handle. + INVALID_CURSOR_HANDLE = 0x57A, + // Invalid accelerator table handle. + INVALID_ACCEL_HANDLE = 0x57B, + // Invalid hook handle. + INVALID_HOOK_HANDLE = 0x57C, + // Invalid handle to a multiple-window position structure. + INVALID_DWP_HANDLE = 0x57D, + // Cannot create a top-level child window. + TLW_WITH_WSCHILD = 0x57E, + // Cannot find window class. + CANNOT_FIND_WND_CLASS = 0x57F, + // Invalid window; it belongs to other thread. + WINDOW_OF_OTHER_THREAD = 0x580, + // Hot key is already registered. + HOTKEY_ALREADY_REGISTERED = 0x581, + // Class already exists. + CLASS_ALREADY_EXISTS = 0x582, + // Class does not exist. + CLASS_DOES_NOT_EXIST = 0x583, + // Class still has open windows. + CLASS_HAS_WINDOWS = 0x584, + // Invalid index. + INVALID_INDEX = 0x585, + // Invalid icon handle. + INVALID_ICON_HANDLE = 0x586, + // Using private DIALOG window words. + PRIVATE_DIALOG_INDEX = 0x587, + // The list box identifier was not found. + LISTBOX_ID_NOT_FOUND = 0x588, + // No wildcards were found. + NO_WILDCARD_CHARACTERS = 0x589, + // Thread does not have a clipboard open. + CLIPBOARD_NOT_OPEN = 0x58A, + // Hot key is not registered. + HOTKEY_NOT_REGISTERED = 0x58B, + // The window is not a valid dialog window. + WINDOW_NOT_DIALOG = 0x58C, + // Control ID not found. + CONTROL_ID_NOT_FOUND = 0x58D, + // Invalid message for a combo box because it does not have an edit control. + INVALID_COMBOBOX_MESSAGE = 0x58E, + // The window is not a combo box. + WINDOW_NOT_COMBOBOX = 0x58F, + // Height must be less than 256. + INVALID_EDIT_HEIGHT = 0x590, + // Invalid device context (DC) handle. + DC_NOT_FOUND = 0x591, + // Invalid hook procedure type. + INVALID_HOOK_FILTER = 0x592, + // Invalid hook procedure. + INVALID_FILTER_PROC = 0x593, + // Cannot set nonlocal hook without a module handle. + HOOK_NEEDS_HMOD = 0x594, + // This hook procedure can only be set globally. + GLOBAL_ONLY_HOOK = 0x595, + // The journal hook procedure is already installed. + JOURNAL_HOOK_SET = 0x596, + // The hook procedure is not installed. + HOOK_NOT_INSTALLED = 0x597, + // Invalid message for single-selection list box. + INVALID_LB_MESSAGE = 0x598, + // LB_SETCOUNT sent to non-lazy list box. + SETCOUNT_ON_BAD_LB = 0x599, + // This list box does not support tab stops. + LB_WITHOUT_TABSTOPS = 0x59A, + // Cannot destroy object created by another thread. + DESTROY_OBJECT_OF_OTHER_THREAD = 0x59B, + // Child windows cannot have menus. + CHILD_WINDOW_MENU = 0x59C, + // The window does not have a system menu. + NO_SYSTEM_MENU = 0x59D, + // Invalid message box style. + INVALID_MSGBOX_STYLE = 0x59E, + // Invalid system-wide (SPI_*) parameter. + INVALID_SPI_VALUE = 0x59F, + // Screen already locked. + SCREEN_ALREADY_LOCKED = 0x5A0, + // All handles to windows in a multiple-window position structure must have the same parent. + HWNDS_HAVE_DIFF_PARENT = 0x5A1, + // The window is not a child window. + NOT_CHILD_WINDOW = 0x5A2, + // Invalid GW_* command. + INVALID_GW_COMMAND = 0x5A3, + // Invalid thread identifier. + INVALID_THREAD_ID = 0x5A4, + // Cannot process a message from a window that is not a multiple document interface (MDI) window. + NON_MDICHILD_WINDOW = 0x5A5, + // Popup menu already active. + POPUP_ALREADY_ACTIVE = 0x5A6, + // The window does not have scroll bars. + NO_SCROLLBARS = 0x5A7, + // Scroll bar range cannot be greater than MAXLONG. + INVALID_SCROLLBAR_RANGE = 0x5A8, + // Cannot show or remove the window in the way specified. + INVALID_SHOWWIN_COMMAND = 0x5A9, + // Insufficient system resources exist to complete the requested service. + NO_SYSTEM_RESOURCES = 0x5AA, + // Insufficient system resources exist to complete the requested service. + NONPAGED_SYSTEM_RESOURCES = 0x5AB, + // Insufficient system resources exist to complete the requested service. + PAGED_SYSTEM_RESOURCES = 0x5AC, + // Insufficient quota to complete the requested service. + WORKING_SET_QUOTA = 0x5AD, + // Insufficient quota to complete the requested service. + PAGEFILE_QUOTA = 0x5AE, + // The paging file is too small for this operation to complete. + COMMITMENT_LIMIT = 0x5AF, + // A menu item was not found. + MENU_ITEM_NOT_FOUND = 0x5B0, + // Invalid keyboard layout handle. + INVALID_KEYBOARD_HANDLE = 0x5B1, + // Hook type not allowed. + HOOK_TYPE_NOT_ALLOWED = 0x5B2, + // This operation requires an interactive window station. + REQUIRES_INTERACTIVE_WINDOWSTATION = 0x5B3, + // This operation returned because the timeout period expired. + TIMEOUT = 0x5B4, + // Invalid monitor handle. + INVALID_MONITOR_HANDLE = 0x5B5, + // Incorrect size argument. + INCORRECT_SIZE = 0x5B6, + // The symbolic link cannot be followed because its type is disabled. + SYMLINK_CLASS_DISABLED = 0x5B7, + // This application does not support the current operation on symbolic links. + SYMLINK_NOT_SUPPORTED = 0x5B8, + // Windows was unable to parse the requested XML data. + XML_PARSE_ERROR = 0x5B9, + // An error was encountered while processing an XML digital signature. + XMLDSIG_ERROR = 0x5BA, + // This application must be restarted. + RESTART_APPLICATION = 0x5BB, + // The caller made the connection request in the wrong routing compartment. + WRONG_COMPARTMENT = 0x5BC, + // There was an AuthIP failure when attempting to connect to the remote host. + AUTHIP_FAILURE = 0x5BD, + // Insufficient NVRAM resources exist to complete the requested service. A reboot might be required. + NO_NVRAM_RESOURCES = 0x5BE, + // Unable to finish the requested operation because the specified process is not a GUI process. + NOT_GUI_PROCESS = 0x5BF, + // The event log file is corrupted. + EVENTLOG_FILE_CORRUPT = 0x5DC, + // No event log file could be opened, so the event logging service did not start. + EVENTLOG_CANT_START = 0x5DD, + // The event log file is full. + LOG_FILE_FULL = 0x5DE, + // The event log file has changed between read operations. + EVENTLOG_FILE_CHANGED = 0x5DF, + // The specified task name is invalid. + INVALID_TASK_NAME = 0x60E, + // The specified task index is invalid. + INVALID_TASK_INDEX = 0x60F, + // The specified thread is already joining a task. + THREAD_ALREADY_IN_TASK = 0x610, + // The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance. + INSTALL_SERVICE_FAILURE = 0x641, + // User cancelled installation. + INSTALL_USEREXIT = 0x642, + // Fatal error during installation. + INSTALL_FAILURE = 0x643, + // Installation suspended, incomplete. + INSTALL_SUSPEND = 0x644, + // This action is only valid for products that are currently installed. + UNKNOWN_PRODUCT = 0x645, + // Feature ID not registered. + UNKNOWN_FEATURE = 0x646, + // Component ID not registered. + UNKNOWN_COMPONENT = 0x647, + // Unknown property. + UNKNOWN_PROPERTY = 0x648, + // Handle is in an invalid state. + INVALID_HANDLE_STATE = 0x649, + // The configuration data for this product is corrupt. Contact your support personnel. + BAD_CONFIGURATION = 0x64A, + // Component qualifier not present. + INDEX_ABSENT = 0x64B, + // The installation source for this product is not available. Verify that the source exists and that you can access it. + INSTALL_SOURCE_ABSENT = 0x64C, + // This installation package cannot be installed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service. + INSTALL_PACKAGE_VERSION = 0x64D, + // Product is uninstalled. + PRODUCT_UNINSTALLED = 0x64E, + // SQL query syntax invalid or unsupported. + BAD_QUERY_SYNTAX = 0x64F, + // Record field does not exist. + INVALID_FIELD = 0x650, + // The device has been removed. + DEVICE_REMOVED = 0x651, + // Another installation is already in progress. Complete that installation before proceeding with this install. + INSTALL_ALREADY_RUNNING = 0x652, + // This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package. + INSTALL_PACKAGE_OPEN_FAILED = 0x653, + // This installation package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer package. + INSTALL_PACKAGE_INVALID = 0x654, + // There was an error starting the Windows Installer service user interface. Contact your support personnel. + INSTALL_UI_FAILURE = 0x655, + // Error opening installation log file. Verify that the specified log file location exists and that you can write to it. + INSTALL_LOG_FAILURE = 0x656, + // The language of this installation package is not supported by your system. + INSTALL_LANGUAGE_UNSUPPORTED = 0x657, + // Error applying transforms. Verify that the specified transform paths are valid. + INSTALL_TRANSFORM_FAILURE = 0x658, + // This installation is forbidden by system policy. Contact your system administrator. + INSTALL_PACKAGE_REJECTED = 0x659, + // Function could not be executed. + FUNCTION_NOT_CALLED = 0x65A, + // Function failed during execution. + FUNCTION_FAILED = 0x65B, + // Invalid or unknown table specified. + INVALID_TABLE = 0x65C, + // Data supplied is of wrong type. + DATATYPE_MISMATCH = 0x65D, + // Data of this type is not supported. + UNSUPPORTED_TYPE = 0x65E, + // The Windows Installer service failed to start. Contact your support personnel. + CREATE_FAILED = 0x65F, + // The Temp folder is on a drive that is full or is inaccessible. Free up space on the drive or verify that you have write permission on the Temp folder. + INSTALL_TEMP_UNWRITABLE = 0x660, + // This installation package is not supported by this processor type. Contact your product vendor. + INSTALL_PLATFORM_UNSUPPORTED = 0x661, + // Component not used on this computer. + INSTALL_NOTUSED = 0x662, + // This update package could not be opened. Verify that the update package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer update package. + PATCH_PACKAGE_OPEN_FAILED = 0x663, + // This update package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer update package. + PATCH_PACKAGE_INVALID = 0x664, + // This update package cannot be processed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service. + PATCH_PACKAGE_UNSUPPORTED = 0x665, + // Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel. + PRODUCT_VERSION = 0x666, + // Invalid command line argument. Consult the Windows Installer SDK for detailed command line help. + INVALID_COMMAND_LINE = 0x667, + // Only administrators have permission to add, remove, or configure server software during a Terminal services remote session. If you want to install or configure software on the server, contact your network administrator. + INSTALL_REMOTE_DISALLOWED = 0x668, + // The requested operation completed successfully. The system will be restarted so the changes can take effect. + SUCCESS_REBOOT_INITIATED = 0x669, + // The upgrade cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade may update a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade. + PATCH_TARGET_NOT_FOUND = 0x66A, + // The update package is not permitted by software restriction policy. + PATCH_PACKAGE_REJECTED = 0x66B, + // One or more customizations are not permitted by software restriction policy. + INSTALL_TRANSFORM_REJECTED = 0x66C, + // The Windows Installer does not permit installation from a Remote Desktop Connection. + INSTALL_REMOTE_PROHIBITED = 0x66D, + // Uninstallation of the update package is not supported. + PATCH_REMOVAL_UNSUPPORTED = 0x66E, + // The update is not applied to this product. + UNKNOWN_PATCH = 0x66F, + // No valid sequence could be found for the set of updates. + PATCH_NO_SEQUENCE = 0x670, + // Update removal was disallowed by policy. + PATCH_REMOVAL_DISALLOWED = 0x671, + // The XML update data is invalid. + INVALID_PATCH_XML = 0x672, + // Windows Installer does not permit updating of managed advertised products. At least one feature of the product must be installed before applying the update. + PATCH_MANAGED_ADVERTISED_PRODUCT = 0x673, + // The Windows Installer service is not accessible in Safe Mode. Please try again when your computer is not in Safe Mode or you can use System Restore to return your machine to a previous good state. + INSTALL_SERVICE_SAFEBOOT = 0x674, + // A fail fast exception occurred. Exception handlers will not be invoked and the process will be terminated immediately. + FAIL_FAST_EXCEPTION = 0x675, + // The app that you are trying to run is not supported on this version of Windows. + INSTALL_REJECTED = 0x676, + + // The string binding is invalid. + RPC_S_INVALID_STRING_BINDING = 0x6A4, + // The binding handle is not the correct type. + RPC_S_WRONG_KIND_OF_BINDING = 0x6A5, + // The binding handle is invalid. + RPC_S_INVALID_BINDING = 0x6A6, + // The RPC protocol sequence is not supported. + RPC_S_PROTSEQ_NOT_SUPPORTED = 0x6A7, + // The RPC protocol sequence is invalid. + RPC_S_INVALID_RPC_PROTSEQ = 0x6A8, + // The string universal unique identifier (UUID) is invalid. + RPC_S_INVALID_STRING_UUID = 0x6A9, + // The endpoint format is invalid. + RPC_S_INVALID_ENDPOINT_FORMAT = 0x6AA, + // The network address is invalid. + RPC_S_INVALID_NET_ADDR = 0x6AB, + // No endpoint was found. + RPC_S_NO_ENDPOINT_FOUND = 0x6AC, + // The timeout value is invalid. + RPC_S_INVALID_TIMEOUT = 0x6AD, + // The object universal unique identifier (UUID) was not found. + RPC_S_OBJECT_NOT_FOUND = 0x6AE, + // The object universal unique identifier (UUID) has already been registered. + RPC_S_ALREADY_REGISTERED = 0x6AF, + // The type universal unique identifier (UUID) has already been registered. + RPC_S_TYPE_ALREADY_REGISTERED = 0x6B0, + // The RPC server is already listening. + RPC_S_ALREADY_LISTENING = 0x6B1, + // No protocol sequences have been registered. + RPC_S_NO_PROTSEQS_REGISTERED = 0x6B2, + // The RPC server is not listening. + RPC_S_NOT_LISTENING = 0x6B3, + // The manager type is unknown. + RPC_S_UNKNOWN_MGR_TYPE = 0x6B4, + // The interface is unknown. + RPC_S_UNKNOWN_IF = 0x6B5, + // There are no bindings. + RPC_S_NO_BINDINGS = 0x6B6, + // There are no protocol sequences. + RPC_S_NO_PROTSEQS = 0x6B7, + // The endpoint cannot be created. + RPC_S_CANT_CREATE_ENDPOINT = 0x6B8, + // Not enough resources are available to complete this operation. + RPC_S_OUT_OF_RESOURCES = 0x6B9, + // The RPC server is unavailable. + RPC_S_SERVER_UNAVAILABLE = 0x6BA, + // The RPC server is too busy to complete this operation. + RPC_S_SERVER_TOO_BUSY = 0x6BB, + // The network options are invalid. + RPC_S_INVALID_NETWORK_OPTIONS = 0x6BC, + // There are no remote procedure calls active on this thread. + RPC_S_NO_CALL_ACTIVE = 0x6BD, + // The remote procedure call failed. + RPC_S_CALL_FAILED = 0x6BE, + // The remote procedure call failed and did not execute. + RPC_S_CALL_FAILED_DNE = 0x6BF, + // A remote procedure call (RPC) protocol error occurred. + RPC_S_PROTOCOL_ERROR = 0x6C0, + // Access to the HTTP proxy is denied. + RPC_S_PROXY_ACCESS_DENIED = 0x6C1, + // The transfer syntax is not supported by the RPC server. + RPC_S_UNSUPPORTED_TRANS_SYN = 0x6C2, + // The universal unique identifier (UUID) type is not supported. + RPC_S_UNSUPPORTED_TYPE = 0x6C4, + // The tag is invalid. + RPC_S_INVALID_TAG = 0x6C5, + // The array bounds are invalid. + RPC_S_INVALID_BOUND = 0x6C6, + // The binding does not contain an entry name. + RPC_S_NO_ENTRY_NAME = 0x6C7, + // The name syntax is invalid. + RPC_S_INVALID_NAME_SYNTAX = 0x6C8, + // The name syntax is not supported. + RPC_S_UNSUPPORTED_NAME_SYNTAX = 0x6C9, + // No network address is available to use to construct a universal unique identifier (UUID). + RPC_S_UUID_NO_ADDRESS = 0x6CB, + // The endpoint is a duplicate. + RPC_S_DUPLICATE_ENDPOINT = 0x6CC, + // The authentication type is unknown. + RPC_S_UNKNOWN_AUTHN_TYPE = 0x6CD, + // The maximum number of calls is too small. + RPC_S_MAX_CALLS_TOO_SMALL = 0x6CE, + // The string is too long. + RPC_S_STRING_TOO_LONG = 0x6CF, + // The RPC protocol sequence was not found. + RPC_S_PROTSEQ_NOT_FOUND = 0x6D0, + // The procedure number is out of range. + RPC_S_PROCNUM_OUT_OF_RANGE = 0x6D1, + // The binding does not contain any authentication information. + RPC_S_BINDING_HAS_NO_AUTH = 0x6D2, + // The authentication service is unknown. + RPC_S_UNKNOWN_AUTHN_SERVICE = 0x6D3, + // The authentication level is unknown. + RPC_S_UNKNOWN_AUTHN_LEVEL = 0x6D4, + // The security context is invalid. + RPC_S_INVALID_AUTH_IDENTITY = 0x6D5, + // The authorization service is unknown. + RPC_S_UNKNOWN_AUTHZ_SERVICE = 0x6D6, + // The entry is invalid. + EPT_S_INVALID_ENTRY = 0x6D7, + // The server endpoint cannot perform the operation. + EPT_S_CANT_PERFORM_OP = 0x6D8, + // There are no more endpoints available from the endpoint mapper. + EPT_S_NOT_REGISTERED = 0x6D9, + // No interfaces have been exported. + RPC_S_NOTHING_TO_EXPORT = 0x6DA, + // The entry name is incomplete. + RPC_S_INCOMPLETE_NAME = 0x6DB, + // The version option is invalid. + RPC_S_INVALID_VERS_OPTION = 0x6DC, + // There are no more members. + RPC_S_NO_MORE_MEMBERS = 0x6DD, + // There is nothing to unexport. + RPC_S_NOT_ALL_OBJS_UNEXPORTED = 0x6DE, + // The interface was not found. + RPC_S_INTERFACE_NOT_FOUND = 0x6DF, + // The entry already exists. + RPC_S_ENTRY_ALREADY_EXISTS = 0x6E0, + // The entry is not found. + RPC_S_ENTRY_NOT_FOUND = 0x6E1, + // The name service is unavailable. + RPC_S_NAME_SERVICE_UNAVAILABLE = 0x6E2, + // The network address family is invalid. + RPC_S_INVALID_NAF_ID = 0x6E3, + // The requested operation is not supported. + RPC_S_CANNOT_SUPPORT = 0x6E4, + // No security context is available to allow impersonation. + RPC_S_NO_CONTEXT_AVAILABLE = 0x6E5, + // An internal error occurred in a remote procedure call (RPC). + RPC_S_INTERNAL_ERROR = 0x6E6, + // The RPC server attempted an integer division by zero. + RPC_S_ZERO_DIVIDE = 0x6E7, + // An addressing error occurred in the RPC server. + RPC_S_ADDRESS_ERROR = 0x6E8, + // A floating-point operation at the RPC server caused a division by zero. + RPC_S_FP_DIV_ZERO = 0x6E9, + // A floating-point underflow occurred at the RPC server. + RPC_S_FP_UNDERFLOW = 0x6EA, + // A floating-point overflow occurred at the RPC server. + RPC_S_FP_OVERFLOW = 0x6EB, + // The list of RPC servers available for the binding of auto handles has been exhausted. + RPC_X_NO_MORE_ENTRIES = 0x6EC, + // Unable to open the character translation table file. + RPC_X_SS_CHAR_TRANS_OPEN_FAIL = 0x6ED, + // The file containing the character translation table has fewer than 512 bytes. + RPC_X_SS_CHAR_TRANS_SHORT_FILE = 0x6EE, + // A null context handle was passed from the client to the host during a remote procedure call. + RPC_X_SS_IN_NULL_CONTEXT = 0x6EF, + // The context handle changed during a remote procedure call. + RPC_X_SS_CONTEXT_DAMAGED = 0x6F1, + // The binding handles passed to a remote procedure call do not match. + RPC_X_SS_HANDLES_MISMATCH = 0x6F2, + // The stub is unable to get the remote procedure call handle. + RPC_X_SS_CANNOT_GET_CALL_HANDLE = 0x6F3, + // A null reference pointer was passed to the stub. + RPC_X_NULL_REF_POINTER = 0x6F4, + // The enumeration value is out of range. + RPC_X_ENUM_VALUE_OUT_OF_RANGE = 0x6F5, + // The byte count is too small. + RPC_X_BYTE_COUNT_TOO_SMALL = 0x6F6, + // The stub received bad data. + RPC_X_BAD_STUB_DATA = 0x6F7, + // The supplied user buffer is not valid for the requested operation. + INVALID_USER_BUFFER = 0x6F8, + // The disk media is not recognized. It may not be formatted. + UNRECOGNIZED_MEDIA = 0x6F9, + // The workstation does not have a trust secret. + NO_TRUST_LSA_SECRET = 0x6FA, + // The security database on the server does not have a computer account for this workstation trust relationship. + NO_TRUST_SAM_ACCOUNT = 0x6FB, + // The trust relationship between the primary domain and the trusted domain failed. + TRUSTED_DOMAIN_FAILURE = 0x6FC, + // The trust relationship between this workstation and the primary domain failed. + TRUSTED_RELATIONSHIP_FAILURE = 0x6FD, + // The network logon failed. + TRUST_FAILURE = 0x6FE, + // A remote procedure call is already in progress for this thread. + RPC_S_CALL_IN_PROGRESS = 0x6FF, + // An attempt was made to logon, but the network logon service was not started. + NETLOGON_NOT_STARTED = 0x700, + // The user's account has expired. + ACCOUNT_EXPIRED = 0x701, + // The redirector is in use and cannot be unloaded. + REDIRECTOR_HAS_OPEN_HANDLES = 0x702, + // The specified printer driver is already installed. + PRINTER_DRIVER_ALREADY_INSTALLED = 0x703, + // The specified port is unknown. + UNKNOWN_PORT = 0x704, + // The printer driver is unknown. + UNKNOWN_PRINTER_DRIVER = 0x705, + // The print processor is unknown. + UNKNOWN_PRINTPROCESSOR = 0x706, + // The specified separator file is invalid. + INVALID_SEPARATOR_FILE = 0x707, + // The specified priority is invalid. + INVALID_PRIORITY = 0x708, + // The printer name is invalid. + INVALID_PRINTER_NAME = 0x709, + // The printer already exists. + PRINTER_ALREADY_EXISTS = 0x70A, + // The printer command is invalid. + INVALID_PRINTER_COMMAND = 0x70B, + // The specified datatype is invalid. + INVALID_DATATYPE = 0x70C, + // The environment specified is invalid. + INVALID_ENVIRONMENT = 0x70D, + // There are no more bindings. + RPC_S_NO_MORE_BINDINGS = 0x70E, + // The account used is an interdomain trust account. Use your global user account or local user account to access this server. + NOLOGON_INTERDOMAIN_TRUST_ACCOUNT = 0x70F, + // The account used is a computer account. Use your global user account or local user account to access this server. + NOLOGON_WORKSTATION_TRUST_ACCOUNT = 0x710, + // The account used is a server trust account. Use your global user account or local user account to access this server. + NOLOGON_SERVER_TRUST_ACCOUNT = 0x711, + // The name or security ID (SID) of the domain specified is inconsistent with the trust information for that domain. + DOMAIN_TRUST_INCONSISTENT = 0x712, + // The server is in use and cannot be unloaded. + SERVER_HAS_OPEN_HANDLES = 0x713, + // The specified image file did not contain a resource section. + RESOURCE_DATA_NOT_FOUND = 0x714, + // The specified resource type cannot be found in the image file. + RESOURCE_TYPE_NOT_FOUND = 0x715, + // The specified resource name cannot be found in the image file. + RESOURCE_NAME_NOT_FOUND = 0x716, + // The specified resource language ID cannot be found in the image file. + RESOURCE_LANG_NOT_FOUND = 0x717, + // Not enough quota is available to process this command. + NOT_ENOUGH_QUOTA = 0x718, + // No interfaces have been registered. + RPC_S_NO_INTERFACES = 0x719, + // The remote procedure call was cancelled. + RPC_S_CALL_CANCELLED = 0x71A, + // The binding handle does not contain all required information. + RPC_S_BINDING_INCOMPLETE = 0x71B, + // A communications failure occurred during a remote procedure call. + RPC_S_COMM_FAILURE = 0x71C, + // The requested authentication level is not supported. + RPC_S_UNSUPPORTED_AUTHN_LEVEL = 0x71D, + // No principal name registered. + RPC_S_NO_PRINC_NAME = 0x71E, + // The error specified is not a valid Windows RPC error code. + RPC_S_NOT_RPC_ERROR = 0x71F, + // A UUID that is valid only on this computer has been allocated. + RPC_S_UUID_LOCAL_ONLY = 0x720, + // A security package specific error occurred. + RPC_S_SEC_PKG_ERROR = 0x721, + // Thread is not canceled. + RPC_S_NOT_CANCELLED = 0x722, + // Invalid operation on the encoding/decoding handle. + RPC_X_INVALID_ES_ACTION = 0x723, + // Incompatible version of the serializing package. + RPC_X_WRONG_ES_VERSION = 0x724, + // Incompatible version of the RPC stub. + RPC_X_WRONG_STUB_VERSION = 0x725, + // The RPC pipe object is invalid or corrupted. + RPC_X_INVALID_PIPE_OBJECT = 0x726, + // An invalid operation was attempted on an RPC pipe object. + RPC_X_WRONG_PIPE_ORDER = 0x727, + // Unsupported RPC pipe version. + RPC_X_WRONG_PIPE_VERSION = 0x728, + // HTTP proxy server rejected the connection because the cookie authentication failed. + RPC_S_COOKIE_AUTH_FAILED = 0x729, + // The group member was not found. + RPC_S_GROUP_MEMBER_NOT_FOUND = 0x76A, + // The endpoint mapper database entry could not be created. + EPT_S_CANT_CREATE = 0x76B, + // The object universal unique identifier (UUID) is the nil UUID. + RPC_S_INVALID_OBJECT = 0x76C, + // The specified time is invalid. + INVALID_TIME = 0x76D, + // The specified form name is invalid. + INVALID_FORM_NAME = 0x76E, + // The specified form size is invalid. + INVALID_FORM_SIZE = 0x76F, + // The specified printer handle is already being waited on. + ALREADY_WAITING = 0x770, + // The specified printer has been deleted. + PRINTER_DELETED = 0x771, + // The state of the printer is invalid. + INVALID_PRINTER_STATE = 0x772, + // The user's password must be changed before signing in. + PASSWORD_MUST_CHANGE = 0x773, + // Could not find the domain controller for this domain. + DOMAIN_CONTROLLER_NOT_FOUND = 0x774, + // The referenced account is currently locked out and may not be logged on to. + ACCOUNT_LOCKED_OUT = 0x775, + // The object exporter specified was not found. + OR_INVALID_OXID = 0x776, + // The object specified was not found. + OR_INVALID_OID = 0x777, + // The object resolver set specified was not found. + OR_INVALID_SET = 0x778, + // Some data remains to be sent in the request buffer. + RPC_S_SEND_INCOMPLETE = 0x779, + // Invalid asynchronous remote procedure call handle. + RPC_S_INVALID_ASYNC_HANDLE = 0x77A, + // Invalid asynchronous RPC call handle for this operation. + RPC_S_INVALID_ASYNC_CALL = 0x77B, + // The RPC pipe object has already been closed. + RPC_X_PIPE_CLOSED = 0x77C, + // The RPC call completed before all pipes were processed. + RPC_X_PIPE_DISCIPLINE_ERROR = 0x77D, + // No more data is available from the RPC pipe. + RPC_X_PIPE_EMPTY = 0x77E, + // No site name is available for this machine. + NO_SITENAME = 0x77F, + // The file cannot be accessed by the system. + CANT_ACCESS_FILE = 0x780, + // The name of the file cannot be resolved by the system. + CANT_RESOLVE_FILENAME = 0x781, + // The entry is not of the expected type. + RPC_S_ENTRY_TYPE_MISMATCH = 0x782, + // Not all object UUIDs could be exported to the specified entry. + RPC_S_NOT_ALL_OBJS_EXPORTED = 0x783, + // Interface could not be exported to the specified entry. + RPC_S_INTERFACE_NOT_EXPORTED = 0x784, + // The specified profile entry could not be added. + RPC_S_PROFILE_NOT_ADDED = 0x785, + // The specified profile element could not be added. + RPC_S_PRF_ELT_NOT_ADDED = 0x786, + // The specified profile element could not be removed. + RPC_S_PRF_ELT_NOT_REMOVED = 0x787, + // The group element could not be added. + RPC_S_GRP_ELT_NOT_ADDED = 0x788, + // The group element could not be removed. + RPC_S_GRP_ELT_NOT_REMOVED = 0x789, + // The printer driver is not compatible with a policy enabled on your computer that blocks NT 4.0 drivers. + KM_DRIVER_BLOCKED = 0x78A, + // The context has expired and can no longer be used. + CONTEXT_EXPIRED = 0x78B, + // The current user's delegated trust creation quota has been exceeded. + PER_USER_TRUST_QUOTA_EXCEEDED = 0x78C, + // The total delegated trust creation quota has been exceeded. + ALL_USER_TRUST_QUOTA_EXCEEDED = 0x78D, + // The current user's delegated trust deletion quota has been exceeded. + USER_DELETE_TRUST_QUOTA_EXCEEDED = 0x78E, + // The computer you are signing into is protected by an authentication firewall. The specified account is not allowed to authenticate to the computer. + AUTHENTICATION_FIREWALL_FAILED = 0x78F, + // Remote connections to the Print Spooler are blocked by a policy set on your machine. + REMOTE_PRINT_CONNECTIONS_BLOCKED = 0x790, + // Authentication failed because NTLM authentication has been disabled. + NTLM_BLOCKED = 0x791, + // Logon Failure: EAS policy requires that the user change their password before this operation can be performed. + PASSWORD_CHANGE_REQUIRED = 0x792, + // The pixel format is invalid. + INVALID_PIXEL_FORMAT = 0x7D0, + // The specified driver is invalid. + BAD_DRIVER = 0x7D1, + // The window style or class attribute is invalid for this operation. + INVALID_WINDOW_STYLE = 0x7D2, + // The requested metafile operation is not supported. + METAFILE_NOT_SUPPORTED = 0x7D3, + // The requested transformation operation is not supported. + TRANSFORM_NOT_SUPPORTED = 0x7D4, + // The requested clipping operation is not supported. + CLIPPING_NOT_SUPPORTED = 0x7D5, + // The specified color management module is invalid. + INVALID_CMM = 0x7DA, + // The specified color profile is invalid. + INVALID_PROFILE = 0x7DB, + // The specified tag was not found. + TAG_NOT_FOUND = 0x7DC, + // A required tag is not present. + TAG_NOT_PRESENT = 0x7DD, + // The specified tag is already present. + DUPLICATE_TAG = 0x7DE, + // The specified color profile is not associated with the specified device. + PROFILE_NOT_ASSOCIATED_WITH_DEVICE = 0x7DF, + // The specified color profile was not found. + PROFILE_NOT_FOUND = 0x7E0, + // The specified color space is invalid. + INVALID_COLORSPACE = 0x7E1, + // Image Color Management is not enabled. + ICM_NOT_ENABLED = 0x7E2, + // There was an error while deleting the color transform. + DELETING_ICM_XFORM = 0x7E3, + // The specified color transform is invalid. + INVALID_TRANSFORM = 0x7E4, + // The specified transform does not match the bitmap's color space. + COLORSPACE_MISMATCH = 0x7E5, + // The specified named color index is not present in the profile. + INVALID_COLORINDEX = 0x7E6, + // The specified profile is intended for a device of a different type than the specified device. + PROFILE_DOES_NOT_MATCH_DEVICE = 0x7E7, + // The network connection was made successfully, but the user had to be prompted for a password other than the one originally specified. + CONNECTED_OTHER_PASSWORD = 0x83C, + // The network connection was made successfully using default credentials. + CONNECTED_OTHER_PASSWORD_DEFAULT = 0x83D, + // The specified username is invalid. + BAD_USERNAME = 0x89A, + // This network connection does not exist. + NOT_CONNECTED = 0x8CA, + // This network connection has files open or requests pending. + OPEN_FILES = 0x961, + // Active connections still exist. + ACTIVE_CONNECTIONS = 0x962, + // The device is in use by an active process and cannot be disconnected. + DEVICE_IN_USE = 0x964, + // The specified print monitor is unknown. + UNKNOWN_PRINT_MONITOR = 0xBB8, + // The specified printer driver is currently in use. + PRINTER_DRIVER_IN_USE = 0xBB9, + // The spool file was not found. + SPOOL_FILE_NOT_FOUND = 0xBBA, + // A StartDocPrinter call was not issued. + SPL_NO_STARTDOC = 0xBBB, + // An AddJob call was not issued. + SPL_NO_ADDJOB = 0xBBC, + // The specified print processor has already been installed. + PRINT_PROCESSOR_ALREADY_INSTALLED = 0xBBD, + // The specified print monitor has already been installed. + PRINT_MONITOR_ALREADY_INSTALLED = 0xBBE, + // The specified print monitor does not have the required functions. + INVALID_PRINT_MONITOR = 0xBBF, + // The specified print monitor is currently in use. + PRINT_MONITOR_IN_USE = 0xBC0, + // The requested operation is not allowed when there are jobs queued to the printer. + PRINTER_HAS_JOBS_QUEUED = 0xBC1, + // The requested operation is successful. Changes will not be effective until the system is rebooted. + SUCCESS_REBOOT_REQUIRED = 0xBC2, + // The requested operation is successful. Changes will not be effective until the service is restarted. + SUCCESS_RESTART_REQUIRED = 0xBC3, + // No printers were found. + PRINTER_NOT_FOUND = 0xBC4, + // The printer driver is known to be unreliable. + PRINTER_DRIVER_WARNED = 0xBC5, + // The printer driver is known to harm the system. + PRINTER_DRIVER_BLOCKED = 0xBC6, + // The specified printer driver package is currently in use. + PRINTER_DRIVER_PACKAGE_IN_USE = 0xBC7, + // Unable to find a core driver package that is required by the printer driver package. + CORE_DRIVER_PACKAGE_NOT_FOUND = 0xBC8, + // The requested operation failed. A system reboot is required to roll back changes made. + FAIL_REBOOT_REQUIRED = 0xBC9, + // The requested operation failed. A system reboot has been initiated to roll back changes made. + FAIL_REBOOT_INITIATED = 0xBCA, + // The specified printer driver was not found on the system and needs to be downloaded. + PRINTER_DRIVER_DOWNLOAD_NEEDED = 0xBCB, + // The requested print job has failed to print. A print system update requires the job to be resubmitted. + PRINT_JOB_RESTART_REQUIRED = 0xBCC, + // The printer driver does not contain a valid manifest, or contains too many manifests. + INVALID_PRINTER_DRIVER_MANIFEST = 0xBCD, + // The specified printer cannot be shared. + PRINTER_NOT_SHAREABLE = 0xBCE, + // The operation was paused. + REQUEST_PAUSED = 0xBEA, + // Reissue the given operation as a cached IO operation. + IO_REISSUE_AS_CACHED = 0xF6E, + + // WINS encountered an error while processing the command. + WINS_INTERNAL = 0xFA0, + // The local WINS cannot be deleted. + CAN_NOT_DEL_LOCAL_WINS = 0xFA1, + // The importation from the file failed. + STATIC_INIT = 0xFA2, + // The backup failed. Was a full backup done before? + INC_BACKUP = 0xFA3, + // The backup failed. Check the directory to which you are backing the database. + FULL_BACKUP = 0xFA4, + // The name does not exist in the WINS database. + REC_NON_EXISTENT = 0xFA5, + // Replication with a nonconfigured partner is not allowed. + RPL_NOT_ALLOWED = 0xFA6, + // The version of the supplied content information is not supported. + PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED = 0xFD2, + // The supplied content information is malformed. + PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO = 0xFD3, + // The requested data cannot be found in local or peer caches. + PEERDIST_ERROR_MISSING_DATA = 0xFD4, + // No more data is available or required. + PEERDIST_ERROR_NO_MORE = 0xFD5, + // The supplied object has not been initialized. + PEERDIST_ERROR_NOT_INITIALIZED = 0xFD6, + // The supplied object has already been initialized. + PEERDIST_ERROR_ALREADY_INITIALIZED = 0xFD7, + // A shutdown operation is already in progress. + PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS = 0xFD8, + // The supplied object has already been invalidated. + PEERDIST_ERROR_INVALIDATED = 0xFD9, + // An element already exists and was not replaced. + PEERDIST_ERROR_ALREADY_EXISTS = 0xFDA, + // Cannot cancel the requested operation as it has already been completed. + PEERDIST_ERROR_OPERATION_NOTFOUND = 0xFDB, + // Can not perform the reqested operation because it has already been carried out. + PEERDIST_ERROR_ALREADY_COMPLETED = 0xFDC, + // An operation accessed data beyond the bounds of valid data. + PEERDIST_ERROR_OUT_OF_BOUNDS = 0xFDD, + // The requested version is not supported. + PEERDIST_ERROR_VERSION_UNSUPPORTED = 0xFDE, + // A configuration value is invalid. + PEERDIST_ERROR_INVALID_CONFIGURATION = 0xFDF, + // The SKU is not licensed. + PEERDIST_ERROR_NOT_LICENSED = 0xFE0, + // PeerDist Service is still initializing and will be available shortly. + PEERDIST_ERROR_SERVICE_UNAVAILABLE = 0xFE1, + // Communication with one or more computers will be temporarily blocked due to recent errors. + PEERDIST_ERROR_TRUST_FAILURE = 0xFE2, + // The DHCP client has obtained an IP address that is already in use on the network. The local interface will be disabled until the DHCP client can obtain a new address. + DHCP_ADDRESS_CONFLICT = 0x1004, + // The GUID passed was not recognized as valid by a WMI data provider. + WMI_GUID_NOT_FOUND = 0x1068, + // The instance name passed was not recognized as valid by a WMI data provider. + WMI_INSTANCE_NOT_FOUND = 0x1069, + // The data item ID passed was not recognized as valid by a WMI data provider. + WMI_ITEMID_NOT_FOUND = 0x106A, + // The WMI request could not be completed and should be retried. + WMI_TRY_AGAIN = 0x106B, + // The WMI data provider could not be located. + WMI_DP_NOT_FOUND = 0x106C, + // The WMI data provider references an instance set that has not been registered. + WMI_UNRESOLVED_INSTANCE_REF = 0x106D, + // The WMI data block or event notification has already been enabled. + WMI_ALREADY_ENABLED = 0x106E, + // The WMI data block is no longer available. + WMI_GUID_DISCONNECTED = 0x106F, + // The WMI data service is not available. + WMI_SERVER_UNAVAILABLE = 0x1070, + // The WMI data provider failed to carry out the request. + WMI_DP_FAILED = 0x1071, + // The WMI MOF information is not valid. + WMI_INVALID_MOF = 0x1072, + // The WMI registration information is not valid. + WMI_INVALID_REGINFO = 0x1073, + // The WMI data block or event notification has already been disabled. + WMI_ALREADY_DISABLED = 0x1074, + // The WMI data item or data block is read only. + WMI_READ_ONLY = 0x1075, + // The WMI data item or data block could not be changed. + WMI_SET_FAILURE = 0x1076, + // This operation is only valid in the context of an app container. + NOT_APPCONTAINER = 0x109A, + // This application can only run in the context of an app container. + APPCONTAINER_REQUIRED = 0x109B, + // This functionality is not supported in the context of an app container. + NOT_SUPPORTED_IN_APPCONTAINER = 0x109C, + // The length of the SID supplied is not a valid length for app container SIDs. + INVALID_PACKAGE_SID_LENGTH = 0x109D, + // The media identifier does not represent a valid medium. + INVALID_MEDIA = 0x10CC, + // The library identifier does not represent a valid library. + INVALID_LIBRARY = 0x10CD, + // The media pool identifier does not represent a valid media pool. + INVALID_MEDIA_POOL = 0x10CE, + // The drive and medium are not compatible or exist in different libraries. + DRIVE_MEDIA_MISMATCH = 0x10CF, + // The medium currently exists in an offline library and must be online to perform this operation. + MEDIA_OFFLINE = 0x10D0, + // The operation cannot be performed on an offline library. + LIBRARY_OFFLINE = 0x10D1, + // The library, drive, or media pool is empty. + EMPTY = 0x10D2, + // The library, drive, or media pool must be empty to perform this operation. + NOT_EMPTY = 0x10D3, + // No media is currently available in this media pool or library. + MEDIA_UNAVAILABLE = 0x10D4, + // A resource required for this operation is disabled. + RESOURCE_DISABLED = 0x10D5, + // The media identifier does not represent a valid cleaner. + INVALID_CLEANER = 0x10D6, + // The drive cannot be cleaned or does not support cleaning. + UNABLE_TO_CLEAN = 0x10D7, + // The object identifier does not represent a valid object. + OBJECT_NOT_FOUND = 0x10D8, + // Unable to read from or write to the database. + DATABASE_FAILURE = 0x10D9, + // The database is full. + DATABASE_FULL = 0x10DA, + // The medium is not compatible with the device or media pool. + MEDIA_INCOMPATIBLE = 0x10DB, + // The resource required for this operation does not exist. + RESOURCE_NOT_PRESENT = 0x10DC, + // The operation identifier is not valid. + INVALID_OPERATION = 0x10DD, + // The media is not mounted or ready for use. + MEDIA_NOT_AVAILABLE = 0x10DE, + // The device is not ready for use. + DEVICE_NOT_AVAILABLE = 0x10DF, + // The operator or administrator has refused the request. + REQUEST_REFUSED = 0x10E0, + // The drive identifier does not represent a valid drive. + INVALID_DRIVE_OBJECT = 0x10E1, + // Library is full. No slot is available for use. + LIBRARY_FULL = 0x10E2, + // The transport cannot access the medium. + MEDIUM_NOT_ACCESSIBLE = 0x10E3, + // Unable to load the medium into the drive. + UNABLE_TO_LOAD_MEDIUM = 0x10E4, + // Unable to retrieve the drive status. + UNABLE_TO_INVENTORY_DRIVE = 0x10E5, + // Unable to retrieve the slot status. + UNABLE_TO_INVENTORY_SLOT = 0x10E6, + // Unable to retrieve status about the transport. + UNABLE_TO_INVENTORY_TRANSPORT = 0x10E7, + // Cannot use the transport because it is already in use. + TRANSPORT_FULL = 0x10E8, + // Unable to open or close the inject/eject port. + CONTROLLING_IEPORT = 0x10E9, + // Unable to eject the medium because it is in a drive. + UNABLE_TO_EJECT_MOUNTED_MEDIA = 0x10EA, + // A cleaner slot is already reserved. + CLEANER_SLOT_SET = 0x10EB, + // A cleaner slot is not reserved. + CLEANER_SLOT_NOT_SET = 0x10EC, + // The cleaner cartridge has performed the maximum number of drive cleanings. + CLEANER_CARTRIDGE_SPENT = 0x10ED, + // Unexpected on-medium identifier. + UNEXPECTED_OMID = 0x10EE, + // The last remaining item in this group or resource cannot be deleted. + CANT_DELETE_LAST_ITEM = 0x10EF, + // The message provided exceeds the maximum size allowed for this parameter. + MESSAGE_EXCEEDS_MAX_SIZE = 0x10F0, + // The volume contains system or paging files. + VOLUME_CONTAINS_SYS_FILES = 0x10F1, + // The media type cannot be removed from this library since at least one drive in the library reports it can support this media type. + INDIGENOUS_TYPE = 0x10F2, + // This offline media cannot be mounted on this system since no enabled drives are present which can be used. + NO_SUPPORTING_DRIVES = 0x10F3, + // A cleaner cartridge is present in the tape library. + CLEANER_CARTRIDGE_INSTALLED = 0x10F4, + // Cannot use the inject/eject port because it is not empty. + IEPORT_FULL = 0x10F5, + // This file is currently not available for use on this computer. + FILE_OFFLINE = 0x10FE, + // The remote storage service is not operational at this time. + REMOTE_STORAGE_NOT_ACTIVE = 0x10FF, + // The remote storage service encountered a media error. + REMOTE_STORAGE_MEDIA_ERROR = 0x1100, + // The file or directory is not a reparse point. + NOT_A_REPARSE_POINT = 0x1126, + // The reparse point attribute cannot be set because it conflicts with an existing attribute. + REPARSE_ATTRIBUTE_CONFLICT = 0x1127, + // The data present in the reparse point buffer is invalid. + INVALID_REPARSE_DATA = 0x1128, + // The tag present in the reparse point buffer is invalid. + REPARSE_TAG_INVALID = 0x1129, + // There is a mismatch between the tag specified in the request and the tag present in the reparse point. + REPARSE_TAG_MISMATCH = 0x112A, + // Fast Cache data not found. + APP_DATA_NOT_FOUND = 0x1130, + // Fast Cache data expired. + APP_DATA_EXPIRED = 0x1131, + // Fast Cache data corrupt. + APP_DATA_CORRUPT = 0x1132, + // Fast Cache data has exceeded its max size and cannot be updated. + APP_DATA_LIMIT_EXCEEDED = 0x1133, + // Fast Cache has been ReArmed and requires a reboot until it can be updated. + APP_DATA_REBOOT_REQUIRED = 0x1134, + // Secure Boot detected that rollback of protected data has been attempted. + SECUREBOOT_ROLLBACK_DETECTED = 0x1144, + // The value is protected by Secure Boot policy and cannot be modified or deleted. + SECUREBOOT_POLICY_VIOLATION = 0x1145, + // The Secure Boot policy is invalid. + SECUREBOOT_INVALID_POLICY = 0x1146, + // A new Secure Boot policy did not contain the current publisher on its update list. + SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND = 0x1147, + // The Secure Boot policy is either not signed or is signed by a non-trusted signer. + SECUREBOOT_POLICY_NOT_SIGNED = 0x1148, + // Secure Boot is not enabled on this machine. + SECUREBOOT_NOT_ENABLED = 0x1149, + // Secure Boot requires that certain files and drivers are not replaced by other files or drivers. + SECUREBOOT_FILE_REPLACED = 0x114A, + // The copy offload read operation is not supported by a filter. + OFFLOAD_READ_FLT_NOT_SUPPORTED = 0x1158, + // The copy offload write operation is not supported by a filter. + OFFLOAD_WRITE_FLT_NOT_SUPPORTED = 0x1159, + // The copy offload read operation is not supported for the file. + OFFLOAD_READ_FILE_NOT_SUPPORTED = 0x115A, + // The copy offload write operation is not supported for the file. + OFFLOAD_WRITE_FILE_NOT_SUPPORTED = 0x115B, + // Single Instance Storage is not available on this volume. + VOLUME_NOT_SIS_ENABLED = 0x1194, + // The operation cannot be completed because other resources are dependent on this resource. + DEPENDENT_RESOURCE_EXISTS = 0x1389, + // The cluster resource dependency cannot be found. + DEPENDENCY_NOT_FOUND = 0x138A, + // The cluster resource cannot be made dependent on the specified resource because it is already dependent. + DEPENDENCY_ALREADY_EXISTS = 0x138B, + // The cluster resource is not online. + RESOURCE_NOT_ONLINE = 0x138C, + // A cluster node is not available for this operation. + HOST_NODE_NOT_AVAILABLE = 0x138D, + // The cluster resource is not available. + RESOURCE_NOT_AVAILABLE = 0x138E, + // The cluster resource could not be found. + RESOURCE_NOT_FOUND = 0x138F, + // The cluster is being shut down. + SHUTDOWN_CLUSTER = 0x1390, + // A cluster node cannot be evicted from the cluster unless the node is down or it is the last node. + CANT_EVICT_ACTIVE_NODE = 0x1391, + // The object already exists. + OBJECT_ALREADY_EXISTS = 0x1392, + // The object is already in the list. + OBJECT_IN_LIST = 0x1393, + // The cluster group is not available for any new requests. + GROUP_NOT_AVAILABLE = 0x1394, + // The cluster group could not be found. + GROUP_NOT_FOUND = 0x1395, + // The operation could not be completed because the cluster group is not online. + GROUP_NOT_ONLINE = 0x1396, + // The operation failed because either the specified cluster node is not the owner of the resource, or the node is not a possible owner of the resource. + HOST_NODE_NOT_RESOURCE_OWNER = 0x1397, + // The operation failed because either the specified cluster node is not the owner of the group, or the node is not a possible owner of the group. + HOST_NODE_NOT_GROUP_OWNER = 0x1398, + // The cluster resource could not be created in the specified resource monitor. + RESMON_CREATE_FAILED = 0x1399, + // The cluster resource could not be brought online by the resource monitor. + RESMON_ONLINE_FAILED = 0x139A, + // The operation could not be completed because the cluster resource is online. + RESOURCE_ONLINE = 0x139B, + // The cluster resource could not be deleted or brought offline because it is the quorum resource. + QUORUM_RESOURCE = 0x139C, + // The cluster could not make the specified resource a quorum resource because it is not capable of being a quorum resource. + NOT_QUORUM_CAPABLE = 0x139D, + // The cluster software is shutting down. + CLUSTER_SHUTTING_DOWN = 0x139E, + // The group or resource is not in the correct state to perform the requested operation. + INVALID_STATE = 0x139F, + // The properties were stored but not all changes will take effect until the next time the resource is brought online. + RESOURCE_PROPERTIES_STORED = 0x13A0, + // The cluster could not make the specified resource a quorum resource because it does not belong to a shared storage class. + NOT_QUORUM_CLASS = 0x13A1, + // The cluster resource could not be deleted since it is a core resource. + CORE_RESOURCE = 0x13A2, + // The quorum resource failed to come online. + QUORUM_RESOURCE_ONLINE_FAILED = 0x13A3, + // The quorum log could not be created or mounted successfully. + QUORUMLOG_OPEN_FAILED = 0x13A4, + // The cluster log is corrupt. + CLUSTERLOG_CORRUPT = 0x13A5, + // The record could not be written to the cluster log since it exceeds the maximum size. + CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE = 0x13A6, + // The cluster log exceeds its maximum size. + CLUSTERLOG_EXCEEDS_MAXSIZE = 0x13A7, + // No checkpoint record was found in the cluster log. + CLUSTERLOG_CHKPOINT_NOT_FOUND = 0x13A8, + // The minimum required disk space needed for logging is not available. + CLUSTERLOG_NOT_ENOUGH_SPACE = 0x13A9, + // The cluster node failed to take control of the quorum resource because the resource is owned by another active node. + QUORUM_OWNER_ALIVE = 0x13AA, + // A cluster network is not available for this operation. + NETWORK_NOT_AVAILABLE = 0x13AB, + // A cluster node is not available for this operation. + NODE_NOT_AVAILABLE = 0x13AC, + // All cluster nodes must be running to perform this operation. + ALL_NODES_NOT_AVAILABLE = 0x13AD, + // A cluster resource failed. + RESOURCE_FAILED = 0x13AE, + // The cluster node is not valid. + CLUSTER_INVALID_NODE = 0x13AF, + // The cluster node already exists. + CLUSTER_NODE_EXISTS = 0x13B0, + // A node is in the process of joining the cluster. + CLUSTER_JOIN_IN_PROGRESS = 0x13B1, + // The cluster node was not found. + CLUSTER_NODE_NOT_FOUND = 0x13B2, + // The cluster local node information was not found. + CLUSTER_LOCAL_NODE_NOT_FOUND = 0x13B3, + // The cluster network already exists. + CLUSTER_NETWORK_EXISTS = 0x13B4, + // The cluster network was not found. + CLUSTER_NETWORK_NOT_FOUND = 0x13B5, + // The cluster network interface already exists. + CLUSTER_NETINTERFACE_EXISTS = 0x13B6, + // The cluster network interface was not found. + CLUSTER_NETINTERFACE_NOT_FOUND = 0x13B7, + // The cluster request is not valid for this object. + CLUSTER_INVALID_REQUEST = 0x13B8, + // The cluster network provider is not valid. + CLUSTER_INVALID_NETWORK_PROVIDER = 0x13B9, + // The cluster node is down. + CLUSTER_NODE_DOWN = 0x13BA, + // The cluster node is not reachable. + CLUSTER_NODE_UNREACHABLE = 0x13BB, + // The cluster node is not a member of the cluster. + CLUSTER_NODE_NOT_MEMBER = 0x13BC, + // A cluster join operation is not in progress. + CLUSTER_JOIN_NOT_IN_PROGRESS = 0x13BD, + // The cluster network is not valid. + CLUSTER_INVALID_NETWORK = 0x13BE, + // The cluster node is up. + CLUSTER_NODE_UP = 0x13C0, + // The cluster IP address is already in use. + CLUSTER_IPADDR_IN_USE = 0x13C1, + // The cluster node is not paused. + CLUSTER_NODE_NOT_PAUSED = 0x13C2, + // No cluster security context is available. + CLUSTER_NO_SECURITY_CONTEXT = 0x13C3, + // The cluster network is not configured for internal cluster communication. + CLUSTER_NETWORK_NOT_INTERNAL = 0x13C4, + // The cluster node is already up. + CLUSTER_NODE_ALREADY_UP = 0x13C5, + // The cluster node is already down. + CLUSTER_NODE_ALREADY_DOWN = 0x13C6, + // The cluster network is already online. + CLUSTER_NETWORK_ALREADY_ONLINE = 0x13C7, + // The cluster network is already offline. + CLUSTER_NETWORK_ALREADY_OFFLINE = 0x13C8, + // The cluster node is already a member of the cluster. + CLUSTER_NODE_ALREADY_MEMBER = 0x13C9, + // The cluster network is the only one configured for internal cluster communication between two or more active cluster nodes. The internal communication capability cannot be removed from the network. + CLUSTER_LAST_INTERNAL_NETWORK = 0x13CA, + // One or more cluster resources depend on the network to provide service to clients. The client access capability cannot be removed from the network. + CLUSTER_NETWORK_HAS_DEPENDENTS = 0x13CB, + // This operation cannot be performed on the cluster resource as it the quorum resource. You may not bring the quorum resource offline or modify its possible owners list. + INVALID_OPERATION_ON_QUORUM = 0x13CC, + // The cluster quorum resource is not allowed to have any dependencies. + DEPENDENCY_NOT_ALLOWED = 0x13CD, + // The cluster node is paused. + CLUSTER_NODE_PAUSED = 0x13CE, + // The cluster resource cannot be brought online. The owner node cannot run this resource. + NODE_CANT_HOST_RESOURCE = 0x13CF, + // The cluster node is not ready to perform the requested operation. + CLUSTER_NODE_NOT_READY = 0x13D0, + // The cluster node is shutting down. + CLUSTER_NODE_SHUTTING_DOWN = 0x13D1, + // The cluster join operation was aborted. + CLUSTER_JOIN_ABORTED = 0x13D2, + // The cluster join operation failed due to incompatible software versions between the joining node and its sponsor. + CLUSTER_INCOMPATIBLE_VERSIONS = 0x13D3, + // This resource cannot be created because the cluster has reached the limit on the number of resources it can monitor. + CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED = 0x13D4, + // The system configuration changed during the cluster join or form operation. The join or form operation was aborted. + CLUSTER_SYSTEM_CONFIG_CHANGED = 0x13D5, + // The specified resource type was not found. + CLUSTER_RESOURCE_TYPE_NOT_FOUND = 0x13D6, + // The specified node does not support a resource of this type. This may be due to version inconsistencies or due to the absence of the resource DLL on this node. + CLUSTER_RESTYPE_NOT_SUPPORTED = 0x13D7, + // The specified resource name is not supported by this resource DLL. This may be due to a bad (or changed) name supplied to the resource DLL. + CLUSTER_RESNAME_NOT_FOUND = 0x13D8, + // No authentication package could be registered with the RPC server. + CLUSTER_NO_RPC_PACKAGES_REGISTERED = 0x13D9, + // You cannot bring the group online because the owner of the group is not in the preferred list for the group. To change the owner node for the group, move the group. + CLUSTER_OWNER_NOT_IN_PREFLIST = 0x13DA, + // The join operation failed because the cluster database sequence number has changed or is incompatible with the locker node. This may happen during a join operation if the cluster database was changing during the join. + CLUSTER_DATABASE_SEQMISMATCH = 0x13DB, + // The resource monitor will not allow the fail operation to be performed while the resource is in its current state. This may happen if the resource is in a pending state. + RESMON_INVALID_STATE = 0x13DC, + // A non locker code got a request to reserve the lock for making global updates. + CLUSTER_GUM_NOT_LOCKER = 0x13DD, + // The quorum disk could not be located by the cluster service. + QUORUM_DISK_NOT_FOUND = 0x13DE, + // The backed up cluster database is possibly corrupt. + DATABASE_BACKUP_CORRUPT = 0x13DF, + // A DFS root already exists in this cluster node. + CLUSTER_NODE_ALREADY_HAS_DFS_ROOT = 0x13E0, + // An attempt to modify a resource property failed because it conflicts with another existing property. + RESOURCE_PROPERTY_UNCHANGEABLE = 0x13E1, + // An operation was attempted that is incompatible with the current membership state of the node. + CLUSTER_MEMBERSHIP_INVALID_STATE = 0x1702, + // The quorum resource does not contain the quorum log. + CLUSTER_QUORUMLOG_NOT_FOUND = 0x1703, + // The membership engine requested shutdown of the cluster service on this node. + CLUSTER_MEMBERSHIP_HALT = 0x1704, + // The join operation failed because the cluster instance ID of the joining node does not match the cluster instance ID of the sponsor node. + CLUSTER_INSTANCE_ID_MISMATCH = 0x1705, + // A matching cluster network for the specified IP address could not be found. + CLUSTER_NETWORK_NOT_FOUND_FOR_IP = 0x1706, + // The actual data type of the property did not match the expected data type of the property. + CLUSTER_PROPERTY_DATA_TYPE_MISMATCH = 0x1707, + // The cluster node was evicted from the cluster successfully, but the node was not cleaned up. To determine what cleanup steps failed and how to recover, see the Failover Clustering application event log using Event Viewer. + CLUSTER_EVICT_WITHOUT_CLEANUP = 0x1708, + // Two or more parameter values specified for a resource's properties are in conflict. + CLUSTER_PARAMETER_MISMATCH = 0x1709, + // This computer cannot be made a member of a cluster. + NODE_CANNOT_BE_CLUSTERED = 0x170A, + // This computer cannot be made a member of a cluster because it does not have the correct version of Windows installed. + CLUSTER_WRONG_OS_VERSION = 0x170B, + // A cluster cannot be created with the specified cluster name because that cluster name is already in use. Specify a different name for the cluster. + CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME = 0x170C, + // The cluster configuration action has already been committed. + CLUSCFG_ALREADY_COMMITTED = 0x170D, + // The cluster configuration action could not be rolled back. + CLUSCFG_ROLLBACK_FAILED = 0x170E, + // The drive letter assigned to a system disk on one node conflicted with the drive letter assigned to a disk on another node. + CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT = 0x170F, + // One or more nodes in the cluster are running a version of Windows that does not support this operation. + CLUSTER_OLD_VERSION = 0x1710, + // The name of the corresponding computer account doesn't match the Network Name for this resource. + CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME = 0x1711, + // No network adapters are available. + CLUSTER_NO_NET_ADAPTERS = 0x1712, + // The cluster node has been poisoned. + CLUSTER_POISONED = 0x1713, + // The group is unable to accept the request since it is moving to another node. + CLUSTER_GROUP_MOVING = 0x1714, + // The resource type cannot accept the request since is too busy performing another operation. + CLUSTER_RESOURCE_TYPE_BUSY = 0x1715, + // The call to the cluster resource DLL timed out. + RESOURCE_CALL_TIMED_OUT = 0x1716, + // The address is not valid for an IPv6 Address resource. A global IPv6 address is required, and it must match a cluster network. Compatibility addresses are not permitted. + INVALID_CLUSTER_IPV6_ADDRESS = 0x1717, + // An internal cluster error occurred. A call to an invalid function was attempted. + CLUSTER_INTERNAL_INVALID_FUNCTION = 0x1718, + // A parameter value is out of acceptable range. + CLUSTER_PARAMETER_OUT_OF_BOUNDS = 0x1719, + // A network error occurred while sending data to another node in the cluster. The number of bytes transmitted was less than required. + CLUSTER_PARTIAL_SEND = 0x171A, + // An invalid cluster registry operation was attempted. + CLUSTER_REGISTRY_INVALID_FUNCTION = 0x171B, + // An input string of characters is not properly terminated. + CLUSTER_INVALID_STRING_TERMINATION = 0x171C, + // An input string of characters is not in a valid format for the data it represents. + CLUSTER_INVALID_STRING_FORMAT = 0x171D, + // An internal cluster error occurred. A cluster database transaction was attempted while a transaction was already in progress. + CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS = 0x171E, + // An internal cluster error occurred. There was an attempt to commit a cluster database transaction while no transaction was in progress. + CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS = 0x171F, + // An internal cluster error occurred. Data was not properly initialized. + CLUSTER_NULL_DATA = 0x1720, + // An error occurred while reading from a stream of data. An unexpected number of bytes was returned. + CLUSTER_PARTIAL_READ = 0x1721, + // An error occurred while writing to a stream of data. The required number of bytes could not be written. + CLUSTER_PARTIAL_WRITE = 0x1722, + // An error occurred while deserializing a stream of cluster data. + CLUSTER_CANT_DESERIALIZE_DATA = 0x1723, + // One or more property values for this resource are in conflict with one or more property values associated with its dependent resource(s). + DEPENDENT_RESOURCE_PROPERTY_CONFLICT = 0x1724, + // A quorum of cluster nodes was not present to form a cluster. + CLUSTER_NO_QUORUM = 0x1725, + // The cluster network is not valid for an IPv6 Address resource, or it does not match the configured address. + CLUSTER_INVALID_IPV6_NETWORK = 0x1726, + // The cluster network is not valid for an IPv6 Tunnel resource. Check the configuration of the IP Address resource on which the IPv6 Tunnel resource depends. + CLUSTER_INVALID_IPV6_TUNNEL_NETWORK = 0x1727, + // Quorum resource cannot reside in the Available Storage group. + QUORUM_NOT_ALLOWED_IN_THIS_GROUP = 0x1728, + // The dependencies for this resource are nested too deeply. + DEPENDENCY_TREE_TOO_COMPLEX = 0x1729, + // The call into the resource DLL raised an unhandled exception. + EXCEPTION_IN_RESOURCE_CALL = 0x172A, + // The RHS process failed to initialize. + CLUSTER_RHS_FAILED_INITIALIZATION = 0x172B, + // The Failover Clustering feature is not installed on this node. + CLUSTER_NOT_INSTALLED = 0x172C, + // The resources must be online on the same node for this operation. + CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE = 0x172D, + // A new node can not be added since this cluster is already at its maximum number of nodes. + CLUSTER_MAX_NODES_IN_CLUSTER = 0x172E, + // This cluster can not be created since the specified number of nodes exceeds the maximum allowed limit. + CLUSTER_TOO_MANY_NODES = 0x172F, + // An attempt to use the specified cluster name failed because an enabled computer object with the given name already exists in the domain. + CLUSTER_OBJECT_ALREADY_USED = 0x1730, + // This cluster cannot be destroyed. It has non-core application groups which must be deleted before the cluster can be destroyed. + NONCORE_GROUPS_FOUND = 0x1731, + // File share associated with file share witness resource cannot be hosted by this cluster or any of its nodes. + FILE_SHARE_RESOURCE_CONFLICT = 0x1732, + // Eviction of this node is invalid at this time. Due to quorum requirements node eviction will result in cluster shutdown. If it is the last node in the cluster, destroy cluster command should be used. + CLUSTER_EVICT_INVALID_REQUEST = 0x1733, + // Only one instance of this resource type is allowed in the cluster. + CLUSTER_SINGLETON_RESOURCE = 0x1734, + // Only one instance of this resource type is allowed per resource group. + CLUSTER_GROUP_SINGLETON_RESOURCE = 0x1735, + // The resource failed to come online due to the failure of one or more provider resources. + CLUSTER_RESOURCE_PROVIDER_FAILED = 0x1736, + // The resource has indicated that it cannot come online on any node. + CLUSTER_RESOURCE_CONFIGURATION_ERROR = 0x1737, + // The current operation cannot be performed on this group at this time. + CLUSTER_GROUP_BUSY = 0x1738, + // The directory or file is not located on a cluster shared volume. + CLUSTER_NOT_SHARED_VOLUME = 0x1739, + // The Security Descriptor does not meet the requirements for a cluster. + CLUSTER_INVALID_SECURITY_DESCRIPTOR = 0x173A, + // There is one or more shared volumes resources configured in the cluster. Those resources must be moved to available storage in order for operation to succeed. + CLUSTER_SHARED_VOLUMES_IN_USE = 0x173B, + // This group or resource cannot be directly manipulated. Use shared volume APIs to perform desired operation. + CLUSTER_USE_SHARED_VOLUMES_API = 0x173C, + // Back up is in progress. Please wait for backup completion before trying this operation again. + CLUSTER_BACKUP_IN_PROGRESS = 0x173D, + // The path does not belong to a cluster shared volume. + NON_CSV_PATH = 0x173E, + // The cluster shared volume is not locally mounted on this node. + CSV_VOLUME_NOT_LOCAL = 0x173F, + // The cluster watchdog is terminating. + CLUSTER_WATCHDOG_TERMINATING = 0x1740, + // A resource vetoed a move between two nodes because they are incompatible. + CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES = 0x1741, + // The request is invalid either because node weight cannot be changed while the cluster is in disk-only quorum mode, or because changing the node weight would violate the minimum cluster quorum requirements. + CLUSTER_INVALID_NODE_WEIGHT = 0x1742, + // The resource vetoed the call. + CLUSTER_RESOURCE_VETOED_CALL = 0x1743, + // Resource could not start or run because it could not reserve sufficient system resources. + RESMON_SYSTEM_RESOURCES_LACKING = 0x1744, + // A resource vetoed a move between two nodes because the destination currently does not have enough resources to complete the operation. + CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION = 0x1745, + // A resource vetoed a move between two nodes because the source currently does not have enough resources to complete the operation. + CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE = 0x1746, + // The requested operation can not be completed because the group is queued for an operation. + CLUSTER_GROUP_QUEUED = 0x1747, + // The requested operation can not be completed because a resource has locked status. + CLUSTER_RESOURCE_LOCKED_STATUS = 0x1748, + // The resource cannot move to another node because a cluster shared volume vetoed the operation. + CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED = 0x1749, + // A node drain is already in progress. + // This value was also named ERROR_CLUSTER_NODE_EVACUATION_IN_PROGRESS + CLUSTER_NODE_DRAIN_IN_PROGRESS = 0x174A, + // Clustered storage is not connected to the node. + CLUSTER_DISK_NOT_CONNECTED = 0x174B, + // The disk is not configured in a way to be used with CSV. CSV disks must have at least one partition that is formatted with NTFS. + DISK_NOT_CSV_CAPABLE = 0x174C, + // The resource must be part of the Available Storage group to complete this action. + RESOURCE_NOT_IN_AVAILABLE_STORAGE = 0x174D, + // CSVFS failed operation as volume is in redirected mode. + CLUSTER_SHARED_VOLUME_REDIRECTED = 0x174E, + // CSVFS failed operation as volume is not in redirected mode. + CLUSTER_SHARED_VOLUME_NOT_REDIRECTED = 0x174F, + // Cluster properties cannot be returned at this time. + CLUSTER_CANNOT_RETURN_PROPERTIES = 0x1750, + // The clustered disk resource contains software snapshot diff area that are not supported for Cluster Shared Volumes. + CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES = 0x1751, + // The operation cannot be completed because the resource is in maintenance mode. + CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE = 0x1752, + // The operation cannot be completed because of cluster affinity conflicts. + CLUSTER_AFFINITY_CONFLICT = 0x1753, + // The operation cannot be completed because the resource is a replica virtual machine. + CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE = 0x1754, + + // The specified file could not be encrypted. + ENCRYPTION_FAILED = 0x1770, + // The specified file could not be decrypted. + DECRYPTION_FAILED = 0x1771, + // The specified file is encrypted and the user does not have the ability to decrypt it. + FILE_ENCRYPTED = 0x1772, + // There is no valid encryption recovery policy configured for this system. + NO_RECOVERY_POLICY = 0x1773, + // The required encryption driver is not loaded for this system. + NO_EFS = 0x1774, + // The file was encrypted with a different encryption driver than is currently loaded. + WRONG_EFS = 0x1775, + // There are no EFS keys defined for the user. + NO_USER_KEYS = 0x1776, + // The specified file is not encrypted. + FILE_NOT_ENCRYPTED = 0x1777, + // The specified file is not in the defined EFS export format. + NOT_EXPORT_FORMAT = 0x1778, + // The specified file is read only. + FILE_READ_ONLY = 0x1779, + // The directory has been disabled for encryption. + DIR_EFS_DISALLOWED = 0x177A, + // The server is not trusted for remote encryption operation. + EFS_SERVER_NOT_TRUSTED = 0x177B, + // Recovery policy configured for this system contains invalid recovery certificate. + BAD_RECOVERY_POLICY = 0x177C, + // The encryption algorithm used on the source file needs a bigger key buffer than the one on the destination file. + EFS_ALG_BLOB_TOO_BIG = 0x177D, + // The disk partition does not support file encryption. + VOLUME_NOT_SUPPORT_EFS = 0x177E, + // This machine is disabled for file encryption. + EFS_DISABLED = 0x177F, + // A newer system is required to decrypt this encrypted file. + EFS_VERSION_NOT_SUPPORT = 0x1780, + // The remote server sent an invalid response for a file being opened with Client Side Encryption. + CS_ENCRYPTION_INVALID_SERVER_RESPONSE = 0x1781, + // Client Side Encryption is not supported by the remote server even though it claims to support it. + CS_ENCRYPTION_UNSUPPORTED_SERVER = 0x1782, + // File is encrypted and should be opened in Client Side Encryption mode. + CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE = 0x1783, + // A new encrypted file is being created and a $EFS needs to be provided. + CS_ENCRYPTION_NEW_ENCRYPTED_FILE = 0x1784, + // The SMB client requested a CSE FSCTL on a non-CSE file. + CS_ENCRYPTION_FILE_NOT_CSE = 0x1785, + // The requested operation was blocked by policy. For more information, contact your system administrator. + ENCRYPTION_POLICY_DENIES_OPERATION = 0x1786, + // The list of servers for this workgroup is not currently available. + NO_BROWSER_SERVERS_FOUND = 0x17E6, + // The Task Scheduler service must be configured to run in the System account to function properly. Individual tasks may be configured to run in other accounts. + SCHED_E_SERVICE_NOT_LOCALSYSTEM = 0x1838, + // Log service encountered an invalid log sector. + LOG_SECTOR_INVALID = 0x19C8, + // Log service encountered a log sector with invalid block parity. + LOG_SECTOR_PARITY_INVALID = 0x19C9, + // Log service encountered a remapped log sector. + LOG_SECTOR_REMAPPED = 0x19CA, + // Log service encountered a partial or incomplete log block. + LOG_BLOCK_INCOMPLETE = 0x19CB, + // Log service encountered an attempt access data outside the active log range. + LOG_INVALID_RANGE = 0x19CC, + // Log service user marshalling buffers are exhausted. + LOG_BLOCKS_EXHAUSTED = 0x19CD, + // Log service encountered an attempt read from a marshalling area with an invalid read context. + LOG_READ_CONTEXT_INVALID = 0x19CE, + // Log service encountered an invalid log restart area. + LOG_RESTART_INVALID = 0x19CF, + // Log service encountered an invalid log block version. + LOG_BLOCK_VERSION = 0x19D0, + // Log service encountered an invalid log block. + LOG_BLOCK_INVALID = 0x19D1, + // Log service encountered an attempt to read the log with an invalid read mode. + LOG_READ_MODE_INVALID = 0x19D2, + // Log service encountered a log stream with no restart area. + LOG_NO_RESTART = 0x19D3, + // Log service encountered a corrupted metadata file. + LOG_METADATA_CORRUPT = 0x19D4, + // Log service encountered a metadata file that could not be created by the log file system. + LOG_METADATA_INVALID = 0x19D5, + // Log service encountered a metadata file with inconsistent data. + LOG_METADATA_INCONSISTENT = 0x19D6, + // Log service encountered an attempt to erroneous allocate or dispose reservation space. + LOG_RESERVATION_INVALID = 0x19D7, + // Log service cannot delete log file or file system container. + LOG_CANT_DELETE = 0x19D8, + // Log service has reached the maximum allowable containers allocated to a log file. + LOG_CONTAINER_LIMIT_EXCEEDED = 0x19D9, + // Log service has attempted to read or write backward past the start of the log. + LOG_START_OF_LOG = 0x19DA, + // Log policy could not be installed because a policy of the same type is already present. + LOG_POLICY_ALREADY_INSTALLED = 0x19DB, + // Log policy in question was not installed at the time of the request. + LOG_POLICY_NOT_INSTALLED = 0x19DC, + // The installed set of policies on the log is invalid. + LOG_POLICY_INVALID = 0x19DD, + // A policy on the log in question prevented the operation from completing. + LOG_POLICY_CONFLICT = 0x19DE, + // Log space cannot be reclaimed because the log is pinned by the archive tail. + LOG_PINNED_ARCHIVE_TAIL = 0x19DF, + // Log record is not a record in the log file. + LOG_RECORD_NONEXISTENT = 0x19E0, + // Number of reserved log records or the adjustment of the number of reserved log records is invalid. + LOG_RECORDS_RESERVED_INVALID = 0x19E1, + // Reserved log space or the adjustment of the log space is invalid. + LOG_SPACE_RESERVED_INVALID = 0x19E2, + // An new or existing archive tail or base of the active log is invalid. + LOG_TAIL_INVALID = 0x19E3, + // Log space is exhausted. + LOG_FULL = 0x19E4, + // The log could not be set to the requested size. + COULD_NOT_RESIZE_LOG = 0x19E5, + // Log is multiplexed, no direct writes to the physical log is allowed. + LOG_MULTIPLEXED = 0x19E6, + // The operation failed because the log is a dedicated log. + LOG_DEDICATED = 0x19E7, + // The operation requires an archive context. + LOG_ARCHIVE_NOT_IN_PROGRESS = 0x19E8, + // Log archival is in progress. + LOG_ARCHIVE_IN_PROGRESS = 0x19E9, + // The operation requires a non-ephemeral log, but the log is ephemeral. + LOG_EPHEMERAL = 0x19EA, + // The log must have at least two containers before it can be read from or written to. + LOG_NOT_ENOUGH_CONTAINERS = 0x19EB, + // A log client has already registered on the stream. + LOG_CLIENT_ALREADY_REGISTERED = 0x19EC, + // A log client has not been registered on the stream. + LOG_CLIENT_NOT_REGISTERED = 0x19ED, + // A request has already been made to handle the log full condition. + LOG_FULL_HANDLER_IN_PROGRESS = 0x19EE, + // Log service encountered an error when attempting to read from a log container. + LOG_CONTAINER_READ_FAILED = 0x19EF, + // Log service encountered an error when attempting to write to a log container. + LOG_CONTAINER_WRITE_FAILED = 0x19F0, + // Log service encountered an error when attempting open a log container. + LOG_CONTAINER_OPEN_FAILED = 0x19F1, + // Log service encountered an invalid container state when attempting a requested action. + LOG_CONTAINER_STATE_INVALID = 0x19F2, + // Log service is not in the correct state to perform a requested action. + LOG_STATE_INVALID = 0x19F3, + // Log space cannot be reclaimed because the log is pinned. + LOG_PINNED = 0x19F4, + // Log metadata flush failed. + LOG_METADATA_FLUSH_FAILED = 0x19F5, + // Security on the log and its containers is inconsistent. + LOG_INCONSISTENT_SECURITY = 0x19F6, + // Records were appended to the log or reservation changes were made, but the log could not be flushed. + LOG_APPENDED_FLUSH_FAILED = 0x19F7, + // The log is pinned due to reservation consuming most of the log space. Free some reserved records to make space available. + LOG_PINNED_RESERVATION = 0x19F8, + // The transaction handle associated with this operation is not valid. + INVALID_TRANSACTION = 0x1A2C, + // The requested operation was made in the context of a transaction that is no longer active. + TRANSACTION_NOT_ACTIVE = 0x1A2D, + // The requested operation is not valid on the Transaction object in its current state. + TRANSACTION_REQUEST_NOT_VALID = 0x1A2E, + // The caller has called a response API, but the response is not expected because the TM did not issue the corresponding request to the caller. + TRANSACTION_NOT_REQUESTED = 0x1A2F, + // It is too late to perform the requested operation, since the Transaction has already been aborted. + TRANSACTION_ALREADY_ABORTED = 0x1A30, + // It is too late to perform the requested operation, since the Transaction has already been committed. + TRANSACTION_ALREADY_COMMITTED = 0x1A31, + // The Transaction Manager was unable to be successfully initialized. Transacted operations are not supported. + TM_INITIALIZATION_FAILED = 0x1A32, + // The specified ResourceManager made no changes or updates to the resource under this transaction. + RESOURCEMANAGER_READ_ONLY = 0x1A33, + // The resource manager has attempted to prepare a transaction that it has not successfully joined. + TRANSACTION_NOT_JOINED = 0x1A34, + // The Transaction object already has a superior enlistment, and the caller attempted an operation that would have created a new superior. Only a single superior enlistment is allow. + TRANSACTION_SUPERIOR_EXISTS = 0x1A35, + // The RM tried to register a protocol that already exists. + CRM_PROTOCOL_ALREADY_EXISTS = 0x1A36, + // The attempt to propagate the Transaction failed. + TRANSACTION_PROPAGATION_FAILED = 0x1A37, + // The requested propagation protocol was not registered as a CRM. + CRM_PROTOCOL_NOT_FOUND = 0x1A38, + // The buffer passed in to PushTransaction or PullTransaction is not in a valid format. + TRANSACTION_INVALID_MARSHALL_BUFFER = 0x1A39, + // The current transaction context associated with the thread is not a valid handle to a transaction object. + CURRENT_TRANSACTION_NOT_VALID = 0x1A3A, + // The specified Transaction object could not be opened, because it was not found. + TRANSACTION_NOT_FOUND = 0x1A3B, + // The specified ResourceManager object could not be opened, because it was not found. + RESOURCEMANAGER_NOT_FOUND = 0x1A3C, + // The specified Enlistment object could not be opened, because it was not found. + ENLISTMENT_NOT_FOUND = 0x1A3D, + // The specified TransactionManager object could not be opened, because it was not found. + TRANSACTIONMANAGER_NOT_FOUND = 0x1A3E, + // The object specified could not be created or opened, because its associated TransactionManager is not online. The TransactionManager must be brought fully Online by calling RecoverTransactionManager to recover to the end of its LogFile before objects in its Transaction or ResourceManager namespaces can be opened. In addition, errors in writing records to its LogFile can cause a TransactionManager to go offline. + TRANSACTIONMANAGER_NOT_ONLINE = 0x1A3F, + // The specified TransactionManager was unable to create the objects contained in its logfile in the Ob namespace. Therefore, the TransactionManager was unable to recover. + TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION = 0x1A40, + // The call to create a superior Enlistment on this Transaction object could not be completed, because the Transaction object specified for the enlistment is a subordinate branch of the Transaction. Only the root of the Transaction can be enlisted on as a superior. + TRANSACTION_NOT_ROOT = 0x1A41, + // Because the associated transaction manager or resource manager has been closed, the handle is no longer valid. + TRANSACTION_OBJECT_EXPIRED = 0x1A42, + // The specified operation could not be performed on this Superior enlistment, because the enlistment was not created with the corresponding completion response in the NotificationMask. + TRANSACTION_RESPONSE_NOT_ENLISTED = 0x1A43, + // The specified operation could not be performed, because the record that would be logged was too long. This can occur because of two conditions: either there are too many Enlistments on this Transaction, or the combined RecoveryInformation being logged on behalf of those Enlistments is too long. + TRANSACTION_RECORD_TOO_LONG = 0x1A44, + // Implicit transaction are not supported. + IMPLICIT_TRANSACTION_NOT_SUPPORTED = 0x1A45, + // The kernel transaction manager had to abort or forget the transaction because it blocked forward progress. + TRANSACTION_INTEGRITY_VIOLATED = 0x1A46, + // The TransactionManager identity that was supplied did not match the one recorded in the TransactionManager's log file. + TRANSACTIONMANAGER_IDENTITY_MISMATCH = 0x1A47, + // This snapshot operation cannot continue because a transactional resource manager cannot be frozen in its current state. Please try again. + RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT = 0x1A48, + // The transaction cannot be enlisted on with the specified EnlistmentMask, because the transaction has already completed the PrePrepare phase. In order to ensure correctness, the ResourceManager must switch to a write- through mode and cease caching data within this transaction. Enlisting for only subsequent transaction phases may still succeed. + TRANSACTION_MUST_WRITETHROUGH = 0x1A49, + // The transaction does not have a superior enlistment. + TRANSACTION_NO_SUPERIOR = 0x1A4A, + // The attempt to commit the Transaction completed, but it is possible that some portion of the transaction tree did not commit successfully due to heuristics. Therefore it is possible that some data modified in the transaction may not have committed, resulting in transactional inconsistency. If possible, check the consistency of the associated data. + HEURISTIC_DAMAGE_POSSIBLE = 0x1A4B, + // The function attempted to use a name that is reserved for use by another transaction. + TRANSACTIONAL_CONFLICT = 0x1A90, + // Transaction support within the specified resource manager is not started or was shut down due to an error. + RM_NOT_ACTIVE = 0x1A91, + // The metadata of the RM has been corrupted. The RM will not function. + RM_METADATA_CORRUPT = 0x1A92, + // The specified directory does not contain a resource manager. + DIRECTORY_NOT_RM = 0x1A93, + // The remote server or share does not support transacted file operations. + TRANSACTIONS_UNSUPPORTED_REMOTE = 0x1A95, + // The requested log size is invalid. + LOG_RESIZE_INVALID_SIZE = 0x1A96, + // The object (file, stream, link) corresponding to the handle has been deleted by a Transaction Savepoint Rollback. + OBJECT_NO_LONGER_EXISTS = 0x1A97, + // The specified file miniversion was not found for this transacted file open. + STREAM_MINIVERSION_NOT_FOUND = 0x1A98, + // The specified file miniversion was found but has been invalidated. Most likely cause is a transaction savepoint rollback. + STREAM_MINIVERSION_NOT_VALID = 0x1A99, + // A miniversion may only be opened in the context of the transaction that created it. + MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION = 0x1A9A, + // It is not possible to open a miniversion with modify access. + CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT = 0x1A9B, + // It is not possible to create any more miniversions for this stream. + CANT_CREATE_MORE_STREAM_MINIVERSIONS = 0x1A9C, + // The remote server sent mismatching version number or Fid for a file opened with transactions. + REMOTE_FILE_VERSION_MISMATCH = 0x1A9E, + // The handle has been invalidated by a transaction. The most likely cause is the presence of memory mapping on a file or an open handle when the transaction ended or rolled back to savepoint. + HANDLE_NO_LONGER_VALID = 0x1A9F, + // There is no transaction metadata on the file. + NO_TXF_METADATA = 0x1AA0, + // The log data is corrupt. + LOG_CORRUPTION_DETECTED = 0x1AA1, + // The file can't be recovered because there is a handle still open on it. + CANT_RECOVER_WITH_HANDLE_OPEN = 0x1AA2, + // The transaction outcome is unavailable because the resource manager responsible for it has disconnected. + RM_DISCONNECTED = 0x1AA3, + // The request was rejected because the enlistment in question is not a superior enlistment. + ENLISTMENT_NOT_SUPERIOR = 0x1AA4, + // The transactional resource manager is already consistent. Recovery is not needed. + RECOVERY_NOT_NEEDED = 0x1AA5, + // The transactional resource manager has already been started. + RM_ALREADY_STARTED = 0x1AA6, + // The file cannot be opened transactionally, because its identity depends on the outcome of an unresolved transaction. + FILE_IDENTITY_NOT_PERSISTENT = 0x1AA7, + // The operation cannot be performed because another transaction is depending on the fact that this property will not change. + CANT_BREAK_TRANSACTIONAL_DEPENDENCY = 0x1AA8, + // The operation would involve a single file with two transactional resource managers and is therefore not allowed. + CANT_CROSS_RM_BOUNDARY = 0x1AA9, + // The $Txf directory must be empty for this operation to succeed. + TXF_DIR_NOT_EMPTY = 0x1AAA, + // The operation would leave a transactional resource manager in an inconsistent state and is therefore not allowed. + INDOUBT_TRANSACTIONS_EXIST = 0x1AAB, + // The operation could not be completed because the transaction manager does not have a log. + TM_VOLATILE = 0x1AAC, + // A rollback could not be scheduled because a previously scheduled rollback has already executed or been queued for execution. + ROLLBACK_TIMER_EXPIRED = 0x1AAD, + // The transactional metadata attribute on the file or directory is corrupt and unreadable. + TXF_ATTRIBUTE_CORRUPT = 0x1AAE, + // The encryption operation could not be completed because a transaction is active. + EFS_NOT_ALLOWED_IN_TRANSACTION = 0x1AAF, + // This object is not allowed to be opened in a transaction. + TRANSACTIONAL_OPEN_NOT_ALLOWED = 0x1AB0, + // An attempt to create space in the transactional resource manager's log failed. The failure status has been recorded in the event log. + LOG_GROWTH_FAILED = 0x1AB1, + // Memory mapping (creating a mapped section) a remote file under a transaction is not supported. + TRANSACTED_MAPPING_UNSUPPORTED_REMOTE = 0x1AB2, + // Transaction metadata is already present on this file and cannot be superseded. + TXF_METADATA_ALREADY_PRESENT = 0x1AB3, + // A transaction scope could not be entered because the scope handler has not been initialized. + TRANSACTION_SCOPE_CALLBACKS_NOT_SET = 0x1AB4, + // Promotion was required in order to allow the resource manager to enlist, but the transaction was set to disallow it. + TRANSACTION_REQUIRED_PROMOTION = 0x1AB5, + // This file is open for modification in an unresolved transaction and may be opened for execute only by a transacted reader. + CANNOT_EXECUTE_FILE_IN_TRANSACTION = 0x1AB6, + // The request to thaw frozen transactions was ignored because transactions had not previously been frozen. + TRANSACTIONS_NOT_FROZEN = 0x1AB7, + // Transactions cannot be frozen because a freeze is already in progress. + TRANSACTION_FREEZE_IN_PROGRESS = 0x1AB8, + // The target volume is not a snapshot volume. This operation is only valid on a volume mounted as a snapshot. + NOT_SNAPSHOT_VOLUME = 0x1AB9, + // The savepoint operation failed because files are open on the transaction. This is not permitted. + NO_SAVEPOINT_WITH_OPEN_FILES = 0x1ABA, + // Windows has discovered corruption in a file, and that file has since been repaired. Data loss may have occurred. + DATA_LOST_REPAIR = 0x1ABB, + // The sparse operation could not be completed because a transaction is active on the file. + SPARSE_NOT_ALLOWED_IN_TRANSACTION = 0x1ABC, + // The call to create a TransactionManager object failed because the Tm Identity stored in the logfile does not match the Tm Identity that was passed in as an argument. + TM_IDENTITY_MISMATCH = 0x1ABD, + // I/O was attempted on a section object that has been floated as a result of a transaction ending. There is no valid data. + FLOATED_SECTION = 0x1ABE, + // The transactional resource manager cannot currently accept transacted work due to a transient condition such as low resources. + CANNOT_ACCEPT_TRANSACTED_WORK = 0x1ABF, + // The transactional resource manager had too many tranactions outstanding that could not be aborted. The transactional resource manger has been shut down. + CANNOT_ABORT_TRANSACTIONS = 0x1AC0, + // The operation could not be completed due to bad clusters on disk. + BAD_CLUSTERS = 0x1AC1, + // The compression operation could not be completed because a transaction is active on the file. + COMPRESSION_NOT_ALLOWED_IN_TRANSACTION = 0x1AC2, + // The operation could not be completed because the volume is dirty. Please run chkdsk and try again. + VOLUME_DIRTY = 0x1AC3, + // The link tracking operation could not be completed because a transaction is active. + NO_LINK_TRACKING_IN_TRANSACTION = 0x1AC4, + // This operation cannot be performed in a transaction. + OPERATION_NOT_SUPPORTED_IN_TRANSACTION = 0x1AC5, + // The handle is no longer properly associated with its transaction. It may have been opened in a transactional resource manager that was subsequently forced to restart. Please close the handle and open a new one. + EXPIRED_HANDLE = 0x1AC6, + // The specified operation could not be performed because the resource manager is not enlisted in the transaction. + TRANSACTION_NOT_ENLISTED = 0x1AC7, + // The specified session name is invalid. + CTX_WINSTATION_NAME_INVALID = 0x1B59, + // The specified protocol driver is invalid. + CTX_INVALID_PD = 0x1B5A, + // The specified protocol driver was not found in the system path. + CTX_PD_NOT_FOUND = 0x1B5B, + // The specified terminal connection driver was not found in the system path. + CTX_WD_NOT_FOUND = 0x1B5C, + // A registry key for event logging could not be created for this session. + CTX_CANNOT_MAKE_EVENTLOG_ENTRY = 0x1B5D, + // A service with the same name already exists on the system. + CTX_SERVICE_NAME_COLLISION = 0x1B5E, + // A close operation is pending on the session. + CTX_CLOSE_PENDING = 0x1B5F, + // There are no free output buffers available. + CTX_NO_OUTBUF = 0x1B60, + // The MODEM.INF file was not found. + CTX_MODEM_INF_NOT_FOUND = 0x1B61, + // The modem name was not found in MODEM.INF. + CTX_INVALID_MODEMNAME = 0x1B62, + // The modem did not accept the command sent to it. Verify that the configured modem name matches the attached modem. + CTX_MODEM_RESPONSE_ERROR = 0x1B63, + // The modem did not respond to the command sent to it. Verify that the modem is properly cabled and powered on. + CTX_MODEM_RESPONSE_TIMEOUT = 0x1B64, + // Carrier detect has failed or carrier has been dropped due to disconnect. + CTX_MODEM_RESPONSE_NO_CARRIER = 0x1B65, + // Dial tone not detected within the required time. Verify that the phone cable is properly attached and functional. + CTX_MODEM_RESPONSE_NO_DIALTONE = 0x1B66, + // Busy signal detected at remote site on callback. + CTX_MODEM_RESPONSE_BUSY = 0x1B67, + // Voice detected at remote site on callback. + CTX_MODEM_RESPONSE_VOICE = 0x1B68, + // Transport driver error. + CTX_TD_ERROR = 0x1B69, + // The specified session cannot be found. + CTX_WINSTATION_NOT_FOUND = 0x1B6E, + // The specified session name is already in use. + CTX_WINSTATION_ALREADY_EXISTS = 0x1B6F, + // The task you are trying to do can't be completed because Remote Desktop Services is currently busy. Please try again in a few minutes. Other users should still be able to log on. + CTX_WINSTATION_BUSY = 0x1B70, + // An attempt has been made to connect to a session whose video mode is not supported by the current client. + CTX_BAD_VIDEO_MODE = 0x1B71, + // The application attempted to enable DOS graphics mode. DOS graphics mode is not supported. + CTX_GRAPHICS_INVALID = 0x1B7B, + // Your interactive logon privilege has been disabled. Please contact your administrator. + CTX_LOGON_DISABLED = 0x1B7D, + // The requested operation can be performed only on the system console. This is most often the result of a driver or system DLL requiring direct console access. + CTX_NOT_CONSOLE = 0x1B7E, + // The client failed to respond to the server connect message. + CTX_CLIENT_QUERY_TIMEOUT = 0x1B80, + // Disconnecting the console session is not supported. + CTX_CONSOLE_DISCONNECT = 0x1B81, + // Reconnecting a disconnected session to the console is not supported. + CTX_CONSOLE_CONNECT = 0x1B82, + // The request to control another session remotely was denied. + CTX_SHADOW_DENIED = 0x1B84, + // The requested session access is denied. + CTX_WINSTATION_ACCESS_DENIED = 0x1B85, + // The specified terminal connection driver is invalid. + CTX_INVALID_WD = 0x1B89, + // The requested session cannot be controlled remotely. This may be because the session is disconnected or does not currently have a user logged on. + CTX_SHADOW_INVALID = 0x1B8A, + // The requested session is not configured to allow remote control. + CTX_SHADOW_DISABLED = 0x1B8B, + // Your request to connect to this Terminal Server has been rejected. Your Terminal Server client license number is currently being used by another user. Please call your system administrator to obtain a unique license number. + CTX_CLIENT_LICENSE_IN_USE = 0x1B8C, + // Your request to connect to this Terminal Server has been rejected. Your Terminal Server client license number has not been entered for this copy of the Terminal Server client. Please contact your system administrator. + CTX_CLIENT_LICENSE_NOT_SET = 0x1B8D, + // The number of connections to this computer is limited and all connections are in use right now. Try connecting later or contact your system administrator. + CTX_LICENSE_NOT_AVAILABLE = 0x1B8E, + // The client you are using is not licensed to use this system. Your logon request is denied. + CTX_LICENSE_CLIENT_INVALID = 0x1B8F, + // The system license has expired. Your logon request is denied. + CTX_LICENSE_EXPIRED = 0x1B90, + // Remote control could not be terminated because the specified session is not currently being remotely controlled. + CTX_SHADOW_NOT_RUNNING = 0x1B91, + // The remote control of the console was terminated because the display mode was changed. Changing the display mode in a remote control session is not supported. + CTX_SHADOW_ENDED_BY_MODE_CHANGE = 0x1B92, + // Activation has already been reset the maximum number of times for this installation. Your activation timer will not be cleared. + ACTIVATION_COUNT_EXCEEDED = 0x1B93, + // Remote logins are currently disabled. + CTX_WINSTATIONS_DISABLED = 0x1B94, + // You do not have the proper encryption level to access this Session. + CTX_ENCRYPTION_LEVEL_REQUIRED = 0x1B95, + // The user %s\\%s is currently logged on to this computer. Only the current user or an administrator can log on to this computer. + CTX_SESSION_IN_USE = 0x1B96, + // The user %s\\%s is already logged on to the console of this computer. You do not have permission to log in at this time. To resolve this issue, contact %s\\%s and have them log off. + CTX_NO_FORCE_LOGOFF = 0x1B97, + // Unable to log you on because of an account restriction. + CTX_ACCOUNT_RESTRICTION = 0x1B98, + // The RDP protocol component %2 detected an error in the protocol stream and has disconnected the client. + RDP_PROTOCOL_ERROR = 0x1B99, + // The Client Drive Mapping Service Has Connected on Terminal Connection. + CTX_CDM_CONNECT = 0x1B9A, + // The Client Drive Mapping Service Has Disconnected on Terminal Connection. + CTX_CDM_DISCONNECT = 0x1B9B, + // The Terminal Server security layer detected an error in the protocol stream and has disconnected the client. + CTX_SECURITY_LAYER_ERROR = 0x1B9C, + // The target session is incompatible with the current session. + TS_INCOMPATIBLE_SESSIONS = 0x1B9D, + // Windows can't connect to your session because a problem occurred in the Windows video subsystem. Try connecting again later, or contact the server administrator for assistance. + TS_VIDEO_SUBSYSTEM_ERROR = 0x1B9E, + // The file replication service API was called incorrectly. + FRS_ERR_INVALID_API_SEQUENCE = 0x1F41, + // The file replication service cannot be started. + FRS_ERR_STARTING_SERVICE = 0x1F42, + // The file replication service cannot be stopped. + FRS_ERR_STOPPING_SERVICE = 0x1F43, + // The file replication service API terminated the request. The event log may have more information. + FRS_ERR_INTERNAL_API = 0x1F44, + // The file replication service terminated the request. The event log may have more information. + FRS_ERR_INTERNAL = 0x1F45, + // The file replication service cannot be contacted. The event log may have more information. + FRS_ERR_SERVICE_COMM = 0x1F46, + // The file replication service cannot satisfy the request because the user has insufficient privileges. The event log may have more information. + FRS_ERR_INSUFFICIENT_PRIV = 0x1F47, + // The file replication service cannot satisfy the request because authenticated RPC is not available. The event log may have more information. + FRS_ERR_AUTHENTICATION = 0x1F48, + // The file replication service cannot satisfy the request because the user has insufficient privileges on the domain controller. The event log may have more information. + FRS_ERR_PARENT_INSUFFICIENT_PRIV = 0x1F49, + // The file replication service cannot satisfy the request because authenticated RPC is not available on the domain controller. The event log may have more information. + FRS_ERR_PARENT_AUTHENTICATION = 0x1F4A, + // The file replication service cannot communicate with the file replication service on the domain controller. The event log may have more information. + FRS_ERR_CHILD_TO_PARENT_COMM = 0x1F4B, + // The file replication service on the domain controller cannot communicate with the file replication service on this computer. The event log may have more information. + FRS_ERR_PARENT_TO_CHILD_COMM = 0x1F4C, + // The file replication service cannot populate the system volume because of an internal error. The event log may have more information. + FRS_ERR_SYSVOL_POPULATE = 0x1F4D, + // The file replication service cannot populate the system volume because of an internal timeout. The event log may have more information. + FRS_ERR_SYSVOL_POPULATE_TIMEOUT = 0x1F4E, + // The file replication service cannot process the request. The system volume is busy with a previous request. + FRS_ERR_SYSVOL_IS_BUSY = 0x1F4F, + // The file replication service cannot stop replicating the system volume because of an internal error. The event log may have more information. + FRS_ERR_SYSVOL_DEMOTE = 0x1F50, + // The file replication service detected an invalid parameter. + FRS_ERR_INVALID_SERVICE_PARAMETER = 0x1F51, + + + // An error occurred while installing the directory service. For more information, see the event log. + DS_NOT_INSTALLED = 0x2008, + // The directory service evaluated group memberships locally. + DS_MEMBERSHIP_EVALUATED_LOCALLY = 0x2009, + // The specified directory service attribute or value does not exist. + DS_NO_ATTRIBUTE_OR_VALUE = 0x200A, + // The attribute syntax specified to the directory service is invalid. + DS_INVALID_ATTRIBUTE_SYNTAX = 0x200B, + // The attribute type specified to the directory service is not defined. + DS_ATTRIBUTE_TYPE_UNDEFINED = 0x200C, + // The specified directory service attribute or value already exists. + DS_ATTRIBUTE_OR_VALUE_EXISTS = 0x200D, + // The directory service is busy. + DS_BUSY = 0x200E, + // The directory service is unavailable. + DS_UNAVAILABLE = 0x200F, + // The directory service was unable to allocate a relative identifier. + DS_NO_RIDS_ALLOCATED = 0x2010, + // The directory service has exhausted the pool of relative identifiers. + DS_NO_MORE_RIDS = 0x2011, + // The requested operation could not be performed because the directory service is not the master for that type of operation. + DS_INCORRECT_ROLE_OWNER = 0x2012, + // The directory service was unable to initialize the subsystem that allocates relative identifiers. + DS_RIDMGR_INIT_ERROR = 0x2013, + // The requested operation did not satisfy one or more constraints associated with the class of the object. + DS_OBJ_CLASS_VIOLATION = 0x2014, + // The directory service can perform the requested operation only on a leaf object. + DS_CANT_ON_NON_LEAF = 0x2015, + // The directory service cannot perform the requested operation on the RDN attribute of an object. + DS_CANT_ON_RDN = 0x2016, + // The directory service detected an attempt to modify the object class of an object. + DS_CANT_MOD_OBJ_CLASS = 0x2017, + // The requested cross-domain move operation could not be performed. + DS_CROSS_DOM_MOVE_ERROR = 0x2018, + // Unable to contact the global catalog server. + DS_GC_NOT_AVAILABLE = 0x2019, + // The policy object is shared and can only be modified at the root. + SHARED_POLICY = 0x201A, + // The policy object does not exist. + POLICY_OBJECT_NOT_FOUND = 0x201B, + // The requested policy information is only in the directory service. + POLICY_ONLY_IN_DS = 0x201C, + // A domain controller promotion is currently active. + PROMOTION_ACTIVE = 0x201D, + // A domain controller promotion is not currently active. + NO_PROMOTION_ACTIVE = 0x201E, + // An operations error occurred. + DS_OPERATIONS_ERROR = 0x2020, + // A protocol error occurred. + DS_PROTOCOL_ERROR = 0x2021, + // The time limit for this request was exceeded. + DS_TIMELIMIT_EXCEEDED = 0x2022, + // The size limit for this request was exceeded. + DS_SIZELIMIT_EXCEEDED = 0x2023, + // The administrative limit for this request was exceeded. + DS_ADMIN_LIMIT_EXCEEDED = 0x2024, + // The compare response was false. + DS_COMPARE_FALSE = 0x2025, + // The compare response was true. + DS_COMPARE_TRUE = 0x2026, + // The requested authentication method is not supported by the server. + DS_AUTH_METHOD_NOT_SUPPORTED = 0x2027, + // A more secure authentication method is required for this server. + DS_STRONG_AUTH_REQUIRED = 0x2028, + // Inappropriate authentication. + DS_INAPPROPRIATE_AUTH = 0x2029, + // The authentication mechanism is unknown. + DS_AUTH_UNKNOWN = 0x202A, + // A referral was returned from the server. + DS_REFERRAL = 0x202B, + // The server does not support the requested critical extension. + DS_UNAVAILABLE_CRIT_EXTENSION = 0x202C, + // This request requires a secure connection. + DS_CONFIDENTIALITY_REQUIRED = 0x202D, + // Inappropriate matching. + DS_INAPPROPRIATE_MATCHING = 0x202E, + // A constraint violation occurred. + DS_CONSTRAINT_VIOLATION = 0x202F, + // There is no such object on the server. + DS_NO_SUCH_OBJECT = 0x2030, + // There is an alias problem. + DS_ALIAS_PROBLEM = 0x2031, + // An invalid dn syntax has been specified. + DS_INVALID_DN_SYNTAX = 0x2032, + // The object is a leaf object. + DS_IS_LEAF = 0x2033, + // There is an alias dereferencing problem. + DS_ALIAS_DEREF_PROBLEM = 0x2034, + // The server is unwilling to process the request. + DS_UNWILLING_TO_PERFORM = 0x2035, + // A loop has been detected. + DS_LOOP_DETECT = 0x2036, + // There is a naming violation. + DS_NAMING_VIOLATION = 0x2037, + // The result set is too large. + DS_OBJECT_RESULTS_TOO_LARGE = 0x2038, + // The operation affects multiple DSAs. + DS_AFFECTS_MULTIPLE_DSAS = 0x2039, + // The server is not operational. + DS_SERVER_DOWN = 0x203A, + // A local error has occurred. + DS_LOCAL_ERROR = 0x203B, + // An encoding error has occurred. + DS_ENCODING_ERROR = 0x203C, + // A decoding error has occurred. + DS_DECODING_ERROR = 0x203D, + // The search filter cannot be recognized. + DS_FILTER_UNKNOWN = 0x203E, + // One or more parameters are illegal. + DS_PARAM_ERROR = 0x203F, + // The specified method is not supported. + DS_NOT_SUPPORTED = 0x2040, + // No results were returned. + DS_NO_RESULTS_RETURNED = 0x2041, + // The specified control is not supported by the server. + DS_CONTROL_NOT_FOUND = 0x2042, + // A referral loop was detected by the client. + DS_CLIENT_LOOP = 0x2043, + // The preset referral limit was exceeded. + DS_REFERRAL_LIMIT_EXCEEDED = 0x2044, + // The search requires a SORT control. + DS_SORT_CONTROL_MISSING = 0x2045, + // The search results exceed the offset range specified. + DS_OFFSET_RANGE_ERROR = 0x2046, + // The directory service detected the subsystem that allocates relative identifiers is disabled. This can occur as a protective mechanism when the system determines a significant portion of relative identifiers (RIDs) have been exhausted. Please see https://go.microsoft.com/fwlink/p/?linkid=228610 for recommended diagnostic steps and the procedure to re-enable account creation. + DS_RIDMGR_DISABLED = 0x2047, + // The root object must be the head of a naming context. The root object cannot have an instantiated parent. + DS_ROOT_MUST_BE_NC = 0x206D, + // The add replica operation cannot be performed. The naming context must be writeable in order to create the replica. + DS_ADD_REPLICA_INHIBITED = 0x206E, + // A reference to an attribute that is not defined in the schema occurred. + DS_ATT_NOT_DEF_IN_SCHEMA = 0x206F, + // The maximum size of an object has been exceeded. + DS_MAX_OBJ_SIZE_EXCEEDED = 0x2070, + // An attempt was made to add an object to the directory with a name that is already in use. + DS_OBJ_STRING_NAME_EXISTS = 0x2071, + // An attempt was made to add an object of a class that does not have an RDN defined in the schema. + DS_NO_RDN_DEFINED_IN_SCHEMA = 0x2072, + // An attempt was made to add an object using an RDN that is not the RDN defined in the schema. + DS_RDN_DOESNT_MATCH_SCHEMA = 0x2073, + // None of the requested attributes were found on the objects. + DS_NO_REQUESTED_ATTS_FOUND = 0x2074, + // The user buffer is too small. + DS_USER_BUFFER_TO_SMALL = 0x2075, + // The attribute specified in the operation is not present on the object. + DS_ATT_IS_NOT_ON_OBJ = 0x2076, + // Illegal modify operation. Some aspect of the modification is not permitted. + DS_ILLEGAL_MOD_OPERATION = 0x2077, + // The specified object is too large. + DS_OBJ_TOO_LARGE = 0x2078, + // The specified instance type is not valid. + DS_BAD_INSTANCE_TYPE = 0x2079, + // The operation must be performed at a master DSA. + DS_MASTERDSA_REQUIRED = 0x207A, + // The object class attribute must be specified. + DS_OBJECT_CLASS_REQUIRED = 0x207B, + // A required attribute is missing. + DS_MISSING_REQUIRED_ATT = 0x207C, + // An attempt was made to modify an object to include an attribute that is not legal for its class. + DS_ATT_NOT_DEF_FOR_CLASS = 0x207D, + // The specified attribute is already present on the object. + DS_ATT_ALREADY_EXISTS = 0x207E, + // The specified attribute is not present, or has no values. + DS_CANT_ADD_ATT_VALUES = 0x2080, + // Multiple values were specified for an attribute that can have only one value. + DS_SINGLE_VALUE_CONSTRAINT = 0x2081, + // A value for the attribute was not in the acceptable range of values. + DS_RANGE_CONSTRAINT = 0x2082, + // The specified value already exists. + DS_ATT_VAL_ALREADY_EXISTS = 0x2083, + // The attribute cannot be removed because it is not present on the object. + DS_CANT_REM_MISSING_ATT = 0x2084, + // The attribute value cannot be removed because it is not present on the object. + DS_CANT_REM_MISSING_ATT_VAL = 0x2085, + // The specified root object cannot be a subref. + DS_ROOT_CANT_BE_SUBREF = 0x2086, + // Chaining is not permitted. + DS_NO_CHAINING = 0x2087, + // Chained evaluation is not permitted. + DS_NO_CHAINED_EVAL = 0x2088, + // The operation could not be performed because the object's parent is either uninstantiated or deleted. + DS_NO_PARENT_OBJECT = 0x2089, + // Having a parent that is an alias is not permitted. Aliases are leaf objects. + DS_PARENT_IS_AN_ALIAS = 0x208A, + // The object and parent must be of the same type, either both masters or both replicas. + DS_CANT_MIX_MASTER_AND_REPS = 0x208B, + // The operation cannot be performed because child objects exist. This operation can only be performed on a leaf object. + DS_CHILDREN_EXIST = 0x208C, + // Directory object not found. + DS_OBJ_NOT_FOUND = 0x208D, + // The aliased object is missing. + DS_ALIASED_OBJ_MISSING = 0x208E, + // The object name has bad syntax. + DS_BAD_NAME_SYNTAX = 0x208F, + // It is not permitted for an alias to refer to another alias. + DS_ALIAS_POINTS_TO_ALIAS = 0x2090, + // The alias cannot be dereferenced. + DS_CANT_DEREF_ALIAS = 0x2091, + // The operation is out of scope. + DS_OUT_OF_SCOPE = 0x2092, + // The operation cannot continue because the object is in the process of being removed. + DS_OBJECT_BEING_REMOVED = 0x2093, + // The DSA object cannot be deleted. + DS_CANT_DELETE_DSA_OBJ = 0x2094, + // A directory service error has occurred. + DS_GENERIC_ERROR = 0x2095, + // The operation can only be performed on an internal master DSA object. + DS_DSA_MUST_BE_INT_MASTER = 0x2096, + // The object must be of class DSA. + DS_CLASS_NOT_DSA = 0x2097, + // Insufficient access rights to perform the operation. + DS_INSUFF_ACCESS_RIGHTS = 0x2098, + // The object cannot be added because the parent is not on the list of possible superiors. + DS_ILLEGAL_SUPERIOR = 0x2099, + // Access to the attribute is not permitted because the attribute is owned by the Security Accounts Manager (SAM). + DS_ATTRIBUTE_OWNED_BY_SAM = 0x209A, + // The name has too many parts. + DS_NAME_TOO_MANY_PARTS = 0x209B, + // The name is too long. + DS_NAME_TOO_LONG = 0x209C, + // The name value is too long. + DS_NAME_VALUE_TOO_LONG = 0x209D, + // The directory service encountered an error parsing a name. + DS_NAME_UNPARSEABLE = 0x209E, + // The directory service cannot get the attribute type for a name. + DS_NAME_TYPE_UNKNOWN = 0x209F, + // The name does not identify an object; the name identifies a phantom. + DS_NOT_AN_OBJECT = 0x20A0, + // The security descriptor is too short. + DS_SEC_DESC_TOO_SHORT = 0x20A1, + // The security descriptor is invalid. + DS_SEC_DESC_INVALID = 0x20A2, + // Failed to create name for deleted object. + DS_NO_DELETED_NAME = 0x20A3, + // The parent of a new subref must exist. + DS_SUBREF_MUST_HAVE_PARENT = 0x20A4, + // The object must be a naming context. + DS_NCNAME_MUST_BE_NC = 0x20A5, + // It is not permitted to add an attribute which is owned by the system. + DS_CANT_ADD_SYSTEM_ONLY = 0x20A6, + // The class of the object must be structural; you cannot instantiate an abstract class. + DS_CLASS_MUST_BE_CONCRETE = 0x20A7, + // The schema object could not be found. + DS_INVALID_DMD = 0x20A8, + // A local object with this GUID (dead or alive) already exists. + DS_OBJ_GUID_EXISTS = 0x20A9, + // The operation cannot be performed on a back link. + DS_NOT_ON_BACKLINK = 0x20AA, + // The cross reference for the specified naming context could not be found. + DS_NO_CROSSREF_FOR_NC = 0x20AB, + // The operation could not be performed because the directory service is shutting down. + DS_SHUTTING_DOWN = 0x20AC, + // The directory service request is invalid. + DS_UNKNOWN_OPERATION = 0x20AD, + // The role owner attribute could not be read. + DS_INVALID_ROLE_OWNER = 0x20AE, + // The requested FSMO operation failed. The current FSMO holder could not be contacted. + DS_COULDNT_CONTACT_FSMO = 0x20AF, + // Modification of a DN across a naming context is not permitted. + DS_CROSS_NC_DN_RENAME = 0x20B0, + // The attribute cannot be modified because it is owned by the system. + DS_CANT_MOD_SYSTEM_ONLY = 0x20B1, + // Only the replicator can perform this function. + DS_REPLICATOR_ONLY = 0x20B2, + // The specified class is not defined. + DS_OBJ_CLASS_NOT_DEFINED = 0x20B3, + // The specified class is not a subclass. + DS_OBJ_CLASS_NOT_SUBCLASS = 0x20B4, + // The name reference is invalid. + DS_NAME_REFERENCE_INVALID = 0x20B5, + // A cross reference already exists. + DS_CROSS_REF_EXISTS = 0x20B6, + // It is not permitted to delete a master cross reference. + DS_CANT_DEL_MASTER_CROSSREF = 0x20B7, + // Subtree notifications are only supported on NC heads. + DS_SUBTREE_NOTIFY_NOT_NC_HEAD = 0x20B8, + // Notification filter is too complex. + DS_NOTIFY_FILTER_TOO_COMPLEX = 0x20B9, + // Schema update failed: duplicate RDN. + DS_DUP_RDN = 0x20BA, + // Schema update failed: duplicate OID. + DS_DUP_OID = 0x20BB, + // Schema update failed: duplicate MAPI identifier. + DS_DUP_MAPI_ID = 0x20BC, + // Schema update failed: duplicate schema-id GUID. + DS_DUP_SCHEMA_ID_GUID = 0x20BD, + // Schema update failed: duplicate LDAP display name. + DS_DUP_LDAP_DISPLAY_NAME = 0x20BE, + // Schema update failed: range-lower less than range upper. + DS_SEMANTIC_ATT_TEST = 0x20BF, + // Schema update failed: syntax mismatch. + DS_SYNTAX_MISMATCH = 0x20C0, + // Schema deletion failed: attribute is used in must-contain. + DS_EXISTS_IN_MUST_HAVE = 0x20C1, + // Schema deletion failed: attribute is used in may-contain. + DS_EXISTS_IN_MAY_HAVE = 0x20C2, + // Schema update failed: attribute in may-contain does not exist. + DS_NONEXISTENT_MAY_HAVE = 0x20C3, + // Schema update failed: attribute in must-contain does not exist. + DS_NONEXISTENT_MUST_HAVE = 0x20C4, + // Schema update failed: class in aux-class list does not exist or is not an auxiliary class. + DS_AUX_CLS_TEST_FAIL = 0x20C5, + // Schema update failed: class in poss-superiors does not exist. + DS_NONEXISTENT_POSS_SUP = 0x20C6, + // Schema update failed: class in subclassof list does not exist or does not satisfy hierarchy rules. + DS_SUB_CLS_TEST_FAIL = 0x20C7, + // Schema update failed: Rdn-Att-Id has wrong syntax. + DS_BAD_RDN_ATT_ID_SYNTAX = 0x20C8, + // Schema deletion failed: class is used as auxiliary class. + DS_EXISTS_IN_AUX_CLS = 0x20C9, + // Schema deletion failed: class is used as sub class. + DS_EXISTS_IN_SUB_CLS = 0x20CA, + // Schema deletion failed: class is used as poss superior. + DS_EXISTS_IN_POSS_SUP = 0x20CB, + // Schema update failed in recalculating validation cache. + DS_RECALCSCHEMA_FAILED = 0x20CC, + // The tree deletion is not finished. The request must be made again to continue deleting the tree. + DS_TREE_DELETE_NOT_FINISHED = 0x20CD, + // The requested delete operation could not be performed. + DS_CANT_DELETE = 0x20CE, + // Cannot read the governs class identifier for the schema record. + DS_ATT_SCHEMA_REQ_ID = 0x20CF, + // The attribute schema has bad syntax. + DS_BAD_ATT_SCHEMA_SYNTAX = 0x20D0, + // The attribute could not be cached. + DS_CANT_CACHE_ATT = 0x20D1, + // The class could not be cached. + DS_CANT_CACHE_CLASS = 0x20D2, + // The attribute could not be removed from the cache. + DS_CANT_REMOVE_ATT_CACHE = 0x20D3, + // The class could not be removed from the cache. + DS_CANT_REMOVE_CLASS_CACHE = 0x20D4, + // The distinguished name attribute could not be read. + DS_CANT_RETRIEVE_DN = 0x20D5, + // No superior reference has been configured for the directory service. The directory service is therefore unable to issue referrals to objects outside this forest. + DS_MISSING_SUPREF = 0x20D6, + // The instance type attribute could not be retrieved. + DS_CANT_RETRIEVE_INSTANCE = 0x20D7, + // An internal error has occurred. + DS_CODE_INCONSISTENCY = 0x20D8, + // A database error has occurred. + DS_DATABASE_ERROR = 0x20D9, + // The attribute GOVERNSID is missing. + DS_GOVERNSID_MISSING = 0x20DA, + // An expected attribute is missing. + DS_MISSING_EXPECTED_ATT = 0x20DB, + // The specified naming context is missing a cross reference. + DS_NCNAME_MISSING_CR_REF = 0x20DC, + // A security checking error has occurred. + DS_SECURITY_CHECKING_ERROR = 0x20DD, + // The schema is not loaded. + DS_SCHEMA_NOT_LOADED = 0x20DE, + // Schema allocation failed. Please check if the machine is running low on memory. + DS_SCHEMA_ALLOC_FAILED = 0x20DF, + // Failed to obtain the required syntax for the attribute schema. + DS_ATT_SCHEMA_REQ_SYNTAX = 0x20E0, + // The global catalog verification failed. The global catalog is not available or does not support the operation. Some part of the directory is currently not available. + DS_GCVERIFY_ERROR = 0x20E1, + // The replication operation failed because of a schema mismatch between the servers involved. + DS_DRA_SCHEMA_MISMATCH = 0x20E2, + // The DSA object could not be found. + DS_CANT_FIND_DSA_OBJ = 0x20E3, + // The naming context could not be found. + DS_CANT_FIND_EXPECTED_NC = 0x20E4, + // The naming context could not be found in the cache. + DS_CANT_FIND_NC_IN_CACHE = 0x20E5, + // The child object could not be retrieved. + DS_CANT_RETRIEVE_CHILD = 0x20E6, + // The modification was not permitted for security reasons. + DS_SECURITY_ILLEGAL_MODIFY = 0x20E7, + // The operation cannot replace the hidden record. + DS_CANT_REPLACE_HIDDEN_REC = 0x20E8, + // The hierarchy file is invalid. + DS_BAD_HIERARCHY_FILE = 0x20E9, + // The attempt to build the hierarchy table failed. + DS_BUILD_HIERARCHY_TABLE_FAILED = 0x20EA, + // The directory configuration parameter is missing from the registry. + DS_CONFIG_PARAM_MISSING = 0x20EB, + // The attempt to count the address book indices failed. + DS_COUNTING_AB_INDICES_FAILED = 0x20EC, + // The allocation of the hierarchy table failed. + DS_HIERARCHY_TABLE_MALLOC_FAILED = 0x20ED, + // The directory service encountered an internal failure. + DS_INTERNAL_FAILURE = 0x20EE, + // The directory service encountered an unknown failure. + DS_UNKNOWN_ERROR = 0x20EF, + // A root object requires a class of 'top'. + DS_ROOT_REQUIRES_CLASS_TOP = 0x20F0, + // This directory server is shutting down, and cannot take ownership of new floating single-master operation roles. + DS_REFUSING_FSMO_ROLES = 0x20F1, + // The directory service is missing mandatory configuration information, and is unable to determine the ownership of floating single-master operation roles. + DS_MISSING_FSMO_SETTINGS = 0x20F2, + // The directory service was unable to transfer ownership of one or more floating single-master operation roles to other servers. + DS_UNABLE_TO_SURRENDER_ROLES = 0x20F3, + // The replication operation failed. + DS_DRA_GENERIC = 0x20F4, + // An invalid parameter was specified for this replication operation. + DS_DRA_INVALID_PARAMETER = 0x20F5, + // The directory service is too busy to complete the replication operation at this time. + DS_DRA_BUSY = 0x20F6, + // The distinguished name specified for this replication operation is invalid. + DS_DRA_BAD_DN = 0x20F7, + // The naming context specified for this replication operation is invalid. + DS_DRA_BAD_NC = 0x20F8, + // The distinguished name specified for this replication operation already exists. + DS_DRA_DN_EXISTS = 0x20F9, + // The replication system encountered an internal error. + DS_DRA_INTERNAL_ERROR = 0x20FA, + // The replication operation encountered a database inconsistency. + DS_DRA_INCONSISTENT_DIT = 0x20FB, + // The server specified for this replication operation could not be contacted. + DS_DRA_CONNECTION_FAILED = 0x20FC, + // The replication operation encountered an object with an invalid instance type. + DS_DRA_BAD_INSTANCE_TYPE = 0x20FD, + // The replication operation failed to allocate memory. + DS_DRA_OUT_OF_MEM = 0x20FE, + // The replication operation encountered an error with the mail system. + DS_DRA_MAIL_PROBLEM = 0x20FF, + // The replication reference information for the target server already exists. + DS_DRA_REF_ALREADY_EXISTS = 0x2100, + // The replication reference information for the target server does not exist. + DS_DRA_REF_NOT_FOUND = 0x2101, + // The naming context cannot be removed because it is replicated to another server. + DS_DRA_OBJ_IS_REP_SOURCE = 0x2102, + // The replication operation encountered a database error. + DS_DRA_DB_ERROR = 0x2103, + // The naming context is in the process of being removed or is not replicated from the specified server. + DS_DRA_NO_REPLICA = 0x2104, + // Replication access was denied. + DS_DRA_ACCESS_DENIED = 0x2105, + // The requested operation is not supported by this version of the directory service. + DS_DRA_NOT_SUPPORTED = 0x2106, + // The replication remote procedure call was cancelled. + DS_DRA_RPC_CANCELLED = 0x2107, + // The source server is currently rejecting replication requests. + DS_DRA_SOURCE_DISABLED = 0x2108, + // The destination server is currently rejecting replication requests. + DS_DRA_SINK_DISABLED = 0x2109, + // The replication operation failed due to a collision of object names. + DS_DRA_NAME_COLLISION = 0x210A, + // The replication source has been reinstalled. + DS_DRA_SOURCE_REINSTALLED = 0x210B, + // The replication operation failed because a required parent object is missing. + DS_DRA_MISSING_PARENT = 0x210C, + // The replication operation was preempted. + DS_DRA_PREEMPTED = 0x210D, + // The replication synchronization attempt was abandoned because of a lack of updates. + DS_DRA_ABANDON_SYNC = 0x210E, + // The replication operation was terminated because the system is shutting down. + DS_DRA_SHUTDOWN = 0x210F, + // Synchronization attempt failed because the destination DC is currently waiting to synchronize new partial attributes from source. This condition is normal if a recent schema change modified the partial attribute set. The destination partial attribute set is not a subset of source partial attribute set. + DS_DRA_INCOMPATIBLE_PARTIAL_SET = 0x2110, + // The replication synchronization attempt failed because a master replica attempted to sync from a partial replica. + DS_DRA_SOURCE_IS_PARTIAL_REPLICA = 0x2111, + // The server specified for this replication operation was contacted, but that server was unable to contact an additional server needed to complete the operation. + DS_DRA_EXTN_CONNECTION_FAILED = 0x2112, + // The version of the directory service schema of the source forest is not compatible with the version of directory service on this computer. + DS_INSTALL_SCHEMA_MISMATCH = 0x2113, + // Schema update failed: An attribute with the same link identifier already exists. + DS_DUP_LINK_ID = 0x2114, + // Name translation: Generic processing error. + DS_NAME_ERROR_RESOLVING = 0x2115, + // Name translation: Could not find the name or insufficient right to see name. + DS_NAME_ERROR_NOT_FOUND = 0x2116, + // Name translation: Input name mapped to more than one output name. + DS_NAME_ERROR_NOT_UNIQUE = 0x2117, + // Name translation: Input name found, but not the associated output format. + DS_NAME_ERROR_NO_MAPPING = 0x2118, + // Name translation: Unable to resolve completely, only the domain was found. + DS_NAME_ERROR_DOMAIN_ONLY = 0x2119, + // Name translation: Unable to perform purely syntactical mapping at the client without going out to the wire. + DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING = 0x211A, + // Modification of a constructed attribute is not allowed. + DS_CONSTRUCTED_ATT_MOD = 0x211B, + // The OM-Object-Class specified is incorrect for an attribute with the specified syntax. + DS_WRONG_OM_OBJ_CLASS = 0x211C, + // The replication request has been posted; waiting for reply. + DS_DRA_REPL_PENDING = 0x211D, + // The requested operation requires a directory service, and none was available. + DS_DS_REQUIRED = 0x211E, + // The LDAP display name of the class or attribute contains non-ASCII characters. + DS_INVALID_LDAP_DISPLAY_NAME = 0x211F, + // The requested search operation is only supported for base searches. + DS_NON_BASE_SEARCH = 0x2120, + // The search failed to retrieve attributes from the database. + DS_CANT_RETRIEVE_ATTS = 0x2121, + // The schema update operation tried to add a backward link attribute that has no corresponding forward link. + DS_BACKLINK_WITHOUT_LINK = 0x2122, + // Source and destination of a cross-domain move do not agree on the object's epoch number. Either source or destination does not have the latest version of the object. + DS_EPOCH_MISMATCH = 0x2123, + // Source and destination of a cross-domain move do not agree on the object's current name. Either source or destination does not have the latest version of the object. + DS_SRC_NAME_MISMATCH = 0x2124, + // Source and destination for the cross-domain move operation are identical. Caller should use local move operation instead of cross-domain move operation. + DS_SRC_AND_DST_NC_IDENTICAL = 0x2125, + // Source and destination for a cross-domain move are not in agreement on the naming contexts in the forest. Either source or destination does not have the latest version of the Partitions container. + DS_DST_NC_MISMATCH = 0x2126, + // Destination of a cross-domain move is not authoritative for the destination naming context. + DS_NOT_AUTHORITIVE_FOR_DST_NC = 0x2127, + // Source and destination of a cross-domain move do not agree on the identity of the source object. Either source or destination does not have the latest version of the source object. + DS_SRC_GUID_MISMATCH = 0x2128, + // Object being moved across-domains is already known to be deleted by the destination server. The source server does not have the latest version of the source object. + DS_CANT_MOVE_DELETED_OBJECT = 0x2129, + // Another operation which requires exclusive access to the PDC FSMO is already in progress. + DS_PDC_OPERATION_IN_PROGRESS = 0x212A, + // A cross-domain move operation failed such that two versions of the moved object exist - one each in the source and destination domains. The destination object needs to be removed to restore the system to a consistent state. + DS_CROSS_DOMAIN_CLEANUP_REQD = 0x212B, + // This object may not be moved across domain boundaries either because cross-domain moves for this class are disallowed, or the object has some special characteristics, e.g.: trust account or restricted RID, which prevent its move. + DS_ILLEGAL_XDOM_MOVE_OPERATION = 0x212C, + // Can't move objects with memberships across domain boundaries as once moved, this would violate the membership conditions of the account group. Remove the object from any account group memberships and retry. + DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS = 0x212D, + // A naming context head must be the immediate child of another naming context head, not of an interior node. + DS_NC_MUST_HAVE_NC_PARENT = 0x212E, + // The directory cannot validate the proposed naming context name because it does not hold a replica of the naming context above the proposed naming context. Please ensure that the domain naming master role is held by a server that is configured as a global catalog server, and that the server is up to date with its replication partners. (Applies only to Windows 2000 Domain Naming masters.) + DS_CR_IMPOSSIBLE_TO_VALIDATE = 0x212F, + // Destination domain must be in native mode. + DS_DST_DOMAIN_NOT_NATIVE = 0x2130, + // The operation cannot be performed because the server does not have an infrastructure container in the domain of interest. + DS_MISSING_INFRASTRUCTURE_CONTAINER = 0x2131, + // Cross-domain move of non-empty account groups is not allowed. + DS_CANT_MOVE_ACCOUNT_GROUP = 0x2132, + // Cross-domain move of non-empty resource groups is not allowed. + DS_CANT_MOVE_RESOURCE_GROUP = 0x2133, + // The search flags for the attribute are invalid. The ANR bit is valid only on attributes of Unicode or Teletex strings. + DS_INVALID_SEARCH_FLAG = 0x2134, + // Tree deletions starting at an object which has an NC head as a descendant are not allowed. + DS_NO_TREE_DELETE_ABOVE_NC = 0x2135, + // The directory service failed to lock a tree in preparation for a tree deletion because the tree was in use. + DS_COULDNT_LOCK_TREE_FOR_DELETE = 0x2136, + // The directory service failed to identify the list of objects to delete while attempting a tree deletion. + DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE = 0x2137, + // Security Accounts Manager initialization failed because of the following error: %1. Error Status: 0x%2. Please shutdown this system and reboot into Directory Services Restore Mode, check the event log for more detailed information. + DS_SAM_INIT_FAILURE = 0x2138, + // Only an administrator can modify the membership list of an administrative group. + DS_SENSITIVE_GROUP_VIOLATION = 0x2139, + // Cannot change the primary group ID of a domain controller account. + DS_CANT_MOD_PRIMARYGROUPID = 0x213A, + // An attempt is made to modify the base schema. + DS_ILLEGAL_BASE_SCHEMA_MOD = 0x213B, + // Adding a new mandatory attribute to an existing class, deleting a mandatory attribute from an existing class, or adding an optional attribute to the special class Top that is not a backlink attribute (directly or through inheritance, for example, by adding or deleting an auxiliary class) is not allowed. + DS_NONSAFE_SCHEMA_CHANGE = 0x213C, + // Schema update is not allowed on this DC because the DC is not the schema FSMO Role Owner. + DS_SCHEMA_UPDATE_DISALLOWED = 0x213D, + // An object of this class cannot be created under the schema container. You can only create attribute-schema and class-schema objects under the schema container. + DS_CANT_CREATE_UNDER_SCHEMA = 0x213E, + // The replica/child install failed to get the objectVersion attribute on the schema container on the source DC. Either the attribute is missing on the schema container or the credentials supplied do not have permission to read it. + DS_INSTALL_NO_SRC_SCH_VERSION = 0x213F, + // The replica/child install failed to read the objectVersion attribute in the SCHEMA section of the file schema.ini in the system32 directory. + DS_INSTALL_NO_SCH_VERSION_IN_INIFILE = 0x2140, + // The specified group type is invalid. + DS_INVALID_GROUP_TYPE = 0x2141, + // You cannot nest global groups in a mixed domain if the group is security-enabled. + DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN = 0x2142, + // You cannot nest local groups in a mixed domain if the group is security-enabled. + DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN = 0x2143, + // A global group cannot have a local group as a member. + DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER = 0x2144, + // A global group cannot have a universal group as a member. + DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER = 0x2145, + // A universal group cannot have a local group as a member. + DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER = 0x2146, + // A global group cannot have a cross-domain member. + DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER = 0x2147, + // A local group cannot have another cross domain local group as a member. + DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER = 0x2148, + // A group with primary members cannot change to a security-disabled group. + DS_HAVE_PRIMARY_MEMBERS = 0x2149, + // The schema cache load failed to convert the string default SD on a class-schema object. + DS_STRING_SD_CONVERSION_FAILED = 0x214A, + // Only DSAs configured to be Global Catalog servers should be allowed to hold the Domain Naming Master FSMO role. (Applies only to Windows 2000 servers.) + DS_NAMING_MASTER_GC = 0x214B, + // The DSA operation is unable to proceed because of a DNS lookup failure. + DS_DNS_LOOKUP_FAILURE = 0x214C, + // While processing a change to the DNS Host Name for an object, the Service Principal Name values could not be kept in sync. + DS_COULDNT_UPDATE_SPNS = 0x214D, + // The Security Descriptor attribute could not be read. + DS_CANT_RETRIEVE_SD = 0x214E, + // The object requested was not found, but an object with that key was found. + DS_KEY_NOT_UNIQUE = 0x214F, + // The syntax of the linked attribute being added is incorrect. Forward links can only have syntax 2.5.5.1, 2.5.5.7, and 2.5.5.14, and backlinks can only have syntax 2.5.5.1. + DS_WRONG_LINKED_ATT_SYNTAX = 0x2150, + // Security Account Manager needs to get the boot password. + DS_SAM_NEED_BOOTKEY_PASSWORD = 0x2151, + // Security Account Manager needs to get the boot key from floppy disk. + DS_SAM_NEED_BOOTKEY_FLOPPY = 0x2152, + // Directory Service cannot start. + DS_CANT_START = 0x2153, + // Directory Services could not start. + DS_INIT_FAILURE = 0x2154, + // The connection between client and server requires packet privacy or better. + DS_NO_PKT_PRIVACY_ON_CONNECTION = 0x2155, + // The source domain may not be in the same forest as destination. + DS_SOURCE_DOMAIN_IN_FOREST = 0x2156, + // The destination domain must be in the forest. + DS_DESTINATION_DOMAIN_NOT_IN_FOREST = 0x2157, + // The operation requires that destination domain auditing be enabled. + DS_DESTINATION_AUDITING_NOT_ENABLED = 0x2158, + // The operation couldn't locate a DC for the source domain. + DS_CANT_FIND_DC_FOR_SRC_DOMAIN = 0x2159, + // The source object must be a group or user. + DS_SRC_OBJ_NOT_GROUP_OR_USER = 0x215A, + // The source object's SID already exists in destination forest. + DS_SRC_SID_EXISTS_IN_FOREST = 0x215B, + // The source and destination object must be of the same type. + DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH = 0x215C, + // Security Accounts Manager initialization failed because of the following error: %1. Error Status: 0x%2. Click OK to shut down the system and reboot into Safe Mode. Check the event log for detailed information. + SAM_INIT_FAILURE = 0x215D, + // Schema information could not be included in the replication request. + DS_DRA_SCHEMA_INFO_SHIP = 0x215E, + // The replication operation could not be completed due to a schema incompatibility. + DS_DRA_SCHEMA_CONFLICT = 0x215F, + // The replication operation could not be completed due to a previous schema incompatibility. + DS_DRA_EARLIER_SCHEMA_CONFLICT = 0x2160, + // The replication update could not be applied because either the source or the destination has not yet received information regarding a recent cross-domain move operation. + DS_DRA_OBJ_NC_MISMATCH = 0x2161, + // The requested domain could not be deleted because there exist domain controllers that still host this domain. + DS_NC_STILL_HAS_DSAS = 0x2162, + // The requested operation can be performed only on a global catalog server. + DS_GC_REQUIRED = 0x2163, + // A local group can only be a member of other local groups in the same domain. + DS_LOCAL_MEMBER_OF_LOCAL_ONLY = 0x2164, + // Foreign security principals cannot be members of universal groups. + DS_NO_FPO_IN_UNIVERSAL_GROUPS = 0x2165, + // The attribute is not allowed to be replicated to the GC because of security reasons. + DS_CANT_ADD_TO_GC = 0x2166, + // The checkpoint with the PDC could not be taken because there too many modifications being processed currently. + DS_NO_CHECKPOINT_WITH_PDC = 0x2167, + // The operation requires that source domain auditing be enabled. + DS_SOURCE_AUDITING_NOT_ENABLED = 0x2168, + // Security principal objects can only be created inside domain naming contexts. + DS_CANT_CREATE_IN_NONDOMAIN_NC = 0x2169, + // A Service Principal Name (SPN) could not be constructed because the provided hostname is not in the necessary format. + DS_INVALID_NAME_FOR_SPN = 0x216A, + // A Filter was passed that uses constructed attributes. + DS_FILTER_USES_CONTRUCTED_ATTRS = 0x216B, + // The unicodePwd attribute value must be enclosed in double quotes. + DS_UNICODEPWD_NOT_IN_QUOTES = 0x216C, + // Your computer could not be joined to the domain. You have exceeded the maximum number of computer accounts you are allowed to create in this domain. Contact your system administrator to have this limit reset or increased. + DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED = 0x216D, + // For security reasons, the operation must be run on the destination DC. + DS_MUST_BE_RUN_ON_DST_DC = 0x216E, + // For security reasons, the source DC must be NT4SP4 or greater. + DS_SRC_DC_MUST_BE_SP4_OR_GREATER = 0x216F, + // Critical Directory Service System objects cannot be deleted during tree delete operations. The tree delete may have been partially performed. + DS_CANT_TREE_DELETE_CRITICAL_OBJ = 0x2170, + // Directory Services could not start because of the following error: %1. Error Status: 0x%2. Please click OK to shutdown the system. You can use the recovery console to diagnose the system further. + DS_INIT_FAILURE_CONSOLE = 0x2171, + // Security Accounts Manager initialization failed because of the following error: %1. Error Status: 0x%2. Please click OK to shutdown the system. You can use the recovery console to diagnose the system further. + DS_SAM_INIT_FAILURE_CONSOLE = 0x2172, + // The version of the operating system is incompatible with the current AD DS forest functional level or AD LDS Configuration Set functional level. You must upgrade to a new version of the operating system before this server can become an AD DS Domain Controller or add an AD LDS Instance in this AD DS Forest or AD LDS Configuration Set. + DS_FOREST_VERSION_TOO_HIGH = 0x2173, + // The version of the operating system installed is incompatible with the current domain functional level. You must upgrade to a new version of the operating system before this server can become a domain controller in this domain. + DS_DOMAIN_VERSION_TOO_HIGH = 0x2174, + // The version of the operating system installed on this server no longer supports the current AD DS Forest functional level or AD LDS Configuration Set functional level. You must raise the AD DS Forest functional level or AD LDS Configuration Set functional level before this server can become an AD DS Domain Controller or an AD LDS Instance in this Forest or Configuration Set. + DS_FOREST_VERSION_TOO_LOW = 0x2175, + // The version of the operating system installed on this server no longer supports the current domain functional level. You must raise the domain functional level before this server can become a domain controller in this domain. + DS_DOMAIN_VERSION_TOO_LOW = 0x2176, + // The version of the operating system installed on this server is incompatible with the functional level of the domain or forest. + DS_INCOMPATIBLE_VERSION = 0x2177, + // The functional level of the domain (or forest) cannot be raised to the requested value, because there exist one or more domain controllers in the domain (or forest) that are at a lower incompatible functional level. + DS_LOW_DSA_VERSION = 0x2178, + // The forest functional level cannot be raised to the requested value since one or more domains are still in mixed domain mode. All domains in the forest must be in native mode, for you to raise the forest functional level. + DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN = 0x2179, + // The sort order requested is not supported. + DS_NOT_SUPPORTED_SORT_ORDER = 0x217A, + // The requested name already exists as a unique identifier. + DS_NAME_NOT_UNIQUE = 0x217B, + // The machine account was created pre-NT4. The account needs to be recreated. + DS_MACHINE_ACCOUNT_CREATED_PRENT4 = 0x217C, + // The database is out of version store. + DS_OUT_OF_VERSION_STORE = 0x217D, + // Unable to continue operation because multiple conflicting controls were used. + DS_INCOMPATIBLE_CONTROLS_USED = 0x217E, + // Unable to find a valid security descriptor reference domain for this partition. + DS_NO_REF_DOMAIN = 0x217F, + // Schema update failed: The link identifier is reserved. + DS_RESERVED_LINK_ID = 0x2180, + // Schema update failed: There are no link identifiers available. + DS_LINK_ID_NOT_AVAILABLE = 0x2181, + // An account group cannot have a universal group as a member. + DS_AG_CANT_HAVE_UNIVERSAL_MEMBER = 0x2182, + // Rename or move operations on naming context heads or read-only objects are not allowed. + DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE = 0x2183, + // Move operations on objects in the schema naming context are not allowed. + DS_NO_OBJECT_MOVE_IN_SCHEMA_NC = 0x2184, + // A system flag has been set on the object and does not allow the object to be moved or renamed. + DS_MODIFYDN_DISALLOWED_BY_FLAG = 0x2185, + // This object is not allowed to change its grandparent container. Moves are not forbidden on this object, but are restricted to sibling containers. + DS_MODIFYDN_WRONG_GRANDPARENT = 0x2186, + // Unable to resolve completely, a referral to another forest is generated. + DS_NAME_ERROR_TRUST_REFERRAL = 0x2187, + // The requested action is not supported on standard server. + NOT_SUPPORTED_ON_STANDARD_SERVER = 0x2188, + // Could not access a partition of the directory service located on a remote server. Make sure at least one server is running for the partition in question. + DS_CANT_ACCESS_REMOTE_PART_OF_AD = 0x2189, + // The directory cannot validate the proposed naming context (or partition) name because it does not hold a replica nor can it contact a replica of the naming context above the proposed naming context. Please ensure that the parent naming context is properly registered in DNS, and at least one replica of this naming context is reachable by the Domain Naming master. + DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 = 0x218A, + // The thread limit for this request was exceeded. + DS_THREAD_LIMIT_EXCEEDED = 0x218B, + // The Global catalog server is not in the closest site. + DS_NOT_CLOSEST = 0x218C, + // The DS cannot derive a service principal name (SPN) with which to mutually authenticate the target server because the corresponding server object in the local DS database has no serverReference attribute. + DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF = 0x218D, + // The Directory Service failed to enter single user mode. + DS_SINGLE_USER_MODE_FAILED = 0x218E, + // The Directory Service cannot parse the script because of a syntax error. + DS_NTDSCRIPT_SYNTAX_ERROR = 0x218F, + // The Directory Service cannot process the script because of an error. + DS_NTDSCRIPT_PROCESS_ERROR = 0x2190, + // The directory service cannot perform the requested operation because the servers involved are of different replication epochs (which is usually related to a domain rename that is in progress). + DS_DIFFERENT_REPL_EPOCHS = 0x2191, + // The directory service binding must be renegotiated due to a change in the server extensions information. + DS_DRS_EXTENSIONS_CHANGED = 0x2192, + // Operation not allowed on a disabled cross ref. + DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR = 0x2193, + // Schema update failed: No values for msDS-IntId are available. + DS_NO_MSDS_INTID = 0x2194, + // Schema update failed: Duplicate msDS-INtId. Retry the operation. + DS_DUP_MSDS_INTID = 0x2195, + // Schema deletion failed: attribute is used in rDNAttID. + DS_EXISTS_IN_RDNATTID = 0x2196, + // The directory service failed to authorize the request. + DS_AUTHORIZATION_FAILED = 0x2197, + // The Directory Service cannot process the script because it is invalid. + DS_INVALID_SCRIPT = 0x2198, + // The remote create cross reference operation failed on the Domain Naming Master FSMO. The operation's error is in the extended data. + DS_REMOTE_CROSSREF_OP_FAILED = 0x2199, + // A cross reference is in use locally with the same name. + DS_CROSS_REF_BUSY = 0x219A, + // The DS cannot derive a service principal name (SPN) with which to mutually authenticate the target server because the server's domain has been deleted from the forest. + DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN = 0x219B, + // Writeable NCs prevent this DC from demoting. + DS_CANT_DEMOTE_WITH_WRITEABLE_NC = 0x219C, + // The requested object has a non-unique identifier and cannot be retrieved. + DS_DUPLICATE_ID_FOUND = 0x219D, + // Insufficient attributes were given to create an object. This object may not exist because it may have been deleted and already garbage collected. + DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT = 0x219E, + // The group cannot be converted due to attribute restrictions on the requested group type. + DS_GROUP_CONVERSION_ERROR = 0x219F, + // Cross-domain move of non-empty basic application groups is not allowed. + DS_CANT_MOVE_APP_BASIC_GROUP = 0x21A0, + // Cross-domain move of non-empty query based application groups is not allowed. + DS_CANT_MOVE_APP_QUERY_GROUP = 0x21A1, + // The FSMO role ownership could not be verified because its directory partition has not replicated successfully with at least one replication partner. + DS_ROLE_NOT_VERIFIED = 0x21A2, + // The target container for a redirection of a well known object container cannot already be a special container. + DS_WKO_CONTAINER_CANNOT_BE_SPECIAL = 0x21A3, + // The Directory Service cannot perform the requested operation because a domain rename operation is in progress. + DS_DOMAIN_RENAME_IN_PROGRESS = 0x21A4, + // The directory service detected a child partition below the requested partition name. The partition hierarchy must be created in a top down method. + DS_EXISTING_AD_CHILD_NC = 0x21A5, + // The directory service cannot replicate with this server because the time since the last replication with this server has exceeded the tombstone lifetime. + DS_REPL_LIFETIME_EXCEEDED = 0x21A6, + // The requested operation is not allowed on an object under the system container. + DS_DISALLOWED_IN_SYSTEM_CONTAINER = 0x21A7, + // The LDAP servers network send queue has filled up because the client is not processing the results of its requests fast enough. No more requests will be processed until the client catches up. If the client does not catch up then it will be disconnected. + DS_LDAP_SEND_QUEUE_FULL = 0x21A8, + // The scheduled replication did not take place because the system was too busy to execute the request within the schedule window. The replication queue is overloaded. Consider reducing the number of partners or decreasing the scheduled replication frequency. + DS_DRA_OUT_SCHEDULE_WINDOW = 0x21A9, + // At this time, it cannot be determined if the branch replication policy is available on the hub domain controller. Please retry at a later time to account for replication latencies. + DS_POLICY_NOT_KNOWN = 0x21AA, + // The site settings object for the specified site does not exist. + NO_SITE_SETTINGS_OBJECT = 0x21AB, + // The local account store does not contain secret material for the specified account. + NO_SECRETS = 0x21AC, + // Could not find a writable domain controller in the domain. + NO_WRITABLE_DC_FOUND = 0x21AD, + // The server object for the domain controller does not exist. + DS_NO_SERVER_OBJECT = 0x21AE, + // The NTDS Settings object for the domain controller does not exist. + DS_NO_NTDSA_OBJECT = 0x21AF, + // The requested search operation is not supported for ASQ searches. + DS_NON_ASQ_SEARCH = 0x21B0, + // A required audit event could not be generated for the operation. + DS_AUDIT_FAILURE = 0x21B1, + // The search flags for the attribute are invalid. The subtree index bit is valid only on single valued attributes. + DS_INVALID_SEARCH_FLAG_SUBTREE = 0x21B2, + // The search flags for the attribute are invalid. The tuple index bit is valid only on attributes of Unicode strings. + DS_INVALID_SEARCH_FLAG_TUPLE = 0x21B3, + // The address books are nested too deeply. Failed to build the hierarchy table. + DS_HIERARCHY_TABLE_TOO_DEEP = 0x21B4, + // The specified up-to-date-ness vector is corrupt. + DS_DRA_CORRUPT_UTD_VECTOR = 0x21B5, + // The request to replicate secrets is denied. + DS_DRA_SECRETS_DENIED = 0x21B6, + // Schema update failed: The MAPI identifier is reserved. + DS_RESERVED_MAPI_ID = 0x21B7, + // Schema update failed: There are no MAPI identifiers available. + DS_MAPI_ID_NOT_AVAILABLE = 0x21B8, + // The replication operation failed because the required attributes of the local krbtgt object are missing. + DS_DRA_MISSING_KRBTGT_SECRET = 0x21B9, + // The domain name of the trusted domain already exists in the forest. + DS_DOMAIN_NAME_EXISTS_IN_FOREST = 0x21BA, + // The flat name of the trusted domain already exists in the forest. + DS_FLAT_NAME_EXISTS_IN_FOREST = 0x21BB, + // The User Principal Name (UPN) is invalid. + INVALID_USER_PRINCIPAL_NAME = 0x21BC, + // OID mapped groups cannot have members. + DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS = 0x21BD, + // The specified OID cannot be found. + DS_OID_NOT_FOUND = 0x21BE, + // The replication operation failed because the target object referred by a link value is recycled. + DS_DRA_RECYCLED_TARGET = 0x21BF, + // The redirect operation failed because the target object is in a NC different from the domain NC of the current domain controller. + DS_DISALLOWED_NC_REDIRECT = 0x21C0, + // The functional level of the AD LDS configuration set cannot be lowered to the requested value. + DS_HIGH_ADLDS_FFL = 0x21C1, + // The functional level of the domain (or forest) cannot be lowered to the requested value. + DS_HIGH_DSA_VERSION = 0x21C2, + // The functional level of the AD LDS configuration set cannot be raised to the requested value, because there exist one or more ADLDS instances that are at a lower incompatible functional level. + DS_LOW_ADLDS_FFL = 0x21C3, + // The domain join cannot be completed because the SID of the domain you attempted to join was identical to the SID of this machine. This is a symptom of an improperly cloned operating system install. You should run sysprep on this machine in order to generate a new machine SID. Please see https://go.microsoft.com/fwlink/p/?linkid=168895 for more information. + DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION = 0x21C4, + // The undelete operation failed because the Sam Account Name or Additional Sam Account Name of the object being undeleted conflicts with an existing live object. + DS_UNDELETE_SAM_VALIDATION_FAILED = 0x21C5, + // The system is not authoritative for the specified account and therefore cannot complete the operation. Please retry the operation using the provider associated with this account. If this is an online provider please use the provider's online site. + INCORRECT_ACCOUNT_TYPE = 0x21C6, + + + // DNS server unable to interpret format. + DNS_ERROR_RCODE_FORMAT_ERROR = 0x2329, + // DNS server failure. + DNS_ERROR_RCODE_SERVER_FAILURE = 0x232A, + // DNS name does not exist. + DNS_ERROR_RCODE_NAME_ERROR = 0x232B, + // DNS request not supported by name server. + DNS_ERROR_RCODE_NOT_IMPLEMENTED = 0x232C, + // DNS operation refused. + DNS_ERROR_RCODE_REFUSED = 0x232D, + // DNS name that ought not exist, does exist. + DNS_ERROR_RCODE_YXDOMAIN = 0x232E, + // DNS RR set that ought not exist, does exist. + DNS_ERROR_RCODE_YXRRSET = 0x232F, + // DNS RR set that ought to exist, does not exist. + DNS_ERROR_RCODE_NXRRSET = 0x2330, + // DNS server not authoritative for zone. + DNS_ERROR_RCODE_NOTAUTH = 0x2331, + // DNS name in update or prereq is not in zone. + DNS_ERROR_RCODE_NOTZONE = 0x2332, + // DNS signature failed to verify. + DNS_ERROR_RCODE_BADSIG = 0x2338, + // DNS bad key. + DNS_ERROR_RCODE_BADKEY = 0x2339, + // DNS signature validity expired. + DNS_ERROR_RCODE_BADTIME = 0x233A, + // Only the DNS server acting as the key master for the zone may perform this operation. + DNS_ERROR_KEYMASTER_REQUIRED = 0x238D, + // This operation is not allowed on a zone that is signed or has signing keys. + DNS_ERROR_NOT_ALLOWED_ON_SIGNED_ZONE = 0x238E, + // NSEC3 is not compatible with the RSA-SHA-1 algorithm. Choose a different algorithm or use NSEC. + // This value was also named DNS_ERROR_INVALID_NSEC3_PARAMETERS + DNS_ERROR_NSEC3_INCOMPATIBLE_WITH_RSA_SHA1 = 0x238F, + // The zone does not have enough signing keys. There must be at least one key signing key (KSK) and at least one zone signing key (ZSK). + DNS_ERROR_NOT_ENOUGH_SIGNING_KEY_DESCRIPTORS = 0x2390, + // The specified algorithm is not supported. + DNS_ERROR_UNSUPPORTED_ALGORITHM = 0x2391, + // The specified key size is not supported. + DNS_ERROR_INVALID_KEY_SIZE = 0x2392, + // One or more of the signing keys for a zone are not accessible to the DNS server. Zone signing will not be operational until this error is resolved. + DNS_ERROR_SIGNING_KEY_NOT_ACCESSIBLE = 0x2393, + // The specified key storage provider does not support DPAPI++ data protection. Zone signing will not be operational until this error is resolved. + DNS_ERROR_KSP_DOES_NOT_SUPPORT_PROTECTION = 0x2394, + // An unexpected DPAPI++ error was encountered. Zone signing will not be operational until this error is resolved. + DNS_ERROR_UNEXPECTED_DATA_PROTECTION_ERROR = 0x2395, + // An unexpected crypto error was encountered. Zone signing may not be operational until this error is resolved. + DNS_ERROR_UNEXPECTED_CNG_ERROR = 0x2396, + // The DNS server encountered a signing key with an unknown version. Zone signing will not be operational until this error is resolved. + DNS_ERROR_UNKNOWN_SIGNING_PARAMETER_VERSION = 0x2397, + // The specified key service provider cannot be opened by the DNS server. + DNS_ERROR_KSP_NOT_ACCESSIBLE = 0x2398, + // The DNS server cannot accept any more signing keys with the specified algorithm and KSK flag value for this zone. + DNS_ERROR_TOO_MANY_SKDS = 0x2399, + // The specified rollover period is invalid. + DNS_ERROR_INVALID_ROLLOVER_PERIOD = 0x239A, + // The specified initial rollover offset is invalid. + DNS_ERROR_INVALID_INITIAL_ROLLOVER_OFFSET = 0x239B, + // The specified signing key is already in process of rolling over keys. + DNS_ERROR_ROLLOVER_IN_PROGRESS = 0x239C, + // The specified signing key does not have a standby key to revoke. + DNS_ERROR_STANDBY_KEY_NOT_PRESENT = 0x239D, + // This operation is not allowed on a zone signing key (ZSK). + DNS_ERROR_NOT_ALLOWED_ON_ZSK = 0x239E, + // This operation is not allowed on an active signing key. + DNS_ERROR_NOT_ALLOWED_ON_ACTIVE_SKD = 0x239F, + // The specified signing key is already queued for rollover. + DNS_ERROR_ROLLOVER_ALREADY_QUEUED = 0x23A0, + // This operation is not allowed on an unsigned zone. + DNS_ERROR_NOT_ALLOWED_ON_UNSIGNED_ZONE = 0x23A1, + // This operation could not be completed because the DNS server listed as the current key master for this zone is down or misconfigured. Resolve the problem on the current key master for this zone or use another DNS server to seize the key master role. + DNS_ERROR_BAD_KEYMASTER = 0x23A2, + // The specified signature validity period is invalid. + DNS_ERROR_INVALID_SIGNATURE_VALIDITY_PERIOD = 0x23A3, + // The specified NSEC3 iteration count is higher than allowed by the minimum key length used in the zone. + DNS_ERROR_INVALID_NSEC3_ITERATION_COUNT = 0x23A4, + // This operation could not be completed because the DNS server has been configured with DNSSEC features disabled. Enable DNSSEC on the DNS server. + DNS_ERROR_DNSSEC_IS_DISABLED = 0x23A5, + // This operation could not be completed because the XML stream received is empty or syntactically invalid. + DNS_ERROR_INVALID_XML = 0x23A6, + // This operation completed, but no trust anchors were added because all of the trust anchors received were either invalid, unsupported, expired, or would not become valid in less than 30 days. + DNS_ERROR_NO_VALID_TRUST_ANCHORS = 0x23A7, + // The specified signing key is not waiting for parental DS update. + DNS_ERROR_ROLLOVER_NOT_POKEABLE = 0x23A8, + // Hash collision detected during NSEC3 signing. Specify a different user-provided salt, or use a randomly generated salt, and attempt to sign the zone again. + DNS_ERROR_NSEC3_NAME_COLLISION = 0x23A9, + // NSEC is not compatible with the NSEC3-RSA-SHA-1 algorithm. Choose a different algorithm or use NSEC3. + DNS_ERROR_NSEC_INCOMPATIBLE_WITH_NSEC3_RSA_SHA1 = 0x23AA, + // No records found for given DNS query. + DNS_INFO_NO_RECORDS = 0x251D, + // Bad DNS packet. + DNS_ERROR_BAD_PACKET = 0x251E, + // No DNS packet. + DNS_ERROR_NO_PACKET = 0x251F, + // DNS error, check rcode. + DNS_ERROR_RCODE = 0x2520, + // Unsecured DNS packet. + DNS_ERROR_UNSECURE_PACKET = 0x2521, + // DNS query request is pending. + DNS_REQUEST_PENDING = 0x2522, + // Invalid DNS type. + DNS_ERROR_INVALID_TYPE = 0x254F, + // Invalid IP address. + DNS_ERROR_INVALID_IP_ADDRESS = 0x2550, + // Invalid property. + DNS_ERROR_INVALID_PROPERTY = 0x2551, + // Try DNS operation again later. + DNS_ERROR_TRY_AGAIN_LATER = 0x2552, + // Record for given name and type is not unique. + DNS_ERROR_NOT_UNIQUE = 0x2553, + // DNS name does not comply with RFC specifications. + DNS_ERROR_NON_RFC_NAME = 0x2554, + // DNS name is a fully-qualified DNS name. + DNS_STATUS_FQDN = 0x2555, + // DNS name is dotted (multi-label). + DNS_STATUS_DOTTED_NAME = 0x2556, + // DNS name is a single-part name. + DNS_STATUS_SINGLE_PART_NAME = 0x2557, + // DNS name contains an invalid character. + DNS_ERROR_INVALID_NAME_CHAR = 0x2558, + // DNS name is entirely numeric. + DNS_ERROR_NUMERIC_NAME = 0x2559, + // The operation requested is not permitted on a DNS root server. + DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER = 0x255A, + // The record could not be created because this part of the DNS namespace has been delegated to another server. + DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION = 0x255B, + // The DNS server could not find a set of root hints. + DNS_ERROR_CANNOT_FIND_ROOT_HINTS = 0x255C, + // The DNS server found root hints but they were not consistent across all adapters. + DNS_ERROR_INCONSISTENT_ROOT_HINTS = 0x255D, + // The specified value is too small for this parameter. + DNS_ERROR_DWORD_VALUE_TOO_SMALL = 0x255E, + // The specified value is too large for this parameter. + DNS_ERROR_DWORD_VALUE_TOO_LARGE = 0x255F, + // This operation is not allowed while the DNS server is loading zones in the background. Please try again later. + DNS_ERROR_BACKGROUND_LOADING = 0x2560, + // The operation requested is not permitted on against a DNS server running on a read-only DC. + DNS_ERROR_NOT_ALLOWED_ON_RODC = 0x2561, + // No data is allowed to exist underneath a DNAME record. + DNS_ERROR_NOT_ALLOWED_UNDER_DNAME = 0x2562, + // This operation requires credentials delegation. + DNS_ERROR_DELEGATION_REQUIRED = 0x2563, + // Name resolution policy table has been corrupted. DNS resolution will fail until it is fixed. Contact your network administrator. + DNS_ERROR_INVALID_POLICY_TABLE = 0x2564, + // DNS zone does not exist. + DNS_ERROR_ZONE_DOES_NOT_EXIST = 0x2581, + // DNS zone information not available. + DNS_ERROR_NO_ZONE_INFO = 0x2582, + // Invalid operation for DNS zone. + DNS_ERROR_INVALID_ZONE_OPERATION = 0x2583, + // Invalid DNS zone configuration. + DNS_ERROR_ZONE_CONFIGURATION_ERROR = 0x2584, + // DNS zone has no start of authority (SOA) record. + DNS_ERROR_ZONE_HAS_NO_SOA_RECORD = 0x2585, + // DNS zone has no Name Server (NS) record. + DNS_ERROR_ZONE_HAS_NO_NS_RECORDS = 0x2586, + // DNS zone is locked. + DNS_ERROR_ZONE_LOCKED = 0x2587, + // DNS zone creation failed. + DNS_ERROR_ZONE_CREATION_FAILED = 0x2588, + // DNS zone already exists. + DNS_ERROR_ZONE_ALREADY_EXISTS = 0x2589, + // DNS automatic zone already exists. + DNS_ERROR_AUTOZONE_ALREADY_EXISTS = 0x258A, + // Invalid DNS zone type. + DNS_ERROR_INVALID_ZONE_TYPE = 0x258B, + // Secondary DNS zone requires master IP address. + DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP = 0x258C, + // DNS zone not secondary. + DNS_ERROR_ZONE_NOT_SECONDARY = 0x258D, + // Need secondary IP address. + DNS_ERROR_NEED_SECONDARY_ADDRESSES = 0x258E, + // WINS initialization failed. + DNS_ERROR_WINS_INIT_FAILED = 0x258F, + // Need WINS servers. + DNS_ERROR_NEED_WINS_SERVERS = 0x2590, + // NBTSTAT initialization call failed. + DNS_ERROR_NBSTAT_INIT_FAILED = 0x2591, + // Invalid delete of start of authority (SOA). + DNS_ERROR_SOA_DELETE_INVALID = 0x2592, + // A conditional forwarding zone already exists for that name. + DNS_ERROR_FORWARDER_ALREADY_EXISTS = 0x2593, + // This zone must be configured with one or more master DNS server IP addresses. + DNS_ERROR_ZONE_REQUIRES_MASTER_IP = 0x2594, + // The operation cannot be performed because this zone is shut down. + DNS_ERROR_ZONE_IS_SHUTDOWN = 0x2595, + // This operation cannot be performed because the zone is currently being signed. Please try again later. + DNS_ERROR_ZONE_LOCKED_FOR_SIGNING = 0x2596, + // Primary DNS zone requires datafile. + DNS_ERROR_PRIMARY_REQUIRES_DATAFILE = 0x25B3, + // Invalid datafile name for DNS zone. + DNS_ERROR_INVALID_DATAFILE_NAME = 0x25B4, + // Failed to open datafile for DNS zone. + DNS_ERROR_DATAFILE_OPEN_FAILURE = 0x25B5, + // Failed to write datafile for DNS zone. + DNS_ERROR_FILE_WRITEBACK_FAILED = 0x25B6, + // Failure while reading datafile for DNS zone. + DNS_ERROR_DATAFILE_PARSING = 0x25B7, + // DNS record does not exist. + DNS_ERROR_RECORD_DOES_NOT_EXIST = 0x25E5, + // DNS record format error. + DNS_ERROR_RECORD_FORMAT = 0x25E6, + // Node creation failure in DNS. + DNS_ERROR_NODE_CREATION_FAILED = 0x25E7, + // Unknown DNS record type. + DNS_ERROR_UNKNOWN_RECORD_TYPE = 0x25E8, + // DNS record timed out. + DNS_ERROR_RECORD_TIMED_OUT = 0x25E9, + // Name not in DNS zone. + DNS_ERROR_NAME_NOT_IN_ZONE = 0x25EA, + // CNAME loop detected. + DNS_ERROR_CNAME_LOOP = 0x25EB, + // Node is a CNAME DNS record. + DNS_ERROR_NODE_IS_CNAME = 0x25EC, + // A CNAME record already exists for given name. + DNS_ERROR_CNAME_COLLISION = 0x25ED, + // Record only at DNS zone root. + DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT = 0x25EE, + // DNS record already exists. + DNS_ERROR_RECORD_ALREADY_EXISTS = 0x25EF, + // Secondary DNS zone data error. + DNS_ERROR_SECONDARY_DATA = 0x25F0, + // Could not create DNS cache data. + DNS_ERROR_NO_CREATE_CACHE_DATA = 0x25F1, + // DNS name does not exist. + DNS_ERROR_NAME_DOES_NOT_EXIST = 0x25F2, + // Could not create pointer (PTR) record. + DNS_WARNING_PTR_CREATE_FAILED = 0x25F3, + // DNS domain was undeleted. + DNS_WARNING_DOMAIN_UNDELETED = 0x25F4, + // The directory service is unavailable. + DNS_ERROR_DS_UNAVAILABLE = 0x25F5, + // DNS zone already exists in the directory service. + DNS_ERROR_DS_ZONE_ALREADY_EXISTS = 0x25F6, + // DNS server not creating or reading the boot file for the directory service integrated DNS zone. + DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE = 0x25F7, + // Node is a DNAME DNS record. + DNS_ERROR_NODE_IS_DNAME = 0x25F8, + // A DNAME record already exists for given name. + DNS_ERROR_DNAME_COLLISION = 0x25F9, + // An alias loop has been detected with either CNAME or DNAME records. + DNS_ERROR_ALIAS_LOOP = 0x25FA, + // DNS AXFR (zone transfer) complete. + DNS_INFO_AXFR_COMPLETE = 0x2617, + // DNS zone transfer failed. + DNS_ERROR_AXFR = 0x2618, + // Added local WINS server. + DNS_INFO_ADDED_LOCAL_WINS = 0x2619, + // Secure update call needs to continue update request. + DNS_STATUS_CONTINUE_NEEDED = 0x2649, + // TCP/IP network protocol not installed. + DNS_ERROR_NO_TCPIP = 0x267B, + // No DNS servers configured for local system. + DNS_ERROR_NO_DNS_SERVERS = 0x267C, + // The specified directory partition does not exist. + DNS_ERROR_DP_DOES_NOT_EXIST = 0x26AD, + // The specified directory partition already exists. + DNS_ERROR_DP_ALREADY_EXISTS = 0x26AE, + // This DNS server is not enlisted in the specified directory partition. + DNS_ERROR_DP_NOT_ENLISTED = 0x26AF, + // This DNS server is already enlisted in the specified directory partition. + DNS_ERROR_DP_ALREADY_ENLISTED = 0x26B0, + // The directory partition is not available at this time. Please wait a few minutes and try again. + DNS_ERROR_DP_NOT_AVAILABLE = 0x26B1, + // The operation failed because the domain naming master FSMO role could not be reached. The domain controller holding the domain naming master FSMO role is down or unable to service the request or is not running Windows Server 2003 or later. + DNS_ERROR_DP_FSMO_ERROR = 0x26B2, + // A blocking operation was interrupted by a call to WSACancelBlockingCall. + WSAEINTR = 0x2714, + // The file handle supplied is not valid. + WSAEBADF = 0x2719, + // An attempt was made to access a socket in a way forbidden by its access permissions. + WSAEACCES = 0x271D, + // The system detected an invalid pointer address in attempting to use a pointer argument in a call. + WSAEFAULT = 0x271E, + // An invalid argument was supplied. + WSAEINVAL = 0x2726, + // Too many open sockets. + WSAEMFILE = 0x2728, + // A non-blocking socket operation could not be completed immediately. + WSAEWOULDBLOCK = 0x2733, + // A blocking operation is currently executing. + WSAEINPROGRESS = 0x2734, + // An operation was attempted on a non-blocking socket that already had an operation in progress. + WSAEALREADY = 0x2735, + // An operation was attempted on something that is not a socket. + WSAENOTSOCK = 0x2736, + // A required address was omitted from an operation on a socket. + WSAEDESTADDRREQ = 0x2737, + // A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram into was smaller than the datagram itself. + WSAEMSGSIZE = 0x2738, + // A protocol was specified in the socket function call that does not support the semantics of the socket type requested. + WSAEPROTOTYPE = 0x2739, + // An unknown, invalid, or unsupported option or level was specified in a getsockopt or setsockopt call. + WSAENOPROTOOPT = 0x273A, + // The requested protocol has not been configured into the system, or no implementation for it exists. + WSAEPROTONOSUPPORT = 0x273B, + // The support for the specified socket type does not exist in this address family. + WSAESOCKTNOSUPPORT = 0x273C, + // The attempted operation is not supported for the type of object referenced. + WSAEOPNOTSUPP = 0x273D, + // The protocol family has not been configured into the system or no implementation for it exists. + WSAEPFNOSUPPORT = 0x273E, + // An address incompatible with the requested protocol was used. + WSAEAFNOSUPPORT = 0x273F, + // Only one usage of each socket address (protocol/network address/port) is normally permitted. + WSAEADDRINUSE = 0x2740, + // The requested address is not valid in its context. + WSAEADDRNOTAVAIL = 0x2741, + // A socket operation encountered a dead network. + WSAENETDOWN = 0x2742, + // A socket operation was attempted to an unreachable network. + WSAENETUNREACH = 0x2743, + // The connection has been broken due to keep-alive activity detecting a failure while the operation was in progress. + WSAENETRESET = 0x2744, + // An established connection was aborted by the software in your host machine. + WSAECONNABORTED = 0x2745, + // An existing connection was forcibly closed by the remote host. + WSAECONNRESET = 0x2746, + // An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full. + WSAENOBUFS = 0x2747, + // A connect request was made on an already connected socket. + WSAEISCONN = 0x2748, + // A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied. + WSAENOTCONN = 0x2749, + // A request to send or receive data was disallowed because the socket had already been shut down in that direction with a previous shutdown call. + WSAESHUTDOWN = 0x274A, + // Too many references to some kernel object. + WSAETOOMANYREFS = 0x274B, + // A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. + WSAETIMEDOUT = 0x274C, + // No connection could be made because the target machine actively refused it. + WSAECONNREFUSED = 0x274D, + // Cannot translate name. + WSAELOOP = 0x274E, + // Name component or name was too long. + WSAENAMETOOLONG = 0x274F, + // A socket operation failed because the destination host was down. + WSAEHOSTDOWN = 0x2750, + // A socket operation was attempted to an unreachable host. + WSAEHOSTUNREACH = 0x2751, + // Cannot remove a directory that is not empty. + WSAENOTEMPTY = 0x2752, + // A Windows Sockets implementation may have a limit on the number of applications that may use it simultaneously. + WSAEPROCLIM = 0x2753, + // Ran out of quota. + WSAEUSERS = 0x2754, + // Ran out of disk quota. + WSAEDQUOT = 0x2755, + // File handle reference is no longer available. + WSAESTALE = 0x2756, + // Item is not available locally. + WSAEREMOTE = 0x2757, + // WSAStartup cannot function at this time because the underlying system it uses to provide network services is currently unavailable. = = 0x276C, + WSASYSNOTREADY = 0x276B, // The Windows Sockets version requested is not supported. + // Either the application has not called WSAStartup, or WSAStartup failed. + WSANOTINITIALISED = 0x276D, + // Returned by WSARecv or WSARecvFrom to indicate the remote party has initiated a graceful shutdown sequence. + WSAEDISCON = 0x2775, + // No more results can be returned by WSALookupServiceNext. + WSAENOMORE = 0x2776, + // A call to WSALookupServiceEnd was made while this call was still processing. The call has been canceled. + WSAECANCELLED = 0x2777, + // The procedure call table is invalid. + WSAEINVALIDPROCTABLE = 0x2778, + // The requested service provider is invalid. + WSAEINVALIDPROVIDER = 0x2779, + // The requested service provider could not be loaded or initialized. + WSAEPROVIDERFAILEDINIT = 0x277A, + // A system call has failed. + WSASYSCALLFAILURE = 0x277B, + // No such service is known. The service cannot be found in the specified name space. + WSASERVICE_NOT_FOUND = 0x277C, + // The specified class was not found. + WSATYPE_NOT_FOUND = 0x277D, + // No more results can be returned by WSALookupServiceNext. + WSA_E_NO_MORE = 0x277E, + // A call to WSALookupServiceEnd was made while this call was still processing. The call has been canceled. + WSA_E_CANCELLED = 0x277F, + // A database query failed because it was actively refused. + WSAEREFUSED = 0x2780, + // No such host is known. + WSAHOST_NOT_FOUND = 0x2AF9, + // This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server. + WSATRY_AGAIN = 0x2AFA, + // A non-recoverable error occurred during a database lookup. + WSANO_RECOVERY = 0x2AFB, + // The requested name is valid, but no data of the requested type was found. + WSANO_DATA = 0x2AFC, + // At least one reserve has arrived. + WSA_QOS_RECEIVERS = 0x2AFD, + // At least one path has arrived. + WSA_QOS_SENDERS = 0x2AFE, + // There are no senders. + WSA_QOS_NO_SENDERS = 0x2AFF, + // There are no receivers. + WSA_QOS_NO_RECEIVERS = 0x2B00, + // Reserve has been confirmed. + WSA_QOS_REQUEST_CONFIRMED = 0x2B01, + // Error due to lack of resources. + WSA_QOS_ADMISSION_FAILURE = 0x2B02, + // Rejected for administrative reasons - bad credentials. + WSA_QOS_POLICY_FAILURE = 0x2B03, + // Unknown or conflicting style. + WSA_QOS_BAD_STYLE = 0x2B04, + // Problem with some part of the filterspec or providerspecific buffer in general. + WSA_QOS_BAD_OBJECT = 0x2B05, + // Problem with some part of the flowspec. + WSA_QOS_TRAFFIC_CTRL_ERROR = 0x2B06, + // General QOS error. + WSA_QOS_GENERIC_ERROR = 0x2B07, + // An invalid or unrecognized service type was found in the flowspec. + WSA_QOS_ESERVICETYPE = 0x2B08, + // An invalid or inconsistent flowspec was found in the QOS structure. + WSA_QOS_EFLOWSPEC = 0x2B09, + // Invalid QOS provider-specific buffer. + WSA_QOS_EPROVSPECBUF = 0x2B0A, + // An invalid QOS filter style was used. + WSA_QOS_EFILTERSTYLE = 0x2B0B, + // An invalid QOS filter type was used. + WSA_QOS_EFILTERTYPE = 0x2B0C, + // An incorrect number of QOS FILTERSPECs were specified in the FLOWDESCRIPTOR. + WSA_QOS_EFILTERCOUNT = 0x2B0D, + // An object with an invalid ObjectLength field was specified in the QOS provider-specific buffer. + WSA_QOS_EOBJLENGTH = 0x2B0E, + // An incorrect number of flow descriptors was specified in the QOS structure. + WSA_QOS_EFLOWCOUNT = 0x2B0F, + // An unrecognized object was found in the QOS provider-specific buffer. + WSA_QOS_EUNKOWNPSOBJ = 0x2B10, + // An invalid policy object was found in the QOS provider-specific buffer. + WSA_QOS_EPOLICYOBJ = 0x2B11, + // An invalid QOS flow descriptor was found in the flow descriptor list. + WSA_QOS_EFLOWDESC = 0x2B12, + // An invalid or inconsistent flowspec was found in the QOS provider specific buffer. + WSA_QOS_EPSFLOWSPEC = 0x2B13, + // An invalid FILTERSPEC was found in the QOS provider-specific buffer. + WSA_QOS_EPSFILTERSPEC = 0x2B14, + // An invalid shape discard mode object was found in the QOS provider specific buffer. + WSA_QOS_ESDMODEOBJ = 0x2B15, + // An invalid shaping rate object was found in the QOS provider-specific buffer. + WSA_QOS_ESHAPERATEOBJ = 0x2B16, + // A reserved policy element was found in the QOS provider-specific buffer. + WSA_QOS_RESERVED_PETYPE = 0x2B17, + // No such host is known securely. + WSA_SECURE_HOST_NOT_FOUND = 0x2B18, + // Name based IPSEC policy could not be added. + WSA_IPSEC_NAME_POLICY_ERROR = 0x2B19, + + // See Internet Error Codes and WinInet.h. + INTERNET_ = 0x2EE0, + // See WinHTTP Error Codes and Winhttp.h. + WINHTTP_ = 0x2EE1, + // The specified quick mode policy already exists. + IPSEC_QM_POLICY_EXISTS = 0x32C8, + // The specified quick mode policy was not found. + IPSEC_QM_POLICY_NOT_FOUND = 0x32C9, + // The specified quick mode policy is being used. + IPSEC_QM_POLICY_IN_USE = 0x32CA, + // The specified main mode policy already exists. + IPSEC_MM_POLICY_EXISTS = 0x32CB, + // The specified main mode policy was not found. + IPSEC_MM_POLICY_NOT_FOUND = 0x32CC, + // The specified main mode policy is being used. + IPSEC_MM_POLICY_IN_USE = 0x32CD, + // The specified main mode filter already exists. + IPSEC_MM_FILTER_EXISTS = 0x32CE, + // The specified main mode filter was not found. + IPSEC_MM_FILTER_NOT_FOUND = 0x32CF, + // The specified transport mode filter already exists. + IPSEC_TRANSPORT_FILTER_EXISTS = 0x32D0, + // The specified transport mode filter does not exist. + IPSEC_TRANSPORT_FILTER_NOT_FOUND = 0x32D1, + // The specified main mode authentication list exists. + IPSEC_MM_AUTH_EXISTS = 0x32D2, + // The specified main mode authentication list was not found. + IPSEC_MM_AUTH_NOT_FOUND = 0x32D3, + // The specified main mode authentication list is being used. + IPSEC_MM_AUTH_IN_USE = 0x32D4, + // The specified default main mode policy was not found. + IPSEC_DEFAULT_MM_POLICY_NOT_FOUND = 0x32D5, + // The specified default main mode authentication list was not found. + IPSEC_DEFAULT_MM_AUTH_NOT_FOUND = 0x32D6, + // The specified default quick mode policy was not found. + IPSEC_DEFAULT_QM_POLICY_NOT_FOUND = 0x32D7, + // The specified tunnel mode filter exists. + IPSEC_TUNNEL_FILTER_EXISTS = 0x32D8, + // The specified tunnel mode filter was not found. + IPSEC_TUNNEL_FILTER_NOT_FOUND = 0x32D9, + // The Main Mode filter is pending deletion. + IPSEC_MM_FILTER_PENDING_DELETION = 0x32DA, + // The transport filter is pending deletion. + IPSEC_TRANSPORT_FILTER_PENDING_DELETION = 0x32DB, + // The tunnel filter is pending deletion. + IPSEC_TUNNEL_FILTER_PENDING_DELETION = 0x32DC, + // The Main Mode policy is pending deletion. + IPSEC_MM_POLICY_PENDING_DELETION = 0x32DD, + // The Main Mode authentication bundle is pending deletion. + IPSEC_MM_AUTH_PENDING_DELETION = 0x32DE, + // The Quick Mode policy is pending deletion. + IPSEC_QM_POLICY_PENDING_DELETION = 0x32DF, + // The Main Mode policy was successfully added, but some of the requested offers are not supported. + WARNING_IPSEC_MM_POLICY_PRUNED = 0x32E0, + // The Quick Mode policy was successfully added, but some of the requested offers are not supported. + WARNING_IPSEC_QM_POLICY_PRUNED = 0x32E1, + // IPSEC_IKE_NEG_STATUS_BEGIN = = 0x35E9, + IPSEC_IKE_NEG_STATUS_BEGIN = 0x35E8, // IKE authentication credentials are unacceptable. + // IKE security attributes are unacceptable. + IPSEC_IKE_ATTRIB_FAIL = 0x35EA, + // IKE Negotiation in progress. + IPSEC_IKE_NEGOTIATION_PENDING = 0x35EB, + // General processing error. + IPSEC_IKE_GENERAL_PROCESSING_ERROR = 0x35EC, + // Negotiation timed out. + IPSEC_IKE_TIMED_OUT = 0x35ED, + // IKE failed to find valid machine certificate. Contact your Network Security Administrator about installing a valid certificate in the appropriate Certificate Store. + IPSEC_IKE_NO_CERT = 0x35EE, + // IKE SA deleted by peer before establishment completed. + IPSEC_IKE_SA_DELETED = 0x35EF, + // IKE SA deleted before establishment completed. + IPSEC_IKE_SA_REAPED = 0x35F0, + // Negotiation request sat in Queue too long. + IPSEC_IKE_MM_ACQUIRE_DROP = 0x35F1, + // Negotiation request sat in Queue too long. + IPSEC_IKE_QM_ACQUIRE_DROP = 0x35F2, + // Negotiation request sat in Queue too long. + IPSEC_IKE_QUEUE_DROP_MM = 0x35F3, + // Negotiation request sat in Queue too long. + IPSEC_IKE_QUEUE_DROP_NO_MM = 0x35F4, + // No response from peer. + IPSEC_IKE_DROP_NO_RESPONSE = 0x35F5, + // Negotiation took too long. + IPSEC_IKE_MM_DELAY_DROP = 0x35F6, + // Negotiation took too long. + IPSEC_IKE_QM_DELAY_DROP = 0x35F7, + // Unknown error occurred. + IPSEC_IKE_ERROR = 0x35F8, + // Certificate Revocation Check failed. + IPSEC_IKE_CRL_FAILED = 0x35F9, + // Invalid certificate key usage. + IPSEC_IKE_INVALID_KEY_USAGE = 0x35FA, + // Invalid certificate type. + IPSEC_IKE_INVALID_CERT_TYPE = 0x35FB, + // IKE negotiation failed because the machine certificate used does not have a private key. IPsec certificates require a private key. Contact your Network Security administrator about replacing with a certificate that has a private key. + IPSEC_IKE_NO_PRIVATE_KEY = 0x35FC, + // Simultaneous rekeys were detected. + IPSEC_IKE_SIMULTANEOUS_REKEY = 0x35FD, + // Failure in Diffie-Hellman computation. + IPSEC_IKE_DH_FAIL = 0x35FE, + // Don't know how to process critical payload. + IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED = 0x35FF, + // Invalid header. + IPSEC_IKE_INVALID_HEADER = 0x3600, + // No policy configured. + IPSEC_IKE_NO_POLICY = 0x3601, + // Failed to verify signature. + IPSEC_IKE_INVALID_SIGNATURE = 0x3602, + // Failed to authenticate using Kerberos. + IPSEC_IKE_KERBEROS_ERROR = 0x3603, + // Peer's certificate did not have a public key. + IPSEC_IKE_NO_PUBLIC_KEY = 0x3604, + // Error processing error payload. + IPSEC_IKE_PROCESS_ERR = 0x3605, + // Error processing SA payload. + IPSEC_IKE_PROCESS_ERR_SA = 0x3606, + // Error processing Proposal payload. + IPSEC_IKE_PROCESS_ERR_PROP = 0x3607, + // Error processing Transform payload. + IPSEC_IKE_PROCESS_ERR_TRANS = 0x3608, + // Error processing KE payload. + IPSEC_IKE_PROCESS_ERR_KE = 0x3609, + // Error processing ID payload. + IPSEC_IKE_PROCESS_ERR_ID = 0x360A, + // Error processing Cert payload. + IPSEC_IKE_PROCESS_ERR_CERT = 0x360B, + // Error processing Certificate Request payload. + IPSEC_IKE_PROCESS_ERR_CERT_REQ = 0x360C, + // Error processing Hash payload. + IPSEC_IKE_PROCESS_ERR_HASH = 0x360D, + // Error processing Signature payload. + IPSEC_IKE_PROCESS_ERR_SIG = 0x360E, + // Error processing Nonce payload. + IPSEC_IKE_PROCESS_ERR_NONCE = 0x360F, + // Error processing Notify payload. + IPSEC_IKE_PROCESS_ERR_NOTIFY = 0x3610, + // Error processing Delete Payload. + IPSEC_IKE_PROCESS_ERR_DELETE = 0x3611, + // Error processing VendorId payload. + IPSEC_IKE_PROCESS_ERR_VENDOR = 0x3612, + // Invalid payload received. + IPSEC_IKE_INVALID_PAYLOAD = 0x3613, + // Soft SA loaded. + IPSEC_IKE_LOAD_SOFT_SA = 0x3614, + // Soft SA torn down. + IPSEC_IKE_SOFT_SA_TORN_DOWN = 0x3615, + // Invalid cookie received. + IPSEC_IKE_INVALID_COOKIE = 0x3616, + // Peer failed to send valid machine certificate. + IPSEC_IKE_NO_PEER_CERT = 0x3617, + // Certification Revocation check of peer's certificate failed. + IPSEC_IKE_PEER_CRL_FAILED = 0x3618, + // New policy invalidated SAs formed with old policy. + IPSEC_IKE_POLICY_CHANGE = 0x3619, + // There is no available Main Mode IKE policy. + IPSEC_IKE_NO_MM_POLICY = 0x361A, + // Failed to enabled TCB privilege. + IPSEC_IKE_NOTCBPRIV = 0x361B, + // Failed to load SECURITY.DLL. + IPSEC_IKE_SECLOADFAIL = 0x361C, + // Failed to obtain security function table dispatch address from SSPI. + IPSEC_IKE_FAILSSPINIT = 0x361D, + // Failed to query Kerberos package to obtain max token size. + IPSEC_IKE_FAILQUERYSSP = 0x361E, + // Failed to obtain Kerberos server credentials for ISAKMP/ERROR_IPSEC_IKE service. Kerberos authentication will not function. The most likely reason for this is lack of domain membership. This is normal if your computer is a member of a workgroup. + IPSEC_IKE_SRVACQFAIL = 0x361F, + // Failed to determine SSPI principal name for ISAKMP/ERROR_IPSEC_IKE service (QueryCredentialsAttributes). + IPSEC_IKE_SRVQUERYCRED = 0x3620, + // Failed to obtain new SPI for the inbound SA from IPsec driver. The most common cause for this is that the driver does not have the correct filter. Check your policy to verify the filters. + IPSEC_IKE_GETSPIFAIL = 0x3621, + // Given filter is invalid. + IPSEC_IKE_INVALID_FILTER = 0x3622, + // Memory allocation failed. + IPSEC_IKE_OUT_OF_MEMORY = 0x3623, + // Failed to add Security Association to IPsec Driver. The most common cause for this is if the IKE negotiation took too long to complete. If the problem persists, reduce the load on the faulting machine. + IPSEC_IKE_ADD_UPDATE_KEY_FAILED = 0x3624, + // Invalid policy. + IPSEC_IKE_INVALID_POLICY = 0x3625, + // Invalid DOI. + IPSEC_IKE_UNKNOWN_DOI = 0x3626, + // Invalid situation. + IPSEC_IKE_INVALID_SITUATION = 0x3627, + // Diffie-Hellman failure. + IPSEC_IKE_DH_FAILURE = 0x3628, + // Invalid Diffie-Hellman group. + IPSEC_IKE_INVALID_GROUP = 0x3629, + // Error encrypting payload. + IPSEC_IKE_ENCRYPT = 0x362A, + // Error decrypting payload. + IPSEC_IKE_DECRYPT = 0x362B, + // Policy match error. + IPSEC_IKE_POLICY_MATCH = 0x362C, + // Unsupported ID. + IPSEC_IKE_UNSUPPORTED_ID = 0x362D, + // Hash verification failed. + IPSEC_IKE_INVALID_HASH = 0x362E, + // Invalid hash algorithm. + IPSEC_IKE_INVALID_HASH_ALG = 0x362F, + // Invalid hash size. + IPSEC_IKE_INVALID_HASH_SIZE = 0x3630, + // Invalid encryption algorithm. + IPSEC_IKE_INVALID_ENCRYPT_ALG = 0x3631, + // Invalid authentication algorithm. + IPSEC_IKE_INVALID_AUTH_ALG = 0x3632, + // Invalid certificate signature. + IPSEC_IKE_INVALID_SIG = 0x3633, + // Load failed. + IPSEC_IKE_LOAD_FAILED = 0x3634, + // Deleted via RPC call. + IPSEC_IKE_RPC_DELETE = 0x3635, + // Temporary state created to perform reinitialization. This is not a real failure. + IPSEC_IKE_BENIGN_REINIT = 0x3636, + // The lifetime value received in the Responder Lifetime Notify is below the Windows 2000 configured minimum value. Please fix the policy on the peer machine. + IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY = 0x3637, + // The recipient cannot handle version of IKE specified in the header. + IPSEC_IKE_INVALID_MAJOR_VERSION = 0x3638, + // Key length in certificate is too small for configured security requirements. + IPSEC_IKE_INVALID_CERT_KEYLEN = 0x3639, + // Max number of established MM SAs to peer exceeded. + IPSEC_IKE_MM_LIMIT = 0x363A, + // IKE received a policy that disables negotiation. + IPSEC_IKE_NEGOTIATION_DISABLED = 0x363B, + // Reached maximum quick mode limit for the main mode. New main mode will be started. + IPSEC_IKE_QM_LIMIT = 0x363C, + // Main mode SA lifetime expired or peer sent a main mode delete. + IPSEC_IKE_MM_EXPIRED = 0x363D, + // Main mode SA assumed to be invalid because peer stopped responding. + IPSEC_IKE_PEER_MM_ASSUMED_INVALID = 0x363E, + // Certificate doesn't chain to a trusted root in IPsec policy. + IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH = 0x363F, + // Received unexpected message ID. + IPSEC_IKE_UNEXPECTED_MESSAGE_ID = 0x3640, + // Received invalid authentication offers. + IPSEC_IKE_INVALID_AUTH_PAYLOAD = 0x3641, + // Sent DoS cookie notify to initiator. + IPSEC_IKE_DOS_COOKIE_SENT = 0x3642, + // IKE service is shutting down. + IPSEC_IKE_SHUTTING_DOWN = 0x3643, + // Could not verify binding between CGA address and certificate. + IPSEC_IKE_CGA_AUTH_FAILED = 0x3644, + // Error processing NatOA payload. + IPSEC_IKE_PROCESS_ERR_NATOA = 0x3645, + // Parameters of the main mode are invalid for this quick mode. + IPSEC_IKE_INVALID_MM_FOR_QM = 0x3646, + // Quick mode SA was expired by IPsec driver. + IPSEC_IKE_QM_EXPIRED = 0x3647, + // Too many dynamically added IKEEXT filters were detected. + IPSEC_IKE_TOO_MANY_FILTERS = 0x3648, + // IPSEC_IKE_NEG_STATUS_END = = 0x364A, + IPSEC_IKE_NEG_STATUS_END = 0x3649, // NAP reauth succeeded and must delete the dummy NAP IKEv2 tunnel. + // Error in assigning inner IP address to initiator in tunnel mode. + IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE = 0x364B, + // Require configuration payload missing. + IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING = 0x364C, + // A negotiation running as the security principle who issued the connection is in progress. + IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING = 0x364D, + // SA was deleted due to IKEv1/AuthIP co-existence suppress check. + IPSEC_IKE_COEXISTENCE_SUPPRESS = 0x364E, + // Incoming SA request was dropped due to peer IP address rate limiting. + IPSEC_IKE_RATELIMIT_DROP = 0x364F, + // Peer does not support MOBIKE. + IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE = 0x3650, + // SA establishment is not authorized. + IPSEC_IKE_AUTHORIZATION_FAILURE = 0x3651, + // SA establishment is not authorized because there is not a sufficiently strong PKINIT-based credential. + IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE = 0x3652, + // SA establishment is not authorized. You may need to enter updated or different credentials such as a smartcard. + IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY = 0x3653, + // SA establishment is not authorized because there is not a sufficiently strong PKINIT-based credential. This might be related to certificate-to-account mapping failure for the SA. + IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE = 0x3654, + // IPSEC_IKE_NEG_STATUS_EXTENDED_END = = 0x3656, + IPSEC_IKE_NEG_STATUS_EXTENDED_END = 0x3655, // The SPI in the packet does not match a valid IPsec SA. + // Packet was received on an IPsec SA whose lifetime has expired. + IPSEC_SA_LIFETIME_EXPIRED = 0x3657, + // Packet was received on an IPsec SA that does not match the packet characteristics. + IPSEC_WRONG_SA = 0x3658, + // Packet sequence number replay check failed. + IPSEC_REPLAY_CHECK_FAILED = 0x3659, + // IPsec header and/or trailer in the packet is invalid. + IPSEC_INVALID_PACKET = 0x365A, + // IPsec integrity check failed. + IPSEC_INTEGRITY_CHECK_FAILED = 0x365B, + // IPsec dropped a clear text packet. + IPSEC_CLEAR_TEXT_DROP = 0x365C, + // IPsec dropped an incoming ESP packet in authenticated firewall mode. This drop is benign. + IPSEC_AUTH_FIREWALL_DROP = 0x365D, + // IPsec dropped a packet due to DoS throttling. + IPSEC_THROTTLE_DROP = 0x365E, + // IPsec DoS Protection matched an explicit block rule. + IPSEC_DOSP_BLOCK = 0x3665, + // IPsec DoS Protection received an IPsec specific multicast packet which is not allowed. + IPSEC_DOSP_RECEIVED_MULTICAST = 0x3666, + // IPsec DoS Protection received an incorrectly formatted packet. + IPSEC_DOSP_INVALID_PACKET = 0x3667, + // IPsec DoS Protection failed to look up state. + IPSEC_DOSP_STATE_LOOKUP_FAILED = 0x3668, + // IPsec DoS Protection failed to create state because the maximum number of entries allowed by policy has been reached. + IPSEC_DOSP_MAX_ENTRIES = 0x3669, + // IPsec DoS Protection received an IPsec negotiation packet for a keying module which is not allowed by policy. + IPSEC_DOSP_KEYMOD_NOT_ALLOWED = 0x366A, + // IPsec DoS Protection has not been enabled. + IPSEC_DOSP_NOT_INSTALLED = 0x366B, + // IPsec DoS Protection failed to create a per internal IP rate limit queue because the maximum number of queues allowed by policy has been reached. + IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES = 0x366C, + // The requested section was not present in the activation context. + SXS_SECTION_NOT_FOUND = 0x36B0, + // The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail. + SXS_CANT_GEN_ACTCTX = 0x36B1, + // The application binding data format is invalid. + SXS_INVALID_ACTCTXDATA_FORMAT = 0x36B2, + // The referenced assembly is not installed on your system. + SXS_ASSEMBLY_NOT_FOUND = 0x36B3, + // The manifest file does not begin with the required tag and format information. + SXS_MANIFEST_FORMAT_ERROR = 0x36B4, + // The manifest file contains one or more syntax errors. + SXS_MANIFEST_PARSE_ERROR = 0x36B5, + // The application attempted to activate a disabled activation context. + SXS_ACTIVATION_CONTEXT_DISABLED = 0x36B6, + // The requested lookup key was not found in any active activation context. + SXS_KEY_NOT_FOUND = 0x36B7, + // A component version required by the application conflicts with another component version already active. + SXS_VERSION_CONFLICT = 0x36B8, + // The type requested activation context section does not match the query API used. + SXS_WRONG_SECTION_TYPE = 0x36B9, + // Lack of system resources has required isolated activation to be disabled for the current thread of execution. + SXS_THREAD_QUERIES_DISABLED = 0x36BA, + // An attempt to set the process default activation context failed because the process default activation context was already set. + SXS_PROCESS_DEFAULT_ALREADY_SET = 0x36BB, + // The encoding group identifier specified is not recognized. + SXS_UNKNOWN_ENCODING_GROUP = 0x36BC, + // The encoding requested is not recognized. + SXS_UNKNOWN_ENCODING = 0x36BD, + // The manifest contains a reference to an invalid URI. + SXS_INVALID_XML_NAMESPACE_URI = 0x36BE, + // The application manifest contains a reference to a dependent assembly which is not installed. + SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED = 0x36BF, + // The manifest for an assembly used by the application has a reference to a dependent assembly which is not installed. + SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED = 0x36C0, + // The manifest contains an attribute for the assembly identity which is not valid. + SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE = 0x36C1, + // The manifest is missing the required default namespace specification on the assembly element. + SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE = 0x36C2, + // The manifest has a default namespace specified on the assembly element but its value is not "urn:schemas-microsoft-com:asm.v1". + SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE = 0x36C3, + // The private manifest probed has crossed a path with an unsupported reparse point. + SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT = 0x36C4, + // Two or more components referenced directly or indirectly by the application manifest have files by the same name. + SXS_DUPLICATE_DLL_NAME = 0x36C5, + // Two or more components referenced directly or indirectly by the application manifest have window classes with the same name. + SXS_DUPLICATE_WINDOWCLASS_NAME = 0x36C6, + // Two or more components referenced directly or indirectly by the application manifest have the same COM server CLSIDs. + SXS_DUPLICATE_CLSID = 0x36C7, + // Two or more components referenced directly or indirectly by the application manifest have proxies for the same COM interface IIDs. + SXS_DUPLICATE_IID = 0x36C8, + // Two or more components referenced directly or indirectly by the application manifest have the same COM type library TLBIDs. + SXS_DUPLICATE_TLBID = 0x36C9, + // Two or more components referenced directly or indirectly by the application manifest have the same COM ProgIDs. + SXS_DUPLICATE_PROGID = 0x36CA, + // Two or more components referenced directly or indirectly by the application manifest are different versions of the same component which is not permitted. + SXS_DUPLICATE_ASSEMBLY_NAME = 0x36CB, + // A component's file does not match the verification information present in the component manifest. + SXS_FILE_HASH_MISMATCH = 0x36CC, + // The policy manifest contains one or more syntax errors. + SXS_POLICY_PARSE_ERROR = 0x36CD, + // Manifest Parse Error : A string literal was expected, but no opening quote character was found. + SXS_XML_E_MISSINGQUOTE = 0x36CE, + // Manifest Parse Error : Incorrect syntax was used in a comment. + SXS_XML_E_COMMENTSYNTAX = 0x36CF, + // Manifest Parse Error : A name was started with an invalid character. + SXS_XML_E_BADSTARTNAMECHAR = 0x36D0, + // Manifest Parse Error : A name contained an invalid character. + SXS_XML_E_BADNAMECHAR = 0x36D1, + // Manifest Parse Error : A string literal contained an invalid character. + SXS_XML_E_BADCHARINSTRING = 0x36D2, + // Manifest Parse Error : Invalid syntax for an xml declaration. + SXS_XML_E_XMLDECLSYNTAX = 0x36D3, + // Manifest Parse Error : An Invalid character was found in text content. + SXS_XML_E_BADCHARDATA = 0x36D4, + // Manifest Parse Error : Required white space was missing. + SXS_XML_E_MISSINGWHITESPACE = 0x36D5, + // Manifest Parse Error : The character '>' was expected. + SXS_XML_E_EXPECTINGTAGEND = 0x36D6, + // Manifest Parse Error : A semi colon character was expected. + SXS_XML_E_MISSINGSEMICOLON = 0x36D7, + // Manifest Parse Error : Unbalanced parentheses. + SXS_XML_E_UNBALANCEDPAREN = 0x36D8, + // Manifest Parse Error : Internal error. + SXS_XML_E_INTERNALERROR = 0x36D9, + // Manifest Parse Error : Whitespace is not allowed at this location. + SXS_XML_E_UNEXPECTED_WHITESPACE = 0x36DA, + // Manifest Parse Error : End of file reached in invalid state for current encoding. + SXS_XML_E_INCOMPLETE_ENCODING = 0x36DB, + // Manifest Parse Error : Missing parenthesis. + SXS_XML_E_MISSING_PAREN = 0x36DC, + // Manifest Parse Error : A single or double closing quote character (\' or \") is missing. + SXS_XML_E_EXPECTINGCLOSEQUOTE = 0x36DD, + // Manifest Parse Error : Multiple colons are not allowed in a name. + SXS_XML_E_MULTIPLE_COLONS = 0x36DE, + // Manifest Parse Error : Invalid character for decimal digit. + SXS_XML_E_INVALID_DECIMAL = 0x36DF, + // Manifest Parse Error : Invalid character for hexadecimal digit. + SXS_XML_E_INVALID_HEXIDECIMAL = 0x36E0, + // Manifest Parse Error : Invalid unicode character value for this platform. + SXS_XML_E_INVALID_UNICODE = 0x36E1, + // Manifest Parse Error : Expecting whitespace or '?'. + SXS_XML_E_WHITESPACEORQUESTIONMARK = 0x36E2, + // Manifest Parse Error : End tag was not expected at this location. + SXS_XML_E_UNEXPECTEDENDTAG = 0x36E3, + // Manifest Parse Error : The following tags were not closed: %1. + SXS_XML_E_UNCLOSEDTAG = 0x36E4, + // Manifest Parse Error : Duplicate attribute. + SXS_XML_E_DUPLICATEATTRIBUTE = 0x36E5, + // Manifest Parse Error : Only one top level element is allowed in an XML document. + SXS_XML_E_MULTIPLEROOTS = 0x36E6, + // Manifest Parse Error : Invalid at the top level of the document. + SXS_XML_E_INVALIDATROOTLEVEL = 0x36E7, + // Manifest Parse Error : Invalid xml declaration. + SXS_XML_E_BADXMLDECL = 0x36E8, + // Manifest Parse Error : XML document must have a top level element. + SXS_XML_E_MISSINGROOT = 0x36E9, + // Manifest Parse Error : Unexpected end of file. + SXS_XML_E_UNEXPECTEDEOF = 0x36EA, + // Manifest Parse Error : Parameter entities cannot be used inside markup declarations in an internal subset. + SXS_XML_E_BADPEREFINSUBSET = 0x36EB, + // Manifest Parse Error : Element was not closed. + SXS_XML_E_UNCLOSEDSTARTTAG = 0x36EC, + // Manifest Parse Error : End element was missing the character '>'. + SXS_XML_E_UNCLOSEDENDTAG = 0x36ED, + // Manifest Parse Error : A string literal was not closed. + SXS_XML_E_UNCLOSEDSTRING = 0x36EE, + // Manifest Parse Error : A comment was not closed. + SXS_XML_E_UNCLOSEDCOMMENT = 0x36EF, + // Manifest Parse Error : A declaration was not closed. + SXS_XML_E_UNCLOSEDDECL = 0x36F0, + // Manifest Parse Error : A CDATA section was not closed. + SXS_XML_E_UNCLOSEDCDATA = 0x36F1, + // Manifest Parse Error : The namespace prefix is not allowed to start with the reserved string "xml". + SXS_XML_E_RESERVEDNAMESPACE = 0x36F2, + // Manifest Parse Error : System does not support the specified encoding. + SXS_XML_E_INVALIDENCODING = 0x36F3, + // Manifest Parse Error : Switch from current encoding to specified encoding not supported. + SXS_XML_E_INVALIDSWITCH = 0x36F4, + // Manifest Parse Error : The name 'xml' is reserved and must be lower case. + SXS_XML_E_BADXMLCASE = 0x36F5, + // Manifest Parse Error : The standalone attribute must have the value 'yes' or 'no'. + SXS_XML_E_INVALID_STANDALONE = 0x36F6, + // Manifest Parse Error : The standalone attribute cannot be used in external entities. + SXS_XML_E_UNEXPECTED_STANDALONE = 0x36F7, + // Manifest Parse Error : Invalid version number. + SXS_XML_E_INVALID_VERSION = 0x36F8, + // Manifest Parse Error : Missing equals sign between attribute and attribute value. + SXS_XML_E_MISSINGEQUALS = 0x36F9, + // Assembly Protection Error : Unable to recover the specified assembly. + SXS_PROTECTION_RECOVERY_FAILED = 0x36FA, + // Assembly Protection Error : The public key for an assembly was too short to be allowed. + SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT = 0x36FB, + // Assembly Protection Error : The catalog for an assembly is not valid, or does not match the assembly's manifest. + SXS_PROTECTION_CATALOG_NOT_VALID = 0x36FC, + // An HRESULT could not be translated to a corresponding Win32 error code. + SXS_UNTRANSLATABLE_HRESULT = 0x36FD, + // Assembly Protection Error : The catalog for an assembly is missing. + SXS_PROTECTION_CATALOG_FILE_MISSING = 0x36FE, + // The supplied assembly identity is missing one or more attributes which must be present in this context. + SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE = 0x36FF, + // The supplied assembly identity has one or more attribute names that contain characters not permitted in XML names. + SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME = 0x3700, + // The referenced assembly could not be found. + SXS_ASSEMBLY_MISSING = 0x3701, + // The activation context activation stack for the running thread of execution is corrupt. + SXS_CORRUPT_ACTIVATION_STACK = 0x3702, + // The application isolation metadata for this process or thread has become corrupt. + SXS_CORRUPTION = 0x3703, + // The activation context being deactivated is not the most recently activated one. + SXS_EARLY_DEACTIVATION = 0x3704, + // The activation context being deactivated is not active for the current thread of execution. + SXS_INVALID_DEACTIVATION = 0x3705, + // The activation context being deactivated has already been deactivated. + SXS_MULTIPLE_DEACTIVATION = 0x3706, + // A component used by the isolation facility has requested to terminate the process. + SXS_PROCESS_TERMINATION_REQUESTED = 0x3707, + // A kernel mode component is releasing a reference on an activation context. + SXS_RELEASE_ACTIVATION_CONTEXT = 0x3708, + // The activation context of system default assembly could not be generated. + SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY = 0x3709, + // The value of an attribute in an identity is not within the legal range. + SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE = 0x370A, + // The name of an attribute in an identity is not within the legal range. + SXS_INVALID_IDENTITY_ATTRIBUTE_NAME = 0x370B, + // An identity contains two definitions for the same attribute. + SXS_IDENTITY_DUPLICATE_ATTRIBUTE = 0x370C, + // The identity string is malformed. This may be due to a trailing comma, more than two unnamed attributes, missing attribute name or missing attribute value. + SXS_IDENTITY_PARSE_ERROR = 0x370D, + // A string containing localized substitutable content was malformed. Either a dollar sign ($) was followed by something other than a left parenthesis or another dollar sign or an substitution's right parenthesis was not found. + MALFORMED_SUBSTITUTION_STRING = 0x370E, + // The public key token does not correspond to the public key specified. + SXS_INCORRECT_PUBLIC_KEY_TOKEN = 0x370F, + // A substitution string had no mapping. + UNMAPPED_SUBSTITUTION_STRING = 0x3710, + // The component must be locked before making the request. + SXS_ASSEMBLY_NOT_LOCKED = 0x3711, + // The component store has been corrupted. + SXS_COMPONENT_STORE_CORRUPT = 0x3712, + // An advanced installer failed during setup or servicing. + ADVANCED_INSTALLER_FAILED = 0x3713, + // The character encoding in the XML declaration did not match the encoding used in the document. + XML_ENCODING_MISMATCH = 0x3714, + // The identities of the manifests are identical but their contents are different. + SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT = 0x3715, + // The component identities are different. + SXS_IDENTITIES_DIFFERENT = 0x3716, + // The assembly is not a deployment. + SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT = 0x3717, + // The file is not a part of the assembly. + SXS_FILE_NOT_PART_OF_ASSEMBLY = 0x3718, + // The size of the manifest exceeds the maximum allowed. + SXS_MANIFEST_TOO_BIG = 0x3719, + // The setting is not registered. + SXS_SETTING_NOT_REGISTERED = 0x371A, + // One or more required members of the transaction are not present. + SXS_TRANSACTION_CLOSURE_INCOMPLETE = 0x371B, + // The SMI primitive installer failed during setup or servicing. + SMI_PRIMITIVE_INSTALLER_FAILED = 0x371C, + // A generic command executable returned a result that indicates failure. + GENERIC_COMMAND_FAILED = 0x371D, + // A component is missing file verification information in its manifest. + SXS_FILE_HASH_MISSING = 0x371E, + // The specified channel path is invalid. + EVT_INVALID_CHANNEL_PATH = 0x3A98, + // The specified query is invalid. + EVT_INVALID_QUERY = 0x3A99, + // The publisher metadata cannot be found in the resource. + EVT_PUBLISHER_METADATA_NOT_FOUND = 0x3A9A, + // The template for an event definition cannot be found in the resource (error = %1). + EVT_EVENT_TEMPLATE_NOT_FOUND = 0x3A9B, + // The specified publisher name is invalid. + EVT_INVALID_PUBLISHER_NAME = 0x3A9C, + // The event data raised by the publisher is not compatible with the event template definition in the publisher's manifest. + EVT_INVALID_EVENT_DATA = 0x3A9D, + // The specified channel could not be found. Check channel configuration. + EVT_CHANNEL_NOT_FOUND = 0x3A9F, + // The specified xml text was not well-formed. See Extended Error for more details. + EVT_MALFORMED_XML_TEXT = 0x3AA0, + // The caller is trying to subscribe to a direct channel which is not allowed. The events for a direct channel go directly to a logfile and cannot be subscribed to. + EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL = 0x3AA1, + // Configuration error. + EVT_CONFIGURATION_ERROR = 0x3AA2, + // The query result is stale / invalid. This may be due to the log being cleared or rolling over after the query result was created. Users should handle this code by releasing the query result object and reissuing the query. + EVT_QUERY_RESULT_STALE = 0x3AA3, + // Query result is currently at an invalid position. + EVT_QUERY_RESULT_INVALID_POSITION = 0x3AA4, + // Registered MSXML doesn't support validation. + EVT_NON_VALIDATING_MSXML = 0x3AA5, + // An expression can only be followed by a change of scope operation if it itself evaluates to a node set and is not already part of some other change of scope operation. + EVT_FILTER_ALREADYSCOPED = 0x3AA6, + // Can't perform a step operation from a term that does not represent an element set. + EVT_FILTER_NOTELTSET = 0x3AA7, + // Left hand side arguments to binary operators must be either attributes, nodes or variables and right hand side arguments must be constants. + EVT_FILTER_INVARG = 0x3AA8, + // A step operation must involve either a node test or, in the case of a predicate, an algebraic expression against which to test each node in the node set identified by the preceeding node set can be evaluated. + EVT_FILTER_INVTEST = 0x3AA9, + // This data type is currently unsupported. + EVT_FILTER_INVTYPE = 0x3AAA, + // A syntax error occurred at position %1!d!. + EVT_FILTER_PARSEERR = 0x3AAB, + // This operator is unsupported by this implementation of the filter. + EVT_FILTER_UNSUPPORTEDOP = 0x3AAC, + // The token encountered was unexpected. + EVT_FILTER_UNEXPECTEDTOKEN = 0x3AAD, + // The requested operation cannot be performed over an enabled direct channel. The channel must first be disabled before performing the requested operation. + EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL = 0x3AAE, + // Channel property %1!s! contains invalid value. The value has invalid type, is outside of valid range, can't be updated or is not supported by this type of channel. + EVT_INVALID_CHANNEL_PROPERTY_VALUE = 0x3AAF, + // Publisher property %1!s! contains invalid value. The value has invalid type, is outside of valid range, can't be updated or is not supported by this type of publisher. + EVT_INVALID_PUBLISHER_PROPERTY_VALUE = 0x3AB0, + // The channel fails to activate. + EVT_CHANNEL_CANNOT_ACTIVATE = 0x3AB1, + // The xpath expression exceeded supported complexity. Please symplify it or split it into two or more simple expressions. + EVT_FILTER_TOO_COMPLEX = 0x3AB2, + // the message resource is present but the message is not found in the string/message table. + EVT_MESSAGE_NOT_FOUND = 0x3AB3, + // The message id for the desired message could not be found. + EVT_MESSAGE_ID_NOT_FOUND = 0x3AB4, + // The substitution string for insert index (%1) could not be found. + EVT_UNRESOLVED_VALUE_INSERT = 0x3AB5, + // The description string for parameter reference (%1) could not be found. + EVT_UNRESOLVED_PARAMETER_INSERT = 0x3AB6, + // The maximum number of replacements has been reached. + EVT_MAX_INSERTS_REACHED = 0x3AB7, + // The event definition could not be found for event id (%1). + EVT_EVENT_DEFINITION_NOT_FOUND = 0x3AB8, + // The locale specific resource for the desired message is not present. + EVT_MESSAGE_LOCALE_NOT_FOUND = 0x3AB9, + // The resource is too old to be compatible. + EVT_VERSION_TOO_OLD = 0x3ABA, + // The resource is too new to be compatible. + EVT_VERSION_TOO_NEW = 0x3ABB, + // The channel at index %1!d! of the query can't be opened. + EVT_CANNOT_OPEN_CHANNEL_OF_QUERY = 0x3ABC, + // The publisher has been disabled and its resource is not available. This usually occurs when the publisher is in the process of being uninstalled or upgraded. + EVT_PUBLISHER_DISABLED = 0x3ABD, + // Attempted to create a numeric type that is outside of its valid range. + EVT_FILTER_OUT_OF_RANGE = 0x3ABE, + // The subscription fails to activate. + EC_SUBSCRIPTION_CANNOT_ACTIVATE = 0x3AE8, + // The log of the subscription is in disabled state, and cannot be used to forward events to. The log must first be enabled before the subscription can be activated. + EC_LOG_DISABLED = 0x3AE9, + // When forwarding events from local machine to itself, the query of the subscription can't contain target log of the subscription. + EC_CIRCULAR_FORWARDING = 0x3AEA, + // The credential store that is used to save credentials is full. + EC_CREDSTORE_FULL = 0x3AEB, + // The credential used by this subscription can't be found in credential store. + EC_CRED_NOT_FOUND = 0x3AEC, + // No active channel is found for the query. + EC_NO_ACTIVE_CHANNEL = 0x3AED, + // The resource loader failed to find MUI file. + MUI_FILE_NOT_FOUND = 0x3AFC, + // The resource loader failed to load MUI file because the file fail to pass validation. + MUI_INVALID_FILE = 0x3AFD, + // The RC Manifest is corrupted with garbage data or unsupported version or missing required item. + MUI_INVALID_RC_CONFIG = 0x3AFE, + // The RC Manifest has invalid culture name. + MUI_INVALID_LOCALE_NAME = 0x3AFF, + // The RC Manifest has invalid ultimatefallback name. + MUI_INVALID_ULTIMATEFALLBACK_NAME = 0x3B00, + // The resource loader cache doesn't have loaded MUI entry. + MUI_FILE_NOT_LOADED = 0x3B01, + // User stopped resource enumeration. + RESOURCE_ENUM_USER_STOP = 0x3B02, + // UI language installation failed. + MUI_INTLSETTINGS_UILANG_NOT_INSTALLED = 0x3B03, + // Locale installation failed. + MUI_INTLSETTINGS_INVALID_LOCALE_NAME = 0x3B04, + // A resource does not have default or neutral value. + MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE = 0x3B06, + // Invalid PRI config file. + MRM_INVALID_PRICONFIG = 0x3B07, + // Invalid file type. + MRM_INVALID_FILE_TYPE = 0x3B08, + // Unknown qualifier. + MRM_UNKNOWN_QUALIFIER = 0x3B09, + // Invalid qualifier value. + MRM_INVALID_QUALIFIER_VALUE = 0x3B0A, + // No Candidate found. + MRM_NO_CANDIDATE = 0x3B0B, + // The ResourceMap or NamedResource has an item that does not have default or neutral resource.. + MRM_NO_MATCH_OR_DEFAULT_CANDIDATE = 0x3B0C, + // Invalid ResourceCandidate type. + MRM_RESOURCE_TYPE_MISMATCH = 0x3B0D, + // Duplicate Resource Map. + MRM_DUPLICATE_MAP_NAME = 0x3B0E, + // Duplicate Entry. + MRM_DUPLICATE_ENTRY = 0x3B0F, + // Invalid Resource Identifier. + MRM_INVALID_RESOURCE_IDENTIFIER = 0x3B10, + // Filepath too long. + MRM_FILEPATH_TOO_LONG = 0x3B11, + // Unsupported directory type. + MRM_UNSUPPORTED_DIRECTORY_TYPE = 0x3B12, + // Invalid PRI File. + MRM_INVALID_PRI_FILE = 0x3B16, + // NamedResource Not Found. + MRM_NAMED_RESOURCE_NOT_FOUND = 0x3B17, + // ResourceMap Not Found. + MRM_MAP_NOT_FOUND = 0x3B1F, + // Unsupported MRT profile type. + MRM_UNSUPPORTED_PROFILE_TYPE = 0x3B20, + // Invalid qualifier operator. + MRM_INVALID_QUALIFIER_OPERATOR = 0x3B21, + // Unable to determine qualifier value or qualifier value has not been set. + MRM_INDETERMINATE_QUALIFIER_VALUE = 0x3B22, + // Automerge is enabled in the PRI file. + MRM_AUTOMERGE_ENABLED = 0x3B23, + // Too many resources defined for package. + MRM_TOO_MANY_RESOURCES = 0x3B24, + // The monitor returned a DDC/CI capabilities string that did not comply with the ACCESS.bus 3.0, DDC/CI 1.1 or MCCS 2 Revision 1 specification. + MCA_INVALID_CAPABILITIES_STRING = 0x3B60, + // The monitor's VCP Version (0xDF) VCP code returned an invalid version value. + MCA_INVALID_VCP_VERSION = 0x3B61, + // The monitor does not comply with the MCCS specification it claims to support. + MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION = 0x3B62, + // The MCCS version in a monitor's mccs_ver capability does not match the MCCS version the monitor reports when the VCP Version (0xDF) VCP code is used. + MCA_MCCS_VERSION_MISMATCH = 0x3B63, + // The Monitor Configuration API only works with monitors that support the MCCS 1.0 specification, MCCS 2.0 specification or the MCCS 2.0 Revision 1 specification. + MCA_UNSUPPORTED_MCCS_VERSION = 0x3B64, + // An internal Monitor Configuration API error occurred. + MCA_INTERNAL_ERROR = 0x3B65, + // The monitor returned an invalid monitor technology type. CRT, Plasma and LCD (TFT) are examples of monitor technology types. This error implies that the monitor violated the MCCS 2.0 or MCCS 2.0 Revision 1 specification. + MCA_INVALID_TECHNOLOGY_TYPE_RETURNED = 0x3B66, + // The caller of SetMonitorColorTemperature specified a color temperature that the current monitor did not support. This error implies that the monitor violated the MCCS 2.0 or MCCS 2.0 Revision 1 specification. + MCA_UNSUPPORTED_COLOR_TEMPERATURE = 0x3B67, + // The requested system device cannot be identified due to multiple indistinguishable devices potentially matching the identification criteria. + AMBIGUOUS_SYSTEM_DEVICE = 0x3B92, + // The requested system device cannot be found. + SYSTEM_DEVICE_NOT_FOUND = 0x3BC3, + // Hash generation for the specified hash version and hash type is not enabled on the server. + HASH_NOT_SUPPORTED = 0x3BC4, + // The hash requested from the server is not available or no longer valid. + HASH_NOT_PRESENT = 0x3BC5, + // The secondary interrupt controller instance that manages the specified interrupt is not registered. + SECONDARY_IC_PROVIDER_NOT_REGISTERED = 0x3BD9, + // The information supplied by the GPIO client driver is invalid. + GPIO_CLIENT_INFORMATION_INVALID = 0x3BDA, + // The version specified by the GPIO client driver is not supported. + GPIO_VERSION_NOT_SUPPORTED = 0x3BDB, + // The registration packet supplied by the GPIO client driver is not valid. + GPIO_INVALID_REGISTRATION_PACKET = 0x3BDC, + // The requested operation is not supported for the specified handle. + GPIO_OPERATION_DENIED = 0x3BDD, + // The requested connect mode conflicts with an existing mode on one or more of the specified pins. + GPIO_INCOMPATIBLE_CONNECT_MODE = 0x3BDE, + // The interrupt requested to be unmasked is not masked. + GPIO_INTERRUPT_ALREADY_UNMASKED = 0x3BDF, + // The requested run level switch cannot be completed successfully. + CANNOT_SWITCH_RUNLEVEL = 0x3C28, + // The service has an invalid run level setting. The run level for a service must not be higher than the run level of its dependent services. + INVALID_RUNLEVEL_SETTING = 0x3C29, + // The requested run level switch cannot be completed successfully since one or more services will not stop or restart within the specified timeout. + RUNLEVEL_SWITCH_TIMEOUT = 0x3C2A, + // A run level switch agent did not respond within the specified timeout. + RUNLEVEL_SWITCH_AGENT_TIMEOUT = 0x3C2B, + // A run level switch is currently in progress. + RUNLEVEL_SWITCH_IN_PROGRESS = 0x3C2C, + // One or more services failed to start during the service startup phase of a run level switch. + SERVICES_FAILED_AUTOSTART = 0x3C2D, + // The task stop request cannot be completed immediately since task needs more time to shutdown. + COM_TASK_STOP_PENDING = 0x3C8D, + // Package could not be opened. + INSTALL_OPEN_PACKAGE_FAILED = 0x3CF0, + // Package was not found. + INSTALL_PACKAGE_NOT_FOUND = 0x3CF1, + // Package data is invalid. + INSTALL_INVALID_PACKAGE = 0x3CF2, + // Package failed updates, dependency or conflict validation. + INSTALL_RESOLVE_DEPENDENCY_FAILED = 0x3CF3, + // There is not enough disk space on your computer. Please free up some space and try again. + INSTALL_OUT_OF_DISK_SPACE = 0x3CF4, + // There was a problem downloading your product. + INSTALL_NETWORK_FAILURE = 0x3CF5, + // Package could not be registered. + INSTALL_REGISTRATION_FAILURE = 0x3CF6, + // Package could not be unregistered. + INSTALL_DEREGISTRATION_FAILURE = 0x3CF7, + // User cancelled the install request. + INSTALL_CANCEL = 0x3CF8, + // Install failed. Please contact your software vendor. + INSTALL_FAILED = 0x3CF9, + // Removal failed. Please contact your software vendor. + REMOVE_FAILED = 0x3CFA, + // The provided package is already installed, and reinstallation of the package was blocked. Check the AppXDeployment-Server event log for details. + PACKAGE_ALREADY_EXISTS = 0x3CFB, + // The application cannot be started. Try reinstalling the application to fix the problem. + NEEDS_REMEDIATION = 0x3CFC, + // A Prerequisite for an install could not be satisfied. + INSTALL_PREREQUISITE_FAILED = 0x3CFD, + // The package repository is corrupted. + PACKAGE_REPOSITORY_CORRUPTED = 0x3CFE, + // To install this application you need either a Windows developer license or a sideloading-enabled system. + INSTALL_POLICY_FAILURE = 0x3CFF, + // The application cannot be started because it is currently updating. + PACKAGE_UPDATING = 0x3D00, + // The package deployment operation is blocked by policy. Please contact your system administrator. + DEPLOYMENT_BLOCKED_BY_POLICY = 0x3D01, + // The package could not be installed because resources it modifies are currently in use. + PACKAGES_IN_USE = 0x3D02, + // The package could not be recovered because necessary data for recovery have been corrupted. + RECOVERY_FILE_CORRUPT = 0x3D03, + // The signature is invalid. To register in developer mode, AppxSignature.p7x and AppxBlockMap.xml must be valid or should not be present. + INVALID_STAGED_SIGNATURE = 0x3D04, + // An error occurred while deleting the package's previously existing application data. + DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED = 0x3D05, + // The package could not be installed because a higher version of this package is already installed. + INSTALL_PACKAGE_DOWNGRADE = 0x3D06, + // An error in a system binary was detected. Try refreshing the PC to fix the problem. + SYSTEM_NEEDS_REMEDIATION = 0x3D07, + // A corrupted CLR NGEN binary was detected on the system. + APPX_INTEGRITY_FAILURE_CLR_NGEN = 0x3D08, + // The operation could not be resumed because necessary data for recovery have been corrupted. + RESILIENCY_FILE_CORRUPT = 0x3D09, + // The package could not be installed because the Windows Firewall service is not running. Enable the Windows Firewall service and try again. + INSTALL_FIREWALL_SERVICE_NOT_RUNNING = 0x3D0A, + // The process has no package identity. + APPMODEL_ERROR_NO_PACKAGE = 0x3D54, + // The package runtime information is corrupted. + APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT = 0x3D55, + // The package identity is corrupted. + APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT = 0x3D56, + // The process has no application identity. + APPMODEL_ERROR_NO_APPLICATION = 0x3D57, + // Loading the state store failed. + STATE_LOAD_STORE_FAILED = 0x3DB8, + // Retrieving the state version for the application failed. + STATE_GET_VERSION_FAILED = 0x3DB9, + // Setting the state version for the application failed. + STATE_SET_VERSION_FAILED = 0x3DBA, + // Resetting the structured state of the application failed. + STATE_STRUCTURED_RESET_FAILED = 0x3DBB, + // State Manager failed to open the container. + STATE_OPEN_CONTAINER_FAILED = 0x3DBC, + // State Manager failed to create the container. + STATE_CREATE_CONTAINER_FAILED = 0x3DBD, + // State Manager failed to delete the container. + STATE_DELETE_CONTAINER_FAILED = 0x3DBE, + // State Manager failed to read the setting. + STATE_READ_SETTING_FAILED = 0x3DBF, + // State Manager failed to write the setting. + STATE_WRITE_SETTING_FAILED = 0x3DC0, + // State Manager failed to delete the setting. + STATE_DELETE_SETTING_FAILED = 0x3DC1, + // State Manager failed to query the setting. + STATE_QUERY_SETTING_FAILED = 0x3DC2, + // State Manager failed to read the composite setting. + STATE_READ_COMPOSITE_SETTING_FAILED = 0x3DC3, + // State Manager failed to write the composite setting. + STATE_WRITE_COMPOSITE_SETTING_FAILED = 0x3DC4, + // State Manager failed to enumerate the containers. + STATE_ENUMERATE_CONTAINER_FAILED = 0x3DC5, + // State Manager failed to enumerate the settings. + STATE_ENUMERATE_SETTINGS_FAILED = 0x3DC6, + // The size of the state manager composite setting value has exceeded the limit. + STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED = 0x3DC7, + // The size of the state manager setting value has exceeded the limit. + STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED = 0x3DC8, + // The length of the state manager setting name has exceeded the limit. + STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED = 0x3DC9, + // The length of the state manager container name has exceeded the limit. + STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED = 0x3DCA, + // This API cannot be used in the context of the caller's application type. + API_UNAVAILABLE = 0x3DE1, +} diff --git a/core/unicode/tools/generate_entity_table.odin b/core/unicode/tools/generate_entity_table.odin index e5a4d5513..ec8106cbe 100644 --- a/core/unicode/tools/generate_entity_table.odin +++ b/core/unicode/tools/generate_entity_table.odin @@ -2,7 +2,7 @@ package xml_example import "core:encoding/xml" import "core:os" -import "core:path" +import path "core:path/filepath" import "core:mem" import "core:strings" import "core:strconv" @@ -23,38 +23,38 @@ Entity :: struct { } generate_encoding_entity_table :: proc() { - using fmt - - filename := path.join(ODIN_ROOT, "tests", "core", "assets", "XML", "unicode.xml") + filename := path.join({ODIN_ROOT, "tests", "core", "assets", "XML", "unicode.xml"}) defer delete(filename) - generated_filename := path.join(ODIN_ROOT, "core", "encoding", "entity", "generated.odin") + generated_filename := path.join({ODIN_ROOT, "core", "encoding", "entity", "generated.odin"}) defer delete(generated_filename) - doc, err := xml.parse(filename, OPTIONS, Error_Handler) + doc, err := xml.load_from_file(filename, OPTIONS, Error_Handler) defer xml.destroy(doc) if err != .None { - printf("Load/Parse error: %v\n", err) + fmt.printf("Load/Parse error: %v\n", err) if err == .File_Error { - printf("\"%v\" not found. Did you run \"tests\\download_assets.py\"?", filename) + fmt.printf("\"%v\" not found. Did you run \"tests\\download_assets.py\"?", filename) } os.exit(1) } - printf("\"%v\" loaded and parsed.\n", filename) + fmt.printf("\"%v\" loaded and parsed.\n", filename) generated_buf: strings.Builder defer strings.builder_destroy(&generated_buf) w := strings.to_writer(&generated_buf) - charlist, charlist_ok := xml.find_child_by_ident(doc.root, "charlist") + charlist_id, charlist_ok := xml.find_child_by_ident(doc, 0, "charlist") if !charlist_ok { - eprintln("Could not locate top-level `<charlist>` tag.") + fmt.eprintln("Could not locate top-level `<charlist>` tag.") os.exit(1) } - printf("Found `<charlist>` with %v children.\n", len(charlist.children)) + charlist := doc.elements[charlist_id] + + fmt.printf("Found `<charlist>` with %v children.\n", len(charlist.value)) entity_map: map[string]Entity names: [dynamic]string @@ -65,20 +65,26 @@ generate_encoding_entity_table :: proc() { longest_name: string count := 0 - for char in charlist.children { + for char_id in charlist.value { + id := char_id.(xml.Element_ID) + char := doc.elements[id] + if char.ident != "character" { - eprintf("Expected `<character>`, got `<%v>`\n", char.ident) + fmt.eprintf("Expected `<character>`, got `<%v>`\n", char.ident) os.exit(1) } - if codepoint_string, ok := xml.find_attribute_val_by_key(char, "dec"); !ok { - eprintln("`<character id=\"...\">` attribute not found.") + if codepoint_string, ok := xml.find_attribute_val_by_key(doc, id, "dec"); !ok { + fmt.eprintln("`<character id=\"...\">` attribute not found.") os.exit(1) } else { codepoint := strconv.atoi(codepoint_string) - desc, desc_ok := xml.find_child_by_ident(char, "description") - description := desc.value if desc_ok else "" + desc, desc_ok := xml.find_child_by_ident(doc, id, "description") + description := "" + if len(doc.elements[desc].value) == 1 { + description = doc.elements[desc].value[0].(string) + } /* For us to be interested in this codepoint, it has to have at least one entity. @@ -86,9 +92,9 @@ generate_encoding_entity_table :: proc() { nth := 0 for { - character_entity := xml.find_child_by_ident(char, "entity", nth) or_break + character_entity := xml.find_child_by_ident(doc, id, "entity", nth) or_break nth += 1 - name := xml.find_attribute_val_by_key(character_entity, "id") or_continue + name := xml.find_attribute_val_by_key(doc, character_entity, "id") or_continue if len(name) == 0 { /* Invalid name. Skip. @@ -97,8 +103,8 @@ generate_encoding_entity_table :: proc() { } if name == "\"\"" { - printf("%#v\n", char) - printf("%#v\n", character_entity) + fmt.printf("%#v\n", char) + fmt.printf("%#v\n", character_entity) } if len(name) > max_name_length { longest_name = name } @@ -129,29 +135,27 @@ generate_encoding_entity_table :: proc() { */ slice.sort(names[:]) - printf("Found %v unique `&name;` -> rune mappings.\n", count) - printf("Shortest name: %v (%v)\n", shortest_name, min_name_length) - printf("Longest name: %v (%v)\n", longest_name, max_name_length) - - // println(rune_to_string(1234)) + fmt.printf("Found %v unique `&name;` -> rune mappings.\n", count) + fmt.printf("Shortest name: %v (%v)\n", shortest_name, min_name_length) + fmt.printf("Longest name: %v (%v)\n", longest_name, max_name_length) /* Generate table. */ - wprintln(w, "package unicode_entity") - wprintln(w, "") - wprintln(w, GENERATED) - wprintln(w, "") - wprintf (w, TABLE_FILE_PROLOG) - wprintln(w, "") - - wprintf (w, "// `&%v;`\n", shortest_name) - wprintf (w, "XML_NAME_TO_RUNE_MIN_LENGTH :: %v\n", min_name_length) - wprintf (w, "// `&%v;`\n", longest_name) - wprintf (w, "XML_NAME_TO_RUNE_MAX_LENGTH :: %v\n", max_name_length) - wprintln(w, "") - - wprintln(w, + fmt.wprintln(w, "package unicode_entity") + fmt.wprintln(w, "") + fmt.wprintln(w, GENERATED) + fmt.wprintln(w, "") + fmt.wprintf (w, TABLE_FILE_PROLOG) + fmt.wprintln(w, "") + + fmt.wprintf (w, "// `&%v;`\n", shortest_name) + fmt.wprintf (w, "XML_NAME_TO_RUNE_MIN_LENGTH :: %v\n", min_name_length) + fmt.wprintf (w, "// `&%v;`\n", longest_name) + fmt.wprintf (w, "XML_NAME_TO_RUNE_MAX_LENGTH :: %v\n", max_name_length) + fmt.wprintln(w, "") + + fmt.wprintln(w, ` /* Input: @@ -181,38 +185,41 @@ named_xml_entity_to_rune :: proc(name: string) -> (decoded: rune, ok: bool) { for v in names { if rune(v[0]) != prefix { if should_close { - wprintln(w, "\t\t}\n") + fmt.wprintln(w, "\t\t}\n") } prefix = rune(v[0]) - wprintf (w, "\tcase '%v':\n", prefix) - wprintln(w, "\t\tswitch name {") + fmt.wprintf (w, "\tcase '%v':\n", prefix) + fmt.wprintln(w, "\t\tswitch name {") } e := entity_map[v] - wprintf(w, "\t\t\tcase \"%v\": \n", e.name) - wprintf(w, "\t\t\t\t// %v\n", e.description) - wprintf(w, "\t\t\t\treturn %v, true\n", rune_to_string(e.codepoint)) + fmt.wprintf(w, "\t\t\tcase \"%v\":", e.name) + for i := len(e.name); i < max_name_length; i += 1 { + fmt.wprintf(w, " ") + } + fmt.wprintf(w, " // %v\n", e.description) + fmt.wprintf(w, "\t\t\t\treturn %v, true\n", rune_to_string(e.codepoint)) should_close = true } - wprintln(w, "\t\t}") - wprintln(w, "\t}") - wprintln(w, "\treturn -1, false") - wprintln(w, "}\n") - wprintln(w, GENERATED) + fmt.wprintln(w, "\t\t}") + fmt.wprintln(w, "\t}") + fmt.wprintln(w, "\treturn -1, false") + fmt.wprintln(w, "}\n") + fmt.wprintln(w, GENERATED) - println() - println(strings.to_string(generated_buf)) - println() + fmt.println() + fmt.println(strings.to_string(generated_buf)) + fmt.println() written := os.write_entire_file(generated_filename, transmute([]byte)strings.to_string(generated_buf)) if written { - fmt.printf("Successfully written generated \"%v\".", generated_filename) + fmt.printf("Successfully written generated \"%v\".\n", generated_filename) } else { - fmt.printf("Failed to write generated \"%v\".", generated_filename) + fmt.printf("Failed to write generated \"%v\".\n", generated_filename) } delete(entity_map) @@ -227,7 +234,7 @@ GENERATED :: `/* */` TABLE_FILE_PROLOG :: `/* - This file is generated from "https://www.w3.org/2003/entities/2007xml/unicode.xml". + This file is generated from "https://github.com/w3c/xml-entities/blob/gh-pages/unicode.xml". UPDATE: - Ensure the XML file was downloaded using "tests\core\download_assets.py". @@ -235,15 +242,21 @@ TABLE_FILE_PROLOG :: `/* Odin unicode generated tables: https://github.com/odin-lang/Odin/tree/master/core/encoding/entity - Copyright © 2021 World Wide Web Consortium, (Massachusetts Institute of Technology, - European Research Consortium for Informatics and Mathematics, Keio University, Beihang). + Copyright David Carlisle 1999-2023 + + Use and distribution of this code are permitted under the terms of the + W3C Software Notice and License. + http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html - All Rights Reserved. - This work is distributed under the W3C® Software License [1] in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - [1] http://www.w3.org/Consortium/Legal/copyright-software + This file is a collection of information about how to map + Unicode entities to LaTeX, and various SGML/XML entity + sets (ISO and MathML/HTML). A Unicode character may be mapped + to several entities. + + Originally designed by Sebastian Rahtz in conjunction with + Barbara Beeton for the STIX project See also: LICENSE_table.md */ @@ -265,8 +278,6 @@ is_dotted_name :: proc(name: string) -> (dotted: bool) { } main :: proc() { - using fmt - track: mem.Tracking_Allocator mem.tracking_allocator_init(&track, context.allocator) context.allocator = mem.tracking_allocator(&track) @@ -274,10 +285,10 @@ main :: proc() { generate_encoding_entity_table() if len(track.allocation_map) > 0 { - println() + fmt.println() for _, v in track.allocation_map { - printf("%v Leaked %v bytes.\n", v.location, v.size) + fmt.printf("%v Leaked %v bytes.\n", v.location, v.size) } } - println("Done and cleaned up!") + fmt.println("Done and cleaned up!") }
\ No newline at end of file diff --git a/examples/demo/demo.odin b/examples/demo/demo.odin index 417011281..b890d5778 100644 --- a/examples/demo/demo.odin +++ b/examples/demo/demo.odin @@ -541,7 +541,7 @@ struct_type :: proc() { p.x = 1335 fmt.println(v) - // We could write p^.x, however, it is to nice abstract the ability + // We could write p^.x, however, it is nice to abstract the ability // to not explicitly dereference the pointer. This is very useful when // refactoring code to use a pointer rather than a value, and vice versa. } @@ -2594,4 +2594,4 @@ main :: proc() { arbitrary_precision_mathematics() matrix_type() } -}
\ No newline at end of file +} diff --git a/src/build_settings.cpp b/src/build_settings.cpp index 94807a852..d91a31ff2 100644 --- a/src/build_settings.cpp +++ b/src/build_settings.cpp @@ -381,6 +381,8 @@ struct BuildContext { bool dynamic_map_calls; + bool obfuscate_source_code_locations; + RelocMode reloc_mode; bool disable_red_zone; diff --git a/src/check_builtin.cpp b/src/check_builtin.cpp index c0061a397..b3aaab754 100644 --- a/src/check_builtin.cpp +++ b/src/check_builtin.cpp @@ -1083,13 +1083,16 @@ gb_internal bool cache_load_file_directive(CheckerContext *c, Ast *call, String ast_node(bd, BasicDirective, ce->proc); String builtin_name = bd->name.string; - String base_dir = dir_from_path(get_file_path_string(call->file_id)); - - BlockingMutex *ignore_mutex = nullptr; - String path = {}; - bool ok = determine_path_from_string(ignore_mutex, call, base_dir, original_string, &path); - gb_unused(ok); + String path; + if (gb_path_is_absolute((char*)original_string.text)) { + path = original_string; + } else { + String base_dir = dir_from_path(get_file_path_string(call->file_id)); + BlockingMutex *ignore_mutex = nullptr; + bool ok = determine_path_from_string(ignore_mutex, call, base_dir, original_string, &path); + gb_unused(ok); + } MUTEX_GUARD(&c->info->load_file_mutex); diff --git a/src/check_type.cpp b/src/check_type.cpp index d66b196bc..f11418dc0 100644 --- a/src/check_type.cpp +++ b/src/check_type.cpp @@ -2070,33 +2070,33 @@ gb_internal bool check_procedure_type(CheckerContext *ctx, Type *type, Ast *proc type->Proc.diverging = pt->diverging; type->Proc.optional_ok = optional_ok; - if (param_count > 0) { - Entity *end = params->Tuple.variables[param_count-1]; - if (end->flags&EntityFlag_CVarArg) { + bool is_polymorphic = false; + for (isize i = 0; i < param_count; i++) { + Entity *e = params->Tuple.variables[i]; + + if (e->kind != Entity_Variable) { + is_polymorphic = true; + } else if (is_type_polymorphic(e->type)) { + is_polymorphic = true; + } + + if (e->flags&EntityFlag_CVarArg) { + if (i != param_count - 1) { + error(e->token, "#c_vararg can only be applied to the last parameter"); + continue; + } + switch (cc) { default: type->Proc.c_vararg = true; break; case ProcCC_Odin: case ProcCC_Contextless: - error(end->token, "Calling convention does not support #c_vararg"); + error(e->token, "Calling convention does not support #c_vararg"); break; } } } - - - bool is_polymorphic = false; - for (isize i = 0; i < param_count; i++) { - Entity *e = params->Tuple.variables[i]; - if (e->kind != Entity_Variable) { - is_polymorphic = true; - break; - } else if (is_type_polymorphic(e->type)) { - is_polymorphic = true; - break; - } - } for (isize i = 0; i < result_count; i++) { Entity *e = results->Tuple.variables[i]; if (e->kind != Entity_Variable) { diff --git a/src/checker.cpp b/src/checker.cpp index 60b2bbb90..79328d648 100644 --- a/src/checker.cpp +++ b/src/checker.cpp @@ -2294,7 +2294,6 @@ gb_internal void add_dependency_to_set(Checker *c, Entity *entity) { if (entity->type != nullptr && is_type_polymorphic(entity->type)) { - DeclInfo *decl = decl_info_of_entity(entity); if (decl != nullptr && decl->gen_proc_type == nullptr) { return; @@ -2346,98 +2345,7 @@ gb_internal void force_add_dependency_entity(Checker *c, Scope *scope, String co } - -gb_internal void generate_minimum_dependency_set(Checker *c, Entity *start) { - isize entity_count = c->info.entities.count; - isize min_dep_set_cap = next_pow2_isize(entity_count*4); // empirically determined factor - - ptr_set_init(&c->info.minimum_dependency_set, min_dep_set_cap); - map_init(&c->info.minimum_dependency_type_info_set); - -#define FORCE_ADD_RUNTIME_ENTITIES(condition, ...) do { \ - if (condition) { \ - String entities[] = {__VA_ARGS__}; \ - for (isize i = 0; i < gb_count_of(entities); i++) { \ - force_add_dependency_entity(c, c->info.runtime_package->scope, entities[i]); \ - } \ - } \ -} while (0) - - // required runtime entities - FORCE_ADD_RUNTIME_ENTITIES(true, - // Odin types - str_lit("Source_Code_Location"), - str_lit("Context"), - str_lit("Allocator"), - str_lit("Logger"), - - // Odin internal procedures - str_lit("__init_context"), - str_lit("cstring_to_string"), - str_lit("_cleanup_runtime"), - - // Pseudo-CRT required procedures - str_lit("memset"), - str_lit("memcpy"), - str_lit("memmove"), - - // Utility procedures - str_lit("memory_equal"), - str_lit("memory_compare"), - str_lit("memory_compare_zero"), - ); - - FORCE_ADD_RUNTIME_ENTITIES(!build_context.tilde_backend, - // Extended data type internal procedures - str_lit("umodti3"), - str_lit("udivti3"), - str_lit("modti3"), - str_lit("divti3"), - str_lit("fixdfti"), - str_lit("fixunsdfti"), - str_lit("fixunsdfdi"), - str_lit("floattidf"), - str_lit("floattidf_unsigned"), - str_lit("truncsfhf2"), - str_lit("truncdfhf2"), - str_lit("gnu_h2f_ieee"), - str_lit("gnu_f2h_ieee"), - str_lit("extendhfsf2"), - - // WASM Specific - str_lit("__ashlti3"), - str_lit("__multi3"), - ); - - FORCE_ADD_RUNTIME_ENTITIES(!build_context.no_rtti, - // Odin types - str_lit("Type_Info"), - - // Global variables - str_lit("type_table"), - str_lit("__type_info_of"), - ); - - FORCE_ADD_RUNTIME_ENTITIES(!build_context.no_entry_point, - // Global variables - str_lit("args__"), - ); - - FORCE_ADD_RUNTIME_ENTITIES((build_context.no_crt && !is_arch_wasm()), - // NOTE(bill): Only if these exist - str_lit("_tls_index"), - str_lit("_fltused"), - ); - - FORCE_ADD_RUNTIME_ENTITIES(!build_context.no_bounds_check, - // Bounds checking related procedures - str_lit("bounds_check_error"), - str_lit("matrix_bounds_check_error"), - str_lit("slice_expr_error_hi"), - str_lit("slice_expr_error_lo_hi"), - str_lit("multi_pointer_slice_expr_error"), - ); - +gb_internal void generate_minimum_dependency_set_internal(Checker *c, Entity *start) { for_array(i, c->info.definitions) { Entity *e = c->info.definitions[i]; if (e->scope == builtin_pkg->scope) { @@ -2580,6 +2488,101 @@ gb_internal void generate_minimum_dependency_set(Checker *c, Entity *start) { start->flags |= EntityFlag_Used; add_dependency_to_set(c, start); } +} + +gb_internal void generate_minimum_dependency_set(Checker *c, Entity *start) { + isize entity_count = c->info.entities.count; + isize min_dep_set_cap = next_pow2_isize(entity_count*4); // empirically determined factor + + ptr_set_init(&c->info.minimum_dependency_set, min_dep_set_cap); + map_init(&c->info.minimum_dependency_type_info_set); + +#define FORCE_ADD_RUNTIME_ENTITIES(condition, ...) do { \ + if (condition) { \ + String entities[] = {__VA_ARGS__}; \ + for (isize i = 0; i < gb_count_of(entities); i++) { \ + force_add_dependency_entity(c, c->info.runtime_package->scope, entities[i]); \ + } \ + } \ +} while (0) + + // required runtime entities + FORCE_ADD_RUNTIME_ENTITIES(true, + // Odin types + str_lit("Source_Code_Location"), + str_lit("Context"), + str_lit("Allocator"), + str_lit("Logger"), + + // Odin internal procedures + str_lit("__init_context"), + str_lit("cstring_to_string"), + str_lit("_cleanup_runtime"), + + // Pseudo-CRT required procedures + str_lit("memset"), + str_lit("memcpy"), + str_lit("memmove"), + + // Utility procedures + str_lit("memory_equal"), + str_lit("memory_compare"), + str_lit("memory_compare_zero"), + ); + + FORCE_ADD_RUNTIME_ENTITIES(!build_context.tilde_backend, + // Extended data type internal procedures + str_lit("umodti3"), + str_lit("udivti3"), + str_lit("modti3"), + str_lit("divti3"), + str_lit("fixdfti"), + str_lit("fixunsdfti"), + str_lit("fixunsdfdi"), + str_lit("floattidf"), + str_lit("floattidf_unsigned"), + str_lit("truncsfhf2"), + str_lit("truncdfhf2"), + str_lit("gnu_h2f_ieee"), + str_lit("gnu_f2h_ieee"), + str_lit("extendhfsf2"), + + // WASM Specific + str_lit("__ashlti3"), + str_lit("__multi3"), + ); + + FORCE_ADD_RUNTIME_ENTITIES(!build_context.no_rtti, + // Odin types + str_lit("Type_Info"), + + // Global variables + str_lit("type_table"), + str_lit("__type_info_of"), + ); + + FORCE_ADD_RUNTIME_ENTITIES(!build_context.no_entry_point, + // Global variables + str_lit("args__"), + ); + + FORCE_ADD_RUNTIME_ENTITIES((build_context.no_crt && !is_arch_wasm()), + // NOTE(bill): Only if these exist + str_lit("_tls_index"), + str_lit("_fltused"), + ); + + FORCE_ADD_RUNTIME_ENTITIES(!build_context.no_bounds_check, + // Bounds checking related procedures + str_lit("bounds_check_error"), + str_lit("matrix_bounds_check_error"), + str_lit("slice_expr_error_hi"), + str_lit("slice_expr_error_lo_hi"), + str_lit("multi_pointer_slice_expr_error"), + ); + + generate_minimum_dependency_set_internal(c, start); + #undef FORCE_ADD_RUNTIME_ENTITIES } @@ -5309,6 +5312,44 @@ gb_internal void calculate_global_init_order(Checker *c) { } } +gb_internal void check_procedure_later_from_entity(Checker *c, Entity *e, char const *from_msg) { + if (e == nullptr || e->kind != Entity_Procedure) { + return; + } + if (e->Procedure.is_foreign) { + return; + } + if ((e->flags & EntityFlag_ProcBodyChecked) != 0) { + return; + } + Type *type = base_type(e->type); + GB_ASSERT(type->kind == Type_Proc); + + if (is_type_polymorphic(type) && !type->Proc.is_poly_specialized) { + return; + } + + GB_ASSERT(e->decl_info != nullptr); + + ProcInfo *pi = gb_alloc_item(permanent_allocator(), ProcInfo); + pi->file = e->file; + pi->token = e->token; + pi->decl = e->decl_info; + pi->type = e->type; + + Ast *pl = e->decl_info->proc_lit; + GB_ASSERT(pl != nullptr); + pi->body = pl->ProcLit.body; + pi->tags = pl->ProcLit.tags; + if (pi->body == nullptr) { + return; + } + if (from_msg != nullptr) { + debugf("CHECK PROCEDURE LATER [FROM %s]! %.*s :: %s {...}\n", from_msg, LIT(e->token.string), type_to_string(e->type)); + } + check_procedure_later(c, pi); +} + gb_internal bool check_proc_info(Checker *c, ProcInfo *pi, UntypedExprInfoMap *untyped) { if (pi == nullptr) { @@ -5415,6 +5456,15 @@ gb_internal bool check_proc_info(Checker *c, ProcInfo *pi, UntypedExprInfoMap *u add_untyped_expressions(&c->info, ctx.untyped); + rw_mutex_shared_lock(&ctx.decl->deps_mutex); + for (Entity *dep : ctx.decl->deps) { + if (dep && dep->kind == Entity_Procedure && + (dep->flags & EntityFlag_ProcBodyChecked) == 0) { + check_procedure_later_from_entity(c, dep, NULL); + } + } + rw_mutex_shared_unlock(&ctx.decl->deps_mutex); + return true; } @@ -5437,30 +5487,7 @@ gb_internal void check_unchecked_bodies(Checker *c) { global_procedure_body_in_worker_queue = false; for (Entity *e : c->info.minimum_dependency_set) { - if (e == nullptr || e->kind != Entity_Procedure) { - continue; - } - if (e->Procedure.is_foreign) { - continue; - } - if ((e->flags & EntityFlag_ProcBodyChecked) == 0) { - GB_ASSERT(e->decl_info != nullptr); - - ProcInfo *pi = gb_alloc_item(permanent_allocator(), ProcInfo); - pi->file = e->file; - pi->token = e->token; - pi->decl = e->decl_info; - pi->type = e->type; - - Ast *pl = e->decl_info->proc_lit; - GB_ASSERT(pl != nullptr); - pi->body = pl->ProcLit.body; - pi->tags = pl->ProcLit.tags; - if (pi->body == nullptr) { - continue; - } - check_procedure_later(c, pi); - } + check_procedure_later_from_entity(c, e, "check_unchecked_bodies"); } if (!global_procedure_body_in_worker_queue) { @@ -5502,7 +5529,28 @@ gb_internal void check_safety_all_procedures_for_unchecked(Checker *c) { } } +gb_internal GB_COMPARE_PROC(init_procedures_cmp); +gb_internal GB_COMPARE_PROC(fini_procedures_cmp); + +gb_internal void remove_neighbouring_duplicate_entires_from_sorted_array(Array<Entity *> *array) { + Entity *prev = nullptr; + + for (isize i = 0; i < array->count; /**/) { + Entity *curr = array->data[i]; + if (prev == curr) { + array_ordered_remove(array, i); + } else { + prev = curr; + i += 1; + } + } +} + + gb_internal void check_test_procedures(Checker *c) { + gb_sort_array(c->info.testing_procedures.data, c->info.testing_procedures.count, init_procedures_cmp); + remove_neighbouring_duplicate_entires_from_sorted_array(&c->info.testing_procedures); + if (build_context.test_names.entries.count == 0) { return; } @@ -5948,10 +5996,14 @@ gb_internal GB_COMPARE_PROC(fini_procedures_cmp) { return init_procedures_cmp(b, a); } - gb_internal void check_sort_init_and_fini_procedures(Checker *c) { gb_sort_array(c->info.init_procedures.data, c->info.init_procedures.count, init_procedures_cmp); gb_sort_array(c->info.fini_procedures.data, c->info.fini_procedures.count, fini_procedures_cmp); + + // NOTE(bill): remove possible duplicates from the init/fini lists + // NOTE(bill): because the arrays are sorted, you only need to check the previous element + remove_neighbouring_duplicate_entires_from_sorted_array(&c->info.init_procedures); + remove_neighbouring_duplicate_entires_from_sorted_array(&c->info.fini_procedures); } gb_internal void add_type_info_for_type_definitions(Checker *c) { @@ -6106,16 +6158,22 @@ gb_internal void check_parsed_files(Checker *c) { TIME_SECTION("generate minimum dependency set"); generate_minimum_dependency_set(c, c->info.entry_point); + TIME_SECTION("check bodies have all been checked"); + check_unchecked_bodies(c); + + check_merge_queues_into_arrays(c); + thread_pool_wait(); + + TIME_SECTION("update minimum dependency set"); + generate_minimum_dependency_set_internal(c, c->info.entry_point); + // NOTE(laytan): has to be ran after generate_minimum_dependency_set, // because that collects the test procedures. TIME_SECTION("check test procedures"); check_test_procedures(c); - TIME_SECTION("check bodies have all been checked"); - check_unchecked_bodies(c); - check_merge_queues_into_arrays(c); - + thread_pool_wait(); TIME_SECTION("check entry point"); if (build_context.build_mode == BuildMode_Executable && !build_context.no_entry_point && build_context.command_kind != Command_test) { diff --git a/src/linker.cpp b/src/linker.cpp index c3ede0f55..4ab4b2cd1 100644 --- a/src/linker.cpp +++ b/src/linker.cpp @@ -7,10 +7,19 @@ struct LinkerData { Array<String> output_temp_paths; String output_base; String output_name; +#if defined(GB_SYSTEM_OSX) + b8 needs_system_library_linked; +#endif }; gb_internal i32 system_exec_command_line_app(char const *name, char const *fmt, ...); +#if defined(GB_SYSTEM_OSX) +gb_internal void linker_enable_system_library_linking(LinkerData *ld) { + ld->needs_system_library_linked = 1; +} +#endif + gb_internal void linker_data_init(LinkerData *ld, CheckerInfo *info, String const &init_fullpath) { gbAllocator ha = heap_allocator(); array_init(&ld->output_object_paths, ha); @@ -18,6 +27,10 @@ gb_internal void linker_data_init(LinkerData *ld, CheckerInfo *info, String cons array_init(&ld->foreign_libraries, ha, 0, 1024); ptr_set_init(&ld->foreign_libraries_set, 1024); +#if defined(GB_SYSTEM_OSX) + ld->needs_system_library_linked = 0; +#endif + if (build_context.out_filepath.len == 0) { ld->output_name = remove_directory_from_path(init_fullpath); ld->output_name = remove_extension_from_path(ld->output_name); @@ -195,7 +208,7 @@ gb_internal i32 linker_stage(LinkerData *gen) { if (build_context.pdb_filepath != "") { String pdb_path = path_to_string(heap_allocator(), build_context.build_paths[BuildPath_PDB]); - link_settings = gb_string_append_fmt(link_settings, " /PDB:%.*s", LIT(pdb_path)); + link_settings = gb_string_append_fmt(link_settings, " /PDB:\"%.*s\"", LIT(pdb_path)); } if (build_context.no_crt) { @@ -470,7 +483,15 @@ gb_internal i32 linker_stage(LinkerData *gen) { gbString platform_lib_str = gb_string_make(heap_allocator(), ""); defer (gb_string_free(platform_lib_str)); if (build_context.metrics.os == TargetOs_darwin) { - platform_lib_str = gb_string_appendc(platform_lib_str, "-lSystem -lm -Wl,-syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -L/usr/local/lib"); + platform_lib_str = gb_string_appendc(platform_lib_str, "-Wl,-syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -L/usr/local/lib"); + #if defined(GB_SYSTEM_OSX) + if(!build_context.no_crt) { + platform_lib_str = gb_string_appendc(platform_lib_str, " -lm "); + if(gen->needs_system_library_linked == 1) { + platform_lib_str = gb_string_appendc(platform_lib_str, " -lSystem "); + } + } + #endif } else { platform_lib_str = gb_string_appendc(platform_lib_str, "-lc -lm"); } @@ -479,10 +500,6 @@ gb_internal i32 linker_stage(LinkerData *gen) { // This sets a requirement of Mountain Lion and up, but the compiler doesn't work without this limit. if (build_context.minimum_os_version_string.len) { link_settings = gb_string_append_fmt(link_settings, " -mmacosx-version-min=%.*s ", LIT(build_context.minimum_os_version_string)); - } else if (build_context.metrics.arch == TargetArch_arm64) { - link_settings = gb_string_appendc(link_settings, " -mmacosx-version-min=12.0.0 "); - } else { - link_settings = gb_string_appendc(link_settings, " -mmacosx-version-min=10.12.0 "); } // This points the linker to where the entry point is link_settings = gb_string_appendc(link_settings, " -e _main "); diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index f61c297bd..ca71a0f45 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -2697,64 +2697,22 @@ gb_internal bool lb_generate_code(lbGenerator *gen) { } } - { - char const *name = LB_TYPE_INFO_TYPES_NAME; - Type *t = alloc_type_array(t_type_info_ptr, count); + auto const global_type_info_make = [](lbModule *m, char const *name, Type *elem_type, i64 count) -> lbAddr { + Type *t = alloc_type_array(elem_type, count); LLVMValueRef g = LLVMAddGlobal(m->mod, lb_type(m, t), name); LLVMSetInitializer(g, LLVMConstNull(lb_type(m, t))); LLVMSetLinkage(g, LLVMInternalLinkage); if (LB_USE_GIANT_PACKED_STRUCT) { lb_make_global_private_const(g); } - lb_global_type_info_member_types = lb_addr({g, alloc_type_pointer(t)}); - - } - { - char const *name = LB_TYPE_INFO_NAMES_NAME; - Type *t = alloc_type_array(t_string, count); - LLVMValueRef g = LLVMAddGlobal(m->mod, lb_type(m, t), name); - LLVMSetInitializer(g, LLVMConstNull(lb_type(m, t))); - LLVMSetLinkage(g, LLVMInternalLinkage); - if (LB_USE_GIANT_PACKED_STRUCT) { - lb_make_global_private_const(g); - } - lb_global_type_info_member_names = lb_addr({g, alloc_type_pointer(t)}); - } - { - char const *name = LB_TYPE_INFO_OFFSETS_NAME; - Type *t = alloc_type_array(t_uintptr, count); - LLVMValueRef g = LLVMAddGlobal(m->mod, lb_type(m, t), name); - LLVMSetInitializer(g, LLVMConstNull(lb_type(m, t))); - LLVMSetLinkage(g, LLVMInternalLinkage); - if (LB_USE_GIANT_PACKED_STRUCT) { - lb_make_global_private_const(g); - } - lb_global_type_info_member_offsets = lb_addr({g, alloc_type_pointer(t)}); - } - - { - char const *name = LB_TYPE_INFO_USINGS_NAME; - Type *t = alloc_type_array(t_bool, count); - LLVMValueRef g = LLVMAddGlobal(m->mod, lb_type(m, t), name); - LLVMSetInitializer(g, LLVMConstNull(lb_type(m, t))); - LLVMSetLinkage(g, LLVMInternalLinkage); - if (LB_USE_GIANT_PACKED_STRUCT) { - lb_make_global_private_const(g); - } - lb_global_type_info_member_usings = lb_addr({g, alloc_type_pointer(t)}); - } - - { - char const *name = LB_TYPE_INFO_TAGS_NAME; - Type *t = alloc_type_array(t_string, count); - LLVMValueRef g = LLVMAddGlobal(m->mod, lb_type(m, t), name); - LLVMSetInitializer(g, LLVMConstNull(lb_type(m, t))); - LLVMSetLinkage(g, LLVMInternalLinkage); - if (LB_USE_GIANT_PACKED_STRUCT) { - lb_make_global_private_const(g); - } - lb_global_type_info_member_tags = lb_addr({g, alloc_type_pointer(t)}); - } + return lb_addr({g, alloc_type_pointer(t)}); + }; + + lb_global_type_info_member_types = global_type_info_make(m, LB_TYPE_INFO_TYPES_NAME, t_type_info_ptr, count); + lb_global_type_info_member_names = global_type_info_make(m, LB_TYPE_INFO_NAMES_NAME, t_string, count); + lb_global_type_info_member_offsets = global_type_info_make(m, LB_TYPE_INFO_OFFSETS_NAME, t_uintptr, count); + lb_global_type_info_member_usings = global_type_info_make(m, LB_TYPE_INFO_USINGS_NAME, t_bool, count); + lb_global_type_info_member_tags = global_type_info_make(m, LB_TYPE_INFO_TAGS_NAME, t_string, count); } } diff --git a/src/llvm_backend_const.cpp b/src/llvm_backend_const.cpp index 7584df3ee..2291f24ac 100644 --- a/src/llvm_backend_const.cpp +++ b/src/llvm_backend_const.cpp @@ -287,11 +287,44 @@ gb_internal lbValue lb_expr_untyped_const_to_typed(lbModule *m, Ast *expr, Type return lb_const_value(m, t, tv.value); } -gb_internal lbValue lb_const_source_code_location_const(lbModule *m, String const &procedure, TokenPos const &pos) { +gb_internal String lb_obfuscate_string(String const &s, char const *prefix) { + if (s.len == 0) { + return {}; + } + GB_ASSERT(prefix != nullptr); + u64 hash = gb_fnv64a(s.text, s.len); + gbString res = gb_string_make(temporary_allocator(), prefix); + res = gb_string_append_fmt(res, "x%llx", cast(long long unsigned)hash); + return make_string_c(res); +} + +gb_internal i32 lb_obfuscate_i32(i32 i) { + i32 x = cast(i32)gb_fnv64a(&i, sizeof(i)); + if (x < 0) { + x = 1-x; + } + return cast(i32)x; +} + +gb_internal lbValue lb_const_source_code_location_const(lbModule *m, String const &procedure_, TokenPos const &pos) { + String file = get_file_path_string(pos.file_id); + String procedure = procedure_; + + i32 line = pos.line; + i32 column = pos.column; + + if (build_context.obfuscate_source_code_locations) { + file = lb_obfuscate_string(file, "F"); + procedure = lb_obfuscate_string(procedure, "P"); + + line = lb_obfuscate_i32(line); + column = lb_obfuscate_i32(column); + } + LLVMValueRef fields[4] = {}; - fields[0]/*file*/ = lb_find_or_add_entity_string(m, get_file_path_string(pos.file_id)).value; - fields[1]/*line*/ = lb_const_int(m, t_i32, pos.line).value; - fields[2]/*column*/ = lb_const_int(m, t_i32, pos.column).value; + fields[0]/*file*/ = lb_find_or_add_entity_string(m, file).value; + fields[1]/*line*/ = lb_const_int(m, t_i32, line).value; + fields[2]/*column*/ = lb_const_int(m, t_i32, column).value; fields[3]/*procedure*/ = lb_find_or_add_entity_string(m, procedure).value; lbValue res = {}; diff --git a/src/llvm_backend_expr.cpp b/src/llvm_backend_expr.cpp index d1176f896..4675e203b 100644 --- a/src/llvm_backend_expr.cpp +++ b/src/llvm_backend_expr.cpp @@ -4105,7 +4105,7 @@ gb_internal lbAddr lb_build_addr_slice_expr(lbProcedure *p, Ast *expr) { } case Type_Basic: { - GB_ASSERT_MSG(type == t_string, "got %s", type_to_string(type)); + GB_ASSERT_MSG(are_types_identical(type, t_string), "got %s", type_to_string(type)); lbValue len = lb_string_len(p, base); if (high.value == nullptr) high = len; diff --git a/src/llvm_backend_general.cpp b/src/llvm_backend_general.cpp index c149ec853..54327cc54 100644 --- a/src/llvm_backend_general.cpp +++ b/src/llvm_backend_general.cpp @@ -107,6 +107,10 @@ gb_internal bool lb_init_generator(lbGenerator *gen, Checker *c) { String init_fullpath = c->parser->init_fullpath; linker_data_init(gen, &c->info, init_fullpath); + #if defined(GB_SYSTEM_OSX) && (LLVM_VERSION_MAJOR < 14) + linker_enable_system_library_linking(gen); + #endif + gen->info = &c->info; map_init(&gen->modules, gen->info->packages.count*2); diff --git a/src/llvm_backend_proc.cpp b/src/llvm_backend_proc.cpp index f64cbd52a..1244bd377 100644 --- a/src/llvm_backend_proc.cpp +++ b/src/llvm_backend_proc.cpp @@ -3385,7 +3385,7 @@ gb_internal lbValue lb_build_call_expr_internal(lbProcedure *p, Ast *expr) { } lbValue arg = args[arg_index]; - if (arg.value == nullptr) { + if (arg.value == nullptr && arg.type == nullptr) { switch (e->kind) { case Entity_TypeName: args[arg_index] = lb_const_nil(p->module, e->type); diff --git a/src/main.cpp b/src/main.cpp index 14f7e84ec..4d4e01ada 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -277,6 +277,7 @@ enum BuildFlagKind { BuildFlag_ForeignErrorProcedures, BuildFlag_NoRTTI, BuildFlag_DynamicMapCalls, + BuildFlag_ObfuscateSourceCodeLocations, BuildFlag_Compact, BuildFlag_GlobalDefinitions, @@ -467,6 +468,8 @@ gb_internal bool parse_build_flags(Array<String> args) { add_flag(&build_flags, BuildFlag_DynamicMapCalls, str_lit("dynamic-map-calls"), BuildFlagParam_None, Command__does_check); + add_flag(&build_flags, BuildFlag_ObfuscateSourceCodeLocations, str_lit("obfuscate-source-code-locations"), BuildFlagParam_None, Command__does_build); + add_flag(&build_flags, BuildFlag_Short, str_lit("short"), BuildFlagParam_None, Command_doc); add_flag(&build_flags, BuildFlag_AllPackages, str_lit("all-packages"), BuildFlagParam_None, Command_doc); add_flag(&build_flags, BuildFlag_DocFormat, str_lit("doc-format"), BuildFlagParam_None, Command_doc); @@ -1113,6 +1116,11 @@ gb_internal bool parse_build_flags(Array<String> args) { case BuildFlag_DynamicMapCalls: build_context.dynamic_map_calls = true; break; + + case BuildFlag_ObfuscateSourceCodeLocations: + build_context.obfuscate_source_code_locations = true; + break; + case BuildFlag_DefaultToNilAllocator: build_context.ODIN_DEFAULT_TO_NIL_ALLOCATOR = true; break; @@ -1947,6 +1955,10 @@ gb_internal void print_show_help(String const arg0, String const &command) { } if (run_or_build) { + print_usage_line(1, "-obfuscate-source-code-locations"); + print_usage_line(2, "Obfuscate the file and procedure strings, and line and column numbers, stored with a 'runtime.Source_Code_Location' value."); + print_usage_line(0, ""); + print_usage_line(1, "-sanitize:<string>"); print_usage_line(2, "Enables sanitization analysis."); print_usage_line(2, "Available options:"); diff --git a/src/tilde.cpp b/src/tilde.cpp index b27c42a12..06428f317 100644 --- a/src/tilde.cpp +++ b/src/tilde.cpp @@ -215,7 +215,7 @@ gb_internal void cg_set_debug_pos_from_node(cgProcedure *p, Ast *node) { TokenPos pos = ast_token(node).pos; TB_SourceFile **file = map_get(&p->module->file_id_map, cast(uintptr)pos.file_id); if (file) { - tb_inst_set_location(p->func, *file, pos.line, pos.column); + tb_inst_location(p->func, *file, pos.line, pos.column); } } } @@ -373,7 +373,7 @@ gb_internal bool cg_global_variables_create(cgModule *m, Array<cgGlobalVariable> TB_Global *global = tb_global_create(m->mod, name.len, cast(char const *)name.text, debug_type, linkage); cgValue g = cg_value(global, alloc_type_pointer(e->type)); - TB_ModuleSection *section = tb_module_get_data(m->mod); + TB_ModuleSectionHandle section = tb_module_get_data(m->mod); if (e->Variable.thread_local_model != "") { section = tb_module_get_tls(m->mod); @@ -726,6 +726,10 @@ gb_internal bool cg_generate_code(Checker *c, LinkerData *linker_data) { linker_data_init(linker_data, info, c->parser->init_fullpath); + #if defined(GB_SYSTEM_OSX) + linker_enable_system_library_linking(linker_data); + #endif + cg_global_arena_init(); cgModule *m = cg_module_create(c); diff --git a/src/tilde.hpp b/src/tilde.hpp index 7088912fd..d141b2330 100644 --- a/src/tilde.hpp +++ b/src/tilde.hpp @@ -8,8 +8,8 @@ #include "tilde/tb.h" #include "tilde/tb_arena.h" -#define TB_TYPE_F16 TB_DataType{ { TB_INT, 0, 16 } } -#define TB_TYPE_I128 TB_DataType{ { TB_INT, 0, 128 } } +#define TB_TYPE_F16 TB_DataType{ { TB_INT, 16 } } +#define TB_TYPE_I128 TB_DataType{ { TB_INT, 128 } } #define TB_TYPE_INT TB_TYPE_INTN(cast(u16)(8*build_context.int_size)) #define TB_TYPE_INTPTR TB_TYPE_INTN(cast(u16)(8*build_context.ptr_size)) diff --git a/src/tilde/tb.h b/src/tilde/tb.h index 5bb98fe70..4fe21c902 100644 --- a/src/tilde/tb.h +++ b/src/tilde/tb.h @@ -4,9 +4,15 @@ // SSA - single static assignment // GVN - global value numbering // CSE - common subexpression elimination +// CFG - control flow graph // DSE - dead store elimination // GCM - global code motion // SROA - scalar replacement of aggregates +// SCCP - sparse conditional constant propagation +// RPO - reverse postorder +// BB - basic block +// ZTC - zero trip count +// SCC - strongly connected components #ifndef TB_CORE_H #define TB_CORE_H @@ -21,7 +27,7 @@ // https://semver.org/ #define TB_VERSION_MAJOR 0 -#define TB_VERSION_MINOR 2 +#define TB_VERSION_MINOR 3 #define TB_VERSION_PATCH 0 #ifndef TB_API @@ -125,12 +131,6 @@ typedef struct TB_FeatureSet { TB_FeatureSet_X64 x64; } TB_FeatureSet; -typedef enum TB_BranchHint { - TB_BRANCH_HINT_NONE, - TB_BRANCH_HINT_LIKELY, - TB_BRANCH_HINT_UNLIKELY -} TB_BranchHint; - typedef enum TB_Linkage { TB_LINKAGE_PUBLIC, TB_LINKAGE_PRIVATE @@ -151,12 +151,6 @@ typedef enum TB_MemoryOrder { TB_MEM_ORDER_SEQ_CST, } TB_MemoryOrder; -typedef enum TB_ISelMode { - // FastISel - TB_ISEL_FAST, - TB_ISEL_COMPLEX -} TB_ISelMode; - typedef enum TB_DataTypeEnum { // Integers, note void is an i0 and bool is an i1 // i(0-64) @@ -166,12 +160,14 @@ typedef enum TB_DataTypeEnum { TB_FLOAT, // Pointers TB_PTR, - // Tuples, these cannot be used in memory ops, just accessed via projections - TB_TUPLE, // represents control flow for REGION, BRANCH TB_CONTROL, // represents memory (and I/O) TB_MEMORY, + // continuation (usually just return addresses :p) + TB_CONT, + // Tuples, these cannot be used in memory ops, just accessed via projections + TB_TUPLE, } TB_DataTypeEnum; typedef enum TB_FloatFormat { @@ -181,15 +177,13 @@ typedef enum TB_FloatFormat { typedef union TB_DataType { struct { - uint8_t type; - // Only integers and floats can be wide. - uint8_t width; + uint16_t type : 4; // for integers it's the bitwidth - uint16_t data; + uint16_t data : 12; }; - uint32_t raw; + uint16_t raw; } TB_DataType; -static_assert(sizeof(TB_DataType) == 4, "im expecting this to be a uint32_t"); +static_assert(sizeof(TB_DataType) == 2, "im expecting this to be a uint16_t"); // classify data types #define TB_IS_VOID_TYPE(x) ((x).type == TB_INT && (x).data == 0) @@ -240,6 +234,11 @@ typedef enum TB_NodeTypeEnum { TB_MACHINE_OP, // (Control, Memory) & Buffer -> (Control, Memory) // reads the TSC on x64 TB_CYCLE_COUNTER, // (Control) -> Int64 + // prefetches data for reading. The number next to the + // + // 0 is temporal + // 1-3 are just cache levels + TB_PREFETCH, // (Memory, Ptr) & Int -> Memory //////////////////////////////// // CONTROL @@ -269,7 +268,11 @@ typedef enum TB_NodeTypeEnum { // trap will not be continuable but will stop execution. TB_TRAP, // (Control) -> (Control) // unreachable means it won't trap or be continuable. - TB_UNREACHABLE, // (Control) -> (Control) + TB_UNREACHABLE, // (Control) -> () + // this is generated when a path becomes disconnected + // from the main IR, it'll be reduced by the monotonic + // rewrites. + TB_DEAD, // () -> (Control) //////////////////////////////// // CONTROL + MEMORY @@ -278,38 +281,49 @@ typedef enum TB_NodeTypeEnum { // target pointer (or syscall number) and the rest are just data args. TB_CALL, // (Control, Memory, Data, Data...) -> (Control, Memory, Data) TB_SYSCALL, // (Control, Memory, Data, Data...) -> (Control, Memory, Data) + // performs call while recycling the stack frame somewhat + TB_TAILCALL, // (Control, Memory, RPC, Data, Data...) -> () // safepoint polls are the same except they only trigger if the poll site // says to (platform specific but almost always just the page being made // unmapped/guard), 3rd argument is the poll site. - TB_SAFEPOINT_POLL, // (Control, Memory, Ptr, Data...) -> (Control) + TB_SAFEPOINT_POLL, // (Control, Memory, Ptr?, Data...) -> (Control) + // this safepoint which doesn't emit any poll site, it's just + // an address, this is used by AOT compiles to encode line info. + TB_SAFEPOINT_NOP, // (Control, Memory, Ptr?, Data...) -> (Control) //////////////////////////////// // MEMORY //////////////////////////////// + // MERGEMEM will join multiple non-aliasing memory effects, because + // they don't alias there's no ordering guarentee. + TB_MERGEMEM, // (Memory...) -> Memory // LOAD and STORE are standard memory accesses, they can be folded away. - TB_LOAD, // (Memory, Ptr) -> Data - TB_STORE, // (Memory, Ptr, Data) -> Memory + TB_LOAD, // (Control?, Memory, Ptr) -> Data + TB_STORE, // (Control, Memory, Ptr, Data) -> Memory // bulk memory ops. - TB_MEMCPY, // (Memory, Ptr, Ptr, Size) -> Memory - TB_MEMSET, // (Memory, Ptr, Int8, Size) -> Memory + TB_MEMCPY, // (Control, Memory, Ptr, Ptr, Size) -> Memory + TB_MEMSET, // (Control, Memory, Ptr, Int8, Size) -> Memory // these memory accesses represent "volatile" which means // they may produce side effects and thus cannot be eliminated. - TB_READ, // (Memory, Ptr) -> (Memory, Data) - TB_WRITE, // (Memory, Ptr, Data) -> (Memory, Data) + TB_READ, // (Control, Memory, Ptr) -> (Memory, Data) + TB_WRITE, // (Control, Memory, Ptr, Data) -> (Memory, Data) // atomics have multiple observers (if not they wouldn't need to // be atomic) and thus produce side effects everywhere just like // volatiles except they have synchronization guarentees. the atomic // data ops will return the value before the operation is performed. // Atomic CAS return the old value and a boolean for success (true if // the value was changed) - TB_ATOMIC_LOAD, // (Memory, Ptr) -> (Memory, Data) - TB_ATOMIC_XCHG, // (Memory, Ptr, Data) -> (Memory, Data) - TB_ATOMIC_ADD, // (Memory, Ptr, Data) -> (Memory, Data) - TB_ATOMIC_SUB, // (Memory, Ptr, Data) -> (Memory, Data) - TB_ATOMIC_AND, // (Memory, Ptr, Data) -> (Memory, Data) - TB_ATOMIC_XOR, // (Memory, Ptr, Data) -> (Memory, Data) - TB_ATOMIC_OR, // (Memory, Ptr, Data) -> (Memory, Data) - TB_ATOMIC_CAS, // (Memory, Data, Data) -> (Memory, Data, Bool) + TB_ATOMIC_LOAD, // (Control, Memory, Ptr) -> (Memory, Data) + TB_ATOMIC_XCHG, // (Control, Memory, Ptr, Data) -> (Memory, Data) + TB_ATOMIC_ADD, // (Control, Memory, Ptr, Data) -> (Memory, Data) + TB_ATOMIC_SUB, // (Control, Memory, Ptr, Data) -> (Memory, Data) + TB_ATOMIC_AND, // (Control, Memory, Ptr, Data) -> (Memory, Data) + TB_ATOMIC_XOR, // (Control, Memory, Ptr, Data) -> (Memory, Data) + TB_ATOMIC_OR, // (Control, Memory, Ptr, Data) -> (Memory, Data) + TB_ATOMIC_CAS, // (Control, Memory, Data, Data) -> (Memory, Data, Bool) + + // like a multi-way branch but without the control flow aspect, but for data. + TB_LOOKUP, //////////////////////////////// // POINTERS @@ -375,6 +389,8 @@ typedef enum TB_NodeTypeEnum { TB_FSUB, TB_FMUL, TB_FDIV, + TB_FMAX, + TB_FMIN, // Comparisons TB_CMP_EQ, @@ -418,10 +434,17 @@ typedef uint32_t TB_CharUnits; typedef struct { // used by the debug info export int id; + size_t len; uint8_t path[]; } TB_SourceFile; +typedef struct TB_Location { + TB_SourceFile* file; + int line, column; + uint32_t pos; +} TB_Location; + // SO refers to shared objects which mean either shared libraries (.so or .dll) // or executables (.exe or ELF executables) typedef enum { @@ -441,31 +464,38 @@ typedef struct TB_DebugType TB_DebugType; typedef struct TB_ModuleSection TB_ModuleSection; typedef struct TB_FunctionPrototype TB_FunctionPrototype; -typedef struct TB_Attrib TB_Attrib; +enum { TB_MODULE_SECTION_NONE = -1 }; +typedef int32_t TB_ModuleSectionHandle; +typedef struct TB_Attrib TB_Attrib; // target-specific, just a unique ID for the registers typedef int TB_PhysicalReg; +// Thread local module state +typedef struct TB_ThreadInfo TB_ThreadInfo; + +typedef enum { + TB_SYMBOL_NONE, + TB_SYMBOL_EXTERNAL, + TB_SYMBOL_GLOBAL, + TB_SYMBOL_FUNCTION, + TB_SYMBOL_MAX, +} TB_SymbolTag; + // Refers generically to objects within a module // // TB_Function, TB_Global, and TB_External are all subtypes of TB_Symbol // and thus are safely allowed to cast into a symbol for operations. typedef struct TB_Symbol { - enum TB_SymbolTag { - TB_SYMBOL_NONE, - - // symbol is dead now - TB_SYMBOL_TOMBSTONE, - - TB_SYMBOL_EXTERNAL, - TB_SYMBOL_GLOBAL, - TB_SYMBOL_FUNCTION, - - TB_SYMBOL_MAX, - } tag; - - // refers to the prev or next symbol with the same tag - struct TB_Symbol* next; + #ifdef __cplusplus + TB_SymbolTag tag; + #else + _Atomic TB_SymbolTag tag; + #endif + + // which thread info it's tied to (we may need to remove it, this + // is used for that) + TB_ThreadInfo* info; char* name; // It's kinda a weird circular reference but yea @@ -484,15 +514,28 @@ typedef struct TB_Symbol { } TB_Symbol; typedef struct TB_Node TB_Node; +typedef struct User User; +struct User { + User* next; + TB_Node* n; + int slot; +}; + struct TB_Node { TB_NodeType type; - uint16_t input_count; // number of node inputs. + uint16_t input_count; TB_DataType dt; // makes it easier to track in graph walks - size_t gvn; + uint32_t gvn; - TB_Attrib* attribs; + // only value while inside of a TB_Passes, + // these are unordered and usually just + // help perform certain transformations or + // analysis (not necessarily semantics) + User* users; + + // ordered def-use edges, jolly ol' semantics TB_Node** inputs; char extra[]; @@ -506,8 +549,6 @@ struct TB_Node { // this represents switch (many targets), if (one target) and goto (only default) logic. typedef struct { // TB_BRANCH size_t succ_count; - TB_Node** succ; - int64_t keys[]; } TB_NodeBranch; @@ -527,16 +568,17 @@ typedef struct { // any integer binary operator TB_ArithmeticBehavior ab; } TB_NodeBinopInt; -typedef struct { // TB_MULPAIR - TB_Node *lo, *hi; -} TB_NodeArithPair; - typedef struct { TB_CharUnits align; } TB_NodeMemAccess; typedef struct { + int level; +} TB_NodePrefetch; + +typedef struct { TB_CharUnits size, align; + int alias_index; // 0 if local is used beyond direct memops, 1...n as a unique alias name } TB_NodeLocal; typedef struct { @@ -577,32 +619,41 @@ typedef struct { } TB_NodeAtomic; typedef struct { + // line info on safepoints + TB_SourceFile* file; + int line, column; +} TB_NodeSafepoint; + +typedef struct { TB_FunctionPrototype* proto; + int proj_count; TB_Node* projs[]; } TB_NodeCall; typedef struct { - uint32_t id; -} TB_NodeSafepoint; + TB_FunctionPrototype* proto; +} TB_NodeTailcall; typedef struct { - TB_Node* end; const char* tag; - // position in a postorder walk - int postorder_id; - // immediate dominator (can be approximate) - int dom_depth; - TB_Node* dom; + // magic factor for hot-code, higher means run more often + float freq; // used for IR building only, stale after that. - // - // this represents the first and last memory values within a region, - // if a region ever has multiple predecessors we apply a join on these - // memory. TB_Node *mem_in, *mem_out; } TB_NodeRegion; +typedef struct { + int64_t key; + uint64_t val; +} TB_LookupEntry; + +typedef struct { + size_t entry_count; + TB_LookupEntry entries[]; +} TB_NodeLookup; + typedef struct TB_MultiOutput { size_t count; union { @@ -634,6 +685,12 @@ typedef struct { int32_t values[]; } TB_Safepoint; +typedef enum { + TB_MODULE_SECTION_WRITE = 1, + TB_MODULE_SECTION_EXEC = 2, + TB_MODULE_SECTION_TLS = 4, +} TB_ModuleSectionFlags; + // ******************************* // Public macros // ******************************* @@ -641,35 +698,37 @@ typedef struct { #define TB_TYPE_TUPLE TB_DataType{ { TB_TUPLE } } #define TB_TYPE_CONTROL TB_DataType{ { TB_CONTROL } } -#define TB_TYPE_VOID TB_DataType{ { TB_INT, 0, 0 } } -#define TB_TYPE_I8 TB_DataType{ { TB_INT, 0, 8 } } -#define TB_TYPE_I16 TB_DataType{ { TB_INT, 0, 16 } } -#define TB_TYPE_I32 TB_DataType{ { TB_INT, 0, 32 } } -#define TB_TYPE_I64 TB_DataType{ { TB_INT, 0, 64 } } -#define TB_TYPE_F32 TB_DataType{ { TB_FLOAT, 0, TB_FLT_32 } } -#define TB_TYPE_F64 TB_DataType{ { TB_FLOAT, 0, TB_FLT_64 } } -#define TB_TYPE_BOOL TB_DataType{ { TB_INT, 0, 1 } } -#define TB_TYPE_PTR TB_DataType{ { TB_PTR, 0, 0 } } -#define TB_TYPE_MEMORY TB_DataType{ { TB_MEMORY,0, 0 } } -#define TB_TYPE_INTN(N) TB_DataType{ { TB_INT, 0, (N) } } -#define TB_TYPE_PTRN(N) TB_DataType{ { TB_PTR, 0, (N) } } +#define TB_TYPE_VOID TB_DataType{ { TB_INT, 0 } } +#define TB_TYPE_I8 TB_DataType{ { TB_INT, 8 } } +#define TB_TYPE_I16 TB_DataType{ { TB_INT, 16 } } +#define TB_TYPE_I32 TB_DataType{ { TB_INT, 32 } } +#define TB_TYPE_I64 TB_DataType{ { TB_INT, 64 } } +#define TB_TYPE_F32 TB_DataType{ { TB_FLOAT, TB_FLT_32 } } +#define TB_TYPE_F64 TB_DataType{ { TB_FLOAT, TB_FLT_64 } } +#define TB_TYPE_BOOL TB_DataType{ { TB_INT, 1 } } +#define TB_TYPE_PTR TB_DataType{ { TB_PTR, 0 } } +#define TB_TYPE_MEMORY TB_DataType{ { TB_MEMORY,0 } } +#define TB_TYPE_CONT TB_DataType{ { TB_CONT, 0 } } +#define TB_TYPE_INTN(N) TB_DataType{ { TB_INT, (N) } } +#define TB_TYPE_PTRN(N) TB_DataType{ { TB_PTR, (N) } } #else #define TB_TYPE_TUPLE (TB_DataType){ { TB_TUPLE } } #define TB_TYPE_CONTROL (TB_DataType){ { TB_CONTROL } } -#define TB_TYPE_VOID (TB_DataType){ { TB_INT, 0, 0 } } -#define TB_TYPE_I8 (TB_DataType){ { TB_INT, 0, 8 } } -#define TB_TYPE_I16 (TB_DataType){ { TB_INT, 0, 16 } } -#define TB_TYPE_I32 (TB_DataType){ { TB_INT, 0, 32 } } -#define TB_TYPE_I64 (TB_DataType){ { TB_INT, 0, 64 } } -#define TB_TYPE_F32 (TB_DataType){ { TB_FLOAT, 0, TB_FLT_32 } } -#define TB_TYPE_F64 (TB_DataType){ { TB_FLOAT, 0, TB_FLT_64 } } -#define TB_TYPE_BOOL (TB_DataType){ { TB_INT, 0, 1 } } -#define TB_TYPE_PTR (TB_DataType){ { TB_PTR, 0, 0 } } -#define TB_TYPE_MEMORY (TB_DataType){ { TB_MEMORY,0, 0 } } -#define TB_TYPE_INTN(N) (TB_DataType){ { TB_INT, 0, (N) } } -#define TB_TYPE_PTRN(N) (TB_DataType){ { TB_PTR, 0, (N) } } +#define TB_TYPE_VOID (TB_DataType){ { TB_INT, 0 } } +#define TB_TYPE_I8 (TB_DataType){ { TB_INT, 8 } } +#define TB_TYPE_I16 (TB_DataType){ { TB_INT, 16 } } +#define TB_TYPE_I32 (TB_DataType){ { TB_INT, 32 } } +#define TB_TYPE_I64 (TB_DataType){ { TB_INT, 64 } } +#define TB_TYPE_F32 (TB_DataType){ { TB_FLOAT, TB_FLT_32 } } +#define TB_TYPE_F64 (TB_DataType){ { TB_FLOAT, TB_FLT_64 } } +#define TB_TYPE_BOOL (TB_DataType){ { TB_INT, 1 } } +#define TB_TYPE_PTR (TB_DataType){ { TB_PTR, 0 } } +#define TB_TYPE_CONT (TB_DataType){ { TB_CONT, 0 } } +#define TB_TYPE_MEMORY (TB_DataType){ { TB_MEMORY,0 } } +#define TB_TYPE_INTN(N) (TB_DataType){ { TB_INT, (N) } } +#define TB_TYPE_PTRN(N) (TB_DataType){ { TB_PTR, (N) } } #endif @@ -681,7 +740,8 @@ typedef struct TB_Arena TB_Arena; // 0 for default TB_API void tb_arena_create(TB_Arena* restrict arena, size_t chunk_size); TB_API void tb_arena_destroy(TB_Arena* restrict arena); -TB_API bool tb_arena_is_empty(TB_Arena* arena); +TB_API bool tb_arena_is_empty(TB_Arena* restrict arena); +TB_API void tb_arena_clear(TB_Arena* restrict arena); //////////////////////////////// // Module management @@ -692,8 +752,6 @@ TB_API TB_Module* tb_module_create(TB_Arch arch, TB_System sys, const TB_Feature // Creates a module but defaults on the architecture and system based on the host machine TB_API TB_Module* tb_module_create_for_host(const TB_FeatureSet* features, bool is_jit); -TB_API size_t tb_module_get_function_count(TB_Module* m); - // Frees all resources for the TB_Module and it's functions, globals and // compiled code. TB_API void tb_module_destroy(TB_Module* m); @@ -703,9 +761,16 @@ TB_API void tb_module_destroy(TB_Module* m); // dont and the tls_index is used, it'll crash TB_API void tb_module_set_tls_index(TB_Module* m, ptrdiff_t len, const char* name); -// You don't need to manually call this unless you want to resolve locations before -// exporting. -TB_API void tb_module_layout_sections(TB_Module* m); +TB_API TB_ModuleSectionHandle tb_module_create_section(TB_Module* m, ptrdiff_t len, const char* name, TB_ModuleSectionFlags flags, TB_ComdatType comdat); + +typedef struct { + TB_ThreadInfo* info; + size_t i; +} TB_SymbolIter; + +// Lovely iterator for all the symbols... it's probably not "fast" +TB_SymbolIter tb_symbol_iter(TB_Module* mod); +TB_Symbol* tb_symbol_iter_next(TB_SymbolIter* iter); //////////////////////////////// // Compiled code introspection @@ -728,6 +793,9 @@ TB_API void tb_output_print_asm(TB_FunctionOutput* out, FILE* fp); TB_API uint8_t* tb_output_get_code(TB_FunctionOutput* out, size_t* out_length); +// returns NULL if there's no line info +TB_API TB_Location* tb_output_get_locations(TB_FunctionOutput* out, size_t* out_count); + // returns NULL if no assembly was generated TB_API TB_Assembly* tb_output_get_asm(TB_FunctionOutput* out); @@ -738,17 +806,55 @@ TB_API TB_Safepoint* tb_safepoint_get(TB_Function* f, uint32_t relative_ip); // JIT compilation //////////////////////////////// typedef struct TB_JIT TB_JIT; +typedef struct TB_CPUContext TB_CPUContext; // passing 0 to jit_heap_capacity will default to 4MiB TB_API TB_JIT* tb_jit_begin(TB_Module* m, size_t jit_heap_capacity); TB_API void* tb_jit_place_function(TB_JIT* jit, TB_Function* f); TB_API void* tb_jit_place_global(TB_JIT* jit, TB_Global* g); +TB_API void tb_jit_dump_heap(TB_JIT* jit); TB_API void tb_jit_end(TB_JIT* jit); +typedef struct { + TB_Symbol* base; + uint32_t offset; +} TB_ResolvedAddr; + +typedef struct { + TB_Function* f; + TB_Location* loc; + uint32_t start, end; +} TB_ResolvedLine; + +TB_API TB_ResolvedAddr tb_jit_addr2sym(TB_JIT* jit, void* ptr); +TB_API TB_ResolvedLine tb_jit_addr2line(TB_JIT* jit, void* ptr); TB_API void* tb_jit_get_code_ptr(TB_Function* f); -// Generates a 2MiB stack -TB_API void* tb_jit_stack_create(size_t* out_size); +typedef enum { + // just keeps running + TB_DBG_NONE, + // stops after one instruction + TB_DBG_INST, + // stops once the line changes + TB_DBG_LINE, +} TB_DbgStep; + +// Debugger stuff +// creates a new context we can run JIT code in, you don't +// technically need this but it's a nice helper for writing +// JITs especially when it comes to breakpoints (and eventually +// safepoints) +TB_API TB_CPUContext* tb_jit_thread_create(void* entry, void* arg); +// runs until TB_DbgStep condition is met +TB_API bool tb_jit_thread_resume(TB_JIT* jit, TB_CPUContext* cpu, TB_DbgStep step); +TB_API void* tb_jit_thread_pc(TB_CPUContext* cpu); +TB_API void tb_jit_breakpoint(TB_JIT* jit, void* addr); +TB_API void tb_jit_thread_dump_stack(TB_JIT* jit, TB_CPUContext* cpu); + +//////////////////////////////// +// Disassembler +//////////////////////////////// +TB_API ptrdiff_t tb_print_disassembly_inst(TB_Arch arch, size_t length, const void* ptr); //////////////////////////////// // Exporter @@ -820,18 +926,7 @@ TB_API void tb_linker_append_library(TB_Linker* l, TB_Slice ar_name, TB_Slice co //////////////////////////////// // Symbols //////////////////////////////// -#define TB_FOR_FUNCTIONS(it, module) for (TB_Function* it = tb_first_function(module); it != NULL; it = tb_next_function(it)) -TB_API TB_Function* tb_first_function(TB_Module* m); -TB_API TB_Function* tb_next_function(TB_Function* f); - -#define TB_FOR_EXTERNALS(it, module) for (TB_External* it = tb_first_external(module); it != NULL; it = tb_next_external(it)) -TB_API TB_External* tb_first_external(TB_Module* m); -TB_API TB_External* tb_next_external(TB_External* e); - -// this is used JIT scenarios to tell the compiler what externals map to -TB_API TB_ExternalType tb_extern_get_type(TB_External* e); TB_API TB_Global* tb_extern_transmute(TB_External* e, TB_DebugType* dbg_type, TB_Linkage linkage); - TB_API TB_External* tb_extern_create(TB_Module* m, ptrdiff_t len, const char* name, TB_ExternalType type); TB_API TB_SourceFile* tb_get_source_file(TB_Module* m, const char* path); @@ -876,7 +971,7 @@ TB_API TB_FunctionPrototype* tb_prototype_create(TB_Module* m, TB_CallingConv cc // into the correct ABI and exposing sane looking nodes to the parameters. // // returns the parameters -TB_API TB_Node** tb_function_set_prototype_from_dbg(TB_Function* f, TB_DebugType* dbg, TB_Arena* arena, size_t* out_param_count); +TB_API TB_Node** tb_function_set_prototype_from_dbg(TB_Function* f, TB_ModuleSectionHandle section, TB_DebugType* dbg, TB_Arena* arena, size_t* out_param_count); TB_API TB_FunctionPrototype* tb_prototype_from_dbg(TB_Module* m, TB_DebugType* dbg); // used for ABI parameter passing @@ -899,7 +994,7 @@ TB_API TB_PassingRule tb_get_passing_rule_from_dbg(TB_Module* mod, TB_DebugType* TB_API TB_Global* tb_global_create(TB_Module* m, ptrdiff_t len, const char* name, TB_DebugType* dbg_type, TB_Linkage linkage); // allocate space for the global -TB_API void tb_global_set_storage(TB_Module* m, TB_ModuleSection* section, TB_Global* global, size_t size, size_t align, size_t max_objects); +TB_API void tb_global_set_storage(TB_Module* m, TB_ModuleSectionHandle section, TB_Global* global, size_t size, size_t align, size_t max_objects); // returns a buffer which the user can fill to then have represented in the initializer TB_API void* tb_global_add_region(TB_Module* m, TB_Global* global, size_t offset, size_t size); @@ -908,10 +1003,10 @@ TB_API void* tb_global_add_region(TB_Module* m, TB_Global* global, size_t offset // depends on the pointer size TB_API void tb_global_add_symbol_reloc(TB_Module* m, TB_Global* global, size_t offset, const TB_Symbol* symbol); -TB_API TB_ModuleSection* tb_module_get_text(TB_Module* m); -TB_API TB_ModuleSection* tb_module_get_rdata(TB_Module* m); -TB_API TB_ModuleSection* tb_module_get_data(TB_Module* m); -TB_API TB_ModuleSection* tb_module_get_tls(TB_Module* m); +TB_API TB_ModuleSectionHandle tb_module_get_text(TB_Module* m); +TB_API TB_ModuleSectionHandle tb_module_get_rdata(TB_Module* m); +TB_API TB_ModuleSectionHandle tb_module_get_data(TB_Module* m); +TB_API TB_ModuleSectionHandle tb_module_get_tls(TB_Module* m); //////////////////////////////// // Function Attributes @@ -919,7 +1014,6 @@ TB_API TB_ModuleSection* tb_module_get_tls(TB_Module* m); // These are parts of a function that describe metadata for instructions TB_API void tb_function_attrib_variable(TB_Function* f, TB_Node* n, TB_Node* parent, ptrdiff_t len, const char* name, TB_DebugType* type); TB_API void tb_function_attrib_scope(TB_Function* f, TB_Node* n, TB_Node* parent); -TB_API void tb_function_attrib_location(TB_Function* f, TB_Node* n, TB_SourceFile* file, int line, int column); //////////////////////////////// // Debug info Generation @@ -951,16 +1045,8 @@ TB_API TB_DebugType** tb_debug_func_params(TB_DebugType* type); TB_API TB_DebugType** tb_debug_func_returns(TB_DebugType* type); //////////////////////////////// -// IR access -//////////////////////////////// -// it is an index to the input -#define TB_FOR_INPUT_IN_NODE(it, parent) for (TB_Node **it = parent->inputs, **__end = it + (parent)->input_count; it != __end; it++) - -//////////////////////////////// // Symbols //////////////////////////////// -TB_API bool tb_symbol_is_comdat(const TB_Symbol* s); - // returns NULL if the tag doesn't match TB_API TB_Function* tb_symbol_as_function(TB_Symbol* s); TB_API TB_External* tb_symbol_as_external(TB_Symbol* s); @@ -974,16 +1060,13 @@ TB_API void tb_get_data_type_size(TB_Module* mod, TB_DataType dt, size_t* size, // the user_data is expected to be a valid FILE* TB_API void tb_default_print_callback(void* user_data, const char* fmt, ...); -TB_API void tb_inst_set_location(TB_Function* f, TB_SourceFile* file, int line, int column); -TB_API void tb_inst_reset_location(TB_Function* f); +TB_API void tb_inst_location(TB_Function* f, TB_SourceFile* file, int line, int column); // this is where the STOP will be TB_API void tb_inst_set_exit_location(TB_Function* f, TB_SourceFile* file, int line, int column); -TB_API bool tb_has_effects(TB_Node* n); - // if section is NULL, default to .text -TB_API TB_Function* tb_function_create(TB_Module* m, ptrdiff_t len, const char* name, TB_Linkage linkage, TB_ComdatType comdat); +TB_API TB_Function* tb_function_create(TB_Module* m, ptrdiff_t len, const char* name, TB_Linkage linkage); TB_API TB_Arena* tb_function_get_arena(TB_Function* f); @@ -994,11 +1077,9 @@ TB_API void tb_symbol_bind_ptr(TB_Symbol* s, void* ptr); TB_API const char* tb_symbol_get_name(TB_Symbol* s); // if arena is NULL, defaults to module arena which is freed on tb_free_thread_resources -TB_API void tb_function_set_prototype(TB_Function* f, TB_FunctionPrototype* p, TB_Arena* arena); +TB_API void tb_function_set_prototype(TB_Function* f, TB_ModuleSectionHandle section, TB_FunctionPrototype* p, TB_Arena* arena); TB_API TB_FunctionPrototype* tb_function_get_prototype(TB_Function* f); -TB_API void tb_function_print(TB_Function* f, TB_PrintCallback callback, void* user_data); - TB_API void tb_inst_set_control(TB_Function* f, TB_Node* control); TB_API TB_Node* tb_inst_get_control(TB_Function* f); @@ -1010,7 +1091,7 @@ TB_API void tb_inst_set_region_name(TB_Function* f, TB_Node* n, ptrdiff_t len, c TB_API void tb_inst_unreachable(TB_Function* f); TB_API void tb_inst_debugbreak(TB_Function* f); TB_API void tb_inst_trap(TB_Function* f); -TB_API TB_Node* tb_inst_poison(TB_Function* f); +TB_API TB_Node* tb_inst_poison(TB_Function* f, TB_DataType dt); TB_API TB_Node* tb_inst_param(TB_Function* f, int param_id); @@ -1135,6 +1216,7 @@ TB_API TB_Node* tb_inst_cmp_fge(TB_Function* f, TB_Node* a, TB_Node* b); // General intrinsics TB_API TB_Node* tb_inst_va_start(TB_Function* f, TB_Node* a); TB_API TB_Node* tb_inst_cycle_counter(TB_Function* f); +TB_API TB_Node* tb_inst_prefetch(TB_Function* f, TB_Node* addr, int level); // x86 Intrinsics TB_API TB_Node* tb_inst_x86_ldmxcsr(TB_Function* f, TB_Node* a); @@ -1145,8 +1227,8 @@ TB_API TB_Node* tb_inst_x86_rsqrt(TB_Function* f, TB_Node* a); // Control flow TB_API TB_Node* tb_inst_syscall(TB_Function* f, TB_DataType dt, TB_Node* syscall_num, size_t param_count, TB_Node** params); TB_API TB_MultiOutput tb_inst_call(TB_Function* f, TB_FunctionPrototype* proto, TB_Node* target, size_t param_count, TB_Node** params); +TB_API void tb_inst_tailcall(TB_Function* f, TB_FunctionPrototype* proto, TB_Node* target, size_t param_count, TB_Node** params); -// Managed TB_API TB_Node* tb_inst_safepoint(TB_Function* f, TB_Node* poke_site, size_t param_count, TB_Node** params); TB_API TB_Node* tb_inst_incomplete_phi(TB_Function* f, TB_DataType dt, TB_Node* region, size_t preds); @@ -1197,12 +1279,16 @@ TB_API void tb_pass_exit(TB_Passes* opt); TB_API void tb_pass_peephole(TB_Passes* opt, TB_PeepholeFlags flags); TB_API void tb_pass_sroa(TB_Passes* opt); TB_API bool tb_pass_mem2reg(TB_Passes* opt); +TB_API bool tb_pass_loop(TB_Passes* opt); -TB_API void tb_pass_schedule(TB_Passes* opt); +// this just runs the optimizer in the default configuration +TB_API void tb_pass_optimize(TB_Passes* opt); // analysis // print: prints IR in a flattened text form. TB_API bool tb_pass_print(TB_Passes* opt); +// print-dot: prints IR as DOT +TB_API void tb_pass_print_dot(TB_Passes* opt, TB_PrintCallback callback, void* user_data); // codegen TB_API TB_FunctionOutput* tb_pass_codegen(TB_Passes* opt, bool emit_asm); diff --git a/src/tilde/tb.lib b/src/tilde/tb.lib Binary files differindex 4b3cdb9b0..510569b0e 100644 --- a/src/tilde/tb.lib +++ b/src/tilde/tb.lib diff --git a/src/tilde/tb_coff.h b/src/tilde/tb_coff.h index ae8f63863..ddedd6ffe 100644 --- a/src/tilde/tb_coff.h +++ b/src/tilde/tb_coff.h @@ -313,7 +313,11 @@ size_t tb_coff_parse_symbol(TB_COFF_Parser* restrict parser, size_t i, TB_Object out_sym->name = (TB_Slice){ strlen((const char*) data), data }; } else { // normal inplace string - size_t len = strlen((const char*) sym->short_name); + size_t len = 1; + const char* name = (const char*) sym->short_name; + while (len < 8 && name[len] != 0) { + len++; + } out_sym->name = (TB_Slice){ len, sym->short_name }; } diff --git a/src/tilde/tb_x64.h b/src/tilde/tb_x64.h index 5f93f6bdb..58b3d656c 100644 --- a/src/tilde/tb_x64.h +++ b/src/tilde/tb_x64.h @@ -27,10 +27,21 @@ typedef enum { TB_X86_INSTR_DIRECTION = (1u << 6u), // uses the second data type because the instruction is weird like MOVSX or MOVZX - TB_X86_INSTR_TWO_DATA_TYPES = (1u << 7u) + TB_X86_INSTR_TWO_DATA_TYPES = (1u << 7u), + + // REP prefix is present + TB_X86_INSTR_REP = (1u << 8u), + + // REPNE prefix is present + TB_X86_INSTR_REPNE = (1u << 9u), } TB_X86_InstFlags; typedef enum { + TB_X86_RAX, TB_X86_RCX, TB_X86_RDX, TB_X86_RBX, TB_X86_RSP, TB_X86_RBP, TB_X86_RSI, TB_X86_RDI, + TB_X86_R8, TB_X86_R9, TB_X86_R10, TB_X86_R11, TB_X86_R12, TB_X86_R13, TB_X86_R14, TB_X86_R15, +} TB_X86_GPR; + +typedef enum { TB_X86_SEGMENT_DEFAULT = 0, TB_X86_SEGMENT_ES, TB_X86_SEGMENT_CS, @@ -60,20 +71,21 @@ typedef enum { } TB_X86_DataType; typedef struct { - int16_t type; + int32_t opcode; - // registers (there's 4 max taking up 4bit slots each) - uint16_t regs; - uint8_t flags; + // registers (there's 4 max taking up 8bit slots each) + int8_t regs[4]; + uint16_t flags; // bitpacking amirite - TB_X86_DataType data_type : 4; - TB_X86_DataType data_type2 : 4; + TB_X86_DataType data_type : 8; + TB_X86_DataType data_type2 : 8; TB_X86_Segment segment : 4; uint8_t length : 4; // memory operand // X86_INSTR_USE_MEMOP + uint8_t base, index, scale; int32_t disp; // immediate operand @@ -85,6 +97,9 @@ typedef struct { }; } TB_X86_Inst; -TB_X86_Inst tb_x86_disasm(size_t length, const uint8_t data[length]); +bool tb_x86_disasm(TB_X86_Inst* restrict inst, size_t length, const uint8_t* data); +const char* tb_x86_reg_name(int8_t reg, TB_X86_DataType dt); +const char* tb_x86_type_name(TB_X86_DataType dt); +const char* tb_x86_mnemonic(TB_X86_Inst* inst); #endif /* TB_X64_H */ diff --git a/src/tilde_const.cpp b/src/tilde_const.cpp index 691409fe9..456b2cdc7 100644 --- a/src/tilde_const.cpp +++ b/src/tilde_const.cpp @@ -705,7 +705,7 @@ gb_internal TB_Global *cg_global_const_comp_literal(cgModule *m, Type *original_ i64 align = type_align_of(original_type); // READ ONLY? - TB_ModuleSection *section = nullptr; + TB_ModuleSectionHandle section = 0; if (is_type_string(original_type) || is_type_cstring(original_type)) { section = tb_module_get_rdata(m->mod); } else { diff --git a/src/tilde_expr.cpp b/src/tilde_expr.cpp index 867b761d4..236d0cf7d 100644 --- a/src/tilde_expr.cpp +++ b/src/tilde_expr.cpp @@ -3262,7 +3262,7 @@ gb_internal cgValue cg_build_expr_internal(cgProcedure *p, Ast *expr) { if (is_type_untyped(type)) { return cg_value(cast(TB_Node *)nullptr, t_untyped_uninit); } - return cg_value(tb_inst_poison(p->func), type); + return cg_value(tb_inst_poison(p->func, cg_data_type(type)), type); case_end; case_ast_node(de, DerefExpr, expr); diff --git a/src/tilde_proc.cpp b/src/tilde_proc.cpp index f5f37d73e..8e9b80144 100644 --- a/src/tilde_proc.cpp +++ b/src/tilde_proc.cpp @@ -95,7 +95,7 @@ gb_internal cgProcedure *cg_procedure_create(cgModule *m, Entity *entity, bool i } if (p->symbol == nullptr) { - p->func = tb_function_create(m->mod, link_name.len, cast(char const *)link_name.text, linkage, TB_COMDAT_NONE); + p->func = tb_function_create(m->mod, link_name.len, cast(char const *)link_name.text, linkage); p->debug_type = cg_debug_type_for_proc(m, p->type); p->proto = tb_prototype_from_dbg(m->mod, p->debug_type); @@ -148,7 +148,7 @@ gb_internal cgProcedure *cg_procedure_create_dummy(cgModule *m, String const &li TB_Linkage linkage = TB_LINKAGE_PRIVATE; - p->func = tb_function_create(m->mod, link_name.len, cast(char const *)link_name.text, linkage, TB_COMDAT_NONE); + p->func = tb_function_create(m->mod, link_name.len, cast(char const *)link_name.text, linkage); p->debug_type = cg_debug_type_for_proc(m, p->type); p->proto = tb_prototype_from_dbg(m->mod, p->debug_type); @@ -224,7 +224,8 @@ gb_internal void cg_procedure_begin(cgProcedure *p) { return; } - tb_function_set_prototype(p->func, p->proto, cg_arena()); + TB_ModuleSectionHandle section = tb_module_get_text(p->module->mod); + tb_function_set_prototype(p->func, section, p->proto, cg_arena()); if (p->body == nullptr) { return; @@ -400,7 +401,7 @@ gb_internal WORKER_TASK_PROC(cg_procedure_compile_worker_proc) { fflush(stdout); } if (false) { // GraphViz printing - tb_function_print(p->func, tb_default_print_callback, stdout); + tb_pass_print_dot(opt, tb_default_print_callback, stdout); } // compile @@ -860,7 +861,6 @@ gb_internal cgValue cg_build_call_expr_internal(cgProcedure *p, Ast *expr) { } GB_ASSERT(e->kind == Entity_Variable); - if (pt->variadic && pt->variadic_index == i) { cgValue variadic_args = cg_const_nil(p, e->type); auto variadic = slice(ce->split_args->positional, pt->variadic_index, ce->split_args->positional.count); @@ -963,8 +963,8 @@ gb_internal cgValue cg_build_call_expr_internal(cgProcedure *p, Ast *expr) { if (pt->variadic && param_index == pt->variadic_index) { if (!is_c_vararg && args[arg_index].node == nullptr) { args[arg_index++] = cg_const_nil(p, e->type); + continue; } - continue; } cgValue arg = args[arg_index]; diff --git a/src/tilde_stmt.cpp b/src/tilde_stmt.cpp index 1a7dcce4d..597a4262c 100644 --- a/src/tilde_stmt.cpp +++ b/src/tilde_stmt.cpp @@ -24,7 +24,7 @@ gb_internal TB_Node *cg_control_region(cgProcedure *p, char const *name) { } gb_internal cgValue cg_emit_load(cgProcedure *p, cgValue const &ptr, bool is_volatile) { - GB_ASSERT(is_type_pointer(ptr.type)); + GB_ASSERT_MSG(is_type_pointer(ptr.type), "%s", type_to_string(ptr.type)); Type *type = type_deref(ptr.type); TB_DataType dt = cg_data_type(type); @@ -326,7 +326,7 @@ gb_internal void cg_addr_store(cgProcedure *p, cgAddr addr, cgValue value) { GB_ASSERT(value.type != nullptr); if (is_type_untyped_uninit(value.type)) { Type *t = cg_addr_type(addr); - value = cg_value(tb_inst_poison(p->func), t); + value = cg_value(tb_inst_poison(p->func, cg_data_type(t)), t); // TODO(bill): IS THIS EVEN A GOOD IDEA? } else if (is_type_untyped_nil(value.type)) { Type *t = cg_addr_type(addr); @@ -1982,16 +1982,25 @@ gb_internal bool cg_switch_stmt_can_be_trivial_jump_table(AstSwitchStmt *ss) { if (ss->tag == nullptr) { return false; } + enum { DISALLOW_64_SWITCH = true }; + bool is_typeid = false; TypeAndValue tv = type_and_value_of_expr(ss->tag); if (is_type_integer(core_type(tv.type))) { - if (type_size_of(tv.type) > 8) { + i64 sz = type_size_of(tv.type); + if (sz > 8) { + return false; + } + if (DISALLOW_64_SWITCH && sz == 8) { return false; } // okay } else if (is_type_typeid(tv.type)) { // okay is_typeid = true; + if (DISALLOW_64_SWITCH && build_context.ptr_size == 8) { + return false; + } } else { return false; } @@ -2481,7 +2490,7 @@ gb_internal void cg_build_mutable_value_decl(cgProcedure *p, Ast *node) { TB_DebugType *debug_type = cg_debug_type(m, e->type); TB_Global *global = tb_global_create(m->mod, mangled_name.len, cast(char const *)mangled_name.text, debug_type, TB_LINKAGE_PRIVATE); - TB_ModuleSection *section = tb_module_get_data(m->mod); + TB_ModuleSectionHandle section = tb_module_get_data(m->mod); if (e->Variable.thread_local_model != "") { section = tb_module_get_tls(m->mod); String model = e->Variable.thread_local_model; diff --git a/src/tilde_type_info.cpp b/src/tilde_type_info.cpp index ad219071f..58e8d3087 100644 --- a/src/tilde_type_info.cpp +++ b/src/tilde_type_info.cpp @@ -119,10 +119,6 @@ gb_internal u64 cg_typeid_as_u64(cgModule *m, Type *type) { data |= (reserved &~ (1ull<<1)) << 63ull; // reserved } - if (type == t_string) { - gb_printf_err("%llu\n", data); - } - return data; } @@ -479,6 +475,13 @@ gb_internal void cg_setup_type_info_data(cgModule *m) { // } tag_type = t_type_info_named; + i64 name_offset = type_offset_of(tag_type, 0); + String name = t->Named.type_name->token.string; + cg_global_const_string(m, name, t_string, global, offset+name_offset); + + i64 base_offset = type_offset_of(tag_type, 1); + cg_global_const_type_info_ptr(m, t->Named.base, global, offset+base_offset); + if (t->Named.type_name->pkg) { i64 pkg_offset = type_offset_of(tag_type, 2); String pkg_name = t->Named.type_name->pkg->name; @@ -499,8 +502,6 @@ gb_internal void cg_setup_type_info_data(cgModule *m) { TokenPos pos = t->Named.type_name->token.pos; cg_global_source_code_location_const(m, proc_name, pos, global, offset+loc_offset); - i64 base_offset = type_offset_of(tag_type, 1); - cg_global_const_type_info_ptr(m, t->Named.base, global, offset+base_offset); break; } diff --git a/tests/core/Makefile b/tests/core/Makefile index 6f44b6fc4..3af78b55b 100644 --- a/tests/core/Makefile +++ b/tests/core/Makefile @@ -20,7 +20,8 @@ all: c_libc_test \ reflect_test \ slice_test \ strings_test \ - thread_test + thread_test \ + runtime_test download_test_assets: $(PYTHON) download_assets.py @@ -84,3 +85,6 @@ fmt_test: thread_test: $(ODIN) run thread -out:test_core_thread + +runtime_test: + $(ODIN) run runtime -out:test_core_runtime diff --git a/tests/core/build.bat b/tests/core/build.bat index 54ee5bee6..d12f81666 100644 --- a/tests/core/build.bat +++ b/tests/core/build.bat @@ -1,97 +1,102 @@ -@echo off
-set COMMON=-no-bounds-check -vet -strict-style
-set COLLECTION=-collection:tests=..
-set PATH_TO_ODIN==..\..\odin
-python3 download_assets.py
-echo ---
-echo Running core:image tests
-echo ---
-%PATH_TO_ODIN% run image %COMMON% -out:test_core_image.exe || exit /b
-
-echo ---
-echo Running core:compress tests
-echo ---
-%PATH_TO_ODIN% run compress %COMMON% -out:test_core_compress.exe || exit /b
-
-echo ---
-echo Running core:strings tests
-echo ---
-%PATH_TO_ODIN% run strings %COMMON% -out:test_core_strings.exe || exit /b
-
-echo ---
-echo Running core:hash tests
-echo ---
-%PATH_TO_ODIN% run hash %COMMON% -o:size -out:test_core_hash.exe || exit /b
-
-echo ---
-echo Running core:odin tests
-echo ---
-%PATH_TO_ODIN% run odin %COMMON% -o:size -out:test_core_odin.exe || exit /b
-
-echo ---
-echo Running core:crypto hash tests
-echo ---
-%PATH_TO_ODIN% run crypto %COMMON% -out:test_crypto_hash.exe || exit /b
-
-echo ---
-echo Running core:encoding tests
-echo ---
-%PATH_TO_ODIN% run encoding/hxa %COMMON% %COLLECTION% -out:test_hxa.exe || exit /b
-%PATH_TO_ODIN% run encoding/json %COMMON% -out:test_json.exe || exit /b
-%PATH_TO_ODIN% run encoding/varint %COMMON% -out:test_varint.exe || exit /b
-%PATH_TO_ODIN% run encoding/xml %COMMON% -out:test_xml.exe || exit /b
-
-echo ---
-echo Running core:math/noise tests
-echo ---
-%PATH_TO_ODIN% run math/noise %COMMON% -out:test_noise.exe || exit /b
-
-echo ---
-echo Running core:math tests
-echo ---
-%PATH_TO_ODIN% run math %COMMON% %COLLECTION% -out:test_core_math.exe || exit /b
-
-echo ---
-echo Running core:math/linalg/glsl tests
-echo ---
-%PATH_TO_ODIN% run math/linalg/glsl %COMMON% %COLLECTION% -out:test_linalg_glsl.exe || exit /b
-
-echo ---
-echo Running core:path/filepath tests
-echo ---
-%PATH_TO_ODIN% run path/filepath %COMMON% %COLLECTION% -out:test_core_filepath.exe || exit /b
-
-echo ---
-echo Running core:reflect tests
-echo ---
-%PATH_TO_ODIN% run reflect %COMMON% %COLLECTION% -out:test_core_reflect.exe || exit /b
-
-echo ---
-echo Running core:slice tests
-echo ---
-%PATH_TO_ODIN% run slice %COMMON% -out:test_core_slice.exe || exit /b
-
-echo ---
-echo Running core:text/i18n tests
-echo ---
-%PATH_TO_ODIN% run text\i18n %COMMON% -out:test_core_i18n.exe || exit /b
-
-echo ---
-echo Running core:net
-echo ---
-%PATH_TO_ODIN% run net %COMMON% -out:test_core_net.exe || exit /b
-
-echo ---
-echo Running core:slice tests
-echo ---
-%PATH_TO_ODIN% run slice %COMMON% -out:test_core_slice.exe || exit /b
-
-echo ---
-echo Running core:container tests
-echo ---
-%PATH_TO_ODIN% run container %COMMON% %COLLECTION% -out:test_core_container.exe || exit /b
-
-echo ---
-echo Running core:thread tests
-echo ---
-%PATH_TO_ODIN% run thread %COMMON% %COLLECTION% -out:test_core_thread.exe || exit /b
+@echo off +set COMMON=-no-bounds-check -vet -strict-style +set COLLECTION=-collection:tests=.. +set PATH_TO_ODIN==..\..\odin +python3 download_assets.py +echo --- +echo Running core:image tests +echo --- +%PATH_TO_ODIN% run image %COMMON% -out:test_core_image.exe || exit /b + +echo --- +echo Running core:compress tests +echo --- +%PATH_TO_ODIN% run compress %COMMON% -out:test_core_compress.exe || exit /b + +echo --- +echo Running core:strings tests +echo --- +%PATH_TO_ODIN% run strings %COMMON% -out:test_core_strings.exe || exit /b + +echo --- +echo Running core:hash tests +echo --- +%PATH_TO_ODIN% run hash %COMMON% -o:size -out:test_core_hash.exe || exit /b + +echo --- +echo Running core:odin tests +echo --- +%PATH_TO_ODIN% run odin %COMMON% -o:size -out:test_core_odin.exe || exit /b + +echo --- +echo Running core:crypto hash tests +echo --- +%PATH_TO_ODIN% run crypto %COMMON% -out:test_crypto_hash.exe || exit /b + +echo --- +echo Running core:encoding tests +echo --- +rem %PATH_TO_ODIN% run encoding/hxa %COMMON% %COLLECTION% -out:test_hxa.exe || exit /b +%PATH_TO_ODIN% run encoding/json %COMMON% -out:test_json.exe || exit /b +%PATH_TO_ODIN% run encoding/varint %COMMON% -out:test_varint.exe || exit /b +%PATH_TO_ODIN% run encoding/xml %COMMON% -out:test_xml.exe || exit /b + +echo --- +echo Running core:math/noise tests +echo --- +%PATH_TO_ODIN% run math/noise %COMMON% -out:test_noise.exe || exit /b + +echo --- +echo Running core:math tests +echo --- +%PATH_TO_ODIN% run math %COMMON% %COLLECTION% -out:test_core_math.exe || exit /b + +echo --- +echo Running core:math/linalg/glsl tests +echo --- +%PATH_TO_ODIN% run math/linalg/glsl %COMMON% %COLLECTION% -out:test_linalg_glsl.exe || exit /b + +echo --- +echo Running core:path/filepath tests +echo --- +%PATH_TO_ODIN% run path/filepath %COMMON% %COLLECTION% -out:test_core_filepath.exe || exit /b + +echo --- +echo Running core:reflect tests +echo --- +%PATH_TO_ODIN% run reflect %COMMON% %COLLECTION% -out:test_core_reflect.exe || exit /b + +echo --- +echo Running core:slice tests +echo --- +%PATH_TO_ODIN% run slice %COMMON% -out:test_core_slice.exe || exit /b + +echo --- +echo Running core:text/i18n tests +echo --- +%PATH_TO_ODIN% run text\i18n %COMMON% -out:test_core_i18n.exe || exit /b + +echo --- +echo Running core:net +echo --- +%PATH_TO_ODIN% run net %COMMON% -out:test_core_net.exe || exit /b + +echo --- +echo Running core:slice tests +echo --- +%PATH_TO_ODIN% run slice %COMMON% -out:test_core_slice.exe || exit /b + +echo --- +echo Running core:container tests +echo --- +%PATH_TO_ODIN% run container %COMMON% %COLLECTION% -out:test_core_container.exe || exit /b + +echo --- +echo Running core:thread tests +echo --- +%PATH_TO_ODIN% run thread %COMMON% %COLLECTION% -out:test_core_thread.exe || exit /b + +echo --- +echo Running core:runtime tests +echo --- +%PATH_TO_ODIN% run runtime %COMMON% %COLLECTION% -out:test_core_runtime.exe || exit /b diff --git a/tests/core/encoding/xml/test_core_xml.odin b/tests/core/encoding/xml/test_core_xml.odin index 7a900659a..c62033491 100644 --- a/tests/core/encoding/xml/test_core_xml.odin +++ b/tests/core/encoding/xml/test_core_xml.odin @@ -159,7 +159,7 @@ TESTS :: []TEST{ }, /* - Parse the 8.2 MiB unicode.xml for good measure. + Parse the 9.08 MiB unicode.xml for good measure. */ { filename = "XML/unicode.xml", @@ -170,7 +170,7 @@ TESTS :: []TEST{ expected_doctype = "", }, err = .None, - crc32 = 0x420dbac5, + crc32 = 0x0b6100ab, }, } diff --git a/tests/core/runtime/test_core_runtime.odin b/tests/core/runtime/test_core_runtime.odin new file mode 100644 index 000000000..5ae07ffe2 --- /dev/null +++ b/tests/core/runtime/test_core_runtime.odin @@ -0,0 +1,72 @@ +package test_core_runtime + +import "core:fmt" +import "core:intrinsics" +import "core:mem" +import "core:os" +import "core:reflect" +import "core:runtime" +import "core:testing" + +TEST_count := 0 +TEST_fail := 0 + +when ODIN_TEST { + expect_value :: testing.expect_value +} else { + expect_value :: proc(t: ^testing.T, value, expected: $T, loc := #caller_location) -> bool where intrinsics.type_is_comparable(T) { + TEST_count += 1 + ok := value == expected || reflect.is_nil(value) && reflect.is_nil(expected) + if !ok { + TEST_fail += 1 + fmt.printf("[%v] expected %v, got %v\n", loc, expected, value) + } + return ok + } +} + +main :: proc() { + t := testing.T{} + + test_temp_allocator_big_alloc_and_alignment(&t) + test_temp_allocator_alignment_boundary(&t) + test_temp_allocator_returns_correct_size(&t) + + fmt.printf("%v/%v tests successful.\n", TEST_count - TEST_fail, TEST_count) + if TEST_fail > 0 { + os.exit(1) + } +} + +// Tests that having space for the allocation, but not for the allocation and alignment +// is handled correctly. +@(test) +test_temp_allocator_alignment_boundary :: proc(t: ^testing.T) { + arena: runtime.Arena + context.allocator = runtime.arena_allocator(&arena) + + _, _ = mem.alloc(int(runtime.DEFAULT_ARENA_GROWING_MINIMUM_BLOCK_SIZE)-120) + _, err := mem.alloc(112, 32) + expect_value(t, err, nil) +} + +// Tests that big allocations with big alignments are handled correctly. +@(test) +test_temp_allocator_big_alloc_and_alignment :: proc(t: ^testing.T) { + arena: runtime.Arena + context.allocator = runtime.arena_allocator(&arena) + + mappy: map[[8]int]int + err := reserve(&mappy, 50000) + expect_value(t, err, nil) +} + +@(test) +test_temp_allocator_returns_correct_size :: proc(t: ^testing.T) { + arena: runtime.Arena + context.allocator = runtime.arena_allocator(&arena) + + bytes, err := mem.alloc_bytes(10, 16) + expect_value(t, err, nil) + expect_value(t, len(bytes), 10) +} diff --git a/vendor/commonmark/cmark.odin b/vendor/commonmark/cmark.odin index 80e33cec4..d6801b53a 100644 --- a/vendor/commonmark/cmark.odin +++ b/vendor/commonmark/cmark.odin @@ -23,6 +23,8 @@ when ODIN_OS == .Windows { } } else when ODIN_OS == .Linux { foreign import lib "system:cmark" +} else when ODIN_OS == .Darwin { + foreign import lib "system:cmark" } Option :: enum c.int { @@ -529,4 +531,4 @@ get_default_mem_allocator_as_odin :: proc() -> runtime.Allocator { procedure = cmark_allocator_proc, data = rawptr(get_default_mem_allocator()), } -}
\ No newline at end of file +} diff --git a/vendor/directx/dxgi/dxgi.odin b/vendor/directx/dxgi/dxgi.odin index c2117f637..e8c111b21 100644 --- a/vendor/directx/dxgi/dxgi.odin +++ b/vendor/directx/dxgi/dxgi.odin @@ -40,7 +40,7 @@ IUnknown_VTable :: struct { foreign dxgi { CreateDXGIFactory :: proc(riid: ^IID, ppFactory: ^rawptr) -> HRESULT --- CreateDXGIFactory1 :: proc(riid: ^IID, ppFactory: ^rawptr) -> HRESULT --- - CreateDXGIFactory2 :: proc(Flags: u32, riid: ^IID, ppFactory: ^rawptr) -> HRESULT --- + CreateDXGIFactory2 :: proc(Flags: CREATE_FACTORY, riid: ^IID, ppFactory: ^rawptr) -> HRESULT --- DXGIGetDebugInterface1 :: proc(Flags: u32, riid: ^IID, pDebug: ^rawptr) -> HRESULT --- } @@ -76,10 +76,11 @@ RESOURCE_PRIORITY :: enum u32 { MAXIMUM = 0xc8000000, } -MAP :: enum u32 { - READ = 1, - WRITE = 2, - DISCARD = 4, +MAP :: distinct bit_set[MAP_FLAG; u32] +MAP_FLAG :: enum u32 { + READ = 0, + WRITE = 1, + DISCARD = 2, } ENUM_MODES :: distinct bit_set[ENUM_MODE; u32] @@ -117,10 +118,20 @@ MWA_VALID :: MWA{ .NO_PRINT_SCREEN, } +SHARED_RESOURCE_RW :: distinct bit_set[SHARED_RESOURCE_RW_FLAG; u32] +SHARED_RESOURCE_RW_FLAG :: enum u32 { + READ = 31, + WRITE = 0, +} SHARED_RESOURCE_READ :: 0x80000000 SHARED_RESOURCE_WRITE :: 1 CREATE_FACTORY_DEBUG :: 0x1 +CREATE_FACTORY :: distinct bit_set[CREATE_FACTORY_FLAG; u32] +CREATE_FACTORY_FLAG :: enum u32 { + DEBUG = 0, +} + RATIONAL :: struct { Numerator: u32, Denominator: u32, @@ -418,20 +429,21 @@ SWAP_EFFECT :: enum i32 { FLIP_DISCARD = 4, } -SWAP_CHAIN_FLAG :: enum u32 { // TODO: convert to bit_set - NONPREROTATED = 0x1, - ALLOW_MODE_SWITCH = 0x2, - GDI_COMPATIBLE = 0x4, - RESTRICTED_CONTENT = 0x8, - RESTRICT_SHARED_RESOURCE_DRIVER = 0x10, - DISPLAY_ONLY = 0x20, - FRAME_LATENCY_WAITABLE_OBJECT = 0x40, - FOREGROUND_LAYER = 0x80, - FULLSCREEN_VIDEO = 0x100, - YUV_VIDEO = 0x200, - HW_PROTECTED = 0x400, - ALLOW_TEARING = 0x800, - RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS = 0x1000, +SWAP_CHAIN :: distinct bit_set[SWAP_CHAIN_FLAG; u32] +SWAP_CHAIN_FLAG :: enum u32 { + NONPREROTATED = 0, + ALLOW_MODE_SWITCH, + GDI_COMPATIBLE, + RESTRICTED_CONTENT, + RESTRICT_SHARED_RESOURCE_DRIVER, + DISPLAY_ONLY, + FRAME_LATENCY_WAITABLE_OBJECT, + FOREGROUND_LAYER, + FULLSCREEN_VIDEO, + YUV_VIDEO, + HW_PROTECTED, + ALLOW_TEARING, + RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS, } SWAP_CHAIN_DESC :: struct { @@ -442,7 +454,7 @@ SWAP_CHAIN_DESC :: struct { OutputWindow: HWND, Windowed: BOOL, SwapEffect: SWAP_EFFECT, - Flags: u32, + Flags: SWAP_CHAIN, } @@ -481,8 +493,8 @@ IResource_VTable :: struct { using idxgidevicesubobject_vtable: IDeviceSubObject_VTable, GetSharedHandle: proc "stdcall" (this: ^IResource, pSharedHandle: ^HANDLE) -> HRESULT, GetUsage: proc "stdcall" (this: ^IResource, pUsage: ^USAGE) -> HRESULT, - SetEvictionPriority: proc "stdcall" (this: ^IResource, EvictionPriority: u32) -> HRESULT, - GetEvictionPriority: proc "stdcall" (this: ^IResource, pEvictionPriority: ^u32) -> HRESULT, + SetEvictionPriority: proc "stdcall" (this: ^IResource, EvictionPriority: RESOURCE_PRIORITY) -> HRESULT, + GetEvictionPriority: proc "stdcall" (this: ^IResource, pEvictionPriority: ^RESOURCE_PRIORITY) -> HRESULT, } IKeyedMutex_UUID_STRING :: "9D8E1289-D7B3-465F-8126-250E349AF85D" @@ -506,7 +518,7 @@ ISurface :: struct #raw_union { ISurface_VTable :: struct { using idxgidevicesubobject_vtable: IDeviceSubObject_VTable, GetDesc: proc "stdcall" (this: ^ISurface, pDesc: ^SURFACE_DESC) -> HRESULT, - Map: proc "stdcall" (this: ^ISurface, pLockedRect: ^MAPPED_RECT, MapFlags: u32) -> HRESULT, + Map: proc "stdcall" (this: ^ISurface, pLockedRect: ^MAPPED_RECT, MapFlags: MAP) -> HRESULT, Unmap: proc "stdcall" (this: ^ISurface) -> HRESULT, } @@ -544,7 +556,7 @@ IOutput :: struct #raw_union { IOutput_VTable :: struct { using idxgiobject_vtable: IObject_VTable, GetDesc: proc "stdcall" (this: ^IOutput, pDesc: ^OUTPUT_DESC) -> HRESULT, - GetDisplayModeList: proc "stdcall" (this: ^IOutput, EnumFormat: FORMAT, Flags: u32, pNumModes: ^u32, pDesc: ^MODE_DESC) -> HRESULT, + GetDisplayModeList: proc "stdcall" (this: ^IOutput, EnumFormat: FORMAT, Flags: ENUM_MODES, pNumModes: ^u32, pDesc: ^MODE_DESC) -> HRESULT, FindClosestMatchingMode: proc "stdcall" (this: ^IOutput, pModeToMatch: ^MODE_DESC, pClosestMatch: ^MODE_DESC, pConcernedDevice: ^IUnknown) -> HRESULT, WaitForVBlank: proc "stdcall" (this: ^IOutput) -> HRESULT, TakeOwnership: proc "stdcall" (this: ^IOutput, pDevice: ^IUnknown, Exclusive: BOOL) -> HRESULT, @@ -565,12 +577,12 @@ ISwapChain :: struct #raw_union { } ISwapChain_VTable :: struct { using idxgidevicesubobject_vtable: IDeviceSubObject_VTable, - Present: proc "stdcall" (this: ^ISwapChain, SyncInterval: u32, Flags: u32) -> HRESULT, + Present: proc "stdcall" (this: ^ISwapChain, SyncInterval: u32, Flags: PRESENT) -> HRESULT, GetBuffer: proc "stdcall" (this: ^ISwapChain, Buffer: u32, riid: ^IID, ppSurface: ^rawptr) -> HRESULT, SetFullscreenState: proc "stdcall" (this: ^ISwapChain, Fullscreen: BOOL, pTarget: ^IOutput) -> HRESULT, GetFullscreenState: proc "stdcall" (this: ^ISwapChain, pFullscreen: ^BOOL, ppTarget: ^^IOutput) -> HRESULT, GetDesc: proc "stdcall" (this: ^ISwapChain, pDesc: ^SWAP_CHAIN_DESC) -> HRESULT, - ResizeBuffers: proc "stdcall" (this: ^ISwapChain, BufferCount: u32, Width: u32, Height: u32, NewFormat: FORMAT, SwapChainFlags: u32) -> HRESULT, + ResizeBuffers: proc "stdcall" (this: ^ISwapChain, BufferCount: u32, Width: u32, Height: u32, NewFormat: FORMAT, SwapChainFlags: SWAP_CHAIN) -> HRESULT, ResizeTarget: proc "stdcall" (this: ^ISwapChain, pNewTargetParameters: ^MODE_DESC) -> HRESULT, GetContainingOutput: proc "stdcall" (this: ^ISwapChain, ppOutput: ^^IOutput) -> HRESULT, GetFrameStatistics: proc "stdcall" (this: ^ISwapChain, pStats: ^FRAME_STATISTICS) -> HRESULT, @@ -586,7 +598,7 @@ IFactory :: struct #raw_union { IFactory_VTable :: struct { using idxgiobject_vtable: IObject_VTable, EnumAdapters: proc "stdcall" (this: ^IFactory, Adapter: u32, ppAdapter: ^^IAdapter) -> HRESULT, - MakeWindowAssociation: proc "stdcall" (this: ^IFactory, WindowHandle: HWND, Flags: u32) -> HRESULT, + MakeWindowAssociation: proc "stdcall" (this: ^IFactory, WindowHandle: HWND, Flags: MWA) -> HRESULT, GetWindowAssociation: proc "stdcall" (this: ^IFactory, pWindowHandle: ^HWND) -> HRESULT, CreateSwapChain: proc "stdcall" (this: ^IFactory, pDevice: ^IUnknown, pDesc: ^SWAP_CHAIN_DESC, ppSwapChain: ^^ISwapChain) -> HRESULT, CreateSoftwareAdapter: proc "stdcall" (this: ^IFactory, Module: HMODULE, ppAdapter: ^^IAdapter) -> HRESULT, @@ -622,7 +634,7 @@ ADAPTER_DESC1 :: struct { DedicatedSystemMemory: SIZE_T, SharedSystemMemory: SIZE_T, AdapterLuid: LUID, - Flags: u32, + Flags: ADAPTER_FLAG, } DISPLAY_COLOR_SPACE :: struct { @@ -700,7 +712,7 @@ OUTDUPL_POINTER_SHAPE_TYPE :: enum i32 { } OUTDUPL_POINTER_SHAPE_INFO :: struct { - Type: u32, + Type: OUTDUPL_POINTER_SHAPE_TYPE, Width: u32, Height: u32, Pitch: u32, @@ -765,7 +777,7 @@ IResource1 :: struct #raw_union { IResource1_VTable :: struct { using idxgiresource_vtable: IResource_VTable, CreateSubresourceSurface: proc "stdcall" (this: ^IResource1, index: u32, ppSurface: ^^ISurface2) -> HRESULT, - CreateSharedHandle: proc "stdcall" (this: ^IResource1, pAttributes: ^win32.SECURITY_ATTRIBUTES, dwAccess: u32, lpName: ^i16, pHandle: ^HANDLE) -> HRESULT, + CreateSharedHandle: proc "stdcall" (this: ^IResource1, pAttributes: ^win32.SECURITY_ATTRIBUTES, dwAccess: SHARED_RESOURCE_RW, lpName: ^i16, pHandle: ^HANDLE) -> HRESULT, } OFFER_RESOURCE_PRIORITY :: enum i32 { LOW = 1, @@ -813,7 +825,7 @@ SWAP_CHAIN_DESC1 :: struct { Scaling: SCALING, SwapEffect: SWAP_EFFECT, AlphaMode: ALPHA_MODE, - Flags: u32, + Flags: SWAP_CHAIN, } SWAP_CHAIN_FULLSCREEN_DESC :: struct { @@ -844,7 +856,7 @@ ISwapChain1_VTable :: struct { GetFullscreenDesc: proc "stdcall" (this: ^ISwapChain1, pDesc: ^SWAP_CHAIN_FULLSCREEN_DESC) -> HRESULT, GetHwnd: proc "stdcall" (this: ^ISwapChain1, pHwnd: ^HWND) -> HRESULT, GetCoreWindow: proc "stdcall" (this: ^ISwapChain1, refiid: ^IID, ppUnk: ^rawptr) -> HRESULT, - Present1: proc "stdcall" (this: ^ISwapChain1, SyncInterval: u32, PresentFlags: u32, pPresentParameters: ^PRESENT_PARAMETERS) -> HRESULT, + Present1: proc "stdcall" (this: ^ISwapChain1, SyncInterval: u32, PresentFlags: PRESENT, pPresentParameters: ^PRESENT_PARAMETERS) -> HRESULT, IsTemporaryMonoSupported: proc "stdcall" (this: ^ISwapChain1) -> BOOL, GetRestrictToOutput: proc "stdcall" (this: ^ISwapChain1, ppRestrictToOutput: ^^IOutput) -> HRESULT, SetBackgroundColor: proc "stdcall" (this: ^ISwapChain1, pColor: ^RGBA) -> HRESULT, @@ -899,7 +911,7 @@ ADAPTER_DESC2 :: struct { DedicatedSystemMemory: SIZE_T, SharedSystemMemory: SIZE_T, AdapterLuid: LUID, - Flags: u32, + Flags: ADAPTER_FLAG, GraphicsPreemptionGranularity: GRAPHICS_PREEMPTION_GRANULARITY, ComputePreemptionGranularity: COMPUTE_PREEMPTION_GRANULARITY, } @@ -924,7 +936,7 @@ IOutput1 :: struct #raw_union { } IOutput1_VTable :: struct { using idxgioutput_vtable: IOutput_VTable, - GetDisplayModeList1: proc "stdcall" (this: ^IOutput1, EnumFormat: FORMAT, Flags: u32, pNumModes: ^u32, pDesc: ^MODE_DESC1) -> HRESULT, + GetDisplayModeList1: proc "stdcall" (this: ^IOutput1, EnumFormat: FORMAT, Flags: ENUM_MODES, pNumModes: ^u32, pDesc: ^MODE_DESC1) -> HRESULT, FindClosestMatchingMode1: proc "stdcall" (this: ^IOutput1, pModeToMatch: ^MODE_DESC1, pClosestMatch: ^MODE_DESC1, pConcernedDevice: ^IUnknown) -> HRESULT, GetDisplaySurfaceData1: proc "stdcall" (this: ^IOutput1, pDestination: ^IResource) -> HRESULT, DuplicateOutput: proc "stdcall" (this: ^IOutput1, pDevice: ^IUnknown, ppOutputDuplication: ^^IOutputDuplication) -> HRESULT, @@ -985,16 +997,17 @@ IFactory3 :: struct #raw_union { } IFactory3_VTable :: struct { using idxgifactory2_vtable: IFactory2_VTable, - GetCreationFlags: proc "stdcall" (this: ^IFactory3) -> u32, + GetCreationFlags: proc "stdcall" (this: ^IFactory3) -> CREATE_FACTORY, } DECODE_SWAP_CHAIN_DESC :: struct { - Flags: u32, + Flags: SWAP_CHAIN, } -MULTIPLANE_OVERLAY_YCbCr_FLAGS :: enum u32 { // TODO: convert to bit_set - NOMINAL_RANGE = 0x1, - BT709 = 0x2, - xvYCC = 0x4, +MULTIPLANE_OVERLAY_YCbCr :: distinct bit_set[MULTIPLANE_OVERLAY_YCbCr_FLAGS; u32] +MULTIPLANE_OVERLAY_YCbCr_FLAGS :: enum u32 { + NOMINAL_RANGE = 0, + BT709, + xvYCC, } @@ -1006,15 +1019,15 @@ IDecodeSwapChain :: struct #raw_union { } IDecodeSwapChain_VTable :: struct { using iunknown_vtable: IUnknown_VTable, - PresentBuffer: proc "stdcall" (this: ^IDecodeSwapChain, BufferToPresent: u32, SyncInterval: u32, Flags: u32) -> HRESULT, + PresentBuffer: proc "stdcall" (this: ^IDecodeSwapChain, BufferToPresent: u32, SyncInterval: u32, Flags: PRESENT) -> HRESULT, SetSourceRect: proc "stdcall" (this: ^IDecodeSwapChain, pRect: ^RECT) -> HRESULT, SetTargetRect: proc "stdcall" (this: ^IDecodeSwapChain, pRect: ^RECT) -> HRESULT, SetDestSize: proc "stdcall" (this: ^IDecodeSwapChain, Width: u32, Height: u32) -> HRESULT, GetSourceRect: proc "stdcall" (this: ^IDecodeSwapChain, pRect: ^RECT) -> HRESULT, GetTargetRect: proc "stdcall" (this: ^IDecodeSwapChain, pRect: ^RECT) -> HRESULT, GetDestSize: proc "stdcall" (this: ^IDecodeSwapChain, pWidth: ^u32, pHeight: ^u32) -> HRESULT, - SetColorSpace: proc "stdcall" (this: ^IDecodeSwapChain, ColorSpace: MULTIPLANE_OVERLAY_YCbCr_FLAGS) -> HRESULT, - GetColorSpace: proc "stdcall" (this: ^IDecodeSwapChain) -> MULTIPLANE_OVERLAY_YCbCr_FLAGS, + SetColorSpace: proc "stdcall" (this: ^IDecodeSwapChain, ColorSpace: MULTIPLANE_OVERLAY_YCbCr) -> HRESULT, + GetColorSpace: proc "stdcall" (this: ^IDecodeSwapChain) -> MULTIPLANE_OVERLAY_YCbCr, } IFactoryMedia_UUID_STRING :: "41E7D1F2-A591-4F7B-A2E5-FA9C843E1C12" @@ -1058,9 +1071,10 @@ ISwapChainMedia_VTable :: struct { SetPresentDuration: proc "stdcall" (this: ^ISwapChainMedia, Duration: u32) -> HRESULT, CheckPresentDurationSupport: proc "stdcall" (this: ^ISwapChainMedia, DesiredPresentDuration: u32, pClosestSmallerPresentDuration: ^u32, pClosestLargerPresentDuration: ^u32) -> HRESULT, } -OVERLAY_SUPPORT_FLAG :: enum u32 { // TODO: convert to bit_set - DIRECT = 0x1, - SCALING = 0x2, +OVERLAY_SUPPORT :: distinct bit_set[OVERLAY_SUPPORT_FLAG; u32] +OVERLAY_SUPPORT_FLAG :: enum u32 { + DIRECT = 0, + SCALING = 1, } @@ -1072,11 +1086,12 @@ IOutput3 :: struct #raw_union { } IOutput3_VTable :: struct { using idxgioutput2_vtable: IOutput2_VTable, - CheckOverlaySupport: proc "stdcall" (this: ^IOutput3, EnumFormat: FORMAT, pConcernedDevice: ^IUnknown, pFlags: ^u32) -> HRESULT, + CheckOverlaySupport: proc "stdcall" (this: ^IOutput3, EnumFormat: FORMAT, pConcernedDevice: ^IUnknown, pFlags: ^OVERLAY_SUPPORT) -> HRESULT, } -SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG :: enum u32 { // TODO: convert to bit_set - PRESENT = 0x1, - OVERLAY_PRESENT = 0x2, +SWAP_CHAIN_COLOR_SPACE_SUPPORT :: distinct bit_set[SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG; u32] +SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG :: enum u32 { + PRESENT = 0, + OVERLAY_PRESENT = 1, } @@ -1089,12 +1104,13 @@ ISwapChain3 :: struct #raw_union { ISwapChain3_VTable :: struct { using idxgiswapchain2_vtable: ISwapChain2_VTable, GetCurrentBackBufferIndex: proc "stdcall" (this: ^ISwapChain3) -> u32, - CheckColorSpaceSupport: proc "stdcall" (this: ^ISwapChain3, ColorSpace: COLOR_SPACE_TYPE, pColorSpaceSupport: ^u32) -> HRESULT, + CheckColorSpaceSupport: proc "stdcall" (this: ^ISwapChain3, ColorSpace: COLOR_SPACE_TYPE, pColorSpaceSupport: ^SWAP_CHAIN_COLOR_SPACE_SUPPORT) -> HRESULT, SetColorSpace1: proc "stdcall" (this: ^ISwapChain3, ColorSpace: COLOR_SPACE_TYPE) -> HRESULT, - ResizeBuffers1: proc "stdcall" (this: ^ISwapChain3, BufferCount: u32, Width: u32, Height: u32, Format: FORMAT, SwapChainFlags: u32, pCreationNodeMask: ^u32, ppPresentQueue: ^^IUnknown) -> HRESULT, + ResizeBuffers1: proc "stdcall" (this: ^ISwapChain3, BufferCount: u32, Width: u32, Height: u32, Format: FORMAT, SwapChainFlags: SWAP_CHAIN, pCreationNodeMask: ^u32, ppPresentQueue: ^^IUnknown) -> HRESULT, } -OVERLAY_COLOR_SPACE_SUPPORT_FLAG :: enum u32 { // TODO: convert to bit_set - PRESENT = 0x1, +OVERLAY_COLOR_SPACE_SUPPORT :: distinct bit_set[OVERLAY_COLOR_SPACE_SUPPORT_FLAG; u32] +OVERLAY_COLOR_SPACE_SUPPORT_FLAG :: enum u32 { + PRESENT = 0, } @@ -1106,7 +1122,7 @@ IOutput4 :: struct #raw_union { } IOutput4_VTable :: struct { using idxgioutput3_vtable: IOutput3_VTable, - CheckOverlayColorSpaceSupport: proc "stdcall" (this: ^IOutput4, Format: FORMAT, ColorSpace: COLOR_SPACE_TYPE, pConcernedDevice: ^IUnknown, pFlags: ^u32) -> HRESULT, + CheckOverlayColorSpaceSupport: proc "stdcall" (this: ^IOutput4, Format: FORMAT, ColorSpace: COLOR_SPACE_TYPE, pConcernedDevice: ^IUnknown, pFlags: ^OVERLAY_COLOR_SPACE_SUPPORT) -> HRESULT, } IFactory4_UUID_STRING :: "1BC6EA02-EF36-464F-BF0C-21CA39E5168A" diff --git a/vendor/glfw/bindings/bindings.odin b/vendor/glfw/bindings/bindings.odin index ac41bbf52..bb50b8973 100644 --- a/vendor/glfw/bindings/bindings.odin +++ b/vendor/glfw/bindings/bindings.odin @@ -181,7 +181,7 @@ foreign glfw { SetCharCallback :: proc(window: WindowHandle, cbfun: CharProc) -> CharProc --- SetCharModsCallback :: proc(window: WindowHandle, cbfun: CharModsProc) -> CharModsProc --- SetCursorEnterCallback :: proc(window: WindowHandle, cbfun: CursorEnterProc) -> CursorEnterProc --- - SetJoystickCallback :: proc(window: WindowHandle, cbfun: JoystickProc) -> JoystickProc --- + SetJoystickCallback :: proc(cbfun: JoystickProc) -> JoystickProc --- SetErrorCallback :: proc(cbfun: ErrorProc) -> ErrorProc --- } diff --git a/vendor/vulkan/_gen/create_vulkan_odin_wrapper.py b/vendor/vulkan/_gen/create_vulkan_odin_wrapper.py index c4c01fc7b..531460af2 100644 --- a/vendor/vulkan/_gen/create_vulkan_odin_wrapper.py +++ b/vendor/vulkan/_gen/create_vulkan_odin_wrapper.py @@ -522,26 +522,53 @@ def parse_structs(f): data += re.findall(r"typedef (struct|union) Std(\w+?) {(.+?)} \w+?;", src, re.S) for _type, name, fields in data: - fields = re.findall(r"\s+(.+?)\s+([_a-zA-Z0-9[\]]+);", fields) + fields = re.findall(r"\s+(.+?)[\s:]+([_a-zA-Z0-9[\]]+);", fields) f.write("{} :: struct ".format(name)) if _type == "union": f.write("#raw_union ") f.write("{\n") + prev_name = "" ffields = [] for type_, fname in fields: - # If the typename has a colon in it, then it is a C bit field. - if ":" in type_: + # If the field name only has a number in it, then it is a C bit field. + if is_int(fname): + comment = None bit_field = type_.split(' ') # Get rid of empty spaces bit_field = list(filter(bool, bit_field)) - # [type, typename, :] - assert len(bit_field) == 3, "Failed to parse the bit field!" - bit_field_type = do_type(bit_field[0], prev_name, fname) - f.write("\tbit_field: {},{}\n".format(bit_field_type, comment or "")) - break + # [type, fieldname] + assert len(bit_field) == 2, "Failed to parse the bit field!" + + + bit_field_type = "" + # Right now there are only two ways that C bit fields exist in + # the header files. + + # First one uses the 8 MOST significant bits for one field, and + # 24 bits for the other field. + # In the bindings these two fields are merged into one u32. + if int(fname) == 24: + prev_name = bit_field[1] + continue + + elif prev_name: + bit_field_type = do_type("uint32_t") + bit_field_name = prev_name + "And" + bit_field[1].capitalize() + comment = " // Most significant byte is {}".format(bit_field[1]) + ffields.append(tuple([bit_field_name, bit_field_type, comment])) + prev_name = "" + continue + + # The second way has many fields that are each 1 bit + elif int(fname) == 1: + bit_field_type = do_type(bit_field[0], prev_name, fname) + ffields.append(tuple(["bit_field", bit_field_type, comment])) + break + + if '[' in fname: fname, type_ = parse_array(fname, type_) diff --git a/vendor/vulkan/core.odin b/vendor/vulkan/core.odin index 7ad114266..764156b8d 100644 --- a/vendor/vulkan/core.odin +++ b/vendor/vulkan/core.odin @@ -1,1005 +1,1005 @@ -//
-// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
-//
-package vulkan
-API_VERSION_1_0 :: (1<<22) | (0<<12) | (0)
-API_VERSION_1_1 :: (1<<22) | (1<<12) | (0)
-API_VERSION_1_2 :: (1<<22) | (2<<12) | (0)
-API_VERSION_1_3 :: (1<<22) | (3<<12) | (0)
-
-MAKE_VERSION :: proc(major, minor, patch: u32) -> u32 {
- return (major<<22) | (minor<<12) | (patch)
-}
-
-// Base types
-Flags :: distinct u32
-Flags64 :: distinct u64
-DeviceSize :: distinct u64
-DeviceAddress :: distinct u64
-SampleMask :: distinct u32
-
-Handle :: distinct rawptr
-NonDispatchableHandle :: distinct u64
-
-SetProcAddressType :: #type proc(p: rawptr, name: cstring)
-
-
-RemoteAddressNV :: distinct rawptr // Declared inline before MemoryGetRemoteAddressInfoNV
-
-// Base constants
-LOD_CLAMP_NONE :: 1000.0
-REMAINING_MIP_LEVELS :: ~u32(0)
-REMAINING_ARRAY_LAYERS :: ~u32(0)
-WHOLE_SIZE :: ~u64(0)
-ATTACHMENT_UNUSED :: ~u32(0)
-TRUE :: 1
-FALSE :: 0
-QUEUE_FAMILY_IGNORED :: ~u32(0)
-SUBPASS_EXTERNAL :: ~u32(0)
-MAX_PHYSICAL_DEVICE_NAME_SIZE :: 256
-MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT :: 32
-UUID_SIZE :: 16
-MAX_MEMORY_TYPES :: 32
-MAX_MEMORY_HEAPS :: 16
-MAX_EXTENSION_NAME_SIZE :: 256
-MAX_DESCRIPTION_SIZE :: 256
-MAX_DEVICE_GROUP_SIZE :: 32
-LUID_SIZE_KHX :: 8
-LUID_SIZE :: 8
-MAX_QUEUE_FAMILY_EXTERNAL :: ~u32(1)
-MAX_GLOBAL_PRIORITY_SIZE_EXT :: 16
-QUEUE_FAMILY_EXTERNAL :: MAX_QUEUE_FAMILY_EXTERNAL
-
-// General Constants
-HEADER_VERSION :: 250
-MAX_DRIVER_NAME_SIZE :: 256
-MAX_DRIVER_INFO_SIZE :: 256
-
-// Vulkan Video Constants
-VIDEO_H264_CPB_CNT_LIST_SIZE :: 32
-VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS :: 6
-VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS :: 16
-VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS :: 6
-VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS :: 64
-VIDEO_H264_MAX_NUM_LIST_REF :: 32
-VIDEO_H264_MAX_CHROMA_PLANES :: 2
-VIDEO_H265_SUBLAYERS_LIST_SIZE :: 7
-VIDEO_H265_CPB_CNT_LIST_SIZE :: 32
-VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS :: 6
-VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS :: 16
-VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS :: 6
-VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS :: 64
-VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS :: 6
-VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS :: 64
-VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS :: 2
-VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS :: 64
-VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE :: 3
-VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE :: 128
-VIDEO_H265_MAX_DPB_SIZE :: 16
-VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS :: 32
-VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE :: 6
-VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE :: 19
-VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE :: 21
-VIDEO_H265_MAX_NUM_LIST_REF :: 15
-VIDEO_H265_MAX_CHROMA_PLANES :: 2
-VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS :: 64
-VIDEO_H265_MAX_LONG_TERM_PICS :: 16
-VIDEO_H265_MAX_DELTA_POC :: 48
-VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE :: 2
-VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE :: 8
-
-// Vendor Constants
-KHR_surface :: 1
-KHR_SURFACE_SPEC_VERSION :: 25
-KHR_SURFACE_EXTENSION_NAME :: "VK_KHR_surface"
-KHR_swapchain :: 1
-KHR_SWAPCHAIN_SPEC_VERSION :: 70
-KHR_SWAPCHAIN_EXTENSION_NAME :: "VK_KHR_swapchain"
-KHR_display :: 1
-KHR_DISPLAY_SPEC_VERSION :: 23
-KHR_DISPLAY_EXTENSION_NAME :: "VK_KHR_display"
-KHR_display_swapchain :: 1
-KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION :: 10
-KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME :: "VK_KHR_display_swapchain"
-KHR_sampler_mirror_clamp_to_edge :: 1
-KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION :: 3
-KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME :: "VK_KHR_sampler_mirror_clamp_to_edge"
-KHR_video_queue :: 1
-KHR_VIDEO_QUEUE_SPEC_VERSION :: 8
-KHR_VIDEO_QUEUE_EXTENSION_NAME :: "VK_KHR_video_queue"
-KHR_video_decode_queue :: 1
-KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION :: 7
-KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME :: "VK_KHR_video_decode_queue"
-KHR_video_decode_h264 :: 1
-KHR_VIDEO_DECODE_H264_SPEC_VERSION :: 8
-KHR_VIDEO_DECODE_H264_EXTENSION_NAME :: "VK_KHR_video_decode_h264"
-KHR_dynamic_rendering :: 1
-KHR_DYNAMIC_RENDERING_SPEC_VERSION :: 1
-KHR_DYNAMIC_RENDERING_EXTENSION_NAME :: "VK_KHR_dynamic_rendering"
-KHR_multiview :: 1
-KHR_MULTIVIEW_SPEC_VERSION :: 1
-KHR_MULTIVIEW_EXTENSION_NAME :: "VK_KHR_multiview"
-KHR_get_physical_device_properties2 :: 1
-KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION :: 2
-KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME :: "VK_KHR_get_physical_device_properties2"
-KHR_device_group :: 1
-KHR_DEVICE_GROUP_SPEC_VERSION :: 4
-KHR_DEVICE_GROUP_EXTENSION_NAME :: "VK_KHR_device_group"
-KHR_shader_draw_parameters :: 1
-KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION :: 1
-KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME :: "VK_KHR_shader_draw_parameters"
-KHR_maintenance1 :: 1
-KHR_MAINTENANCE_1_SPEC_VERSION :: 2
-KHR_MAINTENANCE_1_EXTENSION_NAME :: "VK_KHR_maintenance1"
-KHR_MAINTENANCE1_SPEC_VERSION :: KHR_MAINTENANCE_1_SPEC_VERSION
-KHR_MAINTENANCE1_EXTENSION_NAME :: KHR_MAINTENANCE_1_EXTENSION_NAME
-KHR_device_group_creation :: 1
-KHR_DEVICE_GROUP_CREATION_SPEC_VERSION :: 1
-KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME :: "VK_KHR_device_group_creation"
-MAX_DEVICE_GROUP_SIZE_KHR :: MAX_DEVICE_GROUP_SIZE
-KHR_external_memory_capabilities :: 1
-KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: 1
-KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: "VK_KHR_external_memory_capabilities"
-LUID_SIZE_KHR :: LUID_SIZE
-KHR_external_memory :: 1
-KHR_EXTERNAL_MEMORY_SPEC_VERSION :: 1
-KHR_EXTERNAL_MEMORY_EXTENSION_NAME :: "VK_KHR_external_memory"
-QUEUE_FAMILY_EXTERNAL_KHR :: QUEUE_FAMILY_EXTERNAL
-KHR_external_memory_fd :: 1
-KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION :: 1
-KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME :: "VK_KHR_external_memory_fd"
-KHR_external_semaphore_capabilities :: 1
-KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION :: 1
-KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME :: "VK_KHR_external_semaphore_capabilities"
-KHR_external_semaphore :: 1
-KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION :: 1
-KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME :: "VK_KHR_external_semaphore"
-KHR_external_semaphore_fd :: 1
-KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION :: 1
-KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME :: "VK_KHR_external_semaphore_fd"
-KHR_push_descriptor :: 1
-KHR_PUSH_DESCRIPTOR_SPEC_VERSION :: 2
-KHR_PUSH_DESCRIPTOR_EXTENSION_NAME :: "VK_KHR_push_descriptor"
-KHR_shader_float16_int8 :: 1
-KHR_SHADER_FLOAT16_INT8_SPEC_VERSION :: 1
-KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME :: "VK_KHR_shader_float16_int8"
-KHR_16bit_storage :: 1
-KHR_16BIT_STORAGE_SPEC_VERSION :: 1
-KHR_16BIT_STORAGE_EXTENSION_NAME :: "VK_KHR_16bit_storage"
-KHR_incremental_present :: 1
-KHR_INCREMENTAL_PRESENT_SPEC_VERSION :: 2
-KHR_INCREMENTAL_PRESENT_EXTENSION_NAME :: "VK_KHR_incremental_present"
-KHR_descriptor_update_template :: 1
-KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION :: 1
-KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME :: "VK_KHR_descriptor_update_template"
-KHR_imageless_framebuffer :: 1
-KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION :: 1
-KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME :: "VK_KHR_imageless_framebuffer"
-KHR_create_renderpass2 :: 1
-KHR_CREATE_RENDERPASS_2_SPEC_VERSION :: 1
-KHR_CREATE_RENDERPASS_2_EXTENSION_NAME :: "VK_KHR_create_renderpass2"
-KHR_shared_presentable_image :: 1
-KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION :: 1
-KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME :: "VK_KHR_shared_presentable_image"
-KHR_external_fence_capabilities :: 1
-KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION :: 1
-KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME :: "VK_KHR_external_fence_capabilities"
-KHR_external_fence :: 1
-KHR_EXTERNAL_FENCE_SPEC_VERSION :: 1
-KHR_EXTERNAL_FENCE_EXTENSION_NAME :: "VK_KHR_external_fence"
-KHR_external_fence_fd :: 1
-KHR_EXTERNAL_FENCE_FD_SPEC_VERSION :: 1
-KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME :: "VK_KHR_external_fence_fd"
-KHR_performance_query :: 1
-KHR_PERFORMANCE_QUERY_SPEC_VERSION :: 1
-KHR_PERFORMANCE_QUERY_EXTENSION_NAME :: "VK_KHR_performance_query"
-KHR_maintenance2 :: 1
-KHR_MAINTENANCE_2_SPEC_VERSION :: 1
-KHR_MAINTENANCE_2_EXTENSION_NAME :: "VK_KHR_maintenance2"
-KHR_MAINTENANCE2_SPEC_VERSION :: KHR_MAINTENANCE_2_SPEC_VERSION
-KHR_MAINTENANCE2_EXTENSION_NAME :: KHR_MAINTENANCE_2_EXTENSION_NAME
-KHR_get_surface_capabilities2 :: 1
-KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION :: 1
-KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME :: "VK_KHR_get_surface_capabilities2"
-KHR_variable_pointers :: 1
-KHR_VARIABLE_POINTERS_SPEC_VERSION :: 1
-KHR_VARIABLE_POINTERS_EXTENSION_NAME :: "VK_KHR_variable_pointers"
-KHR_get_display_properties2 :: 1
-KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION :: 1
-KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME :: "VK_KHR_get_display_properties2"
-KHR_dedicated_allocation :: 1
-KHR_DEDICATED_ALLOCATION_SPEC_VERSION :: 3
-KHR_DEDICATED_ALLOCATION_EXTENSION_NAME :: "VK_KHR_dedicated_allocation"
-KHR_storage_buffer_storage_class :: 1
-KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION :: 1
-KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME :: "VK_KHR_storage_buffer_storage_class"
-KHR_relaxed_block_layout :: 1
-KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION :: 1
-KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME :: "VK_KHR_relaxed_block_layout"
-KHR_get_memory_requirements2 :: 1
-KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION :: 1
-KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME :: "VK_KHR_get_memory_requirements2"
-KHR_image_format_list :: 1
-KHR_IMAGE_FORMAT_LIST_SPEC_VERSION :: 1
-KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME :: "VK_KHR_image_format_list"
-KHR_sampler_ycbcr_conversion :: 1
-KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION :: 14
-KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME :: "VK_KHR_sampler_ycbcr_conversion"
-KHR_bind_memory2 :: 1
-KHR_BIND_MEMORY_2_SPEC_VERSION :: 1
-KHR_BIND_MEMORY_2_EXTENSION_NAME :: "VK_KHR_bind_memory2"
-KHR_maintenance3 :: 1
-KHR_MAINTENANCE_3_SPEC_VERSION :: 1
-KHR_MAINTENANCE_3_EXTENSION_NAME :: "VK_KHR_maintenance3"
-KHR_MAINTENANCE3_SPEC_VERSION :: KHR_MAINTENANCE_3_SPEC_VERSION
-KHR_MAINTENANCE3_EXTENSION_NAME :: KHR_MAINTENANCE_3_EXTENSION_NAME
-KHR_draw_indirect_count :: 1
-KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION :: 1
-KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME :: "VK_KHR_draw_indirect_count"
-KHR_shader_subgroup_extended_types :: 1
-KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION :: 1
-KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME :: "VK_KHR_shader_subgroup_extended_types"
-KHR_8bit_storage :: 1
-KHR_8BIT_STORAGE_SPEC_VERSION :: 1
-KHR_8BIT_STORAGE_EXTENSION_NAME :: "VK_KHR_8bit_storage"
-KHR_shader_atomic_int64 :: 1
-KHR_SHADER_ATOMIC_INT64_SPEC_VERSION :: 1
-KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME :: "VK_KHR_shader_atomic_int64"
-KHR_shader_clock :: 1
-KHR_SHADER_CLOCK_SPEC_VERSION :: 1
-KHR_SHADER_CLOCK_EXTENSION_NAME :: "VK_KHR_shader_clock"
-KHR_video_decode_h265 :: 1
-KHR_VIDEO_DECODE_H265_SPEC_VERSION :: 7
-KHR_VIDEO_DECODE_H265_EXTENSION_NAME :: "VK_KHR_video_decode_h265"
-KHR_global_priority :: 1
-MAX_GLOBAL_PRIORITY_SIZE_KHR :: 16
-KHR_GLOBAL_PRIORITY_SPEC_VERSION :: 1
-KHR_GLOBAL_PRIORITY_EXTENSION_NAME :: "VK_KHR_global_priority"
-KHR_driver_properties :: 1
-KHR_DRIVER_PROPERTIES_SPEC_VERSION :: 1
-KHR_DRIVER_PROPERTIES_EXTENSION_NAME :: "VK_KHR_driver_properties"
-MAX_DRIVER_NAME_SIZE_KHR :: MAX_DRIVER_NAME_SIZE
-MAX_DRIVER_INFO_SIZE_KHR :: MAX_DRIVER_INFO_SIZE
-KHR_shader_float_controls :: 1
-KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION :: 4
-KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME :: "VK_KHR_shader_float_controls"
-KHR_depth_stencil_resolve :: 1
-KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION :: 1
-KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME :: "VK_KHR_depth_stencil_resolve"
-KHR_swapchain_mutable_format :: 1
-KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION :: 1
-KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME :: "VK_KHR_swapchain_mutable_format"
-KHR_timeline_semaphore :: 1
-KHR_TIMELINE_SEMAPHORE_SPEC_VERSION :: 2
-KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME :: "VK_KHR_timeline_semaphore"
-KHR_vulkan_memory_model :: 1
-KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION :: 3
-KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME :: "VK_KHR_vulkan_memory_model"
-KHR_shader_terminate_invocation :: 1
-KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION :: 1
-KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME :: "VK_KHR_shader_terminate_invocation"
-KHR_fragment_shading_rate :: 1
-KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION :: 2
-KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME :: "VK_KHR_fragment_shading_rate"
-KHR_spirv_1_4 :: 1
-KHR_SPIRV_1_4_SPEC_VERSION :: 1
-KHR_SPIRV_1_4_EXTENSION_NAME :: "VK_KHR_spirv_1_4"
-KHR_surface_protected_capabilities :: 1
-KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION :: 1
-KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME :: "VK_KHR_surface_protected_capabilities"
-KHR_separate_depth_stencil_layouts :: 1
-KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION :: 1
-KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME :: "VK_KHR_separate_depth_stencil_layouts"
-KHR_present_wait :: 1
-KHR_PRESENT_WAIT_SPEC_VERSION :: 1
-KHR_PRESENT_WAIT_EXTENSION_NAME :: "VK_KHR_present_wait"
-KHR_uniform_buffer_standard_layout :: 1
-KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION :: 1
-KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME :: "VK_KHR_uniform_buffer_standard_layout"
-KHR_buffer_device_address :: 1
-KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION :: 1
-KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME :: "VK_KHR_buffer_device_address"
-KHR_deferred_host_operations :: 1
-KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION :: 4
-KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME :: "VK_KHR_deferred_host_operations"
-KHR_pipeline_executable_properties :: 1
-KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION :: 1
-KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME :: "VK_KHR_pipeline_executable_properties"
-KHR_map_memory2 :: 1
-KHR_MAP_MEMORY_2_SPEC_VERSION :: 1
-KHR_MAP_MEMORY_2_EXTENSION_NAME :: "VK_KHR_map_memory2"
-KHR_shader_integer_dot_product :: 1
-KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION :: 1
-KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME :: "VK_KHR_shader_integer_dot_product"
-KHR_pipeline_library :: 1
-KHR_PIPELINE_LIBRARY_SPEC_VERSION :: 1
-KHR_PIPELINE_LIBRARY_EXTENSION_NAME :: "VK_KHR_pipeline_library"
-KHR_shader_non_semantic_info :: 1
-KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION :: 1
-KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME :: "VK_KHR_shader_non_semantic_info"
-KHR_present_id :: 1
-KHR_PRESENT_ID_SPEC_VERSION :: 1
-KHR_PRESENT_ID_EXTENSION_NAME :: "VK_KHR_present_id"
-KHR_synchronization2 :: 1
-KHR_SYNCHRONIZATION_2_SPEC_VERSION :: 1
-KHR_SYNCHRONIZATION_2_EXTENSION_NAME :: "VK_KHR_synchronization2"
-KHR_fragment_shader_barycentric :: 1
-KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION :: 1
-KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME :: "VK_KHR_fragment_shader_barycentric"
-KHR_shader_subgroup_uniform_control_flow :: 1
-KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION :: 1
-KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME :: "VK_KHR_shader_subgroup_uniform_control_flow"
-KHR_zero_initialize_workgroup_memory :: 1
-KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION :: 1
-KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME :: "VK_KHR_zero_initialize_workgroup_memory"
-KHR_workgroup_memory_explicit_layout :: 1
-KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION :: 1
-KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME :: "VK_KHR_workgroup_memory_explicit_layout"
-KHR_copy_commands2 :: 1
-KHR_COPY_COMMANDS_2_SPEC_VERSION :: 1
-KHR_COPY_COMMANDS_2_EXTENSION_NAME :: "VK_KHR_copy_commands2"
-KHR_format_feature_flags2 :: 1
-KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION :: 2
-KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME :: "VK_KHR_format_feature_flags2"
-KHR_ray_tracing_maintenance1 :: 1
-KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION :: 1
-KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME :: "VK_KHR_ray_tracing_maintenance1"
-KHR_portability_enumeration :: 1
-KHR_PORTABILITY_ENUMERATION_SPEC_VERSION :: 1
-KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME :: "VK_KHR_portability_enumeration"
-KHR_maintenance4 :: 1
-KHR_MAINTENANCE_4_SPEC_VERSION :: 2
-KHR_MAINTENANCE_4_EXTENSION_NAME :: "VK_KHR_maintenance4"
-KHR_ray_tracing_position_fetch :: 1
-KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION :: 1
-KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME :: "VK_KHR_ray_tracing_position_fetch"
-EXT_debug_report :: 1
-EXT_DEBUG_REPORT_SPEC_VERSION :: 10
-EXT_DEBUG_REPORT_EXTENSION_NAME :: "VK_EXT_debug_report"
-NV_glsl_shader :: 1
-NV_GLSL_SHADER_SPEC_VERSION :: 1
-NV_GLSL_SHADER_EXTENSION_NAME :: "VK_NV_glsl_shader"
-EXT_depth_range_unrestricted :: 1
-EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION :: 1
-EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME :: "VK_EXT_depth_range_unrestricted"
-AMD_rasterization_order :: 1
-AMD_RASTERIZATION_ORDER_SPEC_VERSION :: 1
-AMD_RASTERIZATION_ORDER_EXTENSION_NAME :: "VK_AMD_rasterization_order"
-AMD_shader_trinary_minmax :: 1
-AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION :: 1
-AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME :: "VK_AMD_shader_trinary_minmax"
-AMD_shader_explicit_vertex_parameter :: 1
-AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION :: 1
-AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME :: "VK_AMD_shader_explicit_vertex_parameter"
-EXT_debug_marker :: 1
-EXT_DEBUG_MARKER_SPEC_VERSION :: 4
-EXT_DEBUG_MARKER_EXTENSION_NAME :: "VK_EXT_debug_marker"
-AMD_gcn_shader :: 1
-AMD_GCN_SHADER_SPEC_VERSION :: 1
-AMD_GCN_SHADER_EXTENSION_NAME :: "VK_AMD_gcn_shader"
-NV_dedicated_allocation :: 1
-NV_DEDICATED_ALLOCATION_SPEC_VERSION :: 1
-NV_DEDICATED_ALLOCATION_EXTENSION_NAME :: "VK_NV_dedicated_allocation"
-EXT_transform_feedback :: 1
-EXT_TRANSFORM_FEEDBACK_SPEC_VERSION :: 1
-EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME :: "VK_EXT_transform_feedback"
-NVX_binary_import :: 1
-NVX_BINARY_IMPORT_SPEC_VERSION :: 1
-NVX_BINARY_IMPORT_EXTENSION_NAME :: "VK_NVX_binary_import"
-NVX_image_view_handle :: 1
-NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION :: 2
-NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME :: "VK_NVX_image_view_handle"
-AMD_draw_indirect_count :: 1
-AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION :: 2
-AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME :: "VK_AMD_draw_indirect_count"
-AMD_negative_viewport_height :: 1
-AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION :: 1
-AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME :: "VK_AMD_negative_viewport_height"
-AMD_gpu_shader_half_float :: 1
-AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION :: 2
-AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME :: "VK_AMD_gpu_shader_half_float"
-AMD_shader_ballot :: 1
-AMD_SHADER_BALLOT_SPEC_VERSION :: 1
-AMD_SHADER_BALLOT_EXTENSION_NAME :: "VK_AMD_shader_ballot"
-AMD_texture_gather_bias_lod :: 1
-AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION :: 1
-AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME :: "VK_AMD_texture_gather_bias_lod"
-AMD_shader_info :: 1
-AMD_SHADER_INFO_SPEC_VERSION :: 1
-AMD_SHADER_INFO_EXTENSION_NAME :: "VK_AMD_shader_info"
-AMD_shader_image_load_store_lod :: 1
-AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION :: 1
-AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME :: "VK_AMD_shader_image_load_store_lod"
-NV_corner_sampled_image :: 1
-NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION :: 2
-NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME :: "VK_NV_corner_sampled_image"
-NV_external_memory_capabilities :: 1
-NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: 1
-NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: "VK_NV_external_memory_capabilities"
-NV_external_memory :: 1
-NV_EXTERNAL_MEMORY_SPEC_VERSION :: 1
-NV_EXTERNAL_MEMORY_EXTENSION_NAME :: "VK_NV_external_memory"
-EXT_validation_flags :: 1
-EXT_VALIDATION_FLAGS_SPEC_VERSION :: 2
-EXT_VALIDATION_FLAGS_EXTENSION_NAME :: "VK_EXT_validation_flags"
-EXT_shader_subgroup_ballot :: 1
-EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION :: 1
-EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME :: "VK_EXT_shader_subgroup_ballot"
-EXT_shader_subgroup_vote :: 1
-EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION :: 1
-EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME :: "VK_EXT_shader_subgroup_vote"
-EXT_texture_compression_astc_hdr :: 1
-EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION :: 1
-EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME :: "VK_EXT_texture_compression_astc_hdr"
-EXT_astc_decode_mode :: 1
-EXT_ASTC_DECODE_MODE_SPEC_VERSION :: 1
-EXT_ASTC_DECODE_MODE_EXTENSION_NAME :: "VK_EXT_astc_decode_mode"
-EXT_pipeline_robustness :: 1
-EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION :: 1
-EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME :: "VK_EXT_pipeline_robustness"
-EXT_conditional_rendering :: 1
-EXT_CONDITIONAL_RENDERING_SPEC_VERSION :: 2
-EXT_CONDITIONAL_RENDERING_EXTENSION_NAME :: "VK_EXT_conditional_rendering"
-NV_clip_space_w_scaling :: 1
-NV_CLIP_SPACE_W_SCALING_SPEC_VERSION :: 1
-NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME :: "VK_NV_clip_space_w_scaling"
-EXT_direct_mode_display :: 1
-EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION :: 1
-EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME :: "VK_EXT_direct_mode_display"
-EXT_display_surface_counter :: 1
-EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION :: 1
-EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME :: "VK_EXT_display_surface_counter"
-EXT_display_control :: 1
-EXT_DISPLAY_CONTROL_SPEC_VERSION :: 1
-EXT_DISPLAY_CONTROL_EXTENSION_NAME :: "VK_EXT_display_control"
-GOOGLE_display_timing :: 1
-GOOGLE_DISPLAY_TIMING_SPEC_VERSION :: 1
-GOOGLE_DISPLAY_TIMING_EXTENSION_NAME :: "VK_GOOGLE_display_timing"
-NV_sample_mask_override_coverage :: 1
-NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION :: 1
-NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME :: "VK_NV_sample_mask_override_coverage"
-NV_geometry_shader_passthrough :: 1
-NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION :: 1
-NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME :: "VK_NV_geometry_shader_passthrough"
-NV_viewport_array2 :: 1
-NV_VIEWPORT_ARRAY_2_SPEC_VERSION :: 1
-NV_VIEWPORT_ARRAY_2_EXTENSION_NAME :: "VK_NV_viewport_array2"
-NV_VIEWPORT_ARRAY2_SPEC_VERSION :: NV_VIEWPORT_ARRAY_2_SPEC_VERSION
-NV_VIEWPORT_ARRAY2_EXTENSION_NAME :: NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
-NVX_multiview_per_view_attributes :: 1
-NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION :: 1
-NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME :: "VK_NVX_multiview_per_view_attributes"
-NV_viewport_swizzle :: 1
-NV_VIEWPORT_SWIZZLE_SPEC_VERSION :: 1
-NV_VIEWPORT_SWIZZLE_EXTENSION_NAME :: "VK_NV_viewport_swizzle"
-EXT_discard_rectangles :: 1
-EXT_DISCARD_RECTANGLES_SPEC_VERSION :: 2
-EXT_DISCARD_RECTANGLES_EXTENSION_NAME :: "VK_EXT_discard_rectangles"
-EXT_conservative_rasterization :: 1
-EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION :: 1
-EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME :: "VK_EXT_conservative_rasterization"
-EXT_depth_clip_enable :: 1
-EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION :: 1
-EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME :: "VK_EXT_depth_clip_enable"
-EXT_swapchain_colorspace :: 1
-EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION :: 4
-EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME :: "VK_EXT_swapchain_colorspace"
-EXT_hdr_metadata :: 1
-EXT_HDR_METADATA_SPEC_VERSION :: 2
-EXT_HDR_METADATA_EXTENSION_NAME :: "VK_EXT_hdr_metadata"
-EXT_external_memory_dma_buf :: 1
-EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION :: 1
-EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME :: "VK_EXT_external_memory_dma_buf"
-EXT_queue_family_foreign :: 1
-EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION :: 1
-EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME :: "VK_EXT_queue_family_foreign"
-EXT_debug_utils :: 1
-EXT_DEBUG_UTILS_SPEC_VERSION :: 2
-EXT_DEBUG_UTILS_EXTENSION_NAME :: "VK_EXT_debug_utils"
-EXT_sampler_filter_minmax :: 1
-EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION :: 2
-EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME :: "VK_EXT_sampler_filter_minmax"
-AMD_gpu_shader_int16 :: 1
-AMD_GPU_SHADER_INT16_SPEC_VERSION :: 2
-AMD_GPU_SHADER_INT16_EXTENSION_NAME :: "VK_AMD_gpu_shader_int16"
-AMD_mixed_attachment_samples :: 1
-AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION :: 1
-AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME :: "VK_AMD_mixed_attachment_samples"
-AMD_shader_fragment_mask :: 1
-AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION :: 1
-AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME :: "VK_AMD_shader_fragment_mask"
-EXT_inline_uniform_block :: 1
-EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION :: 1
-EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME :: "VK_EXT_inline_uniform_block"
-EXT_shader_stencil_export :: 1
-EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION :: 1
-EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME :: "VK_EXT_shader_stencil_export"
-EXT_sample_locations :: 1
-EXT_SAMPLE_LOCATIONS_SPEC_VERSION :: 1
-EXT_SAMPLE_LOCATIONS_EXTENSION_NAME :: "VK_EXT_sample_locations"
-EXT_blend_operation_advanced :: 1
-EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION :: 2
-EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME :: "VK_EXT_blend_operation_advanced"
-NV_fragment_coverage_to_color :: 1
-NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION :: 1
-NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME :: "VK_NV_fragment_coverage_to_color"
-NV_framebuffer_mixed_samples :: 1
-NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION :: 1
-NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME :: "VK_NV_framebuffer_mixed_samples"
-NV_fill_rectangle :: 1
-NV_FILL_RECTANGLE_SPEC_VERSION :: 1
-NV_FILL_RECTANGLE_EXTENSION_NAME :: "VK_NV_fill_rectangle"
-NV_shader_sm_builtins :: 1
-NV_SHADER_SM_BUILTINS_SPEC_VERSION :: 1
-NV_SHADER_SM_BUILTINS_EXTENSION_NAME :: "VK_NV_shader_sm_builtins"
-EXT_post_depth_coverage :: 1
-EXT_POST_DEPTH_COVERAGE_SPEC_VERSION :: 1
-EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME :: "VK_EXT_post_depth_coverage"
-EXT_image_drm_format_modifier :: 1
-EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION :: 2
-EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME :: "VK_EXT_image_drm_format_modifier"
-EXT_validation_cache :: 1
-EXT_VALIDATION_CACHE_SPEC_VERSION :: 1
-EXT_VALIDATION_CACHE_EXTENSION_NAME :: "VK_EXT_validation_cache"
-EXT_descriptor_indexing :: 1
-EXT_DESCRIPTOR_INDEXING_SPEC_VERSION :: 2
-EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME :: "VK_EXT_descriptor_indexing"
-EXT_shader_viewport_index_layer :: 1
-EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION :: 1
-EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME :: "VK_EXT_shader_viewport_index_layer"
-NV_shading_rate_image :: 1
-NV_SHADING_RATE_IMAGE_SPEC_VERSION :: 3
-NV_SHADING_RATE_IMAGE_EXTENSION_NAME :: "VK_NV_shading_rate_image"
-NV_ray_tracing :: 1
-NV_RAY_TRACING_SPEC_VERSION :: 3
-NV_RAY_TRACING_EXTENSION_NAME :: "VK_NV_ray_tracing"
-SHADER_UNUSED_KHR :: 0
-NV_representative_fragment_test :: 1
-NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION :: 2
-NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME :: "VK_NV_representative_fragment_test"
-EXT_filter_cubic :: 1
-EXT_FILTER_CUBIC_SPEC_VERSION :: 3
-EXT_FILTER_CUBIC_EXTENSION_NAME :: "VK_EXT_filter_cubic"
-EXT_global_priority :: 1
-EXT_GLOBAL_PRIORITY_SPEC_VERSION :: 2
-EXT_GLOBAL_PRIORITY_EXTENSION_NAME :: "VK_EXT_global_priority"
-EXT_external_memory_host :: 1
-EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION :: 1
-EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME :: "VK_EXT_external_memory_host"
-AMD_buffer_marker :: 1
-AMD_BUFFER_MARKER_SPEC_VERSION :: 1
-AMD_BUFFER_MARKER_EXTENSION_NAME :: "VK_AMD_buffer_marker"
-AMD_pipeline_compiler_control :: 1
-AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION :: 1
-AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME :: "VK_AMD_pipeline_compiler_control"
-EXT_calibrated_timestamps :: 1
-EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION :: 2
-EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME :: "VK_EXT_calibrated_timestamps"
-AMD_shader_core_properties :: 1
-AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION :: 2
-AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME :: "VK_AMD_shader_core_properties"
-AMD_memory_overallocation_behavior :: 1
-AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION :: 1
-AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME :: "VK_AMD_memory_overallocation_behavior"
-EXT_vertex_attribute_divisor :: 1
-EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION :: 3
-EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME :: "VK_EXT_vertex_attribute_divisor"
-EXT_pipeline_creation_feedback :: 1
-EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION :: 1
-EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME :: "VK_EXT_pipeline_creation_feedback"
-NV_shader_subgroup_partitioned :: 1
-NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION :: 1
-NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME :: "VK_NV_shader_subgroup_partitioned"
-NV_compute_shader_derivatives :: 1
-NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION :: 1
-NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME :: "VK_NV_compute_shader_derivatives"
-NV_mesh_shader :: 1
-NV_MESH_SHADER_SPEC_VERSION :: 1
-NV_MESH_SHADER_EXTENSION_NAME :: "VK_NV_mesh_shader"
-NV_fragment_shader_barycentric :: 1
-NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION :: 1
-NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME :: "VK_NV_fragment_shader_barycentric"
-NV_shader_image_footprint :: 1
-NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION :: 2
-NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME :: "VK_NV_shader_image_footprint"
-NV_scissor_exclusive :: 1
-NV_SCISSOR_EXCLUSIVE_SPEC_VERSION :: 2
-NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME :: "VK_NV_scissor_exclusive"
-NV_device_diagnostic_checkpoints :: 1
-NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION :: 2
-NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME :: "VK_NV_device_diagnostic_checkpoints"
-EXT_pci_bus_info :: 1
-EXT_PCI_BUS_INFO_SPEC_VERSION :: 2
-EXT_PCI_BUS_INFO_EXTENSION_NAME :: "VK_EXT_pci_bus_info"
-AMD_display_native_hdr :: 1
-AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION :: 1
-AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME :: "VK_AMD_display_native_hdr"
-EXT_fragment_density_map :: 1
-EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION :: 2
-EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME :: "VK_EXT_fragment_density_map"
-EXT_scalar_block_layout :: 1
-EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION :: 1
-EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME :: "VK_EXT_scalar_block_layout"
-GOOGLE_hlsl_functionality1 :: 1
-GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION :: 1
-GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME :: "VK_GOOGLE_hlsl_functionality1"
-GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION :: GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
-GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME :: GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
-GOOGLE_decorate_string :: 1
-GOOGLE_DECORATE_STRING_SPEC_VERSION :: 1
-GOOGLE_DECORATE_STRING_EXTENSION_NAME :: "VK_GOOGLE_decorate_string"
-EXT_subgroup_size_control :: 1
-EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION :: 2
-EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME :: "VK_EXT_subgroup_size_control"
-AMD_shader_core_properties2 :: 1
-AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION :: 1
-AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME :: "VK_AMD_shader_core_properties2"
-AMD_device_coherent_memory :: 1
-AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION :: 1
-AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME :: "VK_AMD_device_coherent_memory"
-EXT_shader_image_atomic_int64 :: 1
-EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION :: 1
-EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME :: "VK_EXT_shader_image_atomic_int64"
-EXT_memory_budget :: 1
-EXT_MEMORY_BUDGET_SPEC_VERSION :: 1
-EXT_MEMORY_BUDGET_EXTENSION_NAME :: "VK_EXT_memory_budget"
-EXT_memory_priority :: 1
-EXT_MEMORY_PRIORITY_SPEC_VERSION :: 1
-EXT_MEMORY_PRIORITY_EXTENSION_NAME :: "VK_EXT_memory_priority"
-NV_dedicated_allocation_image_aliasing :: 1
-NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION :: 1
-NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME :: "VK_NV_dedicated_allocation_image_aliasing"
-EXT_buffer_device_address :: 1
-EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION :: 2
-EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME :: "VK_EXT_buffer_device_address"
-EXT_tooling_info :: 1
-EXT_TOOLING_INFO_SPEC_VERSION :: 1
-EXT_TOOLING_INFO_EXTENSION_NAME :: "VK_EXT_tooling_info"
-EXT_separate_stencil_usage :: 1
-EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION :: 1
-EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME :: "VK_EXT_separate_stencil_usage"
-EXT_validation_features :: 1
-EXT_VALIDATION_FEATURES_SPEC_VERSION :: 5
-EXT_VALIDATION_FEATURES_EXTENSION_NAME :: "VK_EXT_validation_features"
-NV_cooperative_matrix :: 1
-NV_COOPERATIVE_MATRIX_SPEC_VERSION :: 1
-NV_COOPERATIVE_MATRIX_EXTENSION_NAME :: "VK_NV_cooperative_matrix"
-NV_coverage_reduction_mode :: 1
-NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION :: 1
-NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME :: "VK_NV_coverage_reduction_mode"
-EXT_fragment_shader_interlock :: 1
-EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION :: 1
-EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME :: "VK_EXT_fragment_shader_interlock"
-EXT_ycbcr_image_arrays :: 1
-EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION :: 1
-EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME :: "VK_EXT_ycbcr_image_arrays"
-EXT_provoking_vertex :: 1
-EXT_PROVOKING_VERTEX_SPEC_VERSION :: 1
-EXT_PROVOKING_VERTEX_EXTENSION_NAME :: "VK_EXT_provoking_vertex"
-EXT_headless_surface :: 1
-EXT_HEADLESS_SURFACE_SPEC_VERSION :: 1
-EXT_HEADLESS_SURFACE_EXTENSION_NAME :: "VK_EXT_headless_surface"
-EXT_line_rasterization :: 1
-EXT_LINE_RASTERIZATION_SPEC_VERSION :: 1
-EXT_LINE_RASTERIZATION_EXTENSION_NAME :: "VK_EXT_line_rasterization"
-EXT_shader_atomic_float :: 1
-EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION :: 1
-EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME :: "VK_EXT_shader_atomic_float"
-EXT_host_query_reset :: 1
-EXT_HOST_QUERY_RESET_SPEC_VERSION :: 1
-EXT_HOST_QUERY_RESET_EXTENSION_NAME :: "VK_EXT_host_query_reset"
-EXT_index_type_uint8 :: 1
-EXT_INDEX_TYPE_UINT8_SPEC_VERSION :: 1
-EXT_INDEX_TYPE_UINT8_EXTENSION_NAME :: "VK_EXT_index_type_uint8"
-EXT_extended_dynamic_state :: 1
-EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION :: 1
-EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: "VK_EXT_extended_dynamic_state"
-EXT_shader_atomic_float2 :: 1
-EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION :: 1
-EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME :: "VK_EXT_shader_atomic_float2"
-EXT_surface_maintenance1 :: 1
-EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION :: 1
-EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME :: "VK_EXT_surface_maintenance1"
-EXT_swapchain_maintenance1 :: 1
-EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION :: 1
-EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME :: "VK_EXT_swapchain_maintenance1"
-EXT_shader_demote_to_helper_invocation :: 1
-EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION :: 1
-EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME :: "VK_EXT_shader_demote_to_helper_invocation"
-NV_device_generated_commands :: 1
-NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION :: 3
-NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME :: "VK_NV_device_generated_commands"
-NV_inherited_viewport_scissor :: 1
-NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION :: 1
-NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME :: "VK_NV_inherited_viewport_scissor"
-EXT_texel_buffer_alignment :: 1
-EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION :: 1
-EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME :: "VK_EXT_texel_buffer_alignment"
-EXT_device_memory_report :: 1
-EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION :: 2
-EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME :: "VK_EXT_device_memory_report"
-EXT_acquire_drm_display :: 1
-EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION :: 1
-EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME :: "VK_EXT_acquire_drm_display"
-EXT_robustness2 :: 1
-EXT_ROBUSTNESS_2_SPEC_VERSION :: 1
-EXT_ROBUSTNESS_2_EXTENSION_NAME :: "VK_EXT_robustness2"
-EXT_custom_border_color :: 1
-EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION :: 12
-EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME :: "VK_EXT_custom_border_color"
-GOOGLE_user_type :: 1
-GOOGLE_USER_TYPE_SPEC_VERSION :: 1
-GOOGLE_USER_TYPE_EXTENSION_NAME :: "VK_GOOGLE_user_type"
-NV_present_barrier :: 1
-NV_PRESENT_BARRIER_SPEC_VERSION :: 1
-NV_PRESENT_BARRIER_EXTENSION_NAME :: "VK_NV_present_barrier"
-EXT_private_data :: 1
-EXT_PRIVATE_DATA_SPEC_VERSION :: 1
-EXT_PRIVATE_DATA_EXTENSION_NAME :: "VK_EXT_private_data"
-EXT_pipeline_creation_cache_control :: 1
-EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION :: 3
-EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME :: "VK_EXT_pipeline_creation_cache_control"
-NV_device_diagnostics_config :: 1
-NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION :: 2
-NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME :: "VK_NV_device_diagnostics_config"
-NV_low_latency :: 1
-NV_LOW_LATENCY_SPEC_VERSION :: 1
-NV_LOW_LATENCY_EXTENSION_NAME :: "VK_NV_low_latency"
-EXT_descriptor_buffer :: 1
-EXT_DESCRIPTOR_BUFFER_SPEC_VERSION :: 1
-EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME :: "VK_EXT_descriptor_buffer"
-EXT_graphics_pipeline_library :: 1
-EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION :: 1
-EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME :: "VK_EXT_graphics_pipeline_library"
-AMD_shader_early_and_late_fragment_tests :: 1
-AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION :: 1
-AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME :: "VK_AMD_shader_early_and_late_fragment_tests"
-NV_fragment_shading_rate_enums :: 1
-NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION :: 1
-NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME :: "VK_NV_fragment_shading_rate_enums"
-NV_ray_tracing_motion_blur :: 1
-NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION :: 1
-NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME :: "VK_NV_ray_tracing_motion_blur"
-EXT_ycbcr_2plane_444_formats :: 1
-EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION :: 1
-EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME :: "VK_EXT_ycbcr_2plane_444_formats"
-EXT_fragment_density_map2 :: 1
-EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION :: 1
-EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME :: "VK_EXT_fragment_density_map2"
-EXT_image_robustness :: 1
-EXT_IMAGE_ROBUSTNESS_SPEC_VERSION :: 1
-EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME :: "VK_EXT_image_robustness"
-EXT_image_compression_control :: 1
-EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION :: 1
-EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME :: "VK_EXT_image_compression_control"
-EXT_attachment_feedback_loop_layout :: 1
-EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION :: 2
-EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME :: "VK_EXT_attachment_feedback_loop_layout"
-EXT_4444_formats :: 1
-EXT_4444_FORMATS_SPEC_VERSION :: 1
-EXT_4444_FORMATS_EXTENSION_NAME :: "VK_EXT_4444_formats"
-EXT_device_fault :: 1
-EXT_DEVICE_FAULT_SPEC_VERSION :: 2
-EXT_DEVICE_FAULT_EXTENSION_NAME :: "VK_EXT_device_fault"
-EXT_rgba10x6_formats :: 1
-EXT_RGBA10X6_FORMATS_SPEC_VERSION :: 1
-EXT_RGBA10X6_FORMATS_EXTENSION_NAME :: "VK_EXT_rgba10x6_formats"
-EXT_vertex_input_dynamic_state :: 1
-EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION :: 2
-EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME :: "VK_EXT_vertex_input_dynamic_state"
-EXT_physical_device_drm :: 1
-EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION :: 1
-EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME :: "VK_EXT_physical_device_drm"
-EXT_device_address_binding_report :: 1
-EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION :: 1
-EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME :: "VK_EXT_device_address_binding_report"
-EXT_depth_clip_control :: 1
-EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION :: 1
-EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME :: "VK_EXT_depth_clip_control"
-EXT_primitive_topology_list_restart :: 1
-EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION :: 1
-EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME :: "VK_EXT_primitive_topology_list_restart"
-NV_external_memory_rdma :: 1
-NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION :: 1
-NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME :: "VK_NV_external_memory_rdma"
-EXT_pipeline_properties :: 1
-EXT_PIPELINE_PROPERTIES_SPEC_VERSION :: 1
-EXT_PIPELINE_PROPERTIES_EXTENSION_NAME :: "VK_EXT_pipeline_properties"
-EXT_multisampled_render_to_single_sampled :: 1
-EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION :: 1
-EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME :: "VK_EXT_multisampled_render_to_single_sampled"
-EXT_extended_dynamic_state2 :: 1
-EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION :: 1
-EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME :: "VK_EXT_extended_dynamic_state2"
-EXT_color_write_enable :: 1
-EXT_COLOR_WRITE_ENABLE_SPEC_VERSION :: 1
-EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME :: "VK_EXT_color_write_enable"
-EXT_primitives_generated_query :: 1
-EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION :: 1
-EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME :: "VK_EXT_primitives_generated_query"
-EXT_global_priority_query :: 1
-EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION :: 1
-EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME :: "VK_EXT_global_priority_query"
-EXT_image_view_min_lod :: 1
-EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION :: 1
-EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME :: "VK_EXT_image_view_min_lod"
-EXT_multi_draw :: 1
-EXT_MULTI_DRAW_SPEC_VERSION :: 1
-EXT_MULTI_DRAW_EXTENSION_NAME :: "VK_EXT_multi_draw"
-EXT_image_2d_view_of_3d :: 1
-EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION :: 1
-EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME :: "VK_EXT_image_2d_view_of_3d"
-EXT_shader_tile_image :: 1
-EXT_SHADER_TILE_IMAGE_SPEC_VERSION :: 1
-EXT_SHADER_TILE_IMAGE_EXTENSION_NAME :: "VK_EXT_shader_tile_image"
-EXT_opacity_micromap :: 1
-EXT_OPACITY_MICROMAP_SPEC_VERSION :: 2
-EXT_OPACITY_MICROMAP_EXTENSION_NAME :: "VK_EXT_opacity_micromap"
-EXT_load_store_op_none :: 1
-EXT_LOAD_STORE_OP_NONE_SPEC_VERSION :: 1
-EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME :: "VK_EXT_load_store_op_none"
-EXT_border_color_swizzle :: 1
-EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION :: 1
-EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME :: "VK_EXT_border_color_swizzle"
-EXT_pageable_device_local_memory :: 1
-EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION :: 1
-EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME :: "VK_EXT_pageable_device_local_memory"
-EXT_image_sliced_view_of_3d :: 1
-EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION :: 1
-EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME :: "VK_EXT_image_sliced_view_of_3d"
-EXT_depth_clamp_zero_one :: 1
-EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION :: 1
-EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME :: "VK_EXT_depth_clamp_zero_one"
-EXT_non_seamless_cube_map :: 1
-EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION :: 1
-EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME :: "VK_EXT_non_seamless_cube_map"
-NV_copy_memory_indirect :: 1
-NV_COPY_MEMORY_INDIRECT_SPEC_VERSION :: 1
-NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME :: "VK_NV_copy_memory_indirect"
-NV_memory_decompression :: 1
-NV_MEMORY_DECOMPRESSION_SPEC_VERSION :: 1
-NV_MEMORY_DECOMPRESSION_EXTENSION_NAME :: "VK_NV_memory_decompression"
-NV_linear_color_attachment :: 1
-NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION :: 1
-NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME :: "VK_NV_linear_color_attachment"
-GOOGLE_surfaceless_query :: 1
-GOOGLE_SURFACELESS_QUERY_SPEC_VERSION :: 2
-GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME :: "VK_GOOGLE_surfaceless_query"
-EXT_image_compression_control_swapchain :: 1
-EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION :: 1
-EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME :: "VK_EXT_image_compression_control_swapchain"
-EXT_extended_dynamic_state3 :: 1
-EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION :: 2
-EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME :: "VK_EXT_extended_dynamic_state3"
-EXT_subpass_merge_feedback :: 1
-EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION :: 2
-EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME :: "VK_EXT_subpass_merge_feedback"
-EXT_shader_module_identifier :: 1
-EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION :: 1
-EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME :: "VK_EXT_shader_module_identifier"
-EXT_rasterization_order_attachment_access :: 1
-EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION :: 1
-EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME :: "VK_EXT_rasterization_order_attachment_access"
-NV_optical_flow :: 1
-NV_OPTICAL_FLOW_SPEC_VERSION :: 1
-NV_OPTICAL_FLOW_EXTENSION_NAME :: "VK_NV_optical_flow"
-EXT_legacy_dithering :: 1
-EXT_LEGACY_DITHERING_SPEC_VERSION :: 1
-EXT_LEGACY_DITHERING_EXTENSION_NAME :: "VK_EXT_legacy_dithering"
-EXT_pipeline_protected_access :: 1
-EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION :: 1
-EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME :: "VK_EXT_pipeline_protected_access"
-EXT_shader_object :: 1
-EXT_SHADER_OBJECT_SPEC_VERSION :: 1
-EXT_SHADER_OBJECT_EXTENSION_NAME :: "VK_EXT_shader_object"
-NV_ray_tracing_invocation_reorder :: 1
-NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION :: 1
-NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME :: "VK_NV_ray_tracing_invocation_reorder"
-EXT_mutable_descriptor_type :: 1
-EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION :: 1
-EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME :: "VK_EXT_mutable_descriptor_type"
-EXT_pipeline_library_group_handles :: 1
-EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION :: 1
-EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME :: "VK_EXT_pipeline_library_group_handles"
-EXT_attachment_feedback_loop_dynamic_state :: 1
-EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION :: 1
-EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME :: "VK_EXT_attachment_feedback_loop_dynamic_state"
-KHR_acceleration_structure :: 1
-KHR_ACCELERATION_STRUCTURE_SPEC_VERSION :: 13
-KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME :: "VK_KHR_acceleration_structure"
-KHR_ray_tracing_pipeline :: 1
-KHR_RAY_TRACING_PIPELINE_SPEC_VERSION :: 1
-KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME :: "VK_KHR_ray_tracing_pipeline"
-KHR_ray_query :: 1
-KHR_RAY_QUERY_SPEC_VERSION :: 1
-KHR_RAY_QUERY_EXTENSION_NAME :: "VK_KHR_ray_query"
-EXT_mesh_shader :: 1
-EXT_MESH_SHADER_SPEC_VERSION :: 1
-EXT_MESH_SHADER_EXTENSION_NAME :: "VK_EXT_mesh_shader"
-KHR_win32_surface :: 1
-KHR_WIN32_SURFACE_SPEC_VERSION :: 6
-KHR_WIN32_SURFACE_EXTENSION_NAME :: "VK_KHR_win32_surface"
-KHR_external_memory_win32 :: 1
-KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION :: 1
-KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME :: "VK_KHR_external_memory_win32"
-KHR_win32_keyed_mutex :: 1
-KHR_WIN32_KEYED_MUTEX_SPEC_VERSION :: 1
-KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME :: "VK_KHR_win32_keyed_mutex"
-KHR_external_semaphore_win32 :: 1
-KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION :: 1
-KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME :: "VK_KHR_external_semaphore_win32"
-KHR_external_fence_win32 :: 1
-KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION :: 1
-KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME :: "VK_KHR_external_fence_win32"
-NV_external_memory_win32 :: 1
-NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION :: 1
-NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME :: "VK_NV_external_memory_win32"
-NV_win32_keyed_mutex :: 1
-NV_WIN32_KEYED_MUTEX_SPEC_VERSION :: 2
-NV_WIN32_KEYED_MUTEX_EXTENSION_NAME :: "VK_NV_win32_keyed_mutex"
-EXT_full_screen_exclusive :: 1
-EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION :: 4
-EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME :: "VK_EXT_full_screen_exclusive"
-NV_acquire_winrt_display :: 1
-NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION :: 1
-NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME :: "VK_NV_acquire_winrt_display"
-EXT_metal_surface :: 1
-EXT_METAL_SURFACE_SPEC_VERSION :: 1
-EXT_METAL_SURFACE_EXTENSION_NAME :: "VK_EXT_metal_surface"
-EXT_metal_objects :: 1
-EXT_METAL_OBJECTS_SPEC_VERSION :: 1
-EXT_METAL_OBJECTS_EXTENSION_NAME :: "VK_EXT_metal_objects"
-KHR_wayland_surface :: 1
-KHR_WAYLAND_SURFACE_SPEC_VERSION :: 6
-KHR_WAYLAND_SURFACE_EXTENSION_NAME :: "VK_KHR_wayland_surface"
-
-// Handles types
-Instance :: distinct Handle
-PhysicalDevice :: distinct Handle
-Device :: distinct Handle
-Queue :: distinct Handle
-CommandBuffer :: distinct Handle
-Buffer :: distinct NonDispatchableHandle
-Image :: distinct NonDispatchableHandle
-Semaphore :: distinct NonDispatchableHandle
-Fence :: distinct NonDispatchableHandle
-DeviceMemory :: distinct NonDispatchableHandle
-Event :: distinct NonDispatchableHandle
-QueryPool :: distinct NonDispatchableHandle
-BufferView :: distinct NonDispatchableHandle
-ImageView :: distinct NonDispatchableHandle
-ShaderModule :: distinct NonDispatchableHandle
-PipelineCache :: distinct NonDispatchableHandle
-PipelineLayout :: distinct NonDispatchableHandle
-Pipeline :: distinct NonDispatchableHandle
-RenderPass :: distinct NonDispatchableHandle
-DescriptorSetLayout :: distinct NonDispatchableHandle
-Sampler :: distinct NonDispatchableHandle
-DescriptorSet :: distinct NonDispatchableHandle
-DescriptorPool :: distinct NonDispatchableHandle
-Framebuffer :: distinct NonDispatchableHandle
-CommandPool :: distinct NonDispatchableHandle
-SamplerYcbcrConversion :: distinct NonDispatchableHandle
-DescriptorUpdateTemplate :: distinct NonDispatchableHandle
-PrivateDataSlot :: distinct NonDispatchableHandle
-SurfaceKHR :: distinct NonDispatchableHandle
-SwapchainKHR :: distinct NonDispatchableHandle
-DisplayKHR :: distinct NonDispatchableHandle
-DisplayModeKHR :: distinct NonDispatchableHandle
-VideoSessionKHR :: distinct NonDispatchableHandle
-VideoSessionParametersKHR :: distinct NonDispatchableHandle
-DeferredOperationKHR :: distinct NonDispatchableHandle
-DebugReportCallbackEXT :: distinct NonDispatchableHandle
-CuModuleNVX :: distinct NonDispatchableHandle
-CuFunctionNVX :: distinct NonDispatchableHandle
-DebugUtilsMessengerEXT :: distinct NonDispatchableHandle
-ValidationCacheEXT :: distinct NonDispatchableHandle
-AccelerationStructureNV :: distinct NonDispatchableHandle
-PerformanceConfigurationINTEL :: distinct NonDispatchableHandle
-IndirectCommandsLayoutNV :: distinct NonDispatchableHandle
-AccelerationStructureKHR :: distinct NonDispatchableHandle
-MicromapEXT :: distinct NonDispatchableHandle
-OpticalFlowSessionNV :: distinct NonDispatchableHandle
-ShaderEXT :: distinct NonDispatchableHandle
-
-
+// +// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h" +// +package vulkan +API_VERSION_1_0 :: (1<<22) | (0<<12) | (0) +API_VERSION_1_1 :: (1<<22) | (1<<12) | (0) +API_VERSION_1_2 :: (1<<22) | (2<<12) | (0) +API_VERSION_1_3 :: (1<<22) | (3<<12) | (0) + +MAKE_VERSION :: proc(major, minor, patch: u32) -> u32 { + return (major<<22) | (minor<<12) | (patch) +} + +// Base types +Flags :: distinct u32 +Flags64 :: distinct u64 +DeviceSize :: distinct u64 +DeviceAddress :: distinct u64 +SampleMask :: distinct u32 + +Handle :: distinct rawptr +NonDispatchableHandle :: distinct u64 + +SetProcAddressType :: #type proc(p: rawptr, name: cstring) + + +RemoteAddressNV :: distinct rawptr // Declared inline before MemoryGetRemoteAddressInfoNV + +// Base constants +LOD_CLAMP_NONE :: 1000.0 +REMAINING_MIP_LEVELS :: ~u32(0) +REMAINING_ARRAY_LAYERS :: ~u32(0) +WHOLE_SIZE :: ~u64(0) +ATTACHMENT_UNUSED :: ~u32(0) +TRUE :: 1 +FALSE :: 0 +QUEUE_FAMILY_IGNORED :: ~u32(0) +SUBPASS_EXTERNAL :: ~u32(0) +MAX_PHYSICAL_DEVICE_NAME_SIZE :: 256 +MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT :: 32 +UUID_SIZE :: 16 +MAX_MEMORY_TYPES :: 32 +MAX_MEMORY_HEAPS :: 16 +MAX_EXTENSION_NAME_SIZE :: 256 +MAX_DESCRIPTION_SIZE :: 256 +MAX_DEVICE_GROUP_SIZE :: 32 +LUID_SIZE_KHX :: 8 +LUID_SIZE :: 8 +MAX_QUEUE_FAMILY_EXTERNAL :: ~u32(1) +MAX_GLOBAL_PRIORITY_SIZE_EXT :: 16 +QUEUE_FAMILY_EXTERNAL :: MAX_QUEUE_FAMILY_EXTERNAL + +// General Constants +HEADER_VERSION :: 250 +MAX_DRIVER_NAME_SIZE :: 256 +MAX_DRIVER_INFO_SIZE :: 256 + +// Vulkan Video Constants +VIDEO_H264_CPB_CNT_LIST_SIZE :: 32 +VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS :: 6 +VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS :: 16 +VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS :: 6 +VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS :: 64 +VIDEO_H264_MAX_NUM_LIST_REF :: 32 +VIDEO_H264_MAX_CHROMA_PLANES :: 2 +VIDEO_H265_SUBLAYERS_LIST_SIZE :: 7 +VIDEO_H265_CPB_CNT_LIST_SIZE :: 32 +VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS :: 6 +VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS :: 16 +VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS :: 6 +VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS :: 64 +VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS :: 6 +VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS :: 64 +VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS :: 2 +VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS :: 64 +VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE :: 3 +VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE :: 128 +VIDEO_H265_MAX_DPB_SIZE :: 16 +VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS :: 32 +VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE :: 6 +VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE :: 19 +VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE :: 21 +VIDEO_H265_MAX_NUM_LIST_REF :: 15 +VIDEO_H265_MAX_CHROMA_PLANES :: 2 +VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS :: 64 +VIDEO_H265_MAX_LONG_TERM_PICS :: 16 +VIDEO_H265_MAX_DELTA_POC :: 48 +VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE :: 2 +VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE :: 8 + +// Vendor Constants +KHR_surface :: 1 +KHR_SURFACE_SPEC_VERSION :: 25 +KHR_SURFACE_EXTENSION_NAME :: "VK_KHR_surface" +KHR_swapchain :: 1 +KHR_SWAPCHAIN_SPEC_VERSION :: 70 +KHR_SWAPCHAIN_EXTENSION_NAME :: "VK_KHR_swapchain" +KHR_display :: 1 +KHR_DISPLAY_SPEC_VERSION :: 23 +KHR_DISPLAY_EXTENSION_NAME :: "VK_KHR_display" +KHR_display_swapchain :: 1 +KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION :: 10 +KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME :: "VK_KHR_display_swapchain" +KHR_sampler_mirror_clamp_to_edge :: 1 +KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION :: 3 +KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME :: "VK_KHR_sampler_mirror_clamp_to_edge" +KHR_video_queue :: 1 +KHR_VIDEO_QUEUE_SPEC_VERSION :: 8 +KHR_VIDEO_QUEUE_EXTENSION_NAME :: "VK_KHR_video_queue" +KHR_video_decode_queue :: 1 +KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION :: 7 +KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME :: "VK_KHR_video_decode_queue" +KHR_video_decode_h264 :: 1 +KHR_VIDEO_DECODE_H264_SPEC_VERSION :: 8 +KHR_VIDEO_DECODE_H264_EXTENSION_NAME :: "VK_KHR_video_decode_h264" +KHR_dynamic_rendering :: 1 +KHR_DYNAMIC_RENDERING_SPEC_VERSION :: 1 +KHR_DYNAMIC_RENDERING_EXTENSION_NAME :: "VK_KHR_dynamic_rendering" +KHR_multiview :: 1 +KHR_MULTIVIEW_SPEC_VERSION :: 1 +KHR_MULTIVIEW_EXTENSION_NAME :: "VK_KHR_multiview" +KHR_get_physical_device_properties2 :: 1 +KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION :: 2 +KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME :: "VK_KHR_get_physical_device_properties2" +KHR_device_group :: 1 +KHR_DEVICE_GROUP_SPEC_VERSION :: 4 +KHR_DEVICE_GROUP_EXTENSION_NAME :: "VK_KHR_device_group" +KHR_shader_draw_parameters :: 1 +KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION :: 1 +KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME :: "VK_KHR_shader_draw_parameters" +KHR_maintenance1 :: 1 +KHR_MAINTENANCE_1_SPEC_VERSION :: 2 +KHR_MAINTENANCE_1_EXTENSION_NAME :: "VK_KHR_maintenance1" +KHR_MAINTENANCE1_SPEC_VERSION :: KHR_MAINTENANCE_1_SPEC_VERSION +KHR_MAINTENANCE1_EXTENSION_NAME :: KHR_MAINTENANCE_1_EXTENSION_NAME +KHR_device_group_creation :: 1 +KHR_DEVICE_GROUP_CREATION_SPEC_VERSION :: 1 +KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME :: "VK_KHR_device_group_creation" +MAX_DEVICE_GROUP_SIZE_KHR :: MAX_DEVICE_GROUP_SIZE +KHR_external_memory_capabilities :: 1 +KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: 1 +KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: "VK_KHR_external_memory_capabilities" +LUID_SIZE_KHR :: LUID_SIZE +KHR_external_memory :: 1 +KHR_EXTERNAL_MEMORY_SPEC_VERSION :: 1 +KHR_EXTERNAL_MEMORY_EXTENSION_NAME :: "VK_KHR_external_memory" +QUEUE_FAMILY_EXTERNAL_KHR :: QUEUE_FAMILY_EXTERNAL +KHR_external_memory_fd :: 1 +KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION :: 1 +KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME :: "VK_KHR_external_memory_fd" +KHR_external_semaphore_capabilities :: 1 +KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION :: 1 +KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME :: "VK_KHR_external_semaphore_capabilities" +KHR_external_semaphore :: 1 +KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION :: 1 +KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME :: "VK_KHR_external_semaphore" +KHR_external_semaphore_fd :: 1 +KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION :: 1 +KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME :: "VK_KHR_external_semaphore_fd" +KHR_push_descriptor :: 1 +KHR_PUSH_DESCRIPTOR_SPEC_VERSION :: 2 +KHR_PUSH_DESCRIPTOR_EXTENSION_NAME :: "VK_KHR_push_descriptor" +KHR_shader_float16_int8 :: 1 +KHR_SHADER_FLOAT16_INT8_SPEC_VERSION :: 1 +KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME :: "VK_KHR_shader_float16_int8" +KHR_16bit_storage :: 1 +KHR_16BIT_STORAGE_SPEC_VERSION :: 1 +KHR_16BIT_STORAGE_EXTENSION_NAME :: "VK_KHR_16bit_storage" +KHR_incremental_present :: 1 +KHR_INCREMENTAL_PRESENT_SPEC_VERSION :: 2 +KHR_INCREMENTAL_PRESENT_EXTENSION_NAME :: "VK_KHR_incremental_present" +KHR_descriptor_update_template :: 1 +KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION :: 1 +KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME :: "VK_KHR_descriptor_update_template" +KHR_imageless_framebuffer :: 1 +KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION :: 1 +KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME :: "VK_KHR_imageless_framebuffer" +KHR_create_renderpass2 :: 1 +KHR_CREATE_RENDERPASS_2_SPEC_VERSION :: 1 +KHR_CREATE_RENDERPASS_2_EXTENSION_NAME :: "VK_KHR_create_renderpass2" +KHR_shared_presentable_image :: 1 +KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION :: 1 +KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME :: "VK_KHR_shared_presentable_image" +KHR_external_fence_capabilities :: 1 +KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION :: 1 +KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME :: "VK_KHR_external_fence_capabilities" +KHR_external_fence :: 1 +KHR_EXTERNAL_FENCE_SPEC_VERSION :: 1 +KHR_EXTERNAL_FENCE_EXTENSION_NAME :: "VK_KHR_external_fence" +KHR_external_fence_fd :: 1 +KHR_EXTERNAL_FENCE_FD_SPEC_VERSION :: 1 +KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME :: "VK_KHR_external_fence_fd" +KHR_performance_query :: 1 +KHR_PERFORMANCE_QUERY_SPEC_VERSION :: 1 +KHR_PERFORMANCE_QUERY_EXTENSION_NAME :: "VK_KHR_performance_query" +KHR_maintenance2 :: 1 +KHR_MAINTENANCE_2_SPEC_VERSION :: 1 +KHR_MAINTENANCE_2_EXTENSION_NAME :: "VK_KHR_maintenance2" +KHR_MAINTENANCE2_SPEC_VERSION :: KHR_MAINTENANCE_2_SPEC_VERSION +KHR_MAINTENANCE2_EXTENSION_NAME :: KHR_MAINTENANCE_2_EXTENSION_NAME +KHR_get_surface_capabilities2 :: 1 +KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION :: 1 +KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME :: "VK_KHR_get_surface_capabilities2" +KHR_variable_pointers :: 1 +KHR_VARIABLE_POINTERS_SPEC_VERSION :: 1 +KHR_VARIABLE_POINTERS_EXTENSION_NAME :: "VK_KHR_variable_pointers" +KHR_get_display_properties2 :: 1 +KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION :: 1 +KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME :: "VK_KHR_get_display_properties2" +KHR_dedicated_allocation :: 1 +KHR_DEDICATED_ALLOCATION_SPEC_VERSION :: 3 +KHR_DEDICATED_ALLOCATION_EXTENSION_NAME :: "VK_KHR_dedicated_allocation" +KHR_storage_buffer_storage_class :: 1 +KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION :: 1 +KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME :: "VK_KHR_storage_buffer_storage_class" +KHR_relaxed_block_layout :: 1 +KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION :: 1 +KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME :: "VK_KHR_relaxed_block_layout" +KHR_get_memory_requirements2 :: 1 +KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION :: 1 +KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME :: "VK_KHR_get_memory_requirements2" +KHR_image_format_list :: 1 +KHR_IMAGE_FORMAT_LIST_SPEC_VERSION :: 1 +KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME :: "VK_KHR_image_format_list" +KHR_sampler_ycbcr_conversion :: 1 +KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION :: 14 +KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME :: "VK_KHR_sampler_ycbcr_conversion" +KHR_bind_memory2 :: 1 +KHR_BIND_MEMORY_2_SPEC_VERSION :: 1 +KHR_BIND_MEMORY_2_EXTENSION_NAME :: "VK_KHR_bind_memory2" +KHR_maintenance3 :: 1 +KHR_MAINTENANCE_3_SPEC_VERSION :: 1 +KHR_MAINTENANCE_3_EXTENSION_NAME :: "VK_KHR_maintenance3" +KHR_MAINTENANCE3_SPEC_VERSION :: KHR_MAINTENANCE_3_SPEC_VERSION +KHR_MAINTENANCE3_EXTENSION_NAME :: KHR_MAINTENANCE_3_EXTENSION_NAME +KHR_draw_indirect_count :: 1 +KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION :: 1 +KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME :: "VK_KHR_draw_indirect_count" +KHR_shader_subgroup_extended_types :: 1 +KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION :: 1 +KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME :: "VK_KHR_shader_subgroup_extended_types" +KHR_8bit_storage :: 1 +KHR_8BIT_STORAGE_SPEC_VERSION :: 1 +KHR_8BIT_STORAGE_EXTENSION_NAME :: "VK_KHR_8bit_storage" +KHR_shader_atomic_int64 :: 1 +KHR_SHADER_ATOMIC_INT64_SPEC_VERSION :: 1 +KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME :: "VK_KHR_shader_atomic_int64" +KHR_shader_clock :: 1 +KHR_SHADER_CLOCK_SPEC_VERSION :: 1 +KHR_SHADER_CLOCK_EXTENSION_NAME :: "VK_KHR_shader_clock" +KHR_video_decode_h265 :: 1 +KHR_VIDEO_DECODE_H265_SPEC_VERSION :: 7 +KHR_VIDEO_DECODE_H265_EXTENSION_NAME :: "VK_KHR_video_decode_h265" +KHR_global_priority :: 1 +MAX_GLOBAL_PRIORITY_SIZE_KHR :: 16 +KHR_GLOBAL_PRIORITY_SPEC_VERSION :: 1 +KHR_GLOBAL_PRIORITY_EXTENSION_NAME :: "VK_KHR_global_priority" +KHR_driver_properties :: 1 +KHR_DRIVER_PROPERTIES_SPEC_VERSION :: 1 +KHR_DRIVER_PROPERTIES_EXTENSION_NAME :: "VK_KHR_driver_properties" +MAX_DRIVER_NAME_SIZE_KHR :: MAX_DRIVER_NAME_SIZE +MAX_DRIVER_INFO_SIZE_KHR :: MAX_DRIVER_INFO_SIZE +KHR_shader_float_controls :: 1 +KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION :: 4 +KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME :: "VK_KHR_shader_float_controls" +KHR_depth_stencil_resolve :: 1 +KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION :: 1 +KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME :: "VK_KHR_depth_stencil_resolve" +KHR_swapchain_mutable_format :: 1 +KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION :: 1 +KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME :: "VK_KHR_swapchain_mutable_format" +KHR_timeline_semaphore :: 1 +KHR_TIMELINE_SEMAPHORE_SPEC_VERSION :: 2 +KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME :: "VK_KHR_timeline_semaphore" +KHR_vulkan_memory_model :: 1 +KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION :: 3 +KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME :: "VK_KHR_vulkan_memory_model" +KHR_shader_terminate_invocation :: 1 +KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION :: 1 +KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME :: "VK_KHR_shader_terminate_invocation" +KHR_fragment_shading_rate :: 1 +KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION :: 2 +KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME :: "VK_KHR_fragment_shading_rate" +KHR_spirv_1_4 :: 1 +KHR_SPIRV_1_4_SPEC_VERSION :: 1 +KHR_SPIRV_1_4_EXTENSION_NAME :: "VK_KHR_spirv_1_4" +KHR_surface_protected_capabilities :: 1 +KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION :: 1 +KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME :: "VK_KHR_surface_protected_capabilities" +KHR_separate_depth_stencil_layouts :: 1 +KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION :: 1 +KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME :: "VK_KHR_separate_depth_stencil_layouts" +KHR_present_wait :: 1 +KHR_PRESENT_WAIT_SPEC_VERSION :: 1 +KHR_PRESENT_WAIT_EXTENSION_NAME :: "VK_KHR_present_wait" +KHR_uniform_buffer_standard_layout :: 1 +KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION :: 1 +KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME :: "VK_KHR_uniform_buffer_standard_layout" +KHR_buffer_device_address :: 1 +KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION :: 1 +KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME :: "VK_KHR_buffer_device_address" +KHR_deferred_host_operations :: 1 +KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION :: 4 +KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME :: "VK_KHR_deferred_host_operations" +KHR_pipeline_executable_properties :: 1 +KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION :: 1 +KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME :: "VK_KHR_pipeline_executable_properties" +KHR_map_memory2 :: 1 +KHR_MAP_MEMORY_2_SPEC_VERSION :: 1 +KHR_MAP_MEMORY_2_EXTENSION_NAME :: "VK_KHR_map_memory2" +KHR_shader_integer_dot_product :: 1 +KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION :: 1 +KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME :: "VK_KHR_shader_integer_dot_product" +KHR_pipeline_library :: 1 +KHR_PIPELINE_LIBRARY_SPEC_VERSION :: 1 +KHR_PIPELINE_LIBRARY_EXTENSION_NAME :: "VK_KHR_pipeline_library" +KHR_shader_non_semantic_info :: 1 +KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION :: 1 +KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME :: "VK_KHR_shader_non_semantic_info" +KHR_present_id :: 1 +KHR_PRESENT_ID_SPEC_VERSION :: 1 +KHR_PRESENT_ID_EXTENSION_NAME :: "VK_KHR_present_id" +KHR_synchronization2 :: 1 +KHR_SYNCHRONIZATION_2_SPEC_VERSION :: 1 +KHR_SYNCHRONIZATION_2_EXTENSION_NAME :: "VK_KHR_synchronization2" +KHR_fragment_shader_barycentric :: 1 +KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION :: 1 +KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME :: "VK_KHR_fragment_shader_barycentric" +KHR_shader_subgroup_uniform_control_flow :: 1 +KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION :: 1 +KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME :: "VK_KHR_shader_subgroup_uniform_control_flow" +KHR_zero_initialize_workgroup_memory :: 1 +KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION :: 1 +KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME :: "VK_KHR_zero_initialize_workgroup_memory" +KHR_workgroup_memory_explicit_layout :: 1 +KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION :: 1 +KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME :: "VK_KHR_workgroup_memory_explicit_layout" +KHR_copy_commands2 :: 1 +KHR_COPY_COMMANDS_2_SPEC_VERSION :: 1 +KHR_COPY_COMMANDS_2_EXTENSION_NAME :: "VK_KHR_copy_commands2" +KHR_format_feature_flags2 :: 1 +KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION :: 2 +KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME :: "VK_KHR_format_feature_flags2" +KHR_ray_tracing_maintenance1 :: 1 +KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION :: 1 +KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME :: "VK_KHR_ray_tracing_maintenance1" +KHR_portability_enumeration :: 1 +KHR_PORTABILITY_ENUMERATION_SPEC_VERSION :: 1 +KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME :: "VK_KHR_portability_enumeration" +KHR_maintenance4 :: 1 +KHR_MAINTENANCE_4_SPEC_VERSION :: 2 +KHR_MAINTENANCE_4_EXTENSION_NAME :: "VK_KHR_maintenance4" +KHR_ray_tracing_position_fetch :: 1 +KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION :: 1 +KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME :: "VK_KHR_ray_tracing_position_fetch" +EXT_debug_report :: 1 +EXT_DEBUG_REPORT_SPEC_VERSION :: 10 +EXT_DEBUG_REPORT_EXTENSION_NAME :: "VK_EXT_debug_report" +NV_glsl_shader :: 1 +NV_GLSL_SHADER_SPEC_VERSION :: 1 +NV_GLSL_SHADER_EXTENSION_NAME :: "VK_NV_glsl_shader" +EXT_depth_range_unrestricted :: 1 +EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION :: 1 +EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME :: "VK_EXT_depth_range_unrestricted" +AMD_rasterization_order :: 1 +AMD_RASTERIZATION_ORDER_SPEC_VERSION :: 1 +AMD_RASTERIZATION_ORDER_EXTENSION_NAME :: "VK_AMD_rasterization_order" +AMD_shader_trinary_minmax :: 1 +AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION :: 1 +AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME :: "VK_AMD_shader_trinary_minmax" +AMD_shader_explicit_vertex_parameter :: 1 +AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION :: 1 +AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME :: "VK_AMD_shader_explicit_vertex_parameter" +EXT_debug_marker :: 1 +EXT_DEBUG_MARKER_SPEC_VERSION :: 4 +EXT_DEBUG_MARKER_EXTENSION_NAME :: "VK_EXT_debug_marker" +AMD_gcn_shader :: 1 +AMD_GCN_SHADER_SPEC_VERSION :: 1 +AMD_GCN_SHADER_EXTENSION_NAME :: "VK_AMD_gcn_shader" +NV_dedicated_allocation :: 1 +NV_DEDICATED_ALLOCATION_SPEC_VERSION :: 1 +NV_DEDICATED_ALLOCATION_EXTENSION_NAME :: "VK_NV_dedicated_allocation" +EXT_transform_feedback :: 1 +EXT_TRANSFORM_FEEDBACK_SPEC_VERSION :: 1 +EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME :: "VK_EXT_transform_feedback" +NVX_binary_import :: 1 +NVX_BINARY_IMPORT_SPEC_VERSION :: 1 +NVX_BINARY_IMPORT_EXTENSION_NAME :: "VK_NVX_binary_import" +NVX_image_view_handle :: 1 +NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION :: 2 +NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME :: "VK_NVX_image_view_handle" +AMD_draw_indirect_count :: 1 +AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION :: 2 +AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME :: "VK_AMD_draw_indirect_count" +AMD_negative_viewport_height :: 1 +AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION :: 1 +AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME :: "VK_AMD_negative_viewport_height" +AMD_gpu_shader_half_float :: 1 +AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION :: 2 +AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME :: "VK_AMD_gpu_shader_half_float" +AMD_shader_ballot :: 1 +AMD_SHADER_BALLOT_SPEC_VERSION :: 1 +AMD_SHADER_BALLOT_EXTENSION_NAME :: "VK_AMD_shader_ballot" +AMD_texture_gather_bias_lod :: 1 +AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION :: 1 +AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME :: "VK_AMD_texture_gather_bias_lod" +AMD_shader_info :: 1 +AMD_SHADER_INFO_SPEC_VERSION :: 1 +AMD_SHADER_INFO_EXTENSION_NAME :: "VK_AMD_shader_info" +AMD_shader_image_load_store_lod :: 1 +AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION :: 1 +AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME :: "VK_AMD_shader_image_load_store_lod" +NV_corner_sampled_image :: 1 +NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION :: 2 +NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME :: "VK_NV_corner_sampled_image" +NV_external_memory_capabilities :: 1 +NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: 1 +NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: "VK_NV_external_memory_capabilities" +NV_external_memory :: 1 +NV_EXTERNAL_MEMORY_SPEC_VERSION :: 1 +NV_EXTERNAL_MEMORY_EXTENSION_NAME :: "VK_NV_external_memory" +EXT_validation_flags :: 1 +EXT_VALIDATION_FLAGS_SPEC_VERSION :: 2 +EXT_VALIDATION_FLAGS_EXTENSION_NAME :: "VK_EXT_validation_flags" +EXT_shader_subgroup_ballot :: 1 +EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION :: 1 +EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME :: "VK_EXT_shader_subgroup_ballot" +EXT_shader_subgroup_vote :: 1 +EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION :: 1 +EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME :: "VK_EXT_shader_subgroup_vote" +EXT_texture_compression_astc_hdr :: 1 +EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION :: 1 +EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME :: "VK_EXT_texture_compression_astc_hdr" +EXT_astc_decode_mode :: 1 +EXT_ASTC_DECODE_MODE_SPEC_VERSION :: 1 +EXT_ASTC_DECODE_MODE_EXTENSION_NAME :: "VK_EXT_astc_decode_mode" +EXT_pipeline_robustness :: 1 +EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION :: 1 +EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME :: "VK_EXT_pipeline_robustness" +EXT_conditional_rendering :: 1 +EXT_CONDITIONAL_RENDERING_SPEC_VERSION :: 2 +EXT_CONDITIONAL_RENDERING_EXTENSION_NAME :: "VK_EXT_conditional_rendering" +NV_clip_space_w_scaling :: 1 +NV_CLIP_SPACE_W_SCALING_SPEC_VERSION :: 1 +NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME :: "VK_NV_clip_space_w_scaling" +EXT_direct_mode_display :: 1 +EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION :: 1 +EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME :: "VK_EXT_direct_mode_display" +EXT_display_surface_counter :: 1 +EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION :: 1 +EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME :: "VK_EXT_display_surface_counter" +EXT_display_control :: 1 +EXT_DISPLAY_CONTROL_SPEC_VERSION :: 1 +EXT_DISPLAY_CONTROL_EXTENSION_NAME :: "VK_EXT_display_control" +GOOGLE_display_timing :: 1 +GOOGLE_DISPLAY_TIMING_SPEC_VERSION :: 1 +GOOGLE_DISPLAY_TIMING_EXTENSION_NAME :: "VK_GOOGLE_display_timing" +NV_sample_mask_override_coverage :: 1 +NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION :: 1 +NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME :: "VK_NV_sample_mask_override_coverage" +NV_geometry_shader_passthrough :: 1 +NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION :: 1 +NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME :: "VK_NV_geometry_shader_passthrough" +NV_viewport_array2 :: 1 +NV_VIEWPORT_ARRAY_2_SPEC_VERSION :: 1 +NV_VIEWPORT_ARRAY_2_EXTENSION_NAME :: "VK_NV_viewport_array2" +NV_VIEWPORT_ARRAY2_SPEC_VERSION :: NV_VIEWPORT_ARRAY_2_SPEC_VERSION +NV_VIEWPORT_ARRAY2_EXTENSION_NAME :: NV_VIEWPORT_ARRAY_2_EXTENSION_NAME +NVX_multiview_per_view_attributes :: 1 +NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION :: 1 +NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME :: "VK_NVX_multiview_per_view_attributes" +NV_viewport_swizzle :: 1 +NV_VIEWPORT_SWIZZLE_SPEC_VERSION :: 1 +NV_VIEWPORT_SWIZZLE_EXTENSION_NAME :: "VK_NV_viewport_swizzle" +EXT_discard_rectangles :: 1 +EXT_DISCARD_RECTANGLES_SPEC_VERSION :: 2 +EXT_DISCARD_RECTANGLES_EXTENSION_NAME :: "VK_EXT_discard_rectangles" +EXT_conservative_rasterization :: 1 +EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION :: 1 +EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME :: "VK_EXT_conservative_rasterization" +EXT_depth_clip_enable :: 1 +EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION :: 1 +EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME :: "VK_EXT_depth_clip_enable" +EXT_swapchain_colorspace :: 1 +EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION :: 4 +EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME :: "VK_EXT_swapchain_colorspace" +EXT_hdr_metadata :: 1 +EXT_HDR_METADATA_SPEC_VERSION :: 2 +EXT_HDR_METADATA_EXTENSION_NAME :: "VK_EXT_hdr_metadata" +EXT_external_memory_dma_buf :: 1 +EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION :: 1 +EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME :: "VK_EXT_external_memory_dma_buf" +EXT_queue_family_foreign :: 1 +EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION :: 1 +EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME :: "VK_EXT_queue_family_foreign" +EXT_debug_utils :: 1 +EXT_DEBUG_UTILS_SPEC_VERSION :: 2 +EXT_DEBUG_UTILS_EXTENSION_NAME :: "VK_EXT_debug_utils" +EXT_sampler_filter_minmax :: 1 +EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION :: 2 +EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME :: "VK_EXT_sampler_filter_minmax" +AMD_gpu_shader_int16 :: 1 +AMD_GPU_SHADER_INT16_SPEC_VERSION :: 2 +AMD_GPU_SHADER_INT16_EXTENSION_NAME :: "VK_AMD_gpu_shader_int16" +AMD_mixed_attachment_samples :: 1 +AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION :: 1 +AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME :: "VK_AMD_mixed_attachment_samples" +AMD_shader_fragment_mask :: 1 +AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION :: 1 +AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME :: "VK_AMD_shader_fragment_mask" +EXT_inline_uniform_block :: 1 +EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION :: 1 +EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME :: "VK_EXT_inline_uniform_block" +EXT_shader_stencil_export :: 1 +EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION :: 1 +EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME :: "VK_EXT_shader_stencil_export" +EXT_sample_locations :: 1 +EXT_SAMPLE_LOCATIONS_SPEC_VERSION :: 1 +EXT_SAMPLE_LOCATIONS_EXTENSION_NAME :: "VK_EXT_sample_locations" +EXT_blend_operation_advanced :: 1 +EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION :: 2 +EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME :: "VK_EXT_blend_operation_advanced" +NV_fragment_coverage_to_color :: 1 +NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION :: 1 +NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME :: "VK_NV_fragment_coverage_to_color" +NV_framebuffer_mixed_samples :: 1 +NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION :: 1 +NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME :: "VK_NV_framebuffer_mixed_samples" +NV_fill_rectangle :: 1 +NV_FILL_RECTANGLE_SPEC_VERSION :: 1 +NV_FILL_RECTANGLE_EXTENSION_NAME :: "VK_NV_fill_rectangle" +NV_shader_sm_builtins :: 1 +NV_SHADER_SM_BUILTINS_SPEC_VERSION :: 1 +NV_SHADER_SM_BUILTINS_EXTENSION_NAME :: "VK_NV_shader_sm_builtins" +EXT_post_depth_coverage :: 1 +EXT_POST_DEPTH_COVERAGE_SPEC_VERSION :: 1 +EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME :: "VK_EXT_post_depth_coverage" +EXT_image_drm_format_modifier :: 1 +EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION :: 2 +EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME :: "VK_EXT_image_drm_format_modifier" +EXT_validation_cache :: 1 +EXT_VALIDATION_CACHE_SPEC_VERSION :: 1 +EXT_VALIDATION_CACHE_EXTENSION_NAME :: "VK_EXT_validation_cache" +EXT_descriptor_indexing :: 1 +EXT_DESCRIPTOR_INDEXING_SPEC_VERSION :: 2 +EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME :: "VK_EXT_descriptor_indexing" +EXT_shader_viewport_index_layer :: 1 +EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION :: 1 +EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME :: "VK_EXT_shader_viewport_index_layer" +NV_shading_rate_image :: 1 +NV_SHADING_RATE_IMAGE_SPEC_VERSION :: 3 +NV_SHADING_RATE_IMAGE_EXTENSION_NAME :: "VK_NV_shading_rate_image" +NV_ray_tracing :: 1 +NV_RAY_TRACING_SPEC_VERSION :: 3 +NV_RAY_TRACING_EXTENSION_NAME :: "VK_NV_ray_tracing" +SHADER_UNUSED_KHR :: 0 +NV_representative_fragment_test :: 1 +NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION :: 2 +NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME :: "VK_NV_representative_fragment_test" +EXT_filter_cubic :: 1 +EXT_FILTER_CUBIC_SPEC_VERSION :: 3 +EXT_FILTER_CUBIC_EXTENSION_NAME :: "VK_EXT_filter_cubic" +EXT_global_priority :: 1 +EXT_GLOBAL_PRIORITY_SPEC_VERSION :: 2 +EXT_GLOBAL_PRIORITY_EXTENSION_NAME :: "VK_EXT_global_priority" +EXT_external_memory_host :: 1 +EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION :: 1 +EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME :: "VK_EXT_external_memory_host" +AMD_buffer_marker :: 1 +AMD_BUFFER_MARKER_SPEC_VERSION :: 1 +AMD_BUFFER_MARKER_EXTENSION_NAME :: "VK_AMD_buffer_marker" +AMD_pipeline_compiler_control :: 1 +AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION :: 1 +AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME :: "VK_AMD_pipeline_compiler_control" +EXT_calibrated_timestamps :: 1 +EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION :: 2 +EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME :: "VK_EXT_calibrated_timestamps" +AMD_shader_core_properties :: 1 +AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION :: 2 +AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME :: "VK_AMD_shader_core_properties" +AMD_memory_overallocation_behavior :: 1 +AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION :: 1 +AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME :: "VK_AMD_memory_overallocation_behavior" +EXT_vertex_attribute_divisor :: 1 +EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION :: 3 +EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME :: "VK_EXT_vertex_attribute_divisor" +EXT_pipeline_creation_feedback :: 1 +EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION :: 1 +EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME :: "VK_EXT_pipeline_creation_feedback" +NV_shader_subgroup_partitioned :: 1 +NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION :: 1 +NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME :: "VK_NV_shader_subgroup_partitioned" +NV_compute_shader_derivatives :: 1 +NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION :: 1 +NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME :: "VK_NV_compute_shader_derivatives" +NV_mesh_shader :: 1 +NV_MESH_SHADER_SPEC_VERSION :: 1 +NV_MESH_SHADER_EXTENSION_NAME :: "VK_NV_mesh_shader" +NV_fragment_shader_barycentric :: 1 +NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION :: 1 +NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME :: "VK_NV_fragment_shader_barycentric" +NV_shader_image_footprint :: 1 +NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION :: 2 +NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME :: "VK_NV_shader_image_footprint" +NV_scissor_exclusive :: 1 +NV_SCISSOR_EXCLUSIVE_SPEC_VERSION :: 2 +NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME :: "VK_NV_scissor_exclusive" +NV_device_diagnostic_checkpoints :: 1 +NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION :: 2 +NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME :: "VK_NV_device_diagnostic_checkpoints" +EXT_pci_bus_info :: 1 +EXT_PCI_BUS_INFO_SPEC_VERSION :: 2 +EXT_PCI_BUS_INFO_EXTENSION_NAME :: "VK_EXT_pci_bus_info" +AMD_display_native_hdr :: 1 +AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION :: 1 +AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME :: "VK_AMD_display_native_hdr" +EXT_fragment_density_map :: 1 +EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION :: 2 +EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME :: "VK_EXT_fragment_density_map" +EXT_scalar_block_layout :: 1 +EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION :: 1 +EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME :: "VK_EXT_scalar_block_layout" +GOOGLE_hlsl_functionality1 :: 1 +GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION :: 1 +GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME :: "VK_GOOGLE_hlsl_functionality1" +GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION :: GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION +GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME :: GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME +GOOGLE_decorate_string :: 1 +GOOGLE_DECORATE_STRING_SPEC_VERSION :: 1 +GOOGLE_DECORATE_STRING_EXTENSION_NAME :: "VK_GOOGLE_decorate_string" +EXT_subgroup_size_control :: 1 +EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION :: 2 +EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME :: "VK_EXT_subgroup_size_control" +AMD_shader_core_properties2 :: 1 +AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION :: 1 +AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME :: "VK_AMD_shader_core_properties2" +AMD_device_coherent_memory :: 1 +AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION :: 1 +AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME :: "VK_AMD_device_coherent_memory" +EXT_shader_image_atomic_int64 :: 1 +EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION :: 1 +EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME :: "VK_EXT_shader_image_atomic_int64" +EXT_memory_budget :: 1 +EXT_MEMORY_BUDGET_SPEC_VERSION :: 1 +EXT_MEMORY_BUDGET_EXTENSION_NAME :: "VK_EXT_memory_budget" +EXT_memory_priority :: 1 +EXT_MEMORY_PRIORITY_SPEC_VERSION :: 1 +EXT_MEMORY_PRIORITY_EXTENSION_NAME :: "VK_EXT_memory_priority" +NV_dedicated_allocation_image_aliasing :: 1 +NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION :: 1 +NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME :: "VK_NV_dedicated_allocation_image_aliasing" +EXT_buffer_device_address :: 1 +EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION :: 2 +EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME :: "VK_EXT_buffer_device_address" +EXT_tooling_info :: 1 +EXT_TOOLING_INFO_SPEC_VERSION :: 1 +EXT_TOOLING_INFO_EXTENSION_NAME :: "VK_EXT_tooling_info" +EXT_separate_stencil_usage :: 1 +EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION :: 1 +EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME :: "VK_EXT_separate_stencil_usage" +EXT_validation_features :: 1 +EXT_VALIDATION_FEATURES_SPEC_VERSION :: 5 +EXT_VALIDATION_FEATURES_EXTENSION_NAME :: "VK_EXT_validation_features" +NV_cooperative_matrix :: 1 +NV_COOPERATIVE_MATRIX_SPEC_VERSION :: 1 +NV_COOPERATIVE_MATRIX_EXTENSION_NAME :: "VK_NV_cooperative_matrix" +NV_coverage_reduction_mode :: 1 +NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION :: 1 +NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME :: "VK_NV_coverage_reduction_mode" +EXT_fragment_shader_interlock :: 1 +EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION :: 1 +EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME :: "VK_EXT_fragment_shader_interlock" +EXT_ycbcr_image_arrays :: 1 +EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION :: 1 +EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME :: "VK_EXT_ycbcr_image_arrays" +EXT_provoking_vertex :: 1 +EXT_PROVOKING_VERTEX_SPEC_VERSION :: 1 +EXT_PROVOKING_VERTEX_EXTENSION_NAME :: "VK_EXT_provoking_vertex" +EXT_headless_surface :: 1 +EXT_HEADLESS_SURFACE_SPEC_VERSION :: 1 +EXT_HEADLESS_SURFACE_EXTENSION_NAME :: "VK_EXT_headless_surface" +EXT_line_rasterization :: 1 +EXT_LINE_RASTERIZATION_SPEC_VERSION :: 1 +EXT_LINE_RASTERIZATION_EXTENSION_NAME :: "VK_EXT_line_rasterization" +EXT_shader_atomic_float :: 1 +EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION :: 1 +EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME :: "VK_EXT_shader_atomic_float" +EXT_host_query_reset :: 1 +EXT_HOST_QUERY_RESET_SPEC_VERSION :: 1 +EXT_HOST_QUERY_RESET_EXTENSION_NAME :: "VK_EXT_host_query_reset" +EXT_index_type_uint8 :: 1 +EXT_INDEX_TYPE_UINT8_SPEC_VERSION :: 1 +EXT_INDEX_TYPE_UINT8_EXTENSION_NAME :: "VK_EXT_index_type_uint8" +EXT_extended_dynamic_state :: 1 +EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION :: 1 +EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: "VK_EXT_extended_dynamic_state" +EXT_shader_atomic_float2 :: 1 +EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION :: 1 +EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME :: "VK_EXT_shader_atomic_float2" +EXT_surface_maintenance1 :: 1 +EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION :: 1 +EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME :: "VK_EXT_surface_maintenance1" +EXT_swapchain_maintenance1 :: 1 +EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION :: 1 +EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME :: "VK_EXT_swapchain_maintenance1" +EXT_shader_demote_to_helper_invocation :: 1 +EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION :: 1 +EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME :: "VK_EXT_shader_demote_to_helper_invocation" +NV_device_generated_commands :: 1 +NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION :: 3 +NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME :: "VK_NV_device_generated_commands" +NV_inherited_viewport_scissor :: 1 +NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION :: 1 +NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME :: "VK_NV_inherited_viewport_scissor" +EXT_texel_buffer_alignment :: 1 +EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION :: 1 +EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME :: "VK_EXT_texel_buffer_alignment" +EXT_device_memory_report :: 1 +EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION :: 2 +EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME :: "VK_EXT_device_memory_report" +EXT_acquire_drm_display :: 1 +EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION :: 1 +EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME :: "VK_EXT_acquire_drm_display" +EXT_robustness2 :: 1 +EXT_ROBUSTNESS_2_SPEC_VERSION :: 1 +EXT_ROBUSTNESS_2_EXTENSION_NAME :: "VK_EXT_robustness2" +EXT_custom_border_color :: 1 +EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION :: 12 +EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME :: "VK_EXT_custom_border_color" +GOOGLE_user_type :: 1 +GOOGLE_USER_TYPE_SPEC_VERSION :: 1 +GOOGLE_USER_TYPE_EXTENSION_NAME :: "VK_GOOGLE_user_type" +NV_present_barrier :: 1 +NV_PRESENT_BARRIER_SPEC_VERSION :: 1 +NV_PRESENT_BARRIER_EXTENSION_NAME :: "VK_NV_present_barrier" +EXT_private_data :: 1 +EXT_PRIVATE_DATA_SPEC_VERSION :: 1 +EXT_PRIVATE_DATA_EXTENSION_NAME :: "VK_EXT_private_data" +EXT_pipeline_creation_cache_control :: 1 +EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION :: 3 +EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME :: "VK_EXT_pipeline_creation_cache_control" +NV_device_diagnostics_config :: 1 +NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION :: 2 +NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME :: "VK_NV_device_diagnostics_config" +NV_low_latency :: 1 +NV_LOW_LATENCY_SPEC_VERSION :: 1 +NV_LOW_LATENCY_EXTENSION_NAME :: "VK_NV_low_latency" +EXT_descriptor_buffer :: 1 +EXT_DESCRIPTOR_BUFFER_SPEC_VERSION :: 1 +EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME :: "VK_EXT_descriptor_buffer" +EXT_graphics_pipeline_library :: 1 +EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION :: 1 +EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME :: "VK_EXT_graphics_pipeline_library" +AMD_shader_early_and_late_fragment_tests :: 1 +AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION :: 1 +AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME :: "VK_AMD_shader_early_and_late_fragment_tests" +NV_fragment_shading_rate_enums :: 1 +NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION :: 1 +NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME :: "VK_NV_fragment_shading_rate_enums" +NV_ray_tracing_motion_blur :: 1 +NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION :: 1 +NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME :: "VK_NV_ray_tracing_motion_blur" +EXT_ycbcr_2plane_444_formats :: 1 +EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION :: 1 +EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME :: "VK_EXT_ycbcr_2plane_444_formats" +EXT_fragment_density_map2 :: 1 +EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION :: 1 +EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME :: "VK_EXT_fragment_density_map2" +EXT_image_robustness :: 1 +EXT_IMAGE_ROBUSTNESS_SPEC_VERSION :: 1 +EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME :: "VK_EXT_image_robustness" +EXT_image_compression_control :: 1 +EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION :: 1 +EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME :: "VK_EXT_image_compression_control" +EXT_attachment_feedback_loop_layout :: 1 +EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION :: 2 +EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME :: "VK_EXT_attachment_feedback_loop_layout" +EXT_4444_formats :: 1 +EXT_4444_FORMATS_SPEC_VERSION :: 1 +EXT_4444_FORMATS_EXTENSION_NAME :: "VK_EXT_4444_formats" +EXT_device_fault :: 1 +EXT_DEVICE_FAULT_SPEC_VERSION :: 2 +EXT_DEVICE_FAULT_EXTENSION_NAME :: "VK_EXT_device_fault" +EXT_rgba10x6_formats :: 1 +EXT_RGBA10X6_FORMATS_SPEC_VERSION :: 1 +EXT_RGBA10X6_FORMATS_EXTENSION_NAME :: "VK_EXT_rgba10x6_formats" +EXT_vertex_input_dynamic_state :: 1 +EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION :: 2 +EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME :: "VK_EXT_vertex_input_dynamic_state" +EXT_physical_device_drm :: 1 +EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION :: 1 +EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME :: "VK_EXT_physical_device_drm" +EXT_device_address_binding_report :: 1 +EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION :: 1 +EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME :: "VK_EXT_device_address_binding_report" +EXT_depth_clip_control :: 1 +EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION :: 1 +EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME :: "VK_EXT_depth_clip_control" +EXT_primitive_topology_list_restart :: 1 +EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION :: 1 +EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME :: "VK_EXT_primitive_topology_list_restart" +NV_external_memory_rdma :: 1 +NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION :: 1 +NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME :: "VK_NV_external_memory_rdma" +EXT_pipeline_properties :: 1 +EXT_PIPELINE_PROPERTIES_SPEC_VERSION :: 1 +EXT_PIPELINE_PROPERTIES_EXTENSION_NAME :: "VK_EXT_pipeline_properties" +EXT_multisampled_render_to_single_sampled :: 1 +EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION :: 1 +EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME :: "VK_EXT_multisampled_render_to_single_sampled" +EXT_extended_dynamic_state2 :: 1 +EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION :: 1 +EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME :: "VK_EXT_extended_dynamic_state2" +EXT_color_write_enable :: 1 +EXT_COLOR_WRITE_ENABLE_SPEC_VERSION :: 1 +EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME :: "VK_EXT_color_write_enable" +EXT_primitives_generated_query :: 1 +EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION :: 1 +EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME :: "VK_EXT_primitives_generated_query" +EXT_global_priority_query :: 1 +EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION :: 1 +EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME :: "VK_EXT_global_priority_query" +EXT_image_view_min_lod :: 1 +EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION :: 1 +EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME :: "VK_EXT_image_view_min_lod" +EXT_multi_draw :: 1 +EXT_MULTI_DRAW_SPEC_VERSION :: 1 +EXT_MULTI_DRAW_EXTENSION_NAME :: "VK_EXT_multi_draw" +EXT_image_2d_view_of_3d :: 1 +EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION :: 1 +EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME :: "VK_EXT_image_2d_view_of_3d" +EXT_shader_tile_image :: 1 +EXT_SHADER_TILE_IMAGE_SPEC_VERSION :: 1 +EXT_SHADER_TILE_IMAGE_EXTENSION_NAME :: "VK_EXT_shader_tile_image" +EXT_opacity_micromap :: 1 +EXT_OPACITY_MICROMAP_SPEC_VERSION :: 2 +EXT_OPACITY_MICROMAP_EXTENSION_NAME :: "VK_EXT_opacity_micromap" +EXT_load_store_op_none :: 1 +EXT_LOAD_STORE_OP_NONE_SPEC_VERSION :: 1 +EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME :: "VK_EXT_load_store_op_none" +EXT_border_color_swizzle :: 1 +EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION :: 1 +EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME :: "VK_EXT_border_color_swizzle" +EXT_pageable_device_local_memory :: 1 +EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION :: 1 +EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME :: "VK_EXT_pageable_device_local_memory" +EXT_image_sliced_view_of_3d :: 1 +EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION :: 1 +EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME :: "VK_EXT_image_sliced_view_of_3d" +EXT_depth_clamp_zero_one :: 1 +EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION :: 1 +EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME :: "VK_EXT_depth_clamp_zero_one" +EXT_non_seamless_cube_map :: 1 +EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION :: 1 +EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME :: "VK_EXT_non_seamless_cube_map" +NV_copy_memory_indirect :: 1 +NV_COPY_MEMORY_INDIRECT_SPEC_VERSION :: 1 +NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME :: "VK_NV_copy_memory_indirect" +NV_memory_decompression :: 1 +NV_MEMORY_DECOMPRESSION_SPEC_VERSION :: 1 +NV_MEMORY_DECOMPRESSION_EXTENSION_NAME :: "VK_NV_memory_decompression" +NV_linear_color_attachment :: 1 +NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION :: 1 +NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME :: "VK_NV_linear_color_attachment" +GOOGLE_surfaceless_query :: 1 +GOOGLE_SURFACELESS_QUERY_SPEC_VERSION :: 2 +GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME :: "VK_GOOGLE_surfaceless_query" +EXT_image_compression_control_swapchain :: 1 +EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION :: 1 +EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME :: "VK_EXT_image_compression_control_swapchain" +EXT_extended_dynamic_state3 :: 1 +EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION :: 2 +EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME :: "VK_EXT_extended_dynamic_state3" +EXT_subpass_merge_feedback :: 1 +EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION :: 2 +EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME :: "VK_EXT_subpass_merge_feedback" +EXT_shader_module_identifier :: 1 +EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION :: 1 +EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME :: "VK_EXT_shader_module_identifier" +EXT_rasterization_order_attachment_access :: 1 +EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION :: 1 +EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME :: "VK_EXT_rasterization_order_attachment_access" +NV_optical_flow :: 1 +NV_OPTICAL_FLOW_SPEC_VERSION :: 1 +NV_OPTICAL_FLOW_EXTENSION_NAME :: "VK_NV_optical_flow" +EXT_legacy_dithering :: 1 +EXT_LEGACY_DITHERING_SPEC_VERSION :: 1 +EXT_LEGACY_DITHERING_EXTENSION_NAME :: "VK_EXT_legacy_dithering" +EXT_pipeline_protected_access :: 1 +EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION :: 1 +EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME :: "VK_EXT_pipeline_protected_access" +EXT_shader_object :: 1 +EXT_SHADER_OBJECT_SPEC_VERSION :: 1 +EXT_SHADER_OBJECT_EXTENSION_NAME :: "VK_EXT_shader_object" +NV_ray_tracing_invocation_reorder :: 1 +NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION :: 1 +NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME :: "VK_NV_ray_tracing_invocation_reorder" +EXT_mutable_descriptor_type :: 1 +EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION :: 1 +EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME :: "VK_EXT_mutable_descriptor_type" +EXT_pipeline_library_group_handles :: 1 +EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION :: 1 +EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME :: "VK_EXT_pipeline_library_group_handles" +EXT_attachment_feedback_loop_dynamic_state :: 1 +EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION :: 1 +EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME :: "VK_EXT_attachment_feedback_loop_dynamic_state" +KHR_acceleration_structure :: 1 +KHR_ACCELERATION_STRUCTURE_SPEC_VERSION :: 13 +KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME :: "VK_KHR_acceleration_structure" +KHR_ray_tracing_pipeline :: 1 +KHR_RAY_TRACING_PIPELINE_SPEC_VERSION :: 1 +KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME :: "VK_KHR_ray_tracing_pipeline" +KHR_ray_query :: 1 +KHR_RAY_QUERY_SPEC_VERSION :: 1 +KHR_RAY_QUERY_EXTENSION_NAME :: "VK_KHR_ray_query" +EXT_mesh_shader :: 1 +EXT_MESH_SHADER_SPEC_VERSION :: 1 +EXT_MESH_SHADER_EXTENSION_NAME :: "VK_EXT_mesh_shader" +KHR_win32_surface :: 1 +KHR_WIN32_SURFACE_SPEC_VERSION :: 6 +KHR_WIN32_SURFACE_EXTENSION_NAME :: "VK_KHR_win32_surface" +KHR_external_memory_win32 :: 1 +KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION :: 1 +KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME :: "VK_KHR_external_memory_win32" +KHR_win32_keyed_mutex :: 1 +KHR_WIN32_KEYED_MUTEX_SPEC_VERSION :: 1 +KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME :: "VK_KHR_win32_keyed_mutex" +KHR_external_semaphore_win32 :: 1 +KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION :: 1 +KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME :: "VK_KHR_external_semaphore_win32" +KHR_external_fence_win32 :: 1 +KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION :: 1 +KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME :: "VK_KHR_external_fence_win32" +NV_external_memory_win32 :: 1 +NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION :: 1 +NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME :: "VK_NV_external_memory_win32" +NV_win32_keyed_mutex :: 1 +NV_WIN32_KEYED_MUTEX_SPEC_VERSION :: 2 +NV_WIN32_KEYED_MUTEX_EXTENSION_NAME :: "VK_NV_win32_keyed_mutex" +EXT_full_screen_exclusive :: 1 +EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION :: 4 +EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME :: "VK_EXT_full_screen_exclusive" +NV_acquire_winrt_display :: 1 +NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION :: 1 +NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME :: "VK_NV_acquire_winrt_display" +EXT_metal_surface :: 1 +EXT_METAL_SURFACE_SPEC_VERSION :: 1 +EXT_METAL_SURFACE_EXTENSION_NAME :: "VK_EXT_metal_surface" +EXT_metal_objects :: 1 +EXT_METAL_OBJECTS_SPEC_VERSION :: 1 +EXT_METAL_OBJECTS_EXTENSION_NAME :: "VK_EXT_metal_objects" +KHR_wayland_surface :: 1 +KHR_WAYLAND_SURFACE_SPEC_VERSION :: 6 +KHR_WAYLAND_SURFACE_EXTENSION_NAME :: "VK_KHR_wayland_surface" + +// Handles types +Instance :: distinct Handle +PhysicalDevice :: distinct Handle +Device :: distinct Handle +Queue :: distinct Handle +CommandBuffer :: distinct Handle +Buffer :: distinct NonDispatchableHandle +Image :: distinct NonDispatchableHandle +Semaphore :: distinct NonDispatchableHandle +Fence :: distinct NonDispatchableHandle +DeviceMemory :: distinct NonDispatchableHandle +Event :: distinct NonDispatchableHandle +QueryPool :: distinct NonDispatchableHandle +BufferView :: distinct NonDispatchableHandle +ImageView :: distinct NonDispatchableHandle +ShaderModule :: distinct NonDispatchableHandle +PipelineCache :: distinct NonDispatchableHandle +PipelineLayout :: distinct NonDispatchableHandle +Pipeline :: distinct NonDispatchableHandle +RenderPass :: distinct NonDispatchableHandle +DescriptorSetLayout :: distinct NonDispatchableHandle +Sampler :: distinct NonDispatchableHandle +DescriptorSet :: distinct NonDispatchableHandle +DescriptorPool :: distinct NonDispatchableHandle +Framebuffer :: distinct NonDispatchableHandle +CommandPool :: distinct NonDispatchableHandle +SamplerYcbcrConversion :: distinct NonDispatchableHandle +DescriptorUpdateTemplate :: distinct NonDispatchableHandle +PrivateDataSlot :: distinct NonDispatchableHandle +SurfaceKHR :: distinct NonDispatchableHandle +SwapchainKHR :: distinct NonDispatchableHandle +DisplayKHR :: distinct NonDispatchableHandle +DisplayModeKHR :: distinct NonDispatchableHandle +VideoSessionKHR :: distinct NonDispatchableHandle +VideoSessionParametersKHR :: distinct NonDispatchableHandle +DeferredOperationKHR :: distinct NonDispatchableHandle +DebugReportCallbackEXT :: distinct NonDispatchableHandle +CuModuleNVX :: distinct NonDispatchableHandle +CuFunctionNVX :: distinct NonDispatchableHandle +DebugUtilsMessengerEXT :: distinct NonDispatchableHandle +ValidationCacheEXT :: distinct NonDispatchableHandle +AccelerationStructureNV :: distinct NonDispatchableHandle +PerformanceConfigurationINTEL :: distinct NonDispatchableHandle +IndirectCommandsLayoutNV :: distinct NonDispatchableHandle +AccelerationStructureKHR :: distinct NonDispatchableHandle +MicromapEXT :: distinct NonDispatchableHandle +OpticalFlowSessionNV :: distinct NonDispatchableHandle +ShaderEXT :: distinct NonDispatchableHandle + + diff --git a/vendor/vulkan/enums.odin b/vendor/vulkan/enums.odin index 06da3c38e..b6bbbec30 100644 --- a/vendor/vulkan/enums.odin +++ b/vendor/vulkan/enums.odin @@ -1,4047 +1,4047 @@ -//
-// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
-//
-package vulkan
-
-import "core:c"
-
-// Enums
-AccelerationStructureBuildTypeKHR :: enum c.int {
- HOST = 0,
- DEVICE = 1,
- HOST_OR_DEVICE = 2,
-}
-
-AccelerationStructureCompatibilityKHR :: enum c.int {
- COMPATIBLE = 0,
- INCOMPATIBLE = 1,
-}
-
-AccelerationStructureCreateFlagsKHR :: distinct bit_set[AccelerationStructureCreateFlagKHR; Flags]
-AccelerationStructureCreateFlagKHR :: enum Flags {
- DEVICE_ADDRESS_CAPTURE_REPLAY = 0,
- DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 3,
- MOTION_NV = 2,
-}
-
-AccelerationStructureMemoryRequirementsTypeNV :: enum c.int {
- OBJECT = 0,
- BUILD_SCRATCH = 1,
- UPDATE_SCRATCH = 2,
-}
-
-AccelerationStructureMotionInstanceTypeNV :: enum c.int {
- STATIC = 0,
- MATRIX_MOTION = 1,
- SRT_MOTION = 2,
-}
-
-AccelerationStructureTypeKHR :: enum c.int {
- TOP_LEVEL = 0,
- BOTTOM_LEVEL = 1,
- GENERIC = 2,
- TOP_LEVEL_NV = TOP_LEVEL,
- BOTTOM_LEVEL_NV = BOTTOM_LEVEL,
-}
-
-AccessFlags :: distinct bit_set[AccessFlag; Flags]
-AccessFlag :: enum Flags {
- INDIRECT_COMMAND_READ = 0,
- INDEX_READ = 1,
- VERTEX_ATTRIBUTE_READ = 2,
- UNIFORM_READ = 3,
- INPUT_ATTACHMENT_READ = 4,
- SHADER_READ = 5,
- SHADER_WRITE = 6,
- COLOR_ATTACHMENT_READ = 7,
- COLOR_ATTACHMENT_WRITE = 8,
- DEPTH_STENCIL_ATTACHMENT_READ = 9,
- DEPTH_STENCIL_ATTACHMENT_WRITE = 10,
- TRANSFER_READ = 11,
- TRANSFER_WRITE = 12,
- HOST_READ = 13,
- HOST_WRITE = 14,
- MEMORY_READ = 15,
- MEMORY_WRITE = 16,
- TRANSFORM_FEEDBACK_WRITE_EXT = 25,
- TRANSFORM_FEEDBACK_COUNTER_READ_EXT = 26,
- TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT = 27,
- CONDITIONAL_RENDERING_READ_EXT = 20,
- COLOR_ATTACHMENT_READ_NONCOHERENT_EXT = 19,
- ACCELERATION_STRUCTURE_READ_KHR = 21,
- ACCELERATION_STRUCTURE_WRITE_KHR = 22,
- FRAGMENT_DENSITY_MAP_READ_EXT = 24,
- FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR = 23,
- COMMAND_PREPROCESS_READ_NV = 17,
- COMMAND_PREPROCESS_WRITE_NV = 18,
- SHADING_RATE_IMAGE_READ_NV = FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR,
- ACCELERATION_STRUCTURE_READ_NV = ACCELERATION_STRUCTURE_READ_KHR,
- ACCELERATION_STRUCTURE_WRITE_NV = ACCELERATION_STRUCTURE_WRITE_KHR,
-}
-
-AccessFlags_NONE :: AccessFlags{}
-
-
-AcquireProfilingLockFlagsKHR :: distinct bit_set[AcquireProfilingLockFlagKHR; Flags]
-AcquireProfilingLockFlagKHR :: enum Flags {
-}
-
-AttachmentDescriptionFlags :: distinct bit_set[AttachmentDescriptionFlag; Flags]
-AttachmentDescriptionFlag :: enum Flags {
- MAY_ALIAS = 0,
-}
-
-AttachmentLoadOp :: enum c.int {
- LOAD = 0,
- CLEAR = 1,
- DONT_CARE = 2,
- NONE_EXT = 1000400000,
-}
-
-AttachmentStoreOp :: enum c.int {
- STORE = 0,
- DONT_CARE = 1,
- NONE = 1000301000,
-}
-
-BlendFactor :: enum c.int {
- ZERO = 0,
- ONE = 1,
- SRC_COLOR = 2,
- ONE_MINUS_SRC_COLOR = 3,
- DST_COLOR = 4,
- ONE_MINUS_DST_COLOR = 5,
- SRC_ALPHA = 6,
- ONE_MINUS_SRC_ALPHA = 7,
- DST_ALPHA = 8,
- ONE_MINUS_DST_ALPHA = 9,
- CONSTANT_COLOR = 10,
- ONE_MINUS_CONSTANT_COLOR = 11,
- CONSTANT_ALPHA = 12,
- ONE_MINUS_CONSTANT_ALPHA = 13,
- SRC_ALPHA_SATURATE = 14,
- SRC1_COLOR = 15,
- ONE_MINUS_SRC1_COLOR = 16,
- SRC1_ALPHA = 17,
- ONE_MINUS_SRC1_ALPHA = 18,
-}
-
-BlendOp :: enum c.int {
- ADD = 0,
- SUBTRACT = 1,
- REVERSE_SUBTRACT = 2,
- MIN = 3,
- MAX = 4,
- ZERO_EXT = 1000148000,
- SRC_EXT = 1000148001,
- DST_EXT = 1000148002,
- SRC_OVER_EXT = 1000148003,
- DST_OVER_EXT = 1000148004,
- SRC_IN_EXT = 1000148005,
- DST_IN_EXT = 1000148006,
- SRC_OUT_EXT = 1000148007,
- DST_OUT_EXT = 1000148008,
- SRC_ATOP_EXT = 1000148009,
- DST_ATOP_EXT = 1000148010,
- XOR_EXT = 1000148011,
- MULTIPLY_EXT = 1000148012,
- SCREEN_EXT = 1000148013,
- OVERLAY_EXT = 1000148014,
- DARKEN_EXT = 1000148015,
- LIGHTEN_EXT = 1000148016,
- COLORDODGE_EXT = 1000148017,
- COLORBURN_EXT = 1000148018,
- HARDLIGHT_EXT = 1000148019,
- SOFTLIGHT_EXT = 1000148020,
- DIFFERENCE_EXT = 1000148021,
- EXCLUSION_EXT = 1000148022,
- INVERT_EXT = 1000148023,
- INVERT_RGB_EXT = 1000148024,
- LINEARDODGE_EXT = 1000148025,
- LINEARBURN_EXT = 1000148026,
- VIVIDLIGHT_EXT = 1000148027,
- LINEARLIGHT_EXT = 1000148028,
- PINLIGHT_EXT = 1000148029,
- HARDMIX_EXT = 1000148030,
- HSL_HUE_EXT = 1000148031,
- HSL_SATURATION_EXT = 1000148032,
- HSL_COLOR_EXT = 1000148033,
- HSL_LUMINOSITY_EXT = 1000148034,
- PLUS_EXT = 1000148035,
- PLUS_CLAMPED_EXT = 1000148036,
- PLUS_CLAMPED_ALPHA_EXT = 1000148037,
- PLUS_DARKER_EXT = 1000148038,
- MINUS_EXT = 1000148039,
- MINUS_CLAMPED_EXT = 1000148040,
- CONTRAST_EXT = 1000148041,
- INVERT_OVG_EXT = 1000148042,
- RED_EXT = 1000148043,
- GREEN_EXT = 1000148044,
- BLUE_EXT = 1000148045,
-}
-
-BlendOverlapEXT :: enum c.int {
- UNCORRELATED = 0,
- DISJOINT = 1,
- CONJOINT = 2,
-}
-
-BorderColor :: enum c.int {
- FLOAT_TRANSPARENT_BLACK = 0,
- INT_TRANSPARENT_BLACK = 1,
- FLOAT_OPAQUE_BLACK = 2,
- INT_OPAQUE_BLACK = 3,
- FLOAT_OPAQUE_WHITE = 4,
- INT_OPAQUE_WHITE = 5,
- FLOAT_CUSTOM_EXT = 1000287003,
- INT_CUSTOM_EXT = 1000287004,
-}
-
-BufferCreateFlags :: distinct bit_set[BufferCreateFlag; Flags]
-BufferCreateFlag :: enum Flags {
- SPARSE_BINDING = 0,
- SPARSE_RESIDENCY = 1,
- SPARSE_ALIASED = 2,
- PROTECTED = 3,
- DEVICE_ADDRESS_CAPTURE_REPLAY = 4,
- DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 5,
- DEVICE_ADDRESS_CAPTURE_REPLAY_EXT = DEVICE_ADDRESS_CAPTURE_REPLAY,
- DEVICE_ADDRESS_CAPTURE_REPLAY_KHR = DEVICE_ADDRESS_CAPTURE_REPLAY,
-}
-
-BufferUsageFlags :: distinct bit_set[BufferUsageFlag; Flags]
-BufferUsageFlag :: enum Flags {
- TRANSFER_SRC = 0,
- TRANSFER_DST = 1,
- UNIFORM_TEXEL_BUFFER = 2,
- STORAGE_TEXEL_BUFFER = 3,
- UNIFORM_BUFFER = 4,
- STORAGE_BUFFER = 5,
- INDEX_BUFFER = 6,
- VERTEX_BUFFER = 7,
- INDIRECT_BUFFER = 8,
- SHADER_DEVICE_ADDRESS = 17,
- VIDEO_DECODE_SRC_KHR = 13,
- VIDEO_DECODE_DST_KHR = 14,
- TRANSFORM_FEEDBACK_BUFFER_EXT = 11,
- TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT = 12,
- CONDITIONAL_RENDERING_EXT = 9,
- ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_KHR = 19,
- ACCELERATION_STRUCTURE_STORAGE_KHR = 20,
- SHADER_BINDING_TABLE_KHR = 10,
- VIDEO_ENCODE_DST_KHR = 15,
- VIDEO_ENCODE_SRC_KHR = 16,
- SAMPLER_DESCRIPTOR_BUFFER_EXT = 21,
- RESOURCE_DESCRIPTOR_BUFFER_EXT = 22,
- PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_EXT = 26,
- MICROMAP_BUILD_INPUT_READ_ONLY_EXT = 23,
- MICROMAP_STORAGE_EXT = 24,
- RAY_TRACING_NV = SHADER_BINDING_TABLE_KHR,
- SHADER_DEVICE_ADDRESS_EXT = SHADER_DEVICE_ADDRESS,
- SHADER_DEVICE_ADDRESS_KHR = SHADER_DEVICE_ADDRESS,
-}
-
-BuildAccelerationStructureFlagsKHR :: distinct bit_set[BuildAccelerationStructureFlagKHR; Flags]
-BuildAccelerationStructureFlagKHR :: enum Flags {
- ALLOW_UPDATE = 0,
- ALLOW_COMPACTION = 1,
- PREFER_FAST_TRACE = 2,
- PREFER_FAST_BUILD = 3,
- LOW_MEMORY = 4,
- MOTION_NV = 5,
- ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 6,
- ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 7,
- ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 8,
- ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 9,
- ALLOW_DATA_ACCESS = 11,
- ALLOW_UPDATE_NV = ALLOW_UPDATE,
- ALLOW_COMPACTION_NV = ALLOW_COMPACTION,
- PREFER_FAST_TRACE_NV = PREFER_FAST_TRACE,
- PREFER_FAST_BUILD_NV = PREFER_FAST_BUILD,
- LOW_MEMORY_NV = LOW_MEMORY,
-}
-
-BuildAccelerationStructureModeKHR :: enum c.int {
- BUILD = 0,
- UPDATE = 1,
-}
-
-BuildMicromapFlagsEXT :: distinct bit_set[BuildMicromapFlagEXT; Flags]
-BuildMicromapFlagEXT :: enum Flags {
- PREFER_FAST_TRACE = 0,
- PREFER_FAST_BUILD = 1,
- ALLOW_COMPACTION = 2,
-}
-
-BuildMicromapModeEXT :: enum c.int {
- BUILD = 0,
-}
-
-ChromaLocation :: enum c.int {
- COSITED_EVEN = 0,
- MIDPOINT = 1,
- COSITED_EVEN_KHR = COSITED_EVEN,
- MIDPOINT_KHR = MIDPOINT,
-}
-
-CoarseSampleOrderTypeNV :: enum c.int {
- DEFAULT = 0,
- CUSTOM = 1,
- PIXEL_MAJOR = 2,
- SAMPLE_MAJOR = 3,
-}
-
-ColorComponentFlags :: distinct bit_set[ColorComponentFlag; Flags]
-ColorComponentFlag :: enum Flags {
- R = 0,
- G = 1,
- B = 2,
- A = 3,
-}
-
-ColorSpaceKHR :: enum c.int {
- SRGB_NONLINEAR = 0,
- DISPLAY_P3_NONLINEAR_EXT = 1000104001,
- EXTENDED_SRGB_LINEAR_EXT = 1000104002,
- DISPLAY_P3_LINEAR_EXT = 1000104003,
- DCI_P3_NONLINEAR_EXT = 1000104004,
- BT709_LINEAR_EXT = 1000104005,
- BT709_NONLINEAR_EXT = 1000104006,
- BT2020_LINEAR_EXT = 1000104007,
- HDR10_ST2084_EXT = 1000104008,
- DOLBYVISION_EXT = 1000104009,
- HDR10_HLG_EXT = 1000104010,
- ADOBERGB_LINEAR_EXT = 1000104011,
- ADOBERGB_NONLINEAR_EXT = 1000104012,
- PASS_THROUGH_EXT = 1000104013,
- EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
- DISPLAY_NATIVE_AMD = 1000213000,
- COLORSPACE_SRGB_NONLINEAR = SRGB_NONLINEAR,
- DCI_P3_LINEAR_EXT = DISPLAY_P3_LINEAR_EXT,
-}
-
-CommandBufferLevel :: enum c.int {
- PRIMARY = 0,
- SECONDARY = 1,
-}
-
-CommandBufferResetFlags :: distinct bit_set[CommandBufferResetFlag; Flags]
-CommandBufferResetFlag :: enum Flags {
- RELEASE_RESOURCES = 0,
-}
-
-CommandBufferUsageFlags :: distinct bit_set[CommandBufferUsageFlag; Flags]
-CommandBufferUsageFlag :: enum Flags {
- ONE_TIME_SUBMIT = 0,
- RENDER_PASS_CONTINUE = 1,
- SIMULTANEOUS_USE = 2,
-}
-
-CommandPoolCreateFlags :: distinct bit_set[CommandPoolCreateFlag; Flags]
-CommandPoolCreateFlag :: enum Flags {
- TRANSIENT = 0,
- RESET_COMMAND_BUFFER = 1,
- PROTECTED = 2,
-}
-
-CommandPoolResetFlags :: distinct bit_set[CommandPoolResetFlag; Flags]
-CommandPoolResetFlag :: enum Flags {
- RELEASE_RESOURCES = 0,
-}
-
-CompareOp :: enum c.int {
- NEVER = 0,
- LESS = 1,
- EQUAL = 2,
- LESS_OR_EQUAL = 3,
- GREATER = 4,
- NOT_EQUAL = 5,
- GREATER_OR_EQUAL = 6,
- ALWAYS = 7,
-}
-
-ComponentSwizzle :: enum c.int {
- IDENTITY = 0,
- ZERO = 1,
- ONE = 2,
- R = 3,
- G = 4,
- B = 5,
- A = 6,
-}
-
-ComponentTypeNV :: enum c.int {
- FLOAT16 = 0,
- FLOAT32 = 1,
- FLOAT64 = 2,
- SINT8 = 3,
- SINT16 = 4,
- SINT32 = 5,
- SINT64 = 6,
- UINT8 = 7,
- UINT16 = 8,
- UINT32 = 9,
- UINT64 = 10,
-}
-
-CompositeAlphaFlagsKHR :: distinct bit_set[CompositeAlphaFlagKHR; Flags]
-CompositeAlphaFlagKHR :: enum Flags {
- OPAQUE = 0,
- PRE_MULTIPLIED = 1,
- POST_MULTIPLIED = 2,
- INHERIT = 3,
-}
-
-ConditionalRenderingFlagsEXT :: distinct bit_set[ConditionalRenderingFlagEXT; Flags]
-ConditionalRenderingFlagEXT :: enum Flags {
- INVERTED = 0,
-}
-
-ConservativeRasterizationModeEXT :: enum c.int {
- DISABLED = 0,
- OVERESTIMATE = 1,
- UNDERESTIMATE = 2,
-}
-
-CopyAccelerationStructureModeKHR :: enum c.int {
- CLONE = 0,
- COMPACT = 1,
- SERIALIZE = 2,
- DESERIALIZE = 3,
- CLONE_NV = CLONE,
- COMPACT_NV = COMPACT,
-}
-
-CopyMicromapModeEXT :: enum c.int {
- CLONE = 0,
- SERIALIZE = 1,
- DESERIALIZE = 2,
- COMPACT = 3,
-}
-
-CoverageModulationModeNV :: enum c.int {
- NONE = 0,
- RGB = 1,
- ALPHA = 2,
- RGBA = 3,
-}
-
-CoverageReductionModeNV :: enum c.int {
- MERGE = 0,
- TRUNCATE = 1,
-}
-
-CullModeFlags :: distinct bit_set[CullModeFlag; Flags]
-CullModeFlag :: enum Flags {
- FRONT = 0,
- BACK = 1,
-}
-
-CullModeFlags_NONE :: CullModeFlags{}
-CullModeFlags_FRONT_AND_BACK :: CullModeFlags{.FRONT, .BACK}
-
-
-DebugReportFlagsEXT :: distinct bit_set[DebugReportFlagEXT; Flags]
-DebugReportFlagEXT :: enum Flags {
- INFORMATION = 0,
- WARNING = 1,
- PERFORMANCE_WARNING = 2,
- ERROR = 3,
- DEBUG = 4,
-}
-
-DebugReportObjectTypeEXT :: enum c.int {
- UNKNOWN = 0,
- INSTANCE = 1,
- PHYSICAL_DEVICE = 2,
- DEVICE = 3,
- QUEUE = 4,
- SEMAPHORE = 5,
- COMMAND_BUFFER = 6,
- FENCE = 7,
- DEVICE_MEMORY = 8,
- BUFFER = 9,
- IMAGE = 10,
- EVENT = 11,
- QUERY_POOL = 12,
- BUFFER_VIEW = 13,
- IMAGE_VIEW = 14,
- SHADER_MODULE = 15,
- PIPELINE_CACHE = 16,
- PIPELINE_LAYOUT = 17,
- RENDER_PASS = 18,
- PIPELINE = 19,
- DESCRIPTOR_SET_LAYOUT = 20,
- SAMPLER = 21,
- DESCRIPTOR_POOL = 22,
- DESCRIPTOR_SET = 23,
- FRAMEBUFFER = 24,
- COMMAND_POOL = 25,
- SURFACE_KHR = 26,
- SWAPCHAIN_KHR = 27,
- DEBUG_REPORT_CALLBACK_EXT = 28,
- DISPLAY_KHR = 29,
- DISPLAY_MODE_KHR = 30,
- VALIDATION_CACHE_EXT = 33,
- SAMPLER_YCBCR_CONVERSION = 1000156000,
- DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
- CU_MODULE_NVX = 1000029000,
- CU_FUNCTION_NVX = 1000029001,
- ACCELERATION_STRUCTURE_KHR = 1000150000,
- ACCELERATION_STRUCTURE_NV = 1000165000,
- BUFFER_COLLECTION_FUCHSIA = 1000366000,
- DEBUG_REPORT = DEBUG_REPORT_CALLBACK_EXT,
- VALIDATION_CACHE = VALIDATION_CACHE_EXT,
- DESCRIPTOR_UPDATE_TEMPLATE_KHR = DESCRIPTOR_UPDATE_TEMPLATE,
- SAMPLER_YCBCR_CONVERSION_KHR = SAMPLER_YCBCR_CONVERSION,
-}
-
-DebugUtilsMessageSeverityFlagsEXT :: distinct bit_set[DebugUtilsMessageSeverityFlagEXT; Flags]
-DebugUtilsMessageSeverityFlagEXT :: enum Flags {
- VERBOSE = 0,
- INFO = 4,
- WARNING = 8,
- ERROR = 12,
-}
-
-DebugUtilsMessageTypeFlagsEXT :: distinct bit_set[DebugUtilsMessageTypeFlagEXT; Flags]
-DebugUtilsMessageTypeFlagEXT :: enum Flags {
- GENERAL = 0,
- VALIDATION = 1,
- PERFORMANCE = 2,
- DEVICE_ADDRESS_BINDING = 3,
-}
-
-DependencyFlags :: distinct bit_set[DependencyFlag; Flags]
-DependencyFlag :: enum Flags {
- BY_REGION = 0,
- DEVICE_GROUP = 2,
- VIEW_LOCAL = 1,
- FEEDBACK_LOOP_EXT = 3,
- VIEW_LOCAL_KHR = VIEW_LOCAL,
- DEVICE_GROUP_KHR = DEVICE_GROUP,
-}
-
-DescriptorBindingFlags :: distinct bit_set[DescriptorBindingFlag; Flags]
-DescriptorBindingFlag :: enum Flags {
- UPDATE_AFTER_BIND = 0,
- UPDATE_UNUSED_WHILE_PENDING = 1,
- PARTIALLY_BOUND = 2,
- VARIABLE_DESCRIPTOR_COUNT = 3,
- UPDATE_AFTER_BIND_EXT = UPDATE_AFTER_BIND,
- UPDATE_UNUSED_WHILE_PENDING_EXT = UPDATE_UNUSED_WHILE_PENDING,
- PARTIALLY_BOUND_EXT = PARTIALLY_BOUND,
- VARIABLE_DESCRIPTOR_COUNT_EXT = VARIABLE_DESCRIPTOR_COUNT,
-}
-
-DescriptorPoolCreateFlags :: distinct bit_set[DescriptorPoolCreateFlag; Flags]
-DescriptorPoolCreateFlag :: enum Flags {
- FREE_DESCRIPTOR_SET = 0,
- UPDATE_AFTER_BIND = 1,
- HOST_ONLY_EXT = 2,
- UPDATE_AFTER_BIND_EXT = UPDATE_AFTER_BIND,
- HOST_ONLY_VALVE = HOST_ONLY_EXT,
-}
-
-DescriptorSetLayoutCreateFlags :: distinct bit_set[DescriptorSetLayoutCreateFlag; Flags]
-DescriptorSetLayoutCreateFlag :: enum Flags {
- UPDATE_AFTER_BIND_POOL = 1,
- PUSH_DESCRIPTOR_KHR = 0,
- DESCRIPTOR_BUFFER_EXT = 4,
- EMBEDDED_IMMUTABLE_SAMPLERS_EXT = 5,
- HOST_ONLY_POOL_EXT = 2,
- UPDATE_AFTER_BIND_POOL_EXT = UPDATE_AFTER_BIND_POOL,
- HOST_ONLY_POOL_VALVE = HOST_ONLY_POOL_EXT,
-}
-
-DescriptorType :: enum c.int {
- SAMPLER = 0,
- COMBINED_IMAGE_SAMPLER = 1,
- SAMPLED_IMAGE = 2,
- STORAGE_IMAGE = 3,
- UNIFORM_TEXEL_BUFFER = 4,
- STORAGE_TEXEL_BUFFER = 5,
- UNIFORM_BUFFER = 6,
- STORAGE_BUFFER = 7,
- UNIFORM_BUFFER_DYNAMIC = 8,
- STORAGE_BUFFER_DYNAMIC = 9,
- INPUT_ATTACHMENT = 10,
- INLINE_UNIFORM_BLOCK = 1000138000,
- ACCELERATION_STRUCTURE_KHR = 1000150000,
- ACCELERATION_STRUCTURE_NV = 1000165000,
- SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000,
- BLOCK_MATCH_IMAGE_QCOM = 1000440001,
- MUTABLE_EXT = 1000351000,
- INLINE_UNIFORM_BLOCK_EXT = INLINE_UNIFORM_BLOCK,
- MUTABLE_VALVE = MUTABLE_EXT,
-}
-
-DescriptorUpdateTemplateType :: enum c.int {
- DESCRIPTOR_SET = 0,
- PUSH_DESCRIPTORS_KHR = 1,
- DESCRIPTOR_SET_KHR = DESCRIPTOR_SET,
-}
-
-DeviceAddressBindingFlagsEXT :: distinct bit_set[DeviceAddressBindingFlagEXT; Flags]
-DeviceAddressBindingFlagEXT :: enum Flags {
- INTERNAL_OBJECT = 0,
-}
-
-DeviceAddressBindingTypeEXT :: enum c.int {
- BIND = 0,
- UNBIND = 1,
-}
-
-DeviceDiagnosticsConfigFlagsNV :: distinct bit_set[DeviceDiagnosticsConfigFlagNV; Flags]
-DeviceDiagnosticsConfigFlagNV :: enum Flags {
- ENABLE_SHADER_DEBUG_INFO = 0,
- ENABLE_RESOURCE_TRACKING = 1,
- ENABLE_AUTOMATIC_CHECKPOINTS = 2,
- ENABLE_SHADER_ERROR_REPORTING = 3,
-}
-
-DeviceEventTypeEXT :: enum c.int {
- DISPLAY_HOTPLUG = 0,
-}
-
-DeviceFaultAddressTypeEXT :: enum c.int {
- NONE = 0,
- READ_INVALID = 1,
- WRITE_INVALID = 2,
- EXECUTE_INVALID = 3,
- INSTRUCTION_POINTER_UNKNOWN = 4,
- INSTRUCTION_POINTER_INVALID = 5,
- INSTRUCTION_POINTER_FAULT = 6,
-}
-
-DeviceFaultVendorBinaryHeaderVersionEXT :: enum c.int {
- ONE = 1,
-}
-
-DeviceGroupPresentModeFlagsKHR :: distinct bit_set[DeviceGroupPresentModeFlagKHR; Flags]
-DeviceGroupPresentModeFlagKHR :: enum Flags {
- LOCAL = 0,
- REMOTE = 1,
- SUM = 2,
- LOCAL_MULTI_DEVICE = 3,
-}
-
-DeviceMemoryReportEventTypeEXT :: enum c.int {
- ALLOCATE = 0,
- FREE = 1,
- IMPORT = 2,
- UNIMPORT = 3,
- ALLOCATION_FAILED = 4,
-}
-
-DeviceQueueCreateFlags :: distinct bit_set[DeviceQueueCreateFlag; Flags]
-DeviceQueueCreateFlag :: enum Flags {
- PROTECTED = 0,
-}
-
-DirectDriverLoadingModeLUNARG :: enum c.int {
- DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0,
- DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1,
-}
-
-DiscardRectangleModeEXT :: enum c.int {
- INCLUSIVE = 0,
- EXCLUSIVE = 1,
-}
-
-DisplayEventTypeEXT :: enum c.int {
- FIRST_PIXEL_OUT = 0,
-}
-
-DisplayPlaneAlphaFlagsKHR :: distinct bit_set[DisplayPlaneAlphaFlagKHR; Flags]
-DisplayPlaneAlphaFlagKHR :: enum Flags {
- OPAQUE = 0,
- GLOBAL = 1,
- PER_PIXEL = 2,
- PER_PIXEL_PREMULTIPLIED = 3,
-}
-
-DisplayPowerStateEXT :: enum c.int {
- OFF = 0,
- SUSPEND = 1,
- ON = 2,
-}
-
-DriverId :: enum c.int {
- AMD_PROPRIETARY = 1,
- AMD_OPEN_SOURCE = 2,
- MESA_RADV = 3,
- NVIDIA_PROPRIETARY = 4,
- INTEL_PROPRIETARY_WINDOWS = 5,
- INTEL_OPEN_SOURCE_MESA = 6,
- IMAGINATION_PROPRIETARY = 7,
- QUALCOMM_PROPRIETARY = 8,
- ARM_PROPRIETARY = 9,
- GOOGLE_SWIFTSHADER = 10,
- GGP_PROPRIETARY = 11,
- BROADCOM_PROPRIETARY = 12,
- MESA_LLVMPIPE = 13,
- MOLTENVK = 14,
- COREAVI_PROPRIETARY = 15,
- JUICE_PROPRIETARY = 16,
- VERISILICON_PROPRIETARY = 17,
- MESA_TURNIP = 18,
- MESA_V3DV = 19,
- MESA_PANVK = 20,
- SAMSUNG_PROPRIETARY = 21,
- MESA_VENUS = 22,
- MESA_DOZEN = 23,
- MESA_NVK = 24,
- IMAGINATION_OPEN_SOURCE_MESA = 25,
- AMD_PROPRIETARY_KHR = AMD_PROPRIETARY,
- AMD_OPEN_SOURCE_KHR = AMD_OPEN_SOURCE,
- MESA_RADV_KHR = MESA_RADV,
- NVIDIA_PROPRIETARY_KHR = NVIDIA_PROPRIETARY,
- INTEL_PROPRIETARY_WINDOWS_KHR = INTEL_PROPRIETARY_WINDOWS,
- INTEL_OPEN_SOURCE_MESA_KHR = INTEL_OPEN_SOURCE_MESA,
- IMAGINATION_PROPRIETARY_KHR = IMAGINATION_PROPRIETARY,
- QUALCOMM_PROPRIETARY_KHR = QUALCOMM_PROPRIETARY,
- ARM_PROPRIETARY_KHR = ARM_PROPRIETARY,
- GOOGLE_SWIFTSHADER_KHR = GOOGLE_SWIFTSHADER,
- GGP_PROPRIETARY_KHR = GGP_PROPRIETARY,
- BROADCOM_PROPRIETARY_KHR = BROADCOM_PROPRIETARY,
-}
-
-DynamicState :: enum c.int {
- VIEWPORT = 0,
- SCISSOR = 1,
- LINE_WIDTH = 2,
- DEPTH_BIAS = 3,
- BLEND_CONSTANTS = 4,
- DEPTH_BOUNDS = 5,
- STENCIL_COMPARE_MASK = 6,
- STENCIL_WRITE_MASK = 7,
- STENCIL_REFERENCE = 8,
- CULL_MODE = 1000267000,
- FRONT_FACE = 1000267001,
- PRIMITIVE_TOPOLOGY = 1000267002,
- VIEWPORT_WITH_COUNT = 1000267003,
- SCISSOR_WITH_COUNT = 1000267004,
- VERTEX_INPUT_BINDING_STRIDE = 1000267005,
- DEPTH_TEST_ENABLE = 1000267006,
- DEPTH_WRITE_ENABLE = 1000267007,
- DEPTH_COMPARE_OP = 1000267008,
- DEPTH_BOUNDS_TEST_ENABLE = 1000267009,
- STENCIL_TEST_ENABLE = 1000267010,
- STENCIL_OP = 1000267011,
- RASTERIZER_DISCARD_ENABLE = 1000377001,
- DEPTH_BIAS_ENABLE = 1000377002,
- PRIMITIVE_RESTART_ENABLE = 1000377004,
- VIEWPORT_W_SCALING_NV = 1000087000,
- DISCARD_RECTANGLE_EXT = 1000099000,
- DISCARD_RECTANGLE_ENABLE_EXT = 1000099001,
- DISCARD_RECTANGLE_MODE_EXT = 1000099002,
- SAMPLE_LOCATIONS_EXT = 1000143000,
- RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
- VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
- VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
- EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000,
- EXCLUSIVE_SCISSOR_NV = 1000205001,
- FRAGMENT_SHADING_RATE_KHR = 1000226000,
- LINE_STIPPLE_EXT = 1000259000,
- VERTEX_INPUT_EXT = 1000352000,
- PATCH_CONTROL_POINTS_EXT = 1000377000,
- LOGIC_OP_EXT = 1000377003,
- COLOR_WRITE_ENABLE_EXT = 1000381000,
- TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002,
- DEPTH_CLAMP_ENABLE_EXT = 1000455003,
- POLYGON_MODE_EXT = 1000455004,
- RASTERIZATION_SAMPLES_EXT = 1000455005,
- SAMPLE_MASK_EXT = 1000455006,
- ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007,
- ALPHA_TO_ONE_ENABLE_EXT = 1000455008,
- LOGIC_OP_ENABLE_EXT = 1000455009,
- COLOR_BLEND_ENABLE_EXT = 1000455010,
- COLOR_BLEND_EQUATION_EXT = 1000455011,
- COLOR_WRITE_MASK_EXT = 1000455012,
- RASTERIZATION_STREAM_EXT = 1000455013,
- CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014,
- EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015,
- DEPTH_CLIP_ENABLE_EXT = 1000455016,
- SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017,
- COLOR_BLEND_ADVANCED_EXT = 1000455018,
- PROVOKING_VERTEX_MODE_EXT = 1000455019,
- LINE_RASTERIZATION_MODE_EXT = 1000455020,
- LINE_STIPPLE_ENABLE_EXT = 1000455021,
- DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022,
- VIEWPORT_W_SCALING_ENABLE_NV = 1000455023,
- VIEWPORT_SWIZZLE_NV = 1000455024,
- COVERAGE_TO_COLOR_ENABLE_NV = 1000455025,
- COVERAGE_TO_COLOR_LOCATION_NV = 1000455026,
- COVERAGE_MODULATION_MODE_NV = 1000455027,
- COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028,
- COVERAGE_MODULATION_TABLE_NV = 1000455029,
- SHADING_RATE_IMAGE_ENABLE_NV = 1000455030,
- REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031,
- COVERAGE_REDUCTION_MODE_NV = 1000455032,
- ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000,
- CULL_MODE_EXT = CULL_MODE,
- FRONT_FACE_EXT = FRONT_FACE,
- PRIMITIVE_TOPOLOGY_EXT = PRIMITIVE_TOPOLOGY,
- VIEWPORT_WITH_COUNT_EXT = VIEWPORT_WITH_COUNT,
- SCISSOR_WITH_COUNT_EXT = SCISSOR_WITH_COUNT,
- VERTEX_INPUT_BINDING_STRIDE_EXT = VERTEX_INPUT_BINDING_STRIDE,
- DEPTH_TEST_ENABLE_EXT = DEPTH_TEST_ENABLE,
- DEPTH_WRITE_ENABLE_EXT = DEPTH_WRITE_ENABLE,
- DEPTH_COMPARE_OP_EXT = DEPTH_COMPARE_OP,
- DEPTH_BOUNDS_TEST_ENABLE_EXT = DEPTH_BOUNDS_TEST_ENABLE,
- STENCIL_TEST_ENABLE_EXT = STENCIL_TEST_ENABLE,
- STENCIL_OP_EXT = STENCIL_OP,
- RASTERIZER_DISCARD_ENABLE_EXT = RASTERIZER_DISCARD_ENABLE,
- DEPTH_BIAS_ENABLE_EXT = DEPTH_BIAS_ENABLE,
- PRIMITIVE_RESTART_ENABLE_EXT = PRIMITIVE_RESTART_ENABLE,
-}
-
-EventCreateFlags :: distinct bit_set[EventCreateFlag; Flags]
-EventCreateFlag :: enum Flags {
- DEVICE_ONLY = 0,
- DEVICE_ONLY_KHR = DEVICE_ONLY,
-}
-
-ExportMetalObjectTypeFlagsEXT :: distinct bit_set[ExportMetalObjectTypeFlagEXT; Flags]
-ExportMetalObjectTypeFlagEXT :: enum Flags {
- METAL_DEVICE = 0,
- METAL_COMMAND_QUEUE = 1,
- METAL_BUFFER = 2,
- METAL_TEXTURE = 3,
- METAL_IOSURFACE = 4,
- METAL_SHARED_EVENT = 5,
-}
-
-ExternalFenceFeatureFlags :: distinct bit_set[ExternalFenceFeatureFlag; Flags]
-ExternalFenceFeatureFlag :: enum Flags {
- EXPORTABLE = 0,
- IMPORTABLE = 1,
- EXPORTABLE_KHR = EXPORTABLE,
- IMPORTABLE_KHR = IMPORTABLE,
-}
-
-ExternalFenceHandleTypeFlags :: distinct bit_set[ExternalFenceHandleTypeFlag; Flags]
-ExternalFenceHandleTypeFlag :: enum Flags {
- OPAQUE_FD = 0,
- OPAQUE_WIN32 = 1,
- OPAQUE_WIN32_KMT = 2,
- SYNC_FD = 3,
- OPAQUE_FD_KHR = OPAQUE_FD,
- OPAQUE_WIN32_KHR = OPAQUE_WIN32,
- OPAQUE_WIN32_KMT_KHR = OPAQUE_WIN32_KMT,
- SYNC_FD_KHR = SYNC_FD,
-}
-
-ExternalMemoryFeatureFlags :: distinct bit_set[ExternalMemoryFeatureFlag; Flags]
-ExternalMemoryFeatureFlag :: enum Flags {
- DEDICATED_ONLY = 0,
- EXPORTABLE = 1,
- IMPORTABLE = 2,
- DEDICATED_ONLY_KHR = DEDICATED_ONLY,
- EXPORTABLE_KHR = EXPORTABLE,
- IMPORTABLE_KHR = IMPORTABLE,
-}
-
-ExternalMemoryFeatureFlagsNV :: distinct bit_set[ExternalMemoryFeatureFlagNV; Flags]
-ExternalMemoryFeatureFlagNV :: enum Flags {
- DEDICATED_ONLY = 0,
- EXPORTABLE = 1,
- IMPORTABLE = 2,
-}
-
-ExternalMemoryHandleTypeFlags :: distinct bit_set[ExternalMemoryHandleTypeFlag; Flags]
-ExternalMemoryHandleTypeFlag :: enum Flags {
- OPAQUE_FD = 0,
- OPAQUE_WIN32 = 1,
- OPAQUE_WIN32_KMT = 2,
- D3D11_TEXTURE = 3,
- D3D11_TEXTURE_KMT = 4,
- D3D12_HEAP = 5,
- D3D12_RESOURCE = 6,
- DMA_BUF_EXT = 9,
- ANDROID_HARDWARE_BUFFER_ANDROID = 10,
- HOST_ALLOCATION_EXT = 7,
- HOST_MAPPED_FOREIGN_MEMORY_EXT = 8,
- ZIRCON_VMO_FUCHSIA = 11,
- RDMA_ADDRESS_NV = 12,
- OPAQUE_FD_KHR = OPAQUE_FD,
- OPAQUE_WIN32_KHR = OPAQUE_WIN32,
- OPAQUE_WIN32_KMT_KHR = OPAQUE_WIN32_KMT,
- D3D11_TEXTURE_KHR = D3D11_TEXTURE,
- D3D11_TEXTURE_KMT_KHR = D3D11_TEXTURE_KMT,
- D3D12_HEAP_KHR = D3D12_HEAP,
- D3D12_RESOURCE_KHR = D3D12_RESOURCE,
-}
-
-ExternalMemoryHandleTypeFlagsNV :: distinct bit_set[ExternalMemoryHandleTypeFlagNV; Flags]
-ExternalMemoryHandleTypeFlagNV :: enum Flags {
- OPAQUE_WIN32 = 0,
- OPAQUE_WIN32_KMT = 1,
- D3D11_IMAGE = 2,
- D3D11_IMAGE_KMT = 3,
-}
-
-ExternalSemaphoreFeatureFlags :: distinct bit_set[ExternalSemaphoreFeatureFlag; Flags]
-ExternalSemaphoreFeatureFlag :: enum Flags {
- EXPORTABLE = 0,
- IMPORTABLE = 1,
- EXPORTABLE_KHR = EXPORTABLE,
- IMPORTABLE_KHR = IMPORTABLE,
-}
-
-ExternalSemaphoreHandleTypeFlags :: distinct bit_set[ExternalSemaphoreHandleTypeFlag; Flags]
-ExternalSemaphoreHandleTypeFlag :: enum Flags {
- OPAQUE_FD = 0,
- OPAQUE_WIN32 = 1,
- OPAQUE_WIN32_KMT = 2,
- D3D12_FENCE = 3,
- SYNC_FD = 4,
- ZIRCON_EVENT_FUCHSIA = 7,
- D3D11_FENCE = D3D12_FENCE,
- OPAQUE_FD_KHR = OPAQUE_FD,
- OPAQUE_WIN32_KHR = OPAQUE_WIN32,
- OPAQUE_WIN32_KMT_KHR = OPAQUE_WIN32_KMT,
- D3D12_FENCE_KHR = D3D12_FENCE,
- SYNC_FD_KHR = SYNC_FD,
-}
-
-FenceCreateFlags :: distinct bit_set[FenceCreateFlag; Flags]
-FenceCreateFlag :: enum Flags {
- SIGNALED = 0,
-}
-
-FenceImportFlags :: distinct bit_set[FenceImportFlag; Flags]
-FenceImportFlag :: enum Flags {
- TEMPORARY = 0,
- TEMPORARY_KHR = TEMPORARY,
-}
-
-Filter :: enum c.int {
- NEAREST = 0,
- LINEAR = 1,
- CUBIC_EXT = 1000015000,
- CUBIC_IMG = CUBIC_EXT,
-}
-
-Format :: enum c.int {
- UNDEFINED = 0,
- R4G4_UNORM_PACK8 = 1,
- R4G4B4A4_UNORM_PACK16 = 2,
- B4G4R4A4_UNORM_PACK16 = 3,
- R5G6B5_UNORM_PACK16 = 4,
- B5G6R5_UNORM_PACK16 = 5,
- R5G5B5A1_UNORM_PACK16 = 6,
- B5G5R5A1_UNORM_PACK16 = 7,
- A1R5G5B5_UNORM_PACK16 = 8,
- R8_UNORM = 9,
- R8_SNORM = 10,
- R8_USCALED = 11,
- R8_SSCALED = 12,
- R8_UINT = 13,
- R8_SINT = 14,
- R8_SRGB = 15,
- R8G8_UNORM = 16,
- R8G8_SNORM = 17,
- R8G8_USCALED = 18,
- R8G8_SSCALED = 19,
- R8G8_UINT = 20,
- R8G8_SINT = 21,
- R8G8_SRGB = 22,
- R8G8B8_UNORM = 23,
- R8G8B8_SNORM = 24,
- R8G8B8_USCALED = 25,
- R8G8B8_SSCALED = 26,
- R8G8B8_UINT = 27,
- R8G8B8_SINT = 28,
- R8G8B8_SRGB = 29,
- B8G8R8_UNORM = 30,
- B8G8R8_SNORM = 31,
- B8G8R8_USCALED = 32,
- B8G8R8_SSCALED = 33,
- B8G8R8_UINT = 34,
- B8G8R8_SINT = 35,
- B8G8R8_SRGB = 36,
- R8G8B8A8_UNORM = 37,
- R8G8B8A8_SNORM = 38,
- R8G8B8A8_USCALED = 39,
- R8G8B8A8_SSCALED = 40,
- R8G8B8A8_UINT = 41,
- R8G8B8A8_SINT = 42,
- R8G8B8A8_SRGB = 43,
- B8G8R8A8_UNORM = 44,
- B8G8R8A8_SNORM = 45,
- B8G8R8A8_USCALED = 46,
- B8G8R8A8_SSCALED = 47,
- B8G8R8A8_UINT = 48,
- B8G8R8A8_SINT = 49,
- B8G8R8A8_SRGB = 50,
- A8B8G8R8_UNORM_PACK32 = 51,
- A8B8G8R8_SNORM_PACK32 = 52,
- A8B8G8R8_USCALED_PACK32 = 53,
- A8B8G8R8_SSCALED_PACK32 = 54,
- A8B8G8R8_UINT_PACK32 = 55,
- A8B8G8R8_SINT_PACK32 = 56,
- A8B8G8R8_SRGB_PACK32 = 57,
- A2R10G10B10_UNORM_PACK32 = 58,
- A2R10G10B10_SNORM_PACK32 = 59,
- A2R10G10B10_USCALED_PACK32 = 60,
- A2R10G10B10_SSCALED_PACK32 = 61,
- A2R10G10B10_UINT_PACK32 = 62,
- A2R10G10B10_SINT_PACK32 = 63,
- A2B10G10R10_UNORM_PACK32 = 64,
- A2B10G10R10_SNORM_PACK32 = 65,
- A2B10G10R10_USCALED_PACK32 = 66,
- A2B10G10R10_SSCALED_PACK32 = 67,
- A2B10G10R10_UINT_PACK32 = 68,
- A2B10G10R10_SINT_PACK32 = 69,
- R16_UNORM = 70,
- R16_SNORM = 71,
- R16_USCALED = 72,
- R16_SSCALED = 73,
- R16_UINT = 74,
- R16_SINT = 75,
- R16_SFLOAT = 76,
- R16G16_UNORM = 77,
- R16G16_SNORM = 78,
- R16G16_USCALED = 79,
- R16G16_SSCALED = 80,
- R16G16_UINT = 81,
- R16G16_SINT = 82,
- R16G16_SFLOAT = 83,
- R16G16B16_UNORM = 84,
- R16G16B16_SNORM = 85,
- R16G16B16_USCALED = 86,
- R16G16B16_SSCALED = 87,
- R16G16B16_UINT = 88,
- R16G16B16_SINT = 89,
- R16G16B16_SFLOAT = 90,
- R16G16B16A16_UNORM = 91,
- R16G16B16A16_SNORM = 92,
- R16G16B16A16_USCALED = 93,
- R16G16B16A16_SSCALED = 94,
- R16G16B16A16_UINT = 95,
- R16G16B16A16_SINT = 96,
- R16G16B16A16_SFLOAT = 97,
- R32_UINT = 98,
- R32_SINT = 99,
- R32_SFLOAT = 100,
- R32G32_UINT = 101,
- R32G32_SINT = 102,
- R32G32_SFLOAT = 103,
- R32G32B32_UINT = 104,
- R32G32B32_SINT = 105,
- R32G32B32_SFLOAT = 106,
- R32G32B32A32_UINT = 107,
- R32G32B32A32_SINT = 108,
- R32G32B32A32_SFLOAT = 109,
- R64_UINT = 110,
- R64_SINT = 111,
- R64_SFLOAT = 112,
- R64G64_UINT = 113,
- R64G64_SINT = 114,
- R64G64_SFLOAT = 115,
- R64G64B64_UINT = 116,
- R64G64B64_SINT = 117,
- R64G64B64_SFLOAT = 118,
- R64G64B64A64_UINT = 119,
- R64G64B64A64_SINT = 120,
- R64G64B64A64_SFLOAT = 121,
- B10G11R11_UFLOAT_PACK32 = 122,
- E5B9G9R9_UFLOAT_PACK32 = 123,
- D16_UNORM = 124,
- X8_D24_UNORM_PACK32 = 125,
- D32_SFLOAT = 126,
- S8_UINT = 127,
- D16_UNORM_S8_UINT = 128,
- D24_UNORM_S8_UINT = 129,
- D32_SFLOAT_S8_UINT = 130,
- BC1_RGB_UNORM_BLOCK = 131,
- BC1_RGB_SRGB_BLOCK = 132,
- BC1_RGBA_UNORM_BLOCK = 133,
- BC1_RGBA_SRGB_BLOCK = 134,
- BC2_UNORM_BLOCK = 135,
- BC2_SRGB_BLOCK = 136,
- BC3_UNORM_BLOCK = 137,
- BC3_SRGB_BLOCK = 138,
- BC4_UNORM_BLOCK = 139,
- BC4_SNORM_BLOCK = 140,
- BC5_UNORM_BLOCK = 141,
- BC5_SNORM_BLOCK = 142,
- BC6H_UFLOAT_BLOCK = 143,
- BC6H_SFLOAT_BLOCK = 144,
- BC7_UNORM_BLOCK = 145,
- BC7_SRGB_BLOCK = 146,
- ETC2_R8G8B8_UNORM_BLOCK = 147,
- ETC2_R8G8B8_SRGB_BLOCK = 148,
- ETC2_R8G8B8A1_UNORM_BLOCK = 149,
- ETC2_R8G8B8A1_SRGB_BLOCK = 150,
- ETC2_R8G8B8A8_UNORM_BLOCK = 151,
- ETC2_R8G8B8A8_SRGB_BLOCK = 152,
- EAC_R11_UNORM_BLOCK = 153,
- EAC_R11_SNORM_BLOCK = 154,
- EAC_R11G11_UNORM_BLOCK = 155,
- EAC_R11G11_SNORM_BLOCK = 156,
- ASTC_4x4_UNORM_BLOCK = 157,
- ASTC_4x4_SRGB_BLOCK = 158,
- ASTC_5x4_UNORM_BLOCK = 159,
- ASTC_5x4_SRGB_BLOCK = 160,
- ASTC_5x5_UNORM_BLOCK = 161,
- ASTC_5x5_SRGB_BLOCK = 162,
- ASTC_6x5_UNORM_BLOCK = 163,
- ASTC_6x5_SRGB_BLOCK = 164,
- ASTC_6x6_UNORM_BLOCK = 165,
- ASTC_6x6_SRGB_BLOCK = 166,
- ASTC_8x5_UNORM_BLOCK = 167,
- ASTC_8x5_SRGB_BLOCK = 168,
- ASTC_8x6_UNORM_BLOCK = 169,
- ASTC_8x6_SRGB_BLOCK = 170,
- ASTC_8x8_UNORM_BLOCK = 171,
- ASTC_8x8_SRGB_BLOCK = 172,
- ASTC_10x5_UNORM_BLOCK = 173,
- ASTC_10x5_SRGB_BLOCK = 174,
- ASTC_10x6_UNORM_BLOCK = 175,
- ASTC_10x6_SRGB_BLOCK = 176,
- ASTC_10x8_UNORM_BLOCK = 177,
- ASTC_10x8_SRGB_BLOCK = 178,
- ASTC_10x10_UNORM_BLOCK = 179,
- ASTC_10x10_SRGB_BLOCK = 180,
- ASTC_12x10_UNORM_BLOCK = 181,
- ASTC_12x10_SRGB_BLOCK = 182,
- ASTC_12x12_UNORM_BLOCK = 183,
- ASTC_12x12_SRGB_BLOCK = 184,
- G8B8G8R8_422_UNORM = 1000156000,
- B8G8R8G8_422_UNORM = 1000156001,
- G8_B8_R8_3PLANE_420_UNORM = 1000156002,
- G8_B8R8_2PLANE_420_UNORM = 1000156003,
- G8_B8_R8_3PLANE_422_UNORM = 1000156004,
- G8_B8R8_2PLANE_422_UNORM = 1000156005,
- G8_B8_R8_3PLANE_444_UNORM = 1000156006,
- R10X6_UNORM_PACK16 = 1000156007,
- R10X6G10X6_UNORM_2PACK16 = 1000156008,
- R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
- G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
- B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
- G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
- G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
- G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
- R12X4_UNORM_PACK16 = 1000156017,
- R12X4G12X4_UNORM_2PACK16 = 1000156018,
- R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
- G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
- B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
- G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
- G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
- G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
- G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
- G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
- G16B16G16R16_422_UNORM = 1000156027,
- B16G16R16G16_422_UNORM = 1000156028,
- G16_B16_R16_3PLANE_420_UNORM = 1000156029,
- G16_B16R16_2PLANE_420_UNORM = 1000156030,
- G16_B16_R16_3PLANE_422_UNORM = 1000156031,
- G16_B16R16_2PLANE_422_UNORM = 1000156032,
- G16_B16_R16_3PLANE_444_UNORM = 1000156033,
- G8_B8R8_2PLANE_444_UNORM = 1000330000,
- G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001,
- G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002,
- G16_B16R16_2PLANE_444_UNORM = 1000330003,
- A4R4G4B4_UNORM_PACK16 = 1000340000,
- A4B4G4R4_UNORM_PACK16 = 1000340001,
- ASTC_4x4_SFLOAT_BLOCK = 1000066000,
- ASTC_5x4_SFLOAT_BLOCK = 1000066001,
- ASTC_5x5_SFLOAT_BLOCK = 1000066002,
- ASTC_6x5_SFLOAT_BLOCK = 1000066003,
- ASTC_6x6_SFLOAT_BLOCK = 1000066004,
- ASTC_8x5_SFLOAT_BLOCK = 1000066005,
- ASTC_8x6_SFLOAT_BLOCK = 1000066006,
- ASTC_8x8_SFLOAT_BLOCK = 1000066007,
- ASTC_10x5_SFLOAT_BLOCK = 1000066008,
- ASTC_10x6_SFLOAT_BLOCK = 1000066009,
- ASTC_10x8_SFLOAT_BLOCK = 1000066010,
- ASTC_10x10_SFLOAT_BLOCK = 1000066011,
- ASTC_12x10_SFLOAT_BLOCK = 1000066012,
- ASTC_12x12_SFLOAT_BLOCK = 1000066013,
- PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
- PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
- PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
- PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
- PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
- PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
- PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
- PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
- R16G16_S10_5_NV = 1000464000,
- ASTC_4x4_SFLOAT_BLOCK_EXT = ASTC_4x4_SFLOAT_BLOCK,
- ASTC_5x4_SFLOAT_BLOCK_EXT = ASTC_5x4_SFLOAT_BLOCK,
- ASTC_5x5_SFLOAT_BLOCK_EXT = ASTC_5x5_SFLOAT_BLOCK,
- ASTC_6x5_SFLOAT_BLOCK_EXT = ASTC_6x5_SFLOAT_BLOCK,
- ASTC_6x6_SFLOAT_BLOCK_EXT = ASTC_6x6_SFLOAT_BLOCK,
- ASTC_8x5_SFLOAT_BLOCK_EXT = ASTC_8x5_SFLOAT_BLOCK,
- ASTC_8x6_SFLOAT_BLOCK_EXT = ASTC_8x6_SFLOAT_BLOCK,
- ASTC_8x8_SFLOAT_BLOCK_EXT = ASTC_8x8_SFLOAT_BLOCK,
- ASTC_10x5_SFLOAT_BLOCK_EXT = ASTC_10x5_SFLOAT_BLOCK,
- ASTC_10x6_SFLOAT_BLOCK_EXT = ASTC_10x6_SFLOAT_BLOCK,
- ASTC_10x8_SFLOAT_BLOCK_EXT = ASTC_10x8_SFLOAT_BLOCK,
- ASTC_10x10_SFLOAT_BLOCK_EXT = ASTC_10x10_SFLOAT_BLOCK,
- ASTC_12x10_SFLOAT_BLOCK_EXT = ASTC_12x10_SFLOAT_BLOCK,
- ASTC_12x12_SFLOAT_BLOCK_EXT = ASTC_12x12_SFLOAT_BLOCK,
- G8B8G8R8_422_UNORM_KHR = G8B8G8R8_422_UNORM,
- B8G8R8G8_422_UNORM_KHR = B8G8R8G8_422_UNORM,
- G8_B8_R8_3PLANE_420_UNORM_KHR = G8_B8_R8_3PLANE_420_UNORM,
- G8_B8R8_2PLANE_420_UNORM_KHR = G8_B8R8_2PLANE_420_UNORM,
- G8_B8_R8_3PLANE_422_UNORM_KHR = G8_B8_R8_3PLANE_422_UNORM,
- G8_B8R8_2PLANE_422_UNORM_KHR = G8_B8R8_2PLANE_422_UNORM,
- G8_B8_R8_3PLANE_444_UNORM_KHR = G8_B8_R8_3PLANE_444_UNORM,
- R10X6_UNORM_PACK16_KHR = R10X6_UNORM_PACK16,
- R10X6G10X6_UNORM_2PACK16_KHR = R10X6G10X6_UNORM_2PACK16,
- R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = R10X6G10X6B10X6A10X6_UNORM_4PACK16,
- G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
- B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
- G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
- G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
- G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
- R12X4_UNORM_PACK16_KHR = R12X4_UNORM_PACK16,
- R12X4G12X4_UNORM_2PACK16_KHR = R12X4G12X4_UNORM_2PACK16,
- R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = R12X4G12X4B12X4A12X4_UNORM_4PACK16,
- G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
- B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
- G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
- G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
- G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
- G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
- G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
- G16B16G16R16_422_UNORM_KHR = G16B16G16R16_422_UNORM,
- B16G16R16G16_422_UNORM_KHR = B16G16R16G16_422_UNORM,
- G16_B16_R16_3PLANE_420_UNORM_KHR = G16_B16_R16_3PLANE_420_UNORM,
- G16_B16R16_2PLANE_420_UNORM_KHR = G16_B16R16_2PLANE_420_UNORM,
- G16_B16_R16_3PLANE_422_UNORM_KHR = G16_B16_R16_3PLANE_422_UNORM,
- G16_B16R16_2PLANE_422_UNORM_KHR = G16_B16R16_2PLANE_422_UNORM,
- G16_B16_R16_3PLANE_444_UNORM_KHR = G16_B16_R16_3PLANE_444_UNORM,
- G8_B8R8_2PLANE_444_UNORM_EXT = G8_B8R8_2PLANE_444_UNORM,
- G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
- G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
- G16_B16R16_2PLANE_444_UNORM_EXT = G16_B16R16_2PLANE_444_UNORM,
- A4R4G4B4_UNORM_PACK16_EXT = A4R4G4B4_UNORM_PACK16,
- A4B4G4R4_UNORM_PACK16_EXT = A4B4G4R4_UNORM_PACK16,
-}
-
-FormatFeatureFlags :: distinct bit_set[FormatFeatureFlag; Flags]
-FormatFeatureFlag :: enum Flags {
- SAMPLED_IMAGE = 0,
- STORAGE_IMAGE = 1,
- STORAGE_IMAGE_ATOMIC = 2,
- UNIFORM_TEXEL_BUFFER = 3,
- STORAGE_TEXEL_BUFFER = 4,
- STORAGE_TEXEL_BUFFER_ATOMIC = 5,
- VERTEX_BUFFER = 6,
- COLOR_ATTACHMENT = 7,
- COLOR_ATTACHMENT_BLEND = 8,
- DEPTH_STENCIL_ATTACHMENT = 9,
- BLIT_SRC = 10,
- BLIT_DST = 11,
- SAMPLED_IMAGE_FILTER_LINEAR = 12,
- TRANSFER_SRC = 14,
- TRANSFER_DST = 15,
- MIDPOINT_CHROMA_SAMPLES = 17,
- SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER = 18,
- SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER = 19,
- SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT = 20,
- SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE = 21,
- DISJOINT = 22,
- COSITED_CHROMA_SAMPLES = 23,
- SAMPLED_IMAGE_FILTER_MINMAX = 16,
- VIDEO_DECODE_OUTPUT_KHR = 25,
- VIDEO_DECODE_DPB_KHR = 26,
- ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR = 29,
- SAMPLED_IMAGE_FILTER_CUBIC_EXT = 13,
- FRAGMENT_DENSITY_MAP_EXT = 24,
- FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 30,
- VIDEO_ENCODE_INPUT_KHR = 27,
- VIDEO_ENCODE_DPB_KHR = 28,
- SAMPLED_IMAGE_FILTER_CUBIC_IMG = SAMPLED_IMAGE_FILTER_CUBIC_EXT,
- TRANSFER_SRC_KHR = TRANSFER_SRC,
- TRANSFER_DST_KHR = TRANSFER_DST,
- SAMPLED_IMAGE_FILTER_MINMAX_EXT = SAMPLED_IMAGE_FILTER_MINMAX,
- MIDPOINT_CHROMA_SAMPLES_KHR = MIDPOINT_CHROMA_SAMPLES,
- SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_KHR = SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER,
- SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_KHR = SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER,
- SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_KHR = SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT,
- SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_KHR = SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE,
- DISJOINT_KHR = DISJOINT,
- COSITED_CHROMA_SAMPLES_KHR = COSITED_CHROMA_SAMPLES,
-}
-
-FragmentShadingRateCombinerOpKHR :: enum c.int {
- KEEP = 0,
- REPLACE = 1,
- MIN = 2,
- MAX = 3,
- MUL = 4,
-}
-
-FragmentShadingRateNV :: enum c.int {
- _1_INVOCATION_PER_PIXEL = 0,
- _1_INVOCATION_PER_1X2_PIXELS = 1,
- _1_INVOCATION_PER_2X1_PIXELS = 4,
- _1_INVOCATION_PER_2X2_PIXELS = 5,
- _1_INVOCATION_PER_2X4_PIXELS = 6,
- _1_INVOCATION_PER_4X2_PIXELS = 9,
- _1_INVOCATION_PER_4X4_PIXELS = 10,
- _2_INVOCATIONS_PER_PIXEL = 11,
- _4_INVOCATIONS_PER_PIXEL = 12,
- _8_INVOCATIONS_PER_PIXEL = 13,
- _16_INVOCATIONS_PER_PIXEL = 14,
- NO_INVOCATIONS = 15,
-}
-
-FragmentShadingRateTypeNV :: enum c.int {
- FRAGMENT_SIZE = 0,
- ENUMS = 1,
-}
-
-FramebufferCreateFlags :: distinct bit_set[FramebufferCreateFlag; Flags]
-FramebufferCreateFlag :: enum Flags {
- IMAGELESS = 0,
- IMAGELESS_KHR = IMAGELESS,
-}
-
-FrontFace :: enum c.int {
- COUNTER_CLOCKWISE = 0,
- CLOCKWISE = 1,
-}
-
-FullScreenExclusiveEXT :: enum c.int {
- DEFAULT = 0,
- ALLOWED = 1,
- DISALLOWED = 2,
- APPLICATION_CONTROLLED = 3,
-}
-
-GeometryFlagsKHR :: distinct bit_set[GeometryFlagKHR; Flags]
-GeometryFlagKHR :: enum Flags {
- OPAQUE = 0,
- NO_DUPLICATE_ANY_HIT_INVOCATION = 1,
- OPAQUE_NV = OPAQUE,
- NO_DUPLICATE_ANY_HIT_INVOCATION_NV = NO_DUPLICATE_ANY_HIT_INVOCATION,
-}
-
-GeometryInstanceFlagsKHR :: distinct bit_set[GeometryInstanceFlagKHR; Flags]
-GeometryInstanceFlagKHR :: enum Flags {
- TRIANGLE_FACING_CULL_DISABLE = 0,
- TRIANGLE_FLIP_FACING = 1,
- FORCE_OPAQUE = 2,
- FORCE_NO_OPAQUE = 3,
- FORCE_OPACITY_MICROMAP_2_STATE_EXT = 4,
- DISABLE_OPACITY_MICROMAPS_EXT = 5,
- TRIANGLE_FRONT_COUNTERCLOCKWISE = TRIANGLE_FLIP_FACING,
- TRIANGLE_CULL_DISABLE_NV = TRIANGLE_FACING_CULL_DISABLE,
- TRIANGLE_FRONT_COUNTERCLOCKWISE_NV = TRIANGLE_FRONT_COUNTERCLOCKWISE,
- FORCE_OPAQUE_NV = FORCE_OPAQUE,
- FORCE_NO_OPAQUE_NV = FORCE_NO_OPAQUE,
-}
-
-GeometryTypeKHR :: enum c.int {
- TRIANGLES = 0,
- AABBS = 1,
- INSTANCES = 2,
- TRIANGLES_NV = TRIANGLES,
- AABBS_NV = AABBS,
-}
-
-GraphicsPipelineLibraryFlagsEXT :: distinct bit_set[GraphicsPipelineLibraryFlagEXT; Flags]
-GraphicsPipelineLibraryFlagEXT :: enum Flags {
- VERTEX_INPUT_INTERFACE = 0,
- PRE_RASTERIZATION_SHADERS = 1,
- FRAGMENT_SHADER = 2,
- FRAGMENT_OUTPUT_INTERFACE = 3,
-}
-
-ImageAspectFlags :: distinct bit_set[ImageAspectFlag; Flags]
-ImageAspectFlag :: enum Flags {
- COLOR = 0,
- DEPTH = 1,
- STENCIL = 2,
- METADATA = 3,
- PLANE_0 = 4,
- PLANE_1 = 5,
- PLANE_2 = 6,
- MEMORY_PLANE_0_EXT = 7,
- MEMORY_PLANE_1_EXT = 8,
- MEMORY_PLANE_2_EXT = 9,
- MEMORY_PLANE_3_EXT = 10,
- PLANE_0_KHR = PLANE_0,
- PLANE_1_KHR = PLANE_1,
- PLANE_2_KHR = PLANE_2,
-}
-
-ImageAspectFlags_NONE :: ImageAspectFlags{}
-
-
-ImageCompressionFixedRateFlagsEXT :: distinct bit_set[ImageCompressionFixedRateFlagEXT; Flags]
-ImageCompressionFixedRateFlagEXT :: enum Flags {
- _1BPC = 0,
- _2BPC = 1,
- _3BPC = 2,
- _4BPC = 3,
- _5BPC = 4,
- _6BPC = 5,
- _7BPC = 6,
- _8BPC = 7,
- _9BPC = 8,
- _10BPC = 9,
- _11BPC = 10,
- _12BPC = 11,
- _13BPC = 12,
- _14BPC = 13,
- _15BPC = 14,
- _16BPC = 15,
- _17BPC = 16,
- _18BPC = 17,
- _19BPC = 18,
- _20BPC = 19,
- _21BPC = 20,
- _22BPC = 21,
- _23BPC = 22,
- _24BPC = 23,
-}
-
-ImageCompressionFixedRateFlagsEXT_NONE :: ImageCompressionFixedRateFlagsEXT{}
-
-
-ImageCompressionFlagsEXT :: distinct bit_set[ImageCompressionFlagEXT; Flags]
-ImageCompressionFlagEXT :: enum Flags {
- FIXED_RATE_DEFAULT = 0,
- FIXED_RATE_EXPLICIT = 1,
- DISABLED = 2,
-}
-
-ImageCompressionFlagsEXT_DEFAULT :: ImageCompressionFlagsEXT{}
-
-
-ImageCreateFlags :: distinct bit_set[ImageCreateFlag; Flags]
-ImageCreateFlag :: enum Flags {
- SPARSE_BINDING = 0,
- SPARSE_RESIDENCY = 1,
- SPARSE_ALIASED = 2,
- MUTABLE_FORMAT = 3,
- CUBE_COMPATIBLE = 4,
- ALIAS = 10,
- SPLIT_INSTANCE_BIND_REGIONS = 6,
- D2_ARRAY_COMPATIBLE = 5,
- BLOCK_TEXEL_VIEW_COMPATIBLE = 7,
- EXTENDED_USAGE = 8,
- PROTECTED = 11,
- DISJOINT = 9,
- CORNER_SAMPLED_NV = 13,
- SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT = 12,
- SUBSAMPLED_EXT = 14,
- DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 16,
- MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXT = 18,
- D2_VIEW_COMPATIBLE_EXT = 17,
- FRAGMENT_DENSITY_MAP_OFFSET_QCOM = 15,
- SPLIT_INSTANCE_BIND_REGIONS_KHR = SPLIT_INSTANCE_BIND_REGIONS,
- D2_ARRAY_COMPATIBLE_KHR = D2_ARRAY_COMPATIBLE,
- BLOCK_TEXEL_VIEW_COMPATIBLE_KHR = BLOCK_TEXEL_VIEW_COMPATIBLE,
- EXTENDED_USAGE_KHR = EXTENDED_USAGE,
- DISJOINT_KHR = DISJOINT,
- ALIAS_KHR = ALIAS,
-}
-
-ImageLayout :: enum c.int {
- UNDEFINED = 0,
- GENERAL = 1,
- COLOR_ATTACHMENT_OPTIMAL = 2,
- DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
- DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
- SHADER_READ_ONLY_OPTIMAL = 5,
- TRANSFER_SRC_OPTIMAL = 6,
- TRANSFER_DST_OPTIMAL = 7,
- PREINITIALIZED = 8,
- DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
- DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
- DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
- DEPTH_READ_ONLY_OPTIMAL = 1000241001,
- STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
- STENCIL_READ_ONLY_OPTIMAL = 1000241003,
- READ_ONLY_OPTIMAL = 1000314000,
- ATTACHMENT_OPTIMAL = 1000314001,
- PRESENT_SRC_KHR = 1000001002,
- VIDEO_DECODE_DST_KHR = 1000024000,
- VIDEO_DECODE_SRC_KHR = 1000024001,
- VIDEO_DECODE_DPB_KHR = 1000024002,
- SHARED_PRESENT_KHR = 1000111000,
- FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
- FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
- VIDEO_ENCODE_DST_KHR = 1000299000,
- VIDEO_ENCODE_SRC_KHR = 1000299001,
- VIDEO_ENCODE_DPB_KHR = 1000299002,
- ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000,
- DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
- DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
- SHADING_RATE_OPTIMAL_NV = FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
- DEPTH_ATTACHMENT_OPTIMAL_KHR = DEPTH_ATTACHMENT_OPTIMAL,
- DEPTH_READ_ONLY_OPTIMAL_KHR = DEPTH_READ_ONLY_OPTIMAL,
- STENCIL_ATTACHMENT_OPTIMAL_KHR = STENCIL_ATTACHMENT_OPTIMAL,
- STENCIL_READ_ONLY_OPTIMAL_KHR = STENCIL_READ_ONLY_OPTIMAL,
- READ_ONLY_OPTIMAL_KHR = READ_ONLY_OPTIMAL,
- ATTACHMENT_OPTIMAL_KHR = ATTACHMENT_OPTIMAL,
-}
-
-ImageTiling :: enum c.int {
- OPTIMAL = 0,
- LINEAR = 1,
- DRM_FORMAT_MODIFIER_EXT = 1000158000,
-}
-
-ImageType :: enum c.int {
- D1 = 0,
- D2 = 1,
- D3 = 2,
-}
-
-ImageUsageFlags :: distinct bit_set[ImageUsageFlag; Flags]
-ImageUsageFlag :: enum Flags {
- TRANSFER_SRC = 0,
- TRANSFER_DST = 1,
- SAMPLED = 2,
- STORAGE = 3,
- COLOR_ATTACHMENT = 4,
- DEPTH_STENCIL_ATTACHMENT = 5,
- TRANSIENT_ATTACHMENT = 6,
- INPUT_ATTACHMENT = 7,
- VIDEO_DECODE_DST_KHR = 10,
- VIDEO_DECODE_SRC_KHR = 11,
- VIDEO_DECODE_DPB_KHR = 12,
- FRAGMENT_DENSITY_MAP_EXT = 9,
- FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 8,
- VIDEO_ENCODE_DST_KHR = 13,
- VIDEO_ENCODE_SRC_KHR = 14,
- VIDEO_ENCODE_DPB_KHR = 15,
- ATTACHMENT_FEEDBACK_LOOP_EXT = 19,
- INVOCATION_MASK_HUAWEI = 18,
- SAMPLE_WEIGHT_QCOM = 20,
- SAMPLE_BLOCK_MATCH_QCOM = 21,
- SHADING_RATE_IMAGE_NV = FRAGMENT_SHADING_RATE_ATTACHMENT_KHR,
-}
-
-ImageViewCreateFlags :: distinct bit_set[ImageViewCreateFlag; Flags]
-ImageViewCreateFlag :: enum Flags {
- FRAGMENT_DENSITY_MAP_DYNAMIC_EXT = 0,
- DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 2,
- FRAGMENT_DENSITY_MAP_DEFERRED_EXT = 1,
-}
-
-ImageViewType :: enum c.int {
- D1 = 0,
- D2 = 1,
- D3 = 2,
- CUBE = 3,
- D1_ARRAY = 4,
- D2_ARRAY = 5,
- CUBE_ARRAY = 6,
-}
-
-IndexType :: enum c.int {
- UINT16 = 0,
- UINT32 = 1,
- NONE_KHR = 1000165000,
- UINT8_EXT = 1000265000,
- NONE_NV = NONE_KHR,
-}
-
-IndirectCommandsLayoutUsageFlagsNV :: distinct bit_set[IndirectCommandsLayoutUsageFlagNV; Flags]
-IndirectCommandsLayoutUsageFlagNV :: enum Flags {
- EXPLICIT_PREPROCESS = 0,
- INDEXED_SEQUENCES = 1,
- UNORDERED_SEQUENCES = 2,
-}
-
-IndirectCommandsTokenTypeNV :: enum c.int {
- SHADER_GROUP = 0,
- STATE_FLAGS = 1,
- INDEX_BUFFER = 2,
- VERTEX_BUFFER = 3,
- PUSH_CONSTANT = 4,
- DRAW_INDEXED = 5,
- DRAW = 6,
- DRAW_TASKS = 7,
- DRAW_MESH_TASKS = 1000328000,
-}
-
-IndirectStateFlagsNV :: distinct bit_set[IndirectStateFlagNV; Flags]
-IndirectStateFlagNV :: enum Flags {
- FLAG_FRONTFACE = 0,
-}
-
-InstanceCreateFlags :: distinct bit_set[InstanceCreateFlag; Flags]
-InstanceCreateFlag :: enum Flags {
- ENUMERATE_PORTABILITY_KHR = 0,
-}
-
-InternalAllocationType :: enum c.int {
- EXECUTABLE = 0,
-}
-
-LineRasterizationModeEXT :: enum c.int {
- DEFAULT = 0,
- RECTANGULAR = 1,
- BRESENHAM = 2,
- RECTANGULAR_SMOOTH = 3,
-}
-
-LogicOp :: enum c.int {
- CLEAR = 0,
- AND = 1,
- AND_REVERSE = 2,
- COPY = 3,
- AND_INVERTED = 4,
- NO_OP = 5,
- XOR = 6,
- OR = 7,
- NOR = 8,
- EQUIVALENT = 9,
- INVERT = 10,
- OR_REVERSE = 11,
- COPY_INVERTED = 12,
- OR_INVERTED = 13,
- NAND = 14,
- SET = 15,
-}
-
-MemoryAllocateFlags :: distinct bit_set[MemoryAllocateFlag; Flags]
-MemoryAllocateFlag :: enum Flags {
- DEVICE_MASK = 0,
- DEVICE_ADDRESS = 1,
- DEVICE_ADDRESS_CAPTURE_REPLAY = 2,
- DEVICE_MASK_KHR = DEVICE_MASK,
- DEVICE_ADDRESS_KHR = DEVICE_ADDRESS,
- DEVICE_ADDRESS_CAPTURE_REPLAY_KHR = DEVICE_ADDRESS_CAPTURE_REPLAY,
-}
-
-MemoryHeapFlags :: distinct bit_set[MemoryHeapFlag; Flags]
-MemoryHeapFlag :: enum Flags {
- DEVICE_LOCAL = 0,
- MULTI_INSTANCE = 1,
- MULTI_INSTANCE_KHR = MULTI_INSTANCE,
-}
-
-MemoryOverallocationBehaviorAMD :: enum c.int {
- DEFAULT = 0,
- ALLOWED = 1,
- DISALLOWED = 2,
-}
-
-MemoryPropertyFlags :: distinct bit_set[MemoryPropertyFlag; Flags]
-MemoryPropertyFlag :: enum Flags {
- DEVICE_LOCAL = 0,
- HOST_VISIBLE = 1,
- HOST_COHERENT = 2,
- HOST_CACHED = 3,
- LAZILY_ALLOCATED = 4,
- PROTECTED = 5,
- DEVICE_COHERENT_AMD = 6,
- DEVICE_UNCACHED_AMD = 7,
- RDMA_CAPABLE_NV = 8,
-}
-
-MicromapCreateFlagsEXT :: distinct bit_set[MicromapCreateFlagEXT; Flags]
-MicromapCreateFlagEXT :: enum Flags {
- DEVICE_ADDRESS_CAPTURE_REPLAY = 0,
-}
-
-MicromapTypeEXT :: enum c.int {
- OPACITY_MICROMAP = 0,
- DISPLACEMENT_MICROMAP_NV = 1000397000,
-}
-
-ObjectType :: enum c.int {
- UNKNOWN = 0,
- INSTANCE = 1,
- PHYSICAL_DEVICE = 2,
- DEVICE = 3,
- QUEUE = 4,
- SEMAPHORE = 5,
- COMMAND_BUFFER = 6,
- FENCE = 7,
- DEVICE_MEMORY = 8,
- BUFFER = 9,
- IMAGE = 10,
- EVENT = 11,
- QUERY_POOL = 12,
- BUFFER_VIEW = 13,
- IMAGE_VIEW = 14,
- SHADER_MODULE = 15,
- PIPELINE_CACHE = 16,
- PIPELINE_LAYOUT = 17,
- RENDER_PASS = 18,
- PIPELINE = 19,
- DESCRIPTOR_SET_LAYOUT = 20,
- SAMPLER = 21,
- DESCRIPTOR_POOL = 22,
- DESCRIPTOR_SET = 23,
- FRAMEBUFFER = 24,
- COMMAND_POOL = 25,
- SAMPLER_YCBCR_CONVERSION = 1000156000,
- DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
- PRIVATE_DATA_SLOT = 1000295000,
- SURFACE_KHR = 1000000000,
- SWAPCHAIN_KHR = 1000001000,
- DISPLAY_KHR = 1000002000,
- DISPLAY_MODE_KHR = 1000002001,
- DEBUG_REPORT_CALLBACK_EXT = 1000011000,
- VIDEO_SESSION_KHR = 1000023000,
- VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
- CU_MODULE_NVX = 1000029000,
- CU_FUNCTION_NVX = 1000029001,
- DEBUG_UTILS_MESSENGER_EXT = 1000128000,
- ACCELERATION_STRUCTURE_KHR = 1000150000,
- VALIDATION_CACHE_EXT = 1000160000,
- ACCELERATION_STRUCTURE_NV = 1000165000,
- PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
- DEFERRED_OPERATION_KHR = 1000268000,
- INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
- BUFFER_COLLECTION_FUCHSIA = 1000366000,
- MICROMAP_EXT = 1000396000,
- OPTICAL_FLOW_SESSION_NV = 1000464000,
- SHADER_EXT = 1000482000,
- DESCRIPTOR_UPDATE_TEMPLATE_KHR = DESCRIPTOR_UPDATE_TEMPLATE,
- SAMPLER_YCBCR_CONVERSION_KHR = SAMPLER_YCBCR_CONVERSION,
- PRIVATE_DATA_SLOT_EXT = PRIVATE_DATA_SLOT,
-}
-
-OpacityMicromapFormatEXT :: enum c.int {
- _2_STATE = 1,
- _4_STATE = 2,
-}
-
-OpacityMicromapSpecialIndexEXT :: enum c.int {
- FULLY_TRANSPARENT = -1,
- FULLY_OPAQUE = -2,
- FULLY_UNKNOWN_TRANSPARENT = -3,
- FULLY_UNKNOWN_OPAQUE = -4,
-}
-
-OpticalFlowExecuteFlagsNV :: distinct bit_set[OpticalFlowExecuteFlagNV; Flags]
-OpticalFlowExecuteFlagNV :: enum Flags {
- DISABLE_TEMPORAL_HINTS = 0,
-}
-
-OpticalFlowGridSizeFlagsNV :: distinct bit_set[OpticalFlowGridSizeFlagNV; Flags]
-OpticalFlowGridSizeFlagNV :: enum Flags {
- _1X1 = 0,
- _2X2 = 1,
- _4X4 = 2,
- _8X8 = 3,
-}
-
-OpticalFlowGridSizeFlagsNV_UNKNOWN :: OpticalFlowGridSizeFlagsNV{}
-
-
-OpticalFlowPerformanceLevelNV :: enum c.int {
- UNKNOWN = 0,
- SLOW = 1,
- MEDIUM = 2,
- FAST = 3,
-}
-
-OpticalFlowSessionBindingPointNV :: enum c.int {
- UNKNOWN = 0,
- INPUT = 1,
- REFERENCE = 2,
- HINT = 3,
- FLOW_VECTOR = 4,
- BACKWARD_FLOW_VECTOR = 5,
- COST = 6,
- BACKWARD_COST = 7,
- GLOBAL_FLOW = 8,
-}
-
-OpticalFlowSessionCreateFlagsNV :: distinct bit_set[OpticalFlowSessionCreateFlagNV; Flags]
-OpticalFlowSessionCreateFlagNV :: enum Flags {
- ENABLE_HINT = 0,
- ENABLE_COST = 1,
- ENABLE_GLOBAL_FLOW = 2,
- ALLOW_REGIONS = 3,
- BOTH_DIRECTIONS = 4,
-}
-
-OpticalFlowUsageFlagsNV :: distinct bit_set[OpticalFlowUsageFlagNV; Flags]
-OpticalFlowUsageFlagNV :: enum Flags {
- INPUT = 0,
- OUTPUT = 1,
- HINT = 2,
- COST = 3,
- GLOBAL_FLOW = 4,
-}
-
-OpticalFlowUsageFlagsNV_UNKNOWN :: OpticalFlowUsageFlagsNV{}
-
-
-PeerMemoryFeatureFlags :: distinct bit_set[PeerMemoryFeatureFlag; Flags]
-PeerMemoryFeatureFlag :: enum Flags {
- COPY_SRC = 0,
- COPY_DST = 1,
- GENERIC_SRC = 2,
- GENERIC_DST = 3,
- COPY_SRC_KHR = COPY_SRC,
- COPY_DST_KHR = COPY_DST,
- GENERIC_SRC_KHR = GENERIC_SRC,
- GENERIC_DST_KHR = GENERIC_DST,
-}
-
-PerformanceConfigurationTypeINTEL :: enum c.int {
- PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
-}
-
-PerformanceCounterDescriptionFlagsKHR :: distinct bit_set[PerformanceCounterDescriptionFlagKHR; Flags]
-PerformanceCounterDescriptionFlagKHR :: enum Flags {
- PERFORMANCE_IMPACTING = 0,
- CONCURRENTLY_IMPACTED = 1,
-}
-
-PerformanceCounterScopeKHR :: enum c.int {
- COMMAND_BUFFER = 0,
- RENDER_PASS = 1,
- COMMAND = 2,
- QUERY_SCOPE_COMMAND_BUFFER = COMMAND_BUFFER,
- QUERY_SCOPE_RENDER_PASS = RENDER_PASS,
- QUERY_SCOPE_COMMAND = COMMAND,
-}
-
-PerformanceCounterStorageKHR :: enum c.int {
- INT32 = 0,
- INT64 = 1,
- UINT32 = 2,
- UINT64 = 3,
- FLOAT32 = 4,
- FLOAT64 = 5,
-}
-
-PerformanceCounterUnitKHR :: enum c.int {
- GENERIC = 0,
- PERCENTAGE = 1,
- NANOSECONDS = 2,
- BYTES = 3,
- BYTES_PER_SECOND = 4,
- KELVIN = 5,
- WATTS = 6,
- VOLTS = 7,
- AMPS = 8,
- HERTZ = 9,
- CYCLES = 10,
-}
-
-PerformanceOverrideTypeINTEL :: enum c.int {
- PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
- PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
-}
-
-PerformanceParameterTypeINTEL :: enum c.int {
- PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
- PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
-}
-
-PerformanceValueTypeINTEL :: enum c.int {
- PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
- PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
- PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
- PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
- PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
-}
-
-PhysicalDeviceType :: enum c.int {
- OTHER = 0,
- INTEGRATED_GPU = 1,
- DISCRETE_GPU = 2,
- VIRTUAL_GPU = 3,
- CPU = 4,
-}
-
-PipelineBindPoint :: enum c.int {
- GRAPHICS = 0,
- COMPUTE = 1,
- RAY_TRACING_KHR = 1000165000,
- SUBPASS_SHADING_HUAWEI = 1000369003,
- RAY_TRACING_NV = RAY_TRACING_KHR,
-}
-
-PipelineCacheCreateFlags :: distinct bit_set[PipelineCacheCreateFlag; Flags]
-PipelineCacheCreateFlag :: enum Flags {
- EXTERNALLY_SYNCHRONIZED = 0,
- EXTERNALLY_SYNCHRONIZED_EXT = EXTERNALLY_SYNCHRONIZED,
-}
-
-PipelineCacheHeaderVersion :: enum c.int {
- ONE = 1,
-}
-
-PipelineColorBlendStateCreateFlags :: distinct bit_set[PipelineColorBlendStateCreateFlag; Flags]
-PipelineColorBlendStateCreateFlag :: enum Flags {
- RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXT = 0,
- RASTERIZATION_ORDER_ATTACHMENT_ACCESS_ARM = RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXT,
-}
-
-PipelineCompilerControlFlagsAMD :: distinct bit_set[PipelineCompilerControlFlagAMD; Flags]
-PipelineCompilerControlFlagAMD :: enum Flags {
-}
-
-PipelineCreateFlags :: distinct bit_set[PipelineCreateFlag; Flags]
-PipelineCreateFlag :: enum Flags {
- DISABLE_OPTIMIZATION = 0,
- ALLOW_DERIVATIVES = 1,
- DERIVATIVE = 2,
- VIEW_INDEX_FROM_DEVICE_INDEX = 3,
- DISPATCH_BASE = 4,
- FAIL_ON_PIPELINE_COMPILE_REQUIRED = 8,
- EARLY_RETURN_ON_FAILURE = 9,
- RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 21,
- RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT = 22,
- RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_KHR = 14,
- RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_KHR = 15,
- RAY_TRACING_NO_NULL_MISS_SHADERS_KHR = 16,
- RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_KHR = 17,
- RAY_TRACING_SKIP_TRIANGLES_KHR = 12,
- RAY_TRACING_SKIP_AABBS_KHR = 13,
- RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_KHR = 19,
- DEFER_COMPILE_NV = 5,
- CAPTURE_STATISTICS_KHR = 6,
- CAPTURE_INTERNAL_REPRESENTATIONS_KHR = 7,
- INDIRECT_BINDABLE_NV = 18,
- LIBRARY_KHR = 11,
- DESCRIPTOR_BUFFER_EXT = 29,
- RETAIN_LINK_TIME_OPTIMIZATION_INFO_EXT = 23,
- LINK_TIME_OPTIMIZATION_EXT = 10,
- RAY_TRACING_ALLOW_MOTION_NV = 20,
- COLOR_ATTACHMENT_FEEDBACK_LOOP_EXT = 25,
- DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_EXT = 26,
- RAY_TRACING_OPACITY_MICROMAP_EXT = 24,
- RAY_TRACING_DISPLACEMENT_MICROMAP_NV = 28,
- NO_PROTECTED_ACCESS_EXT = 27,
- PROTECTED_ACCESS_ONLY_EXT = 30,
- PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR,
- PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT = RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT,
- VIEW_INDEX_FROM_DEVICE_INDEX_KHR = VIEW_INDEX_FROM_DEVICE_INDEX,
- DISPATCH_BASE_KHR = DISPATCH_BASE,
- FAIL_ON_PIPELINE_COMPILE_REQUIRED_EXT = FAIL_ON_PIPELINE_COMPILE_REQUIRED,
- EARLY_RETURN_ON_FAILURE_EXT = EARLY_RETURN_ON_FAILURE,
-}
-
-PipelineCreationFeedbackFlags :: distinct bit_set[PipelineCreationFeedbackFlag; Flags]
-PipelineCreationFeedbackFlag :: enum Flags {
- VALID = 0,
- APPLICATION_PIPELINE_CACHE_HIT = 1,
- BASE_PIPELINE_ACCELERATION = 2,
- VALID_EXT = VALID,
- APPLICATION_PIPELINE_CACHE_HIT_EXT = APPLICATION_PIPELINE_CACHE_HIT,
- BASE_PIPELINE_ACCELERATION_EXT = BASE_PIPELINE_ACCELERATION,
-}
-
-PipelineDepthStencilStateCreateFlags :: distinct bit_set[PipelineDepthStencilStateCreateFlag; Flags]
-PipelineDepthStencilStateCreateFlag :: enum Flags {
- RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT = 0,
- RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT = 1,
- RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM = RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT,
- RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM = RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT,
-}
-
-PipelineExecutableStatisticFormatKHR :: enum c.int {
- BOOL32 = 0,
- INT64 = 1,
- UINT64 = 2,
- FLOAT64 = 3,
-}
-
-PipelineLayoutCreateFlags :: distinct bit_set[PipelineLayoutCreateFlag; Flags]
-PipelineLayoutCreateFlag :: enum Flags {
- INDEPENDENT_SETS_EXT = 1,
-}
-
-PipelineRobustnessBufferBehaviorEXT :: enum c.int {
- DEVICE_DEFAULT = 0,
- DISABLED = 1,
- ROBUST_BUFFER_ACCESS = 2,
- ROBUST_BUFFER_ACCESS_2 = 3,
-}
-
-PipelineRobustnessImageBehaviorEXT :: enum c.int {
- DEVICE_DEFAULT = 0,
- DISABLED = 1,
- ROBUST_IMAGE_ACCESS = 2,
- ROBUST_IMAGE_ACCESS_2 = 3,
-}
-
-PipelineShaderStageCreateFlags :: distinct bit_set[PipelineShaderStageCreateFlag; Flags]
-PipelineShaderStageCreateFlag :: enum Flags {
- ALLOW_VARYING_SUBGROUP_SIZE = 0,
- REQUIRE_FULL_SUBGROUPS = 1,
- ALLOW_VARYING_SUBGROUP_SIZE_EXT = ALLOW_VARYING_SUBGROUP_SIZE,
- REQUIRE_FULL_SUBGROUPS_EXT = REQUIRE_FULL_SUBGROUPS,
-}
-
-PipelineStageFlags :: distinct bit_set[PipelineStageFlag; Flags]
-PipelineStageFlag :: enum Flags {
- TOP_OF_PIPE = 0,
- DRAW_INDIRECT = 1,
- VERTEX_INPUT = 2,
- VERTEX_SHADER = 3,
- TESSELLATION_CONTROL_SHADER = 4,
- TESSELLATION_EVALUATION_SHADER = 5,
- GEOMETRY_SHADER = 6,
- FRAGMENT_SHADER = 7,
- EARLY_FRAGMENT_TESTS = 8,
- LATE_FRAGMENT_TESTS = 9,
- COLOR_ATTACHMENT_OUTPUT = 10,
- COMPUTE_SHADER = 11,
- TRANSFER = 12,
- BOTTOM_OF_PIPE = 13,
- HOST = 14,
- ALL_GRAPHICS = 15,
- ALL_COMMANDS = 16,
- TRANSFORM_FEEDBACK_EXT = 24,
- CONDITIONAL_RENDERING_EXT = 18,
- ACCELERATION_STRUCTURE_BUILD_KHR = 25,
- RAY_TRACING_SHADER_KHR = 21,
- FRAGMENT_DENSITY_PROCESS_EXT = 23,
- FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 22,
- COMMAND_PREPROCESS_NV = 17,
- TASK_SHADER_EXT = 19,
- MESH_SHADER_EXT = 20,
- SHADING_RATE_IMAGE_NV = FRAGMENT_SHADING_RATE_ATTACHMENT_KHR,
- RAY_TRACING_SHADER_NV = RAY_TRACING_SHADER_KHR,
- ACCELERATION_STRUCTURE_BUILD_NV = ACCELERATION_STRUCTURE_BUILD_KHR,
- TASK_SHADER_NV = TASK_SHADER_EXT,
- MESH_SHADER_NV = MESH_SHADER_EXT,
-}
-
-PipelineStageFlags_NONE :: PipelineStageFlags{}
-
-
-PointClippingBehavior :: enum c.int {
- ALL_CLIP_PLANES = 0,
- USER_CLIP_PLANES_ONLY = 1,
- ALL_CLIP_PLANES_KHR = ALL_CLIP_PLANES,
- USER_CLIP_PLANES_ONLY_KHR = USER_CLIP_PLANES_ONLY,
-}
-
-PolygonMode :: enum c.int {
- FILL = 0,
- LINE = 1,
- POINT = 2,
- FILL_RECTANGLE_NV = 1000153000,
-}
-
-PresentGravityFlagsEXT :: distinct bit_set[PresentGravityFlagEXT; Flags]
-PresentGravityFlagEXT :: enum Flags {
- MIN = 0,
- MAX = 1,
- CENTERED = 2,
-}
-
-PresentModeKHR :: enum c.int {
- IMMEDIATE = 0,
- MAILBOX = 1,
- FIFO = 2,
- FIFO_RELAXED = 3,
- SHARED_DEMAND_REFRESH = 1000111000,
- SHARED_CONTINUOUS_REFRESH = 1000111001,
-}
-
-PresentScalingFlagsEXT :: distinct bit_set[PresentScalingFlagEXT; Flags]
-PresentScalingFlagEXT :: enum Flags {
- ONE_TO_ONE = 0,
- ASPECT_RATIO_STRETCH = 1,
- STRETCH = 2,
-}
-
-PrimitiveTopology :: enum c.int {
- POINT_LIST = 0,
- LINE_LIST = 1,
- LINE_STRIP = 2,
- TRIANGLE_LIST = 3,
- TRIANGLE_STRIP = 4,
- TRIANGLE_FAN = 5,
- LINE_LIST_WITH_ADJACENCY = 6,
- LINE_STRIP_WITH_ADJACENCY = 7,
- TRIANGLE_LIST_WITH_ADJACENCY = 8,
- TRIANGLE_STRIP_WITH_ADJACENCY = 9,
- PATCH_LIST = 10,
-}
-
-ProvokingVertexModeEXT :: enum c.int {
- FIRST_VERTEX = 0,
- LAST_VERTEX = 1,
-}
-
-QueryControlFlags :: distinct bit_set[QueryControlFlag; Flags]
-QueryControlFlag :: enum Flags {
- PRECISE = 0,
-}
-
-QueryPipelineStatisticFlags :: distinct bit_set[QueryPipelineStatisticFlag; Flags]
-QueryPipelineStatisticFlag :: enum Flags {
- INPUT_ASSEMBLY_VERTICES = 0,
- INPUT_ASSEMBLY_PRIMITIVES = 1,
- VERTEX_SHADER_INVOCATIONS = 2,
- GEOMETRY_SHADER_INVOCATIONS = 3,
- GEOMETRY_SHADER_PRIMITIVES = 4,
- CLIPPING_INVOCATIONS = 5,
- CLIPPING_PRIMITIVES = 6,
- FRAGMENT_SHADER_INVOCATIONS = 7,
- TESSELLATION_CONTROL_SHADER_PATCHES = 8,
- TESSELLATION_EVALUATION_SHADER_INVOCATIONS = 9,
- COMPUTE_SHADER_INVOCATIONS = 10,
- TASK_SHADER_INVOCATIONS_EXT = 11,
- MESH_SHADER_INVOCATIONS_EXT = 12,
- CLUSTER_CULLING_SHADER_INVOCATIONS_HUAWEI = 13,
-}
-
-QueryPoolSamplingModeINTEL :: enum c.int {
- QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
-}
-
-QueryResultFlags :: distinct bit_set[QueryResultFlag; Flags]
-QueryResultFlag :: enum Flags {
- _64 = 0,
- WAIT = 1,
- WITH_AVAILABILITY = 2,
- PARTIAL = 3,
- WITH_STATUS_KHR = 4,
-}
-
-QueryResultStatusKHR :: enum c.int {
- ERROR = -1,
- NOT_READY = 0,
- COMPLETE = 1,
-}
-
-QueryType :: enum c.int {
- OCCLUSION = 0,
- PIPELINE_STATISTICS = 1,
- TIMESTAMP = 2,
- RESULT_STATUS_ONLY_KHR = 1000023000,
- TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
- PERFORMANCE_QUERY_KHR = 1000116000,
- ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
- ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
- ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
- PERFORMANCE_QUERY_INTEL = 1000210000,
- VIDEO_ENCODE_FEEDBACK_KHR = 1000299000,
- MESH_PRIMITIVES_GENERATED_EXT = 1000328000,
- PRIMITIVES_GENERATED_EXT = 1000382000,
- ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000,
- ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001,
- MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000,
- MICROMAP_COMPACTED_SIZE_EXT = 1000396001,
-}
-
-QueueFlags :: distinct bit_set[QueueFlag; Flags]
-QueueFlag :: enum Flags {
- GRAPHICS = 0,
- COMPUTE = 1,
- TRANSFER = 2,
- SPARSE_BINDING = 3,
- PROTECTED = 4,
- VIDEO_DECODE_KHR = 5,
- VIDEO_ENCODE_KHR = 6,
- OPTICAL_FLOW_NV = 8,
-}
-
-QueueGlobalPriorityKHR :: enum c.int {
- LOW = 128,
- MEDIUM = 256,
- HIGH = 512,
- REALTIME = 1024,
- LOW_EXT = LOW,
- MEDIUM_EXT = MEDIUM,
- HIGH_EXT = HIGH,
- REALTIME_EXT = REALTIME,
-}
-
-RasterizationOrderAMD :: enum c.int {
- STRICT = 0,
- RELAXED = 1,
-}
-
-RayTracingInvocationReorderModeNV :: enum c.int {
- NONE = 0,
- REORDER = 1,
-}
-
-RayTracingShaderGroupTypeKHR :: enum c.int {
- GENERAL = 0,
- TRIANGLES_HIT_GROUP = 1,
- PROCEDURAL_HIT_GROUP = 2,
- GENERAL_NV = GENERAL,
- TRIANGLES_HIT_GROUP_NV = TRIANGLES_HIT_GROUP,
- PROCEDURAL_HIT_GROUP_NV = PROCEDURAL_HIT_GROUP,
-}
-
-RenderPassCreateFlags :: distinct bit_set[RenderPassCreateFlag; Flags]
-RenderPassCreateFlag :: enum Flags {
- TRANSFORM_QCOM = 1,
-}
-
-RenderingFlags :: distinct bit_set[RenderingFlag; Flags]
-RenderingFlag :: enum Flags {
- CONTENTS_SECONDARY_COMMAND_BUFFERS = 0,
- SUSPENDING = 1,
- RESUMING = 2,
- ENABLE_LEGACY_DITHERING_EXT = 3,
- CONTENTS_SECONDARY_COMMAND_BUFFERS_KHR = CONTENTS_SECONDARY_COMMAND_BUFFERS,
- SUSPENDING_KHR = SUSPENDING,
- RESUMING_KHR = RESUMING,
-}
-
-ResolveModeFlags :: distinct bit_set[ResolveModeFlag; Flags]
-ResolveModeFlag :: enum Flags {
- SAMPLE_ZERO = 0,
- AVERAGE = 1,
- MIN = 2,
- MAX = 3,
- SAMPLE_ZERO_KHR = SAMPLE_ZERO,
- AVERAGE_KHR = AVERAGE,
- MIN_KHR = MIN,
- MAX_KHR = MAX,
-}
-
-ResolveModeFlags_NONE :: ResolveModeFlags{}
-
-
-Result :: enum c.int {
- SUCCESS = 0,
- NOT_READY = 1,
- TIMEOUT = 2,
- EVENT_SET = 3,
- EVENT_RESET = 4,
- INCOMPLETE = 5,
- ERROR_OUT_OF_HOST_MEMORY = -1,
- ERROR_OUT_OF_DEVICE_MEMORY = -2,
- ERROR_INITIALIZATION_FAILED = -3,
- ERROR_DEVICE_LOST = -4,
- ERROR_MEMORY_MAP_FAILED = -5,
- ERROR_LAYER_NOT_PRESENT = -6,
- ERROR_EXTENSION_NOT_PRESENT = -7,
- ERROR_FEATURE_NOT_PRESENT = -8,
- ERROR_INCOMPATIBLE_DRIVER = -9,
- ERROR_TOO_MANY_OBJECTS = -10,
- ERROR_FORMAT_NOT_SUPPORTED = -11,
- ERROR_FRAGMENTED_POOL = -12,
- ERROR_UNKNOWN = -13,
- ERROR_OUT_OF_POOL_MEMORY = -1000069000,
- ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
- ERROR_FRAGMENTATION = -1000161000,
- ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
- PIPELINE_COMPILE_REQUIRED = 1000297000,
- ERROR_SURFACE_LOST_KHR = -1000000000,
- ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
- SUBOPTIMAL_KHR = 1000001003,
- ERROR_OUT_OF_DATE_KHR = -1000001004,
- ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
- ERROR_VALIDATION_FAILED_EXT = -1000011001,
- ERROR_INVALID_SHADER_NV = -1000012000,
- ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000,
- ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001,
- ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002,
- ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003,
- ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004,
- ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005,
- ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
- ERROR_NOT_PERMITTED_KHR = -1000174001,
- ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
- THREAD_IDLE_KHR = 1000268000,
- THREAD_DONE_KHR = 1000268001,
- OPERATION_DEFERRED_KHR = 1000268002,
- OPERATION_NOT_DEFERRED_KHR = 1000268003,
- ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000,
- ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000,
- ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000,
- ERROR_OUT_OF_POOL_MEMORY_KHR = ERROR_OUT_OF_POOL_MEMORY,
- ERROR_INVALID_EXTERNAL_HANDLE_KHR = ERROR_INVALID_EXTERNAL_HANDLE,
- ERROR_FRAGMENTATION_EXT = ERROR_FRAGMENTATION,
- ERROR_NOT_PERMITTED_EXT = ERROR_NOT_PERMITTED_KHR,
- ERROR_INVALID_DEVICE_ADDRESS_EXT = ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
- ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
- PIPELINE_COMPILE_REQUIRED_EXT = PIPELINE_COMPILE_REQUIRED,
- ERROR_PIPELINE_COMPILE_REQUIRED_EXT = PIPELINE_COMPILE_REQUIRED,
-}
-
-SampleCountFlags :: distinct bit_set[SampleCountFlag; Flags]
-SampleCountFlag :: enum Flags {
- _1 = 0,
- _2 = 1,
- _4 = 2,
- _8 = 3,
- _16 = 4,
- _32 = 5,
- _64 = 6,
-}
-
-SamplerAddressMode :: enum c.int {
- REPEAT = 0,
- MIRRORED_REPEAT = 1,
- CLAMP_TO_EDGE = 2,
- CLAMP_TO_BORDER = 3,
- MIRROR_CLAMP_TO_EDGE = 4,
- MIRROR_CLAMP_TO_EDGE_KHR = MIRROR_CLAMP_TO_EDGE,
-}
-
-SamplerCreateFlags :: distinct bit_set[SamplerCreateFlag; Flags]
-SamplerCreateFlag :: enum Flags {
- SUBSAMPLED_EXT = 0,
- SUBSAMPLED_COARSE_RECONSTRUCTION_EXT = 1,
- DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 3,
- NON_SEAMLESS_CUBE_MAP_EXT = 2,
- IMAGE_PROCESSING_QCOM = 4,
-}
-
-SamplerMipmapMode :: enum c.int {
- NEAREST = 0,
- LINEAR = 1,
-}
-
-SamplerReductionMode :: enum c.int {
- WEIGHTED_AVERAGE = 0,
- MIN = 1,
- MAX = 2,
- WEIGHTED_AVERAGE_EXT = WEIGHTED_AVERAGE,
- MIN_EXT = MIN,
- MAX_EXT = MAX,
-}
-
-SamplerYcbcrModelConversion :: enum c.int {
- RGB_IDENTITY = 0,
- YCBCR_IDENTITY = 1,
- YCBCR_709 = 2,
- YCBCR_601 = 3,
- YCBCR_2020 = 4,
- RGB_IDENTITY_KHR = RGB_IDENTITY,
- YCBCR_IDENTITY_KHR = YCBCR_IDENTITY,
- YCBCR_709_KHR = YCBCR_709,
- YCBCR_601_KHR = YCBCR_601,
- YCBCR_2020_KHR = YCBCR_2020,
-}
-
-SamplerYcbcrRange :: enum c.int {
- ITU_FULL = 0,
- ITU_NARROW = 1,
- ITU_FULL_KHR = ITU_FULL,
- ITU_NARROW_KHR = ITU_NARROW,
-}
-
-ScopeNV :: enum c.int {
- DEVICE = 1,
- WORKGROUP = 2,
- SUBGROUP = 3,
- QUEUE_FAMILY = 5,
-}
-
-SemaphoreImportFlags :: distinct bit_set[SemaphoreImportFlag; Flags]
-SemaphoreImportFlag :: enum Flags {
- TEMPORARY = 0,
- TEMPORARY_KHR = TEMPORARY,
-}
-
-SemaphoreType :: enum c.int {
- BINARY = 0,
- TIMELINE = 1,
- BINARY_KHR = BINARY,
- TIMELINE_KHR = TIMELINE,
-}
-
-SemaphoreWaitFlags :: distinct bit_set[SemaphoreWaitFlag; Flags]
-SemaphoreWaitFlag :: enum Flags {
- ANY = 0,
- ANY_KHR = ANY,
-}
-
-ShaderCodeTypeEXT :: enum c.int {
- BINARY = 0,
- SPIRV = 1,
-}
-
-ShaderCorePropertiesFlagsAMD :: distinct bit_set[ShaderCorePropertiesFlagAMD; Flags]
-ShaderCorePropertiesFlagAMD :: enum Flags {
-}
-
-ShaderCreateFlagsEXT :: distinct bit_set[ShaderCreateFlagEXT; Flags]
-ShaderCreateFlagEXT :: enum Flags {
- LINK_STAGE = 0,
- ALLOW_VARYING_SUBGROUP_SIZE = 1,
- REQUIRE_FULL_SUBGROUPS = 2,
- NO_TASK_SHADER = 3,
- DISPATCH_BASE = 4,
- FRAGMENT_SHADING_RATE_ATTACHMENT = 5,
- FRAGMENT_DENSITY_MAP_ATTACHMENT = 6,
-}
-
-ShaderFloatControlsIndependence :: enum c.int {
- _32_BIT_ONLY = 0,
- ALL = 1,
- NONE = 2,
- _32_BIT_ONLY_KHR = _32_BIT_ONLY,
- ALL_KHR = ALL,
-}
-
-ShaderGroupShaderKHR :: enum c.int {
- GENERAL = 0,
- CLOSEST_HIT = 1,
- ANY_HIT = 2,
- INTERSECTION = 3,
-}
-
-ShaderInfoTypeAMD :: enum c.int {
- STATISTICS = 0,
- BINARY = 1,
- DISASSEMBLY = 2,
-}
-
-ShaderStageFlags :: distinct bit_set[ShaderStageFlag; Flags]
-ShaderStageFlag :: enum Flags {
- VERTEX = 0,
- TESSELLATION_CONTROL = 1,
- TESSELLATION_EVALUATION = 2,
- GEOMETRY = 3,
- FRAGMENT = 4,
- COMPUTE = 5,
- RAYGEN_KHR = 8,
- ANY_HIT_KHR = 9,
- CLOSEST_HIT_KHR = 10,
- MISS_KHR = 11,
- INTERSECTION_KHR = 12,
- CALLABLE_KHR = 13,
- TASK_EXT = 6,
- MESH_EXT = 7,
- SUBPASS_SHADING_HUAWEI = 14,
- CLUSTER_CULLING_HUAWEI = 19,
- RAYGEN_NV = RAYGEN_KHR,
- ANY_HIT_NV = ANY_HIT_KHR,
- CLOSEST_HIT_NV = CLOSEST_HIT_KHR,
- MISS_NV = MISS_KHR,
- INTERSECTION_NV = INTERSECTION_KHR,
- CALLABLE_NV = CALLABLE_KHR,
- TASK_NV = TASK_EXT,
- MESH_NV = MESH_EXT,
- _MAX = 31, // Needed for the *_ALL bit set
-}
-
-ShaderStageFlags_ALL_GRAPHICS :: ShaderStageFlags{.VERTEX, .TESSELLATION_CONTROL, .TESSELLATION_EVALUATION, .GEOMETRY, .FRAGMENT}
-ShaderStageFlags_ALL :: ShaderStageFlags{.VERTEX, .TESSELLATION_CONTROL, .TESSELLATION_EVALUATION, .GEOMETRY, .FRAGMENT, .COMPUTE, .TASK_EXT, .MESH_EXT, .RAYGEN_KHR, .ANY_HIT_KHR, .CLOSEST_HIT_KHR, .MISS_KHR, .INTERSECTION_KHR, .CALLABLE_KHR, .SUBPASS_SHADING_HUAWEI, ShaderStageFlag(15), ShaderStageFlag(16), ShaderStageFlag(17), ShaderStageFlag(18), .CLUSTER_CULLING_HUAWEI, ShaderStageFlag(20), ShaderStageFlag(21), ShaderStageFlag(22), ShaderStageFlag(23), ShaderStageFlag(24), ShaderStageFlag(25), ShaderStageFlag(26), ShaderStageFlag(27), ShaderStageFlag(28), ShaderStageFlag(29), ShaderStageFlag(30)}
-
-
-ShadingRatePaletteEntryNV :: enum c.int {
- NO_INVOCATIONS = 0,
- _16_INVOCATIONS_PER_PIXEL = 1,
- _8_INVOCATIONS_PER_PIXEL = 2,
- _4_INVOCATIONS_PER_PIXEL = 3,
- _2_INVOCATIONS_PER_PIXEL = 4,
- _1_INVOCATION_PER_PIXEL = 5,
- _1_INVOCATION_PER_2X1_PIXELS = 6,
- _1_INVOCATION_PER_1X2_PIXELS = 7,
- _1_INVOCATION_PER_2X2_PIXELS = 8,
- _1_INVOCATION_PER_4X2_PIXELS = 9,
- _1_INVOCATION_PER_2X4_PIXELS = 10,
- _1_INVOCATION_PER_4X4_PIXELS = 11,
-}
-
-SharingMode :: enum c.int {
- EXCLUSIVE = 0,
- CONCURRENT = 1,
-}
-
-SparseImageFormatFlags :: distinct bit_set[SparseImageFormatFlag; Flags]
-SparseImageFormatFlag :: enum Flags {
- SINGLE_MIPTAIL = 0,
- ALIGNED_MIP_SIZE = 1,
- NONSTANDARD_BLOCK_SIZE = 2,
-}
-
-SparseMemoryBindFlags :: distinct bit_set[SparseMemoryBindFlag; Flags]
-SparseMemoryBindFlag :: enum Flags {
- METADATA = 0,
-}
-
-StencilFaceFlags :: distinct bit_set[StencilFaceFlag; Flags]
-StencilFaceFlag :: enum Flags {
- FRONT = 0,
- BACK = 1,
-}
-
-StencilFaceFlags_FRONT_AND_BACK :: StencilFaceFlags{.FRONT, .BACK}
-
-
-StencilOp :: enum c.int {
- KEEP = 0,
- ZERO = 1,
- REPLACE = 2,
- INCREMENT_AND_CLAMP = 3,
- DECREMENT_AND_CLAMP = 4,
- INVERT = 5,
- INCREMENT_AND_WRAP = 6,
- DECREMENT_AND_WRAP = 7,
-}
-
-StructureType :: enum c.int {
- APPLICATION_INFO = 0,
- INSTANCE_CREATE_INFO = 1,
- DEVICE_QUEUE_CREATE_INFO = 2,
- DEVICE_CREATE_INFO = 3,
- SUBMIT_INFO = 4,
- MEMORY_ALLOCATE_INFO = 5,
- MAPPED_MEMORY_RANGE = 6,
- BIND_SPARSE_INFO = 7,
- FENCE_CREATE_INFO = 8,
- SEMAPHORE_CREATE_INFO = 9,
- EVENT_CREATE_INFO = 10,
- QUERY_POOL_CREATE_INFO = 11,
- BUFFER_CREATE_INFO = 12,
- BUFFER_VIEW_CREATE_INFO = 13,
- IMAGE_CREATE_INFO = 14,
- IMAGE_VIEW_CREATE_INFO = 15,
- SHADER_MODULE_CREATE_INFO = 16,
- PIPELINE_CACHE_CREATE_INFO = 17,
- PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
- PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
- PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
- PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
- PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
- PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
- PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
- PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
- PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
- PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
- GRAPHICS_PIPELINE_CREATE_INFO = 28,
- COMPUTE_PIPELINE_CREATE_INFO = 29,
- PIPELINE_LAYOUT_CREATE_INFO = 30,
- SAMPLER_CREATE_INFO = 31,
- DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
- DESCRIPTOR_POOL_CREATE_INFO = 33,
- DESCRIPTOR_SET_ALLOCATE_INFO = 34,
- WRITE_DESCRIPTOR_SET = 35,
- COPY_DESCRIPTOR_SET = 36,
- FRAMEBUFFER_CREATE_INFO = 37,
- RENDER_PASS_CREATE_INFO = 38,
- COMMAND_POOL_CREATE_INFO = 39,
- COMMAND_BUFFER_ALLOCATE_INFO = 40,
- COMMAND_BUFFER_INHERITANCE_INFO = 41,
- COMMAND_BUFFER_BEGIN_INFO = 42,
- RENDER_PASS_BEGIN_INFO = 43,
- BUFFER_MEMORY_BARRIER = 44,
- IMAGE_MEMORY_BARRIER = 45,
- MEMORY_BARRIER = 46,
- LOADER_INSTANCE_CREATE_INFO = 47,
- LOADER_DEVICE_CREATE_INFO = 48,
- PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
- BIND_BUFFER_MEMORY_INFO = 1000157000,
- BIND_IMAGE_MEMORY_INFO = 1000157001,
- PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
- MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
- MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
- MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
- DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
- DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
- DEVICE_GROUP_SUBMIT_INFO = 1000060005,
- DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
- BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
- BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
- PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
- DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
- BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
- IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
- IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
- MEMORY_REQUIREMENTS_2 = 1000146003,
- SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
- PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
- PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
- FORMAT_PROPERTIES_2 = 1000059002,
- IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
- PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
- QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
- PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
- SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
- PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
- PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
- RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
- IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
- PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
- RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
- PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
- PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
- PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
- PROTECTED_SUBMIT_INFO = 1000145000,
- PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
- PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
- DEVICE_QUEUE_INFO_2 = 1000145003,
- SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
- SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
- BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
- IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
- PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
- SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
- DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
- PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
- EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
- PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
- EXTERNAL_BUFFER_PROPERTIES = 1000071003,
- PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
- EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
- EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
- EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
- PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
- EXTERNAL_FENCE_PROPERTIES = 1000112001,
- EXPORT_FENCE_CREATE_INFO = 1000113000,
- EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
- PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
- EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
- PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
- DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
- PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
- PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
- PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
- PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
- PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
- IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
- ATTACHMENT_DESCRIPTION_2 = 1000109000,
- ATTACHMENT_REFERENCE_2 = 1000109001,
- SUBPASS_DESCRIPTION_2 = 1000109002,
- SUBPASS_DEPENDENCY_2 = 1000109003,
- RENDER_PASS_CREATE_INFO_2 = 1000109004,
- SUBPASS_BEGIN_INFO = 1000109005,
- SUBPASS_END_INFO = 1000109006,
- PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
- PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
- PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
- PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
- PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
- DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
- PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
- PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
- DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
- DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
- PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
- SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
- PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
- IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
- PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
- SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
- PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
- PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
- FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
- FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
- RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
- PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
- PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
- PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
- ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
- ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
- PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
- PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
- PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
- SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
- TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
- SEMAPHORE_WAIT_INFO = 1000207004,
- SEMAPHORE_SIGNAL_INFO = 1000207005,
- PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
- BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
- BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
- MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
- DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
- PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53,
- PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54,
- PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000,
- PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000,
- PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000,
- PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000,
- PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000,
- DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001,
- PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002,
- PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000,
- MEMORY_BARRIER_2 = 1000314000,
- BUFFER_MEMORY_BARRIER_2 = 1000314001,
- IMAGE_MEMORY_BARRIER_2 = 1000314002,
- DEPENDENCY_INFO = 1000314003,
- SUBMIT_INFO_2 = 1000314004,
- SEMAPHORE_SUBMIT_INFO = 1000314005,
- COMMAND_BUFFER_SUBMIT_INFO = 1000314006,
- PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007,
- PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000,
- PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000,
- COPY_BUFFER_INFO_2 = 1000337000,
- COPY_IMAGE_INFO_2 = 1000337001,
- COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002,
- COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003,
- BLIT_IMAGE_INFO_2 = 1000337004,
- RESOLVE_IMAGE_INFO_2 = 1000337005,
- BUFFER_COPY_2 = 1000337006,
- IMAGE_COPY_2 = 1000337007,
- IMAGE_BLIT_2 = 1000337008,
- BUFFER_IMAGE_COPY_2 = 1000337009,
- IMAGE_RESOLVE_2 = 1000337010,
- PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000,
- PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001,
- PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002,
- PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000,
- PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001,
- WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002,
- DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003,
- PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000,
- RENDERING_INFO = 1000044000,
- RENDERING_ATTACHMENT_INFO = 1000044001,
- PIPELINE_RENDERING_CREATE_INFO = 1000044002,
- PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003,
- COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004,
- PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000,
- PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001,
- PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001,
- FORMAT_PROPERTIES_3 = 1000360000,
- PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000,
- PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001,
- DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002,
- DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003,
- SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
- PRESENT_INFO_KHR = 1000001001,
- DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
- IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
- BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
- ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
- DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
- DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
- DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
- DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
- DISPLAY_PRESENT_INFO_KHR = 1000003000,
- XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
- XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
- WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
- ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
- WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
- DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
- PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
- DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
- DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
- DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
- VIDEO_PROFILE_INFO_KHR = 1000023000,
- VIDEO_CAPABILITIES_KHR = 1000023001,
- VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002,
- VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003,
- BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004,
- VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
- VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
- VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
- VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
- VIDEO_END_CODING_INFO_KHR = 1000023009,
- VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
- VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011,
- QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012,
- VIDEO_PROFILE_LIST_INFO_KHR = 1000023013,
- PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
- VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
- QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016,
- VIDEO_DECODE_INFO_KHR = 1000024000,
- VIDEO_DECODE_CAPABILITIES_KHR = 1000024001,
- VIDEO_DECODE_USAGE_INFO_KHR = 1000024002,
- DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
- DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
- DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
- PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
- PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
- PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
- CU_MODULE_CREATE_INFO_NVX = 1000029000,
- CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
- CU_LAUNCH_INFO_NVX = 1000029002,
- IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
- IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
- VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
- VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038001,
- VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002,
- VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038003,
- VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004,
- VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT = 1000038005,
- VIDEO_ENCODE_H264_PROFILE_INFO_EXT = 1000038007,
- VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008,
- VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009,
- VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000,
- VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001,
- VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002,
- VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039003,
- VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004,
- VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT = 1000039005,
- VIDEO_ENCODE_H265_PROFILE_INFO_EXT = 1000039007,
- VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009,
- VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010,
- VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000,
- VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001,
- VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003,
- VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004,
- VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005,
- VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006,
- TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
- RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
- RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
- ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
- MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
- STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
- PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
- EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
- EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
- IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
- EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
- WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
- VALIDATION_FLAGS_EXT = 1000061000,
- VI_SURFACE_CREATE_INFO_NN = 1000062000,
- IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
- PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
- PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = 1000068000,
- PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = 1000068001,
- PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = 1000068002,
- IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
- EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
- MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
- MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
- IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
- MEMORY_FD_PROPERTIES_KHR = 1000074001,
- MEMORY_GET_FD_INFO_KHR = 1000074002,
- WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
- IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
- EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
- D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
- SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
- IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
- SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
- PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
- COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
- PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
- CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
- PRESENT_REGIONS_KHR = 1000084000,
- PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
- SURFACE_CAPABILITIES_2_EXT = 1000090000,
- DISPLAY_POWER_INFO_EXT = 1000091000,
- DEVICE_EVENT_INFO_EXT = 1000091001,
- DISPLAY_EVENT_INFO_EXT = 1000091002,
- SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
- PRESENT_TIMES_INFO_GOOGLE = 1000092000,
- PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
- PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
- PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
- PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
- PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
- PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
- PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
- PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
- HDR_METADATA_EXT = 1000105000,
- SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
- IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
- EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
- FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
- IMPORT_FENCE_FD_INFO_KHR = 1000115000,
- FENCE_GET_FD_INFO_KHR = 1000115001,
- PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
- PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
- QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
- PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
- ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
- PERFORMANCE_COUNTER_KHR = 1000116005,
- PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
- PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
- SURFACE_CAPABILITIES_2_KHR = 1000119001,
- SURFACE_FORMAT_2_KHR = 1000119002,
- DISPLAY_PROPERTIES_2_KHR = 1000121000,
- DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
- DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
- DISPLAY_PLANE_INFO_2_KHR = 1000121003,
- DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
- IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
- MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
- DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
- DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
- DEBUG_UTILS_LABEL_EXT = 1000128002,
- DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
- DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
- ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
- ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
- ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
- IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
- MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
- EXTERNAL_FORMAT_ANDROID = 1000129005,
- ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006,
- SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
- RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
- PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
- PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
- MULTISAMPLE_PROPERTIES_EXT = 1000143004,
- PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
- PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
- PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
- PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
- WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
- ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
- ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
- ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
- ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
- ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
- ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
- ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
- COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
- COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
- COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
- PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
- PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
- ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
- ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
- PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
- PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
- RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
- RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
- RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
- PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
- PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
- PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
- PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
- DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
- PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
- IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
- IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
- IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
- DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006,
- VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
- SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
- PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
- PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
- PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
- PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
- PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
- PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
- RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
- ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
- GEOMETRY_NV = 1000165003,
- GEOMETRY_TRIANGLES_NV = 1000165004,
- GEOMETRY_AABB_NV = 1000165005,
- BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
- WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
- ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
- PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
- RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
- ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
- PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
- PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
- PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
- FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
- IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
- MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
- PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
- PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
- PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
- CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
- PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
- VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000,
- VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001,
- VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002,
- VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003,
- VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004,
- VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005,
- DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000,
- PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000,
- QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001,
- DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
- PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
- PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
- PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
- PRESENT_FRAME_TOKEN_GGP = 1000191000,
- PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
- PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
- PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
- PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
- PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
- PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
- CHECKPOINT_DATA_NV = 1000206000,
- QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
- PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
- QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
- INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
- PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
- PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
- PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
- PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
- PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
- DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
- SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
- IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
- METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
- PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
- PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
- RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
- FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
- PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
- PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
- PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
- PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
- PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
- PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
- PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
- PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
- PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
- MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
- SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
- PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
- PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
- BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
- VALIDATION_FEATURES_EXT = 1000247000,
- PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000,
- PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
- COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
- PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
- PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
- PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
- FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
- PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
- PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
- PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
- PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
- PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
- SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
- SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
- SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
- HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
- PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
- PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
- PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
- PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
- PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
- PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
- PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
- PIPELINE_INFO_KHR = 1000269001,
- PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
- PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
- PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
- PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
- MEMORY_MAP_INFO_KHR = 1000271000,
- MEMORY_UNMAP_INFO_KHR = 1000271001,
- PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000,
- SURFACE_PRESENT_MODE_EXT = 1000274000,
- SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001,
- SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002,
- PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000,
- SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001,
- SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002,
- SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003,
- SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004,
- RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005,
- PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
- GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
- GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
- INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
- INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
- GENERATED_COMMANDS_INFO_NV = 1000277005,
- GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
- PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
- PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
- COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
- PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
- COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
- RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
- PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
- DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
- DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
- PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
- PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
- SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
- PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
- PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
- PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
- PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000,
- SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001,
- SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002,
- PRESENT_ID_KHR = 1000294000,
- PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
- VIDEO_ENCODE_INFO_KHR = 1000299000,
- VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
- VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
- VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003,
- VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004,
- QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR = 1000299005,
- PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
- DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
- QUERY_LOW_LATENCY_SUPPORT_NV = 1000310000,
- EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000,
- EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001,
- EXPORT_METAL_DEVICE_INFO_EXT = 1000311002,
- EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003,
- EXPORT_METAL_BUFFER_INFO_EXT = 1000311004,
- IMPORT_METAL_BUFFER_INFO_EXT = 1000311005,
- EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006,
- IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007,
- EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008,
- IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009,
- EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010,
- IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011,
- QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
- CHECKPOINT_DATA_2_NV = 1000314009,
- PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000,
- PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001,
- PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002,
- DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003,
- DESCRIPTOR_GET_INFO_EXT = 1000316004,
- BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005,
- IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006,
- IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007,
- SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008,
- OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010,
- DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011,
- DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012,
- ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009,
- PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000,
- PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001,
- GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002,
- PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000,
- PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000,
- PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000,
- PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
- PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
- PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
- PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
- ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
- PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
- ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
- PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000,
- PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001,
- PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
- PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
- PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
- COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
- PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
- PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000,
- IMAGE_COMPRESSION_CONTROL_EXT = 1000338001,
- SUBRESOURCE_LAYOUT_2_EXT = 1000338002,
- IMAGE_SUBRESOURCE_2_EXT = 1000338003,
- IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004,
- PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000,
- PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
- PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000,
- DEVICE_FAULT_COUNTS_EXT = 1000341001,
- DEVICE_FAULT_INFO_EXT = 1000341002,
- PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
- DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
- PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
- VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
- VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
- PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
- PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000,
- DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001,
- PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000,
- PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001,
- PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000,
- IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
- MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
- MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
- IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
- SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
- BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000,
- IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001,
- BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002,
- BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003,
- BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004,
- BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005,
- IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006,
- IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007,
- SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008,
- BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009,
- SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
- PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
- PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
- PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
- MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
- PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
- PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000,
- PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001,
- PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000,
- SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001,
- MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002,
- PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
- SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
- PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
- PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
- PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000,
- PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000,
- PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
- IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
- PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
- PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
- PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000,
- PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT = 1000395000,
- PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT = 1000395001,
- MICROMAP_BUILD_INFO_EXT = 1000396000,
- MICROMAP_VERSION_INFO_EXT = 1000396001,
- COPY_MICROMAP_INFO_EXT = 1000396002,
- COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003,
- COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004,
- PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005,
- PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006,
- MICROMAP_CREATE_INFO_EXT = 1000396007,
- MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008,
- ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009,
- PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV = 1000397000,
- PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV = 1000397001,
- ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV = 1000397002,
- PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000,
- PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001,
- PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
- SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
- PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
- PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000,
- PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000,
- IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001,
- PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000,
- DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001,
- DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002,
- PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000,
- PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000,
- PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
- PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
- SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
- PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000,
- PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001,
- PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000,
- PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001,
- PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
- PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000,
- PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000,
- PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001,
- IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002,
- PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000,
- PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001,
- PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000,
- RENDER_PASS_CREATION_CONTROL_EXT = 1000458001,
- RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002,
- RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003,
- DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000,
- DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001,
- PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000,
- PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001,
- PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002,
- SHADER_MODULE_IDENTIFIER_EXT = 1000462003,
- PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000,
- PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000,
- PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001,
- OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002,
- OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003,
- OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004,
- OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005,
- OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010,
- PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000,
- PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000,
- PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR = 1000481000,
- PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT = 1000482000,
- PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT = 1000482001,
- SHADER_CREATE_INFO_EXT = 1000482002,
- PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000,
- TILE_PROPERTIES_QCOM = 1000484001,
- PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000,
- AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001,
- PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000,
- PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000,
- PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001,
- PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000,
- MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002,
- PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000,
- PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001,
- PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000,
- PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000,
- MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001,
- PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT = 1000524000,
- PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
- PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
- DEBUG_REPORT_CREATE_INFO_EXT = DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
- RENDERING_INFO_KHR = RENDERING_INFO,
- RENDERING_ATTACHMENT_INFO_KHR = RENDERING_ATTACHMENT_INFO,
- PIPELINE_RENDERING_CREATE_INFO_KHR = PIPELINE_RENDERING_CREATE_INFO,
- PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
- COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
- ATTACHMENT_SAMPLE_COUNT_INFO_NV = ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
- RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = RENDER_PASS_MULTIVIEW_CREATE_INFO,
- PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
- PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
- PHYSICAL_DEVICE_FEATURES_2_KHR = PHYSICAL_DEVICE_FEATURES_2,
- PHYSICAL_DEVICE_PROPERTIES_2_KHR = PHYSICAL_DEVICE_PROPERTIES_2,
- FORMAT_PROPERTIES_2_KHR = FORMAT_PROPERTIES_2,
- IMAGE_FORMAT_PROPERTIES_2_KHR = IMAGE_FORMAT_PROPERTIES_2,
- PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
- QUEUE_FAMILY_PROPERTIES_2_KHR = QUEUE_FAMILY_PROPERTIES_2,
- PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
- SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = SPARSE_IMAGE_FORMAT_PROPERTIES_2,
- PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
- MEMORY_ALLOCATE_FLAGS_INFO_KHR = MEMORY_ALLOCATE_FLAGS_INFO,
- DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
- DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
- DEVICE_GROUP_SUBMIT_INFO_KHR = DEVICE_GROUP_SUBMIT_INFO,
- DEVICE_GROUP_BIND_SPARSE_INFO_KHR = DEVICE_GROUP_BIND_SPARSE_INFO,
- BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
- BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
- PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
- PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = PHYSICAL_DEVICE_GROUP_PROPERTIES,
- DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = DEVICE_GROUP_DEVICE_CREATE_INFO,
- PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
- EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = EXTERNAL_IMAGE_FORMAT_PROPERTIES,
- PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
- EXTERNAL_BUFFER_PROPERTIES_KHR = EXTERNAL_BUFFER_PROPERTIES,
- PHYSICAL_DEVICE_ID_PROPERTIES_KHR = PHYSICAL_DEVICE_ID_PROPERTIES,
- EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
- EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
- EXPORT_MEMORY_ALLOCATE_INFO_KHR = EXPORT_MEMORY_ALLOCATE_INFO,
- PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
- EXTERNAL_SEMAPHORE_PROPERTIES_KHR = EXTERNAL_SEMAPHORE_PROPERTIES,
- EXPORT_SEMAPHORE_CREATE_INFO_KHR = EXPORT_SEMAPHORE_CREATE_INFO,
- PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
- PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
- PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
- DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
- SURFACE_CAPABILITIES2_EXT = SURFACE_CAPABILITIES_2_EXT,
- PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
- FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
- FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
- RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = RENDER_PASS_ATTACHMENT_BEGIN_INFO,
- ATTACHMENT_DESCRIPTION_2_KHR = ATTACHMENT_DESCRIPTION_2,
- ATTACHMENT_REFERENCE_2_KHR = ATTACHMENT_REFERENCE_2,
- SUBPASS_DESCRIPTION_2_KHR = SUBPASS_DESCRIPTION_2,
- SUBPASS_DEPENDENCY_2_KHR = SUBPASS_DEPENDENCY_2,
- RENDER_PASS_CREATE_INFO_2_KHR = RENDER_PASS_CREATE_INFO_2,
- SUBPASS_BEGIN_INFO_KHR = SUBPASS_BEGIN_INFO,
- SUBPASS_END_INFO_KHR = SUBPASS_END_INFO,
- PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
- EXTERNAL_FENCE_PROPERTIES_KHR = EXTERNAL_FENCE_PROPERTIES,
- EXPORT_FENCE_CREATE_INFO_KHR = EXPORT_FENCE_CREATE_INFO,
- PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
- RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
- IMAGE_VIEW_USAGE_CREATE_INFO_KHR = IMAGE_VIEW_USAGE_CREATE_INFO,
- PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
- PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
- PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
- MEMORY_DEDICATED_REQUIREMENTS_KHR = MEMORY_DEDICATED_REQUIREMENTS,
- MEMORY_DEDICATED_ALLOCATE_INFO_KHR = MEMORY_DEDICATED_ALLOCATE_INFO,
- PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
- SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = SAMPLER_REDUCTION_MODE_CREATE_INFO,
- PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
- PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
- WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
- DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
- BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = BUFFER_MEMORY_REQUIREMENTS_INFO_2,
- IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = IMAGE_MEMORY_REQUIREMENTS_INFO_2,
- IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
- MEMORY_REQUIREMENTS_2_KHR = MEMORY_REQUIREMENTS_2,
- SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
- IMAGE_FORMAT_LIST_CREATE_INFO_KHR = IMAGE_FORMAT_LIST_CREATE_INFO,
- SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
- SAMPLER_YCBCR_CONVERSION_INFO_KHR = SAMPLER_YCBCR_CONVERSION_INFO,
- BIND_IMAGE_PLANE_MEMORY_INFO_KHR = BIND_IMAGE_PLANE_MEMORY_INFO,
- IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
- PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
- SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
- BIND_BUFFER_MEMORY_INFO_KHR = BIND_BUFFER_MEMORY_INFO,
- BIND_IMAGE_MEMORY_INFO_KHR = BIND_IMAGE_MEMORY_INFO,
- DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
- PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
- PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
- DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
- DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
- PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
- DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = DESCRIPTOR_SET_LAYOUT_SUPPORT,
- DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR,
- PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
- PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
- PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
- PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
- PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = PHYSICAL_DEVICE_DRIVER_PROPERTIES,
- PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
- PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
- SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
- PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
- PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
- PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
- SEMAPHORE_TYPE_CREATE_INFO_KHR = SEMAPHORE_TYPE_CREATE_INFO,
- TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = TIMELINE_SEMAPHORE_SUBMIT_INFO,
- SEMAPHORE_WAIT_INFO_KHR = SEMAPHORE_WAIT_INFO,
- SEMAPHORE_SIGNAL_INFO_KHR = SEMAPHORE_SIGNAL_INFO,
- QUERY_POOL_CREATE_INFO_INTEL = QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
- PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
- PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
- PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
- PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
- PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
- PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
- PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
- ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
- ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
- PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
- BUFFER_DEVICE_ADDRESS_INFO_EXT = BUFFER_DEVICE_ADDRESS_INFO,
- PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = PHYSICAL_DEVICE_TOOL_PROPERTIES,
- IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = IMAGE_STENCIL_USAGE_CREATE_INFO,
- PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
- PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
- BUFFER_DEVICE_ADDRESS_INFO_KHR = BUFFER_DEVICE_ADDRESS_INFO,
- BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
- MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
- DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
- PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
- PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
- PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
- PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES,
- PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
- PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
- DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = DEVICE_PRIVATE_DATA_CREATE_INFO,
- PRIVATE_DATA_SLOT_CREATE_INFO_EXT = PRIVATE_DATA_SLOT_CREATE_INFO,
- PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
- MEMORY_BARRIER_2_KHR = MEMORY_BARRIER_2,
- BUFFER_MEMORY_BARRIER_2_KHR = BUFFER_MEMORY_BARRIER_2,
- IMAGE_MEMORY_BARRIER_2_KHR = IMAGE_MEMORY_BARRIER_2,
- DEPENDENCY_INFO_KHR = DEPENDENCY_INFO,
- SUBMIT_INFO_2_KHR = SUBMIT_INFO_2,
- SEMAPHORE_SUBMIT_INFO_KHR = SEMAPHORE_SUBMIT_INFO,
- COMMAND_BUFFER_SUBMIT_INFO_KHR = COMMAND_BUFFER_SUBMIT_INFO,
- PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
- PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
- PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
- COPY_BUFFER_INFO_2_KHR = COPY_BUFFER_INFO_2,
- COPY_IMAGE_INFO_2_KHR = COPY_IMAGE_INFO_2,
- COPY_BUFFER_TO_IMAGE_INFO_2_KHR = COPY_BUFFER_TO_IMAGE_INFO_2,
- COPY_IMAGE_TO_BUFFER_INFO_2_KHR = COPY_IMAGE_TO_BUFFER_INFO_2,
- BLIT_IMAGE_INFO_2_KHR = BLIT_IMAGE_INFO_2,
- RESOLVE_IMAGE_INFO_2_KHR = RESOLVE_IMAGE_INFO_2,
- BUFFER_COPY_2_KHR = BUFFER_COPY_2,
- IMAGE_COPY_2_KHR = IMAGE_COPY_2,
- IMAGE_BLIT_2_KHR = IMAGE_BLIT_2,
- BUFFER_IMAGE_COPY_2_KHR = BUFFER_IMAGE_COPY_2,
- IMAGE_RESOLVE_2_KHR = IMAGE_RESOLVE_2,
- PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
- PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
- MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
- FORMAT_PROPERTIES_3_KHR = FORMAT_PROPERTIES_3,
- PIPELINE_INFO_EXT = PIPELINE_INFO_KHR,
- PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
- QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
- PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
- PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
- DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = DEVICE_BUFFER_MEMORY_REQUIREMENTS,
- DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = DEVICE_IMAGE_MEMORY_REQUIREMENTS,
- SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
-}
-
-SubgroupFeatureFlags :: distinct bit_set[SubgroupFeatureFlag; Flags]
-SubgroupFeatureFlag :: enum Flags {
- BASIC = 0,
- VOTE = 1,
- ARITHMETIC = 2,
- BALLOT = 3,
- SHUFFLE = 4,
- SHUFFLE_RELATIVE = 5,
- CLUSTERED = 6,
- QUAD = 7,
- PARTITIONED_NV = 8,
-}
-
-SubmitFlags :: distinct bit_set[SubmitFlag; Flags]
-SubmitFlag :: enum Flags {
- PROTECTED = 0,
- PROTECTED_KHR = PROTECTED,
-}
-
-SubpassContents :: enum c.int {
- INLINE = 0,
- SECONDARY_COMMAND_BUFFERS = 1,
-}
-
-SubpassDescriptionFlags :: distinct bit_set[SubpassDescriptionFlag; Flags]
-SubpassDescriptionFlag :: enum Flags {
- PER_VIEW_ATTRIBUTES_NVX = 0,
- PER_VIEW_POSITION_X_ONLY_NVX = 1,
- FRAGMENT_REGION_QCOM = 2,
- SHADER_RESOLVE_QCOM = 3,
- RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_EXT = 4,
- RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT = 5,
- RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT = 6,
- ENABLE_LEGACY_DITHERING_EXT = 7,
- RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_ARM = RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_EXT,
- RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM = RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT,
- RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM = RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT,
-}
-
-SubpassMergeStatusEXT :: enum c.int {
- MERGED = 0,
- DISALLOWED = 1,
- NOT_MERGED_SIDE_EFFECTS = 2,
- NOT_MERGED_SAMPLES_MISMATCH = 3,
- NOT_MERGED_VIEWS_MISMATCH = 4,
- NOT_MERGED_ALIASING = 5,
- NOT_MERGED_DEPENDENCIES = 6,
- NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT = 7,
- NOT_MERGED_TOO_MANY_ATTACHMENTS = 8,
- NOT_MERGED_INSUFFICIENT_STORAGE = 9,
- NOT_MERGED_DEPTH_STENCIL_COUNT = 10,
- NOT_MERGED_RESOLVE_ATTACHMENT_REUSE = 11,
- NOT_MERGED_SINGLE_SUBPASS = 12,
- NOT_MERGED_UNSPECIFIED = 13,
-}
-
-SurfaceCounterFlagsEXT :: distinct bit_set[SurfaceCounterFlagEXT; Flags]
-SurfaceCounterFlagEXT :: enum Flags {
- VBLANK = 0,
-}
-
-SurfaceTransformFlagsKHR :: distinct bit_set[SurfaceTransformFlagKHR; Flags]
-SurfaceTransformFlagKHR :: enum Flags {
- IDENTITY = 0,
- ROTATE_90 = 1,
- ROTATE_180 = 2,
- ROTATE_270 = 3,
- HORIZONTAL_MIRROR = 4,
- HORIZONTAL_MIRROR_ROTATE_90 = 5,
- HORIZONTAL_MIRROR_ROTATE_180 = 6,
- HORIZONTAL_MIRROR_ROTATE_270 = 7,
- INHERIT = 8,
-}
-
-SwapchainCreateFlagsKHR :: distinct bit_set[SwapchainCreateFlagKHR; Flags]
-SwapchainCreateFlagKHR :: enum Flags {
- SPLIT_INSTANCE_BIND_REGIONS = 0,
- PROTECTED = 1,
- MUTABLE_FORMAT = 2,
- DEFERRED_MEMORY_ALLOCATION_EXT = 3,
-}
-
-SystemAllocationScope :: enum c.int {
- COMMAND = 0,
- OBJECT = 1,
- CACHE = 2,
- DEVICE = 3,
- INSTANCE = 4,
-}
-
-TessellationDomainOrigin :: enum c.int {
- UPPER_LEFT = 0,
- LOWER_LEFT = 1,
- UPPER_LEFT_KHR = UPPER_LEFT,
- LOWER_LEFT_KHR = LOWER_LEFT,
-}
-
-TimeDomainEXT :: enum c.int {
- DEVICE = 0,
- CLOCK_MONOTONIC = 1,
- CLOCK_MONOTONIC_RAW = 2,
- QUERY_PERFORMANCE_COUNTER = 3,
-}
-
-ToolPurposeFlags :: distinct bit_set[ToolPurposeFlag; Flags]
-ToolPurposeFlag :: enum Flags {
- VALIDATION = 0,
- PROFILING = 1,
- TRACING = 2,
- ADDITIONAL_FEATURES = 3,
- MODIFYING_FEATURES = 4,
- DEBUG_REPORTING_EXT = 5,
- DEBUG_MARKERS_EXT = 6,
- VALIDATION_EXT = VALIDATION,
- PROFILING_EXT = PROFILING,
- TRACING_EXT = TRACING,
- ADDITIONAL_FEATURES_EXT = ADDITIONAL_FEATURES,
- MODIFYING_FEATURES_EXT = MODIFYING_FEATURES,
-}
-
-ValidationCacheHeaderVersionEXT :: enum c.int {
- ONE = 1,
-}
-
-ValidationCheckEXT :: enum c.int {
- ALL = 0,
- SHADERS = 1,
-}
-
-ValidationFeatureDisableEXT :: enum c.int {
- ALL = 0,
- SHADERS = 1,
- THREAD_SAFETY = 2,
- API_PARAMETERS = 3,
- OBJECT_LIFETIMES = 4,
- CORE_CHECKS = 5,
- UNIQUE_HANDLES = 6,
- SHADER_VALIDATION_CACHE = 7,
-}
-
-ValidationFeatureEnableEXT :: enum c.int {
- GPU_ASSISTED = 0,
- GPU_ASSISTED_RESERVE_BINDING_SLOT = 1,
- BEST_PRACTICES = 2,
- DEBUG_PRINTF = 3,
- SYNCHRONIZATION_VALIDATION = 4,
-}
-
-VendorId :: enum c.int {
- VIV = 0x10001,
- VSI = 0x10002,
- KAZAN = 0x10003,
- CODEPLAY = 0x10004,
- MESA = 0x10005,
- POCL = 0x10006,
- MOBILEYE = 0x10007,
-}
-
-VertexInputRate :: enum c.int {
- VERTEX = 0,
- INSTANCE = 1,
-}
-
-VideoCapabilityFlagsKHR :: distinct bit_set[VideoCapabilityFlagKHR; Flags]
-VideoCapabilityFlagKHR :: enum Flags {
- PROTECTED_CONTENT = 0,
- SEPARATE_REFERENCE_IMAGES = 1,
-}
-
-VideoChromaSubsamplingFlagsKHR :: distinct bit_set[VideoChromaSubsamplingFlagKHR; Flags]
-VideoChromaSubsamplingFlagKHR :: enum Flags {
- MONOCHROME = 0,
- _420 = 1,
- _422 = 2,
- _444 = 3,
-}
-
-VideoChromaSubsamplingFlagsKHR_INVALID :: VideoChromaSubsamplingFlagsKHR{}
-
-
-VideoCodecOperationFlagsKHR :: distinct bit_set[VideoCodecOperationFlagKHR; Flags]
-VideoCodecOperationFlagKHR :: enum Flags {
- ENCODE_H264_EXT = 16,
- ENCODE_H265_EXT = 17,
- DECODE_H264 = 0,
- DECODE_H265 = 1,
-}
-
-VideoCodecOperationFlagsKHR_NONE :: VideoCodecOperationFlagsKHR{}
-
-
-VideoCodingControlFlagsKHR :: distinct bit_set[VideoCodingControlFlagKHR; Flags]
-VideoCodingControlFlagKHR :: enum Flags {
- RESET = 0,
- ENCODE_RATE_CONTROL = 1,
- ENCODE_RATE_CONTROL_LAYER = 2,
-}
-
-VideoComponentBitDepthFlagsKHR :: distinct bit_set[VideoComponentBitDepthFlagKHR; Flags]
-VideoComponentBitDepthFlagKHR :: enum Flags {
- _8 = 0,
- _10 = 2,
- _12 = 4,
-}
-
-VideoComponentBitDepthFlagsKHR_INVALID :: VideoComponentBitDepthFlagsKHR{}
-
-
-VideoDecodeCapabilityFlagsKHR :: distinct bit_set[VideoDecodeCapabilityFlagKHR; Flags]
-VideoDecodeCapabilityFlagKHR :: enum Flags {
- DPB_AND_OUTPUT_COINCIDE = 0,
- DPB_AND_OUTPUT_DISTINCT = 1,
-}
-
-VideoDecodeH264FieldOrderCount :: enum c.int {
-}
-
-VideoDecodeH264PictureLayoutFlagsKHR :: distinct bit_set[VideoDecodeH264PictureLayoutFlagKHR; Flags]
-VideoDecodeH264PictureLayoutFlagKHR :: enum Flags {
- INTERLACED_INTERLEAVED_LINES = 0,
- INTERLACED_SEPARATE_PLANES = 1,
-}
-
-VideoDecodeH264PictureLayoutFlagsKHR_PROGRESSIVE :: VideoDecodeH264PictureLayoutFlagsKHR{}
-
-
-VideoDecodeUsageFlagsKHR :: distinct bit_set[VideoDecodeUsageFlagKHR; Flags]
-VideoDecodeUsageFlagKHR :: enum Flags {
- TRANSCODING = 0,
- OFFLINE = 1,
- STREAMING = 2,
-}
-
-VideoDecodeUsageFlagsKHR_DEFAULT :: VideoDecodeUsageFlagsKHR{}
-
-
-VideoH264AspectRatioIdc :: enum c.int {
-}
-
-VideoH264CabacInitIdc :: enum c.int {
-}
-
-VideoH264ChromaFormatIdc :: enum c.int {
-}
-
-VideoH264DisableDeblockingFilterIdc :: enum c.int {
-}
-
-VideoH264LevelIdc :: enum c.int {
-}
-
-VideoH264MemMgmtControlOp :: enum c.int {
-}
-
-VideoH264ModificationOfPicNumsIdc :: enum c.int {
-}
-
-VideoH264NonVclNaluType :: enum c.int {
-}
-
-VideoH264PictureType :: enum c.int {
-}
-
-VideoH264PocType :: enum c.int {
-}
-
-VideoH264ProfileIdc :: enum c.int {
-}
-
-VideoH264SliceType :: enum c.int {
-}
-
-VideoH264WeightedBipredIdc :: enum c.int {
-}
-
-VideoH265AspectRatioIdc :: enum c.int {
-}
-
-VideoH265ChromaFormatIdc :: enum c.int {
-}
-
-VideoH265LevelIdc :: enum c.int {
-}
-
-VideoH265PictureType :: enum c.int {
-}
-
-VideoH265ProfileIdc :: enum c.int {
-}
-
-VideoH265SliceType :: enum c.int {
-}
-
-VideoSessionCreateFlagsKHR :: distinct bit_set[VideoSessionCreateFlagKHR; Flags]
-VideoSessionCreateFlagKHR :: enum Flags {
- PROTECTED_CONTENT = 0,
-}
-
-ViewportCoordinateSwizzleNV :: enum c.int {
- POSITIVE_X = 0,
- NEGATIVE_X = 1,
- POSITIVE_Y = 2,
- NEGATIVE_Y = 3,
- POSITIVE_Z = 4,
- NEGATIVE_Z = 5,
- POSITIVE_W = 6,
- NEGATIVE_W = 7,
-}
-
-AccelerationStructureMotionInfoFlagsNV :: distinct bit_set[AccelerationStructureMotionInfoFlagNV; Flags]
-AccelerationStructureMotionInfoFlagNV :: enum u32 {}
-AccelerationStructureMotionInstanceFlagsNV :: distinct bit_set[AccelerationStructureMotionInstanceFlagNV; Flags]
-AccelerationStructureMotionInstanceFlagNV :: enum u32 {}
-BufferViewCreateFlags :: distinct bit_set[BufferViewCreateFlag; Flags]
-BufferViewCreateFlag :: enum u32 {}
-CommandPoolTrimFlags :: distinct bit_set[CommandPoolTrimFlag; Flags]
-CommandPoolTrimFlag :: enum u32 {}
-DebugUtilsMessengerCallbackDataFlagsEXT :: distinct bit_set[DebugUtilsMessengerCallbackDataFlagEXT; Flags]
-DebugUtilsMessengerCallbackDataFlagEXT :: enum u32 {}
-DebugUtilsMessengerCreateFlagsEXT :: distinct bit_set[DebugUtilsMessengerCreateFlagEXT; Flags]
-DebugUtilsMessengerCreateFlagEXT :: enum u32 {}
-DescriptorPoolResetFlags :: distinct bit_set[DescriptorPoolResetFlag; Flags]
-DescriptorPoolResetFlag :: enum u32 {}
-DescriptorUpdateTemplateCreateFlags :: distinct bit_set[DescriptorUpdateTemplateCreateFlag; Flags]
-DescriptorUpdateTemplateCreateFlag :: enum u32 {}
-DeviceCreateFlags :: distinct bit_set[DeviceCreateFlag; Flags]
-DeviceCreateFlag :: enum u32 {}
-DeviceMemoryReportFlagsEXT :: distinct bit_set[DeviceMemoryReportFlagEXT; Flags]
-DeviceMemoryReportFlagEXT :: enum u32 {}
-DirectDriverLoadingFlagsLUNARG :: distinct bit_set[DirectDriverLoadingFlagLUNARG; Flags]
-DirectDriverLoadingFlagLUNARG :: enum u32 {}
-DisplayModeCreateFlagsKHR :: distinct bit_set[DisplayModeCreateFlagKHR; Flags]
-DisplayModeCreateFlagKHR :: enum u32 {}
-DisplaySurfaceCreateFlagsKHR :: distinct bit_set[DisplaySurfaceCreateFlagKHR; Flags]
-DisplaySurfaceCreateFlagKHR :: enum u32 {}
-HeadlessSurfaceCreateFlagsEXT :: distinct bit_set[HeadlessSurfaceCreateFlagEXT; Flags]
-HeadlessSurfaceCreateFlagEXT :: enum u32 {}
-IOSSurfaceCreateFlagsMVK :: distinct bit_set[IOSSurfaceCreateFlagMVK; Flags]
-IOSSurfaceCreateFlagMVK :: enum u32 {}
-MacOSSurfaceCreateFlagsMVK :: distinct bit_set[MacOSSurfaceCreateFlagMVK; Flags]
-MacOSSurfaceCreateFlagMVK :: enum u32 {}
-MemoryMapFlags :: distinct bit_set[MemoryMapFlag; Flags]
-MemoryMapFlag :: enum u32 {}
-MemoryUnmapFlagsKHR :: distinct bit_set[MemoryUnmapFlagKHR; Flags]
-MemoryUnmapFlagKHR :: enum u32 {}
-MetalSurfaceCreateFlagsEXT :: distinct bit_set[MetalSurfaceCreateFlagEXT; Flags]
-MetalSurfaceCreateFlagEXT :: enum u32 {}
-PipelineCoverageModulationStateCreateFlagsNV :: distinct bit_set[PipelineCoverageModulationStateCreateFlagNV; Flags]
-PipelineCoverageModulationStateCreateFlagNV :: enum u32 {}
-PipelineCoverageReductionStateCreateFlagsNV :: distinct bit_set[PipelineCoverageReductionStateCreateFlagNV; Flags]
-PipelineCoverageReductionStateCreateFlagNV :: enum u32 {}
-PipelineCoverageToColorStateCreateFlagsNV :: distinct bit_set[PipelineCoverageToColorStateCreateFlagNV; Flags]
-PipelineCoverageToColorStateCreateFlagNV :: enum u32 {}
-PipelineDiscardRectangleStateCreateFlagsEXT :: distinct bit_set[PipelineDiscardRectangleStateCreateFlagEXT; Flags]
-PipelineDiscardRectangleStateCreateFlagEXT :: enum u32 {}
-PipelineDynamicStateCreateFlags :: distinct bit_set[PipelineDynamicStateCreateFlag; Flags]
-PipelineDynamicStateCreateFlag :: enum u32 {}
-PipelineInputAssemblyStateCreateFlags :: distinct bit_set[PipelineInputAssemblyStateCreateFlag; Flags]
-PipelineInputAssemblyStateCreateFlag :: enum u32 {}
-PipelineMultisampleStateCreateFlags :: distinct bit_set[PipelineMultisampleStateCreateFlag; Flags]
-PipelineMultisampleStateCreateFlag :: enum u32 {}
-PipelineRasterizationConservativeStateCreateFlagsEXT :: distinct bit_set[PipelineRasterizationConservativeStateCreateFlagEXT; Flags]
-PipelineRasterizationConservativeStateCreateFlagEXT :: enum u32 {}
-PipelineRasterizationDepthClipStateCreateFlagsEXT :: distinct bit_set[PipelineRasterizationDepthClipStateCreateFlagEXT; Flags]
-PipelineRasterizationDepthClipStateCreateFlagEXT :: enum u32 {}
-PipelineRasterizationStateCreateFlags :: distinct bit_set[PipelineRasterizationStateCreateFlag; Flags]
-PipelineRasterizationStateCreateFlag :: enum u32 {}
-PipelineRasterizationStateStreamCreateFlagsEXT :: distinct bit_set[PipelineRasterizationStateStreamCreateFlagEXT; Flags]
-PipelineRasterizationStateStreamCreateFlagEXT :: enum u32 {}
-PipelineTessellationStateCreateFlags :: distinct bit_set[PipelineTessellationStateCreateFlag; Flags]
-PipelineTessellationStateCreateFlag :: enum u32 {}
-PipelineVertexInputStateCreateFlags :: distinct bit_set[PipelineVertexInputStateCreateFlag; Flags]
-PipelineVertexInputStateCreateFlag :: enum u32 {}
-PipelineViewportStateCreateFlags :: distinct bit_set[PipelineViewportStateCreateFlag; Flags]
-PipelineViewportStateCreateFlag :: enum u32 {}
-PipelineViewportSwizzleStateCreateFlagsNV :: distinct bit_set[PipelineViewportSwizzleStateCreateFlagNV; Flags]
-PipelineViewportSwizzleStateCreateFlagNV :: enum u32 {}
-PrivateDataSlotCreateFlags :: distinct bit_set[PrivateDataSlotCreateFlag; Flags]
-PrivateDataSlotCreateFlag :: enum u32 {}
-QueryPoolCreateFlags :: distinct bit_set[QueryPoolCreateFlag; Flags]
-QueryPoolCreateFlag :: enum u32 {}
-SemaphoreCreateFlags :: distinct bit_set[SemaphoreCreateFlag; Flags]
-SemaphoreCreateFlag :: enum u32 {}
-ShaderModuleCreateFlags :: distinct bit_set[ShaderModuleCreateFlag; Flags]
-ShaderModuleCreateFlag :: enum u32 {}
-ValidationCacheCreateFlagsEXT :: distinct bit_set[ValidationCacheCreateFlagEXT; Flags]
-ValidationCacheCreateFlagEXT :: enum u32 {}
-VideoBeginCodingFlagsKHR :: distinct bit_set[VideoBeginCodingFlagKHR; Flags]
-VideoBeginCodingFlagKHR :: enum u32 {}
-VideoDecodeFlagsKHR :: distinct bit_set[VideoDecodeFlagKHR; Flags]
-VideoDecodeFlagKHR :: enum u32 {}
-VideoEndCodingFlagsKHR :: distinct bit_set[VideoEndCodingFlagKHR; Flags]
-VideoEndCodingFlagKHR :: enum u32 {}
-VideoSessionParametersCreateFlagsKHR :: distinct bit_set[VideoSessionParametersCreateFlagKHR; Flags]
-VideoSessionParametersCreateFlagKHR :: enum u32 {}
-WaylandSurfaceCreateFlagsKHR :: distinct bit_set[WaylandSurfaceCreateFlagKHR; Flags]
-WaylandSurfaceCreateFlagKHR :: enum u32 {}
-Win32SurfaceCreateFlagsKHR :: distinct bit_set[Win32SurfaceCreateFlagKHR; Flags]
-Win32SurfaceCreateFlagKHR :: enum u32 {}
-AccessFlags2 :: distinct bit_set[AccessFlag2; Flags64]
-AccessFlag2 :: enum Flags64 {
- INDIRECT_COMMAND_READ = 0,
- INDIRECT_COMMAND_READ_KHR = 0,
- INDEX_READ = 1,
- INDEX_READ_KHR = 1,
- VERTEX_ATTRIBUTE_READ = 2,
- VERTEX_ATTRIBUTE_READ_KHR = 2,
- UNIFORM_READ = 3,
- UNIFORM_READ_KHR = 3,
- INPUT_ATTACHMENT_READ = 4,
- INPUT_ATTACHMENT_READ_KHR = 4,
- SHADER_READ = 5,
- SHADER_READ_KHR = 5,
- SHADER_WRITE = 6,
- SHADER_WRITE_KHR = 6,
- COLOR_ATTACHMENT_READ = 7,
- COLOR_ATTACHMENT_READ_KHR = 7,
- COLOR_ATTACHMENT_WRITE = 8,
- COLOR_ATTACHMENT_WRITE_KHR = 8,
- DEPTH_STENCIL_ATTACHMENT_READ = 9,
- DEPTH_STENCIL_ATTACHMENT_READ_KHR = 9,
- DEPTH_STENCIL_ATTACHMENT_WRITE = 10,
- DEPTH_STENCIL_ATTACHMENT_WRITE_KHR = 10,
- TRANSFER_READ = 11,
- TRANSFER_READ_KHR = 11,
- TRANSFER_WRITE = 12,
- TRANSFER_WRITE_KHR = 12,
- HOST_READ = 13,
- HOST_READ_KHR = 13,
- HOST_WRITE = 14,
- HOST_WRITE_KHR = 14,
- MEMORY_READ = 15,
- MEMORY_READ_KHR = 15,
- MEMORY_WRITE = 16,
- MEMORY_WRITE_KHR = 16,
- SHADER_SAMPLED_READ = 32,
- SHADER_SAMPLED_READ_KHR = 32,
- SHADER_STORAGE_READ = 33,
- SHADER_STORAGE_READ_KHR = 33,
- SHADER_STORAGE_WRITE = 34,
- SHADER_STORAGE_WRITE_KHR = 34,
- VIDEO_DECODE_READ_KHR = 35,
- VIDEO_DECODE_WRITE_KHR = 36,
- VIDEO_ENCODE_READ_KHR = 37,
- VIDEO_ENCODE_WRITE_KHR = 38,
- TRANSFORM_FEEDBACK_WRITE_EXT = 25,
- TRANSFORM_FEEDBACK_COUNTER_READ_EXT = 26,
- TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT = 27,
- CONDITIONAL_RENDERING_READ_EXT = 20,
- COMMAND_PREPROCESS_READ_NV = 17,
- COMMAND_PREPROCESS_WRITE_NV = 18,
- FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR = 23,
- SHADING_RATE_IMAGE_READ_NV = 23,
- ACCELERATION_STRUCTURE_READ_KHR = 21,
- ACCELERATION_STRUCTURE_WRITE_KHR = 22,
- ACCELERATION_STRUCTURE_READ_NV = 21,
- ACCELERATION_STRUCTURE_WRITE_NV = 22,
- FRAGMENT_DENSITY_MAP_READ_EXT = 24,
- COLOR_ATTACHMENT_READ_NONCOHERENT_EXT = 19,
- DESCRIPTOR_BUFFER_READ_EXT = 41,
- INVOCATION_MASK_READ_HUAWEI = 39,
- SHADER_BINDING_TABLE_READ_KHR = 40,
- MICROMAP_READ_EXT = 44,
- MICROMAP_WRITE_EXT = 45,
- OPTICAL_FLOW_READ_NV = 42,
- OPTICAL_FLOW_WRITE_NV = 43,
-}
-
-FormatFeatureFlags2 :: distinct bit_set[FormatFeatureFlag2; Flags64]
-FormatFeatureFlag2 :: enum Flags64 {
- SAMPLED_IMAGE = 0,
- SAMPLED_IMAGE_KHR = 0,
- STORAGE_IMAGE = 1,
- STORAGE_IMAGE_KHR = 1,
- STORAGE_IMAGE_ATOMIC = 2,
- STORAGE_IMAGE_ATOMIC_KHR = 2,
- UNIFORM_TEXEL_BUFFER = 3,
- UNIFORM_TEXEL_BUFFER_KHR = 3,
- STORAGE_TEXEL_BUFFER = 4,
- STORAGE_TEXEL_BUFFER_KHR = 4,
- STORAGE_TEXEL_BUFFER_ATOMIC = 5,
- STORAGE_TEXEL_BUFFER_ATOMIC_KHR = 5,
- VERTEX_BUFFER = 6,
- VERTEX_BUFFER_KHR = 6,
- COLOR_ATTACHMENT = 7,
- COLOR_ATTACHMENT_KHR = 7,
- COLOR_ATTACHMENT_BLEND = 8,
- COLOR_ATTACHMENT_BLEND_KHR = 8,
- DEPTH_STENCIL_ATTACHMENT = 9,
- DEPTH_STENCIL_ATTACHMENT_KHR = 9,
- BLIT_SRC = 10,
- BLIT_SRC_KHR = 10,
- BLIT_DST = 11,
- BLIT_DST_KHR = 11,
- SAMPLED_IMAGE_FILTER_LINEAR = 12,
- SAMPLED_IMAGE_FILTER_LINEAR_KHR = 12,
- SAMPLED_IMAGE_FILTER_CUBIC = 13,
- SAMPLED_IMAGE_FILTER_CUBIC_EXT = 13,
- TRANSFER_SRC = 14,
- TRANSFER_SRC_KHR = 14,
- TRANSFER_DST = 15,
- TRANSFER_DST_KHR = 15,
- SAMPLED_IMAGE_FILTER_MINMAX = 16,
- SAMPLED_IMAGE_FILTER_MINMAX_KHR = 16,
- MIDPOINT_CHROMA_SAMPLES = 17,
- MIDPOINT_CHROMA_SAMPLES_KHR = 17,
- SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER = 18,
- SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_KHR = 18,
- SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER = 19,
- SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_KHR = 19,
- SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT = 20,
- SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_KHR = 20,
- SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE = 21,
- SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_KHR = 21,
- DISJOINT = 22,
- DISJOINT_KHR = 22,
- COSITED_CHROMA_SAMPLES = 23,
- COSITED_CHROMA_SAMPLES_KHR = 23,
- STORAGE_READ_WITHOUT_FORMAT = 31,
- STORAGE_READ_WITHOUT_FORMAT_KHR = 31,
- STORAGE_WRITE_WITHOUT_FORMAT = 32,
- STORAGE_WRITE_WITHOUT_FORMAT_KHR = 32,
- SAMPLED_IMAGE_DEPTH_COMPARISON = 33,
- SAMPLED_IMAGE_DEPTH_COMPARISON_KHR = 33,
- VIDEO_DECODE_OUTPUT_KHR = 25,
- VIDEO_DECODE_DPB_KHR = 26,
- ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR = 29,
- FRAGMENT_DENSITY_MAP_EXT = 24,
- FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 30,
- VIDEO_ENCODE_INPUT_KHR = 27,
- VIDEO_ENCODE_DPB_KHR = 28,
- LINEAR_COLOR_ATTACHMENT_NV = 38,
- WEIGHT_IMAGE_QCOM = 34,
- WEIGHT_SAMPLED_IMAGE_QCOM = 35,
- BLOCK_MATCHING_QCOM = 36,
- BOX_FILTER_SAMPLED_QCOM = 37,
- OPTICAL_FLOW_IMAGE_NV = 40,
- OPTICAL_FLOW_VECTOR_NV = 41,
- OPTICAL_FLOW_COST_NV = 42,
-}
-
-PipelineStageFlags2 :: distinct bit_set[PipelineStageFlag2; Flags64]
-PipelineStageFlag2 :: enum Flags64 {
- TOP_OF_PIPE = 0,
- TOP_OF_PIPE_KHR = 0,
- DRAW_INDIRECT = 1,
- DRAW_INDIRECT_KHR = 1,
- VERTEX_INPUT = 2,
- VERTEX_INPUT_KHR = 2,
- VERTEX_SHADER = 3,
- VERTEX_SHADER_KHR = 3,
- TESSELLATION_CONTROL_SHADER = 4,
- TESSELLATION_CONTROL_SHADER_KHR = 4,
- TESSELLATION_EVALUATION_SHADER = 5,
- TESSELLATION_EVALUATION_SHADER_KHR = 5,
- GEOMETRY_SHADER = 6,
- GEOMETRY_SHADER_KHR = 6,
- FRAGMENT_SHADER = 7,
- FRAGMENT_SHADER_KHR = 7,
- EARLY_FRAGMENT_TESTS = 8,
- EARLY_FRAGMENT_TESTS_KHR = 8,
- LATE_FRAGMENT_TESTS = 9,
- LATE_FRAGMENT_TESTS_KHR = 9,
- COLOR_ATTACHMENT_OUTPUT = 10,
- COLOR_ATTACHMENT_OUTPUT_KHR = 10,
- COMPUTE_SHADER = 11,
- COMPUTE_SHADER_KHR = 11,
- ALL_TRANSFER = 12,
- ALL_TRANSFER_KHR = 12,
- TRANSFER = 12,
- TRANSFER_KHR = 12,
- BOTTOM_OF_PIPE = 13,
- BOTTOM_OF_PIPE_KHR = 13,
- HOST = 14,
- HOST_KHR = 14,
- ALL_GRAPHICS = 15,
- ALL_GRAPHICS_KHR = 15,
- ALL_COMMANDS = 16,
- ALL_COMMANDS_KHR = 16,
- COPY = 32,
- COPY_KHR = 32,
- RESOLVE = 33,
- RESOLVE_KHR = 33,
- BLIT = 34,
- BLIT_KHR = 34,
- CLEAR = 35,
- CLEAR_KHR = 35,
- INDEX_INPUT = 36,
- INDEX_INPUT_KHR = 36,
- VERTEX_ATTRIBUTE_INPUT = 37,
- VERTEX_ATTRIBUTE_INPUT_KHR = 37,
- PRE_RASTERIZATION_SHADERS = 38,
- PRE_RASTERIZATION_SHADERS_KHR = 38,
- VIDEO_DECODE_KHR = 26,
- VIDEO_ENCODE_KHR = 27,
- TRANSFORM_FEEDBACK_EXT = 24,
- CONDITIONAL_RENDERING_EXT = 18,
- COMMAND_PREPROCESS_NV = 17,
- FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 22,
- SHADING_RATE_IMAGE_NV = 22,
- ACCELERATION_STRUCTURE_BUILD_KHR = 25,
- RAY_TRACING_SHADER_KHR = 21,
- RAY_TRACING_SHADER_NV = 21,
- ACCELERATION_STRUCTURE_BUILD_NV = 25,
- FRAGMENT_DENSITY_PROCESS_EXT = 23,
- TASK_SHADER_NV = 19,
- MESH_SHADER_NV = 20,
- TASK_SHADER_EXT = 19,
- MESH_SHADER_EXT = 20,
- SUBPASS_SHADING_HUAWEI = 39,
- INVOCATION_MASK_HUAWEI = 40,
- ACCELERATION_STRUCTURE_COPY_KHR = 28,
- MICROMAP_BUILD_EXT = 30,
- CLUSTER_CULLING_SHADER_HUAWEI = 41,
- OPTICAL_FLOW_NV = 29,
-}
-
-
-
+// +// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h" +// +package vulkan + +import "core:c" + +// Enums +AccelerationStructureBuildTypeKHR :: enum c.int { + HOST = 0, + DEVICE = 1, + HOST_OR_DEVICE = 2, +} + +AccelerationStructureCompatibilityKHR :: enum c.int { + COMPATIBLE = 0, + INCOMPATIBLE = 1, +} + +AccelerationStructureCreateFlagsKHR :: distinct bit_set[AccelerationStructureCreateFlagKHR; Flags] +AccelerationStructureCreateFlagKHR :: enum Flags { + DEVICE_ADDRESS_CAPTURE_REPLAY = 0, + DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 3, + MOTION_NV = 2, +} + +AccelerationStructureMemoryRequirementsTypeNV :: enum c.int { + OBJECT = 0, + BUILD_SCRATCH = 1, + UPDATE_SCRATCH = 2, +} + +AccelerationStructureMotionInstanceTypeNV :: enum c.int { + STATIC = 0, + MATRIX_MOTION = 1, + SRT_MOTION = 2, +} + +AccelerationStructureTypeKHR :: enum c.int { + TOP_LEVEL = 0, + BOTTOM_LEVEL = 1, + GENERIC = 2, + TOP_LEVEL_NV = TOP_LEVEL, + BOTTOM_LEVEL_NV = BOTTOM_LEVEL, +} + +AccessFlags :: distinct bit_set[AccessFlag; Flags] +AccessFlag :: enum Flags { + INDIRECT_COMMAND_READ = 0, + INDEX_READ = 1, + VERTEX_ATTRIBUTE_READ = 2, + UNIFORM_READ = 3, + INPUT_ATTACHMENT_READ = 4, + SHADER_READ = 5, + SHADER_WRITE = 6, + COLOR_ATTACHMENT_READ = 7, + COLOR_ATTACHMENT_WRITE = 8, + DEPTH_STENCIL_ATTACHMENT_READ = 9, + DEPTH_STENCIL_ATTACHMENT_WRITE = 10, + TRANSFER_READ = 11, + TRANSFER_WRITE = 12, + HOST_READ = 13, + HOST_WRITE = 14, + MEMORY_READ = 15, + MEMORY_WRITE = 16, + TRANSFORM_FEEDBACK_WRITE_EXT = 25, + TRANSFORM_FEEDBACK_COUNTER_READ_EXT = 26, + TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT = 27, + CONDITIONAL_RENDERING_READ_EXT = 20, + COLOR_ATTACHMENT_READ_NONCOHERENT_EXT = 19, + ACCELERATION_STRUCTURE_READ_KHR = 21, + ACCELERATION_STRUCTURE_WRITE_KHR = 22, + FRAGMENT_DENSITY_MAP_READ_EXT = 24, + FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR = 23, + COMMAND_PREPROCESS_READ_NV = 17, + COMMAND_PREPROCESS_WRITE_NV = 18, + SHADING_RATE_IMAGE_READ_NV = FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR, + ACCELERATION_STRUCTURE_READ_NV = ACCELERATION_STRUCTURE_READ_KHR, + ACCELERATION_STRUCTURE_WRITE_NV = ACCELERATION_STRUCTURE_WRITE_KHR, +} + +AccessFlags_NONE :: AccessFlags{} + + +AcquireProfilingLockFlagsKHR :: distinct bit_set[AcquireProfilingLockFlagKHR; Flags] +AcquireProfilingLockFlagKHR :: enum Flags { +} + +AttachmentDescriptionFlags :: distinct bit_set[AttachmentDescriptionFlag; Flags] +AttachmentDescriptionFlag :: enum Flags { + MAY_ALIAS = 0, +} + +AttachmentLoadOp :: enum c.int { + LOAD = 0, + CLEAR = 1, + DONT_CARE = 2, + NONE_EXT = 1000400000, +} + +AttachmentStoreOp :: enum c.int { + STORE = 0, + DONT_CARE = 1, + NONE = 1000301000, +} + +BlendFactor :: enum c.int { + ZERO = 0, + ONE = 1, + SRC_COLOR = 2, + ONE_MINUS_SRC_COLOR = 3, + DST_COLOR = 4, + ONE_MINUS_DST_COLOR = 5, + SRC_ALPHA = 6, + ONE_MINUS_SRC_ALPHA = 7, + DST_ALPHA = 8, + ONE_MINUS_DST_ALPHA = 9, + CONSTANT_COLOR = 10, + ONE_MINUS_CONSTANT_COLOR = 11, + CONSTANT_ALPHA = 12, + ONE_MINUS_CONSTANT_ALPHA = 13, + SRC_ALPHA_SATURATE = 14, + SRC1_COLOR = 15, + ONE_MINUS_SRC1_COLOR = 16, + SRC1_ALPHA = 17, + ONE_MINUS_SRC1_ALPHA = 18, +} + +BlendOp :: enum c.int { + ADD = 0, + SUBTRACT = 1, + REVERSE_SUBTRACT = 2, + MIN = 3, + MAX = 4, + ZERO_EXT = 1000148000, + SRC_EXT = 1000148001, + DST_EXT = 1000148002, + SRC_OVER_EXT = 1000148003, + DST_OVER_EXT = 1000148004, + SRC_IN_EXT = 1000148005, + DST_IN_EXT = 1000148006, + SRC_OUT_EXT = 1000148007, + DST_OUT_EXT = 1000148008, + SRC_ATOP_EXT = 1000148009, + DST_ATOP_EXT = 1000148010, + XOR_EXT = 1000148011, + MULTIPLY_EXT = 1000148012, + SCREEN_EXT = 1000148013, + OVERLAY_EXT = 1000148014, + DARKEN_EXT = 1000148015, + LIGHTEN_EXT = 1000148016, + COLORDODGE_EXT = 1000148017, + COLORBURN_EXT = 1000148018, + HARDLIGHT_EXT = 1000148019, + SOFTLIGHT_EXT = 1000148020, + DIFFERENCE_EXT = 1000148021, + EXCLUSION_EXT = 1000148022, + INVERT_EXT = 1000148023, + INVERT_RGB_EXT = 1000148024, + LINEARDODGE_EXT = 1000148025, + LINEARBURN_EXT = 1000148026, + VIVIDLIGHT_EXT = 1000148027, + LINEARLIGHT_EXT = 1000148028, + PINLIGHT_EXT = 1000148029, + HARDMIX_EXT = 1000148030, + HSL_HUE_EXT = 1000148031, + HSL_SATURATION_EXT = 1000148032, + HSL_COLOR_EXT = 1000148033, + HSL_LUMINOSITY_EXT = 1000148034, + PLUS_EXT = 1000148035, + PLUS_CLAMPED_EXT = 1000148036, + PLUS_CLAMPED_ALPHA_EXT = 1000148037, + PLUS_DARKER_EXT = 1000148038, + MINUS_EXT = 1000148039, + MINUS_CLAMPED_EXT = 1000148040, + CONTRAST_EXT = 1000148041, + INVERT_OVG_EXT = 1000148042, + RED_EXT = 1000148043, + GREEN_EXT = 1000148044, + BLUE_EXT = 1000148045, +} + +BlendOverlapEXT :: enum c.int { + UNCORRELATED = 0, + DISJOINT = 1, + CONJOINT = 2, +} + +BorderColor :: enum c.int { + FLOAT_TRANSPARENT_BLACK = 0, + INT_TRANSPARENT_BLACK = 1, + FLOAT_OPAQUE_BLACK = 2, + INT_OPAQUE_BLACK = 3, + FLOAT_OPAQUE_WHITE = 4, + INT_OPAQUE_WHITE = 5, + FLOAT_CUSTOM_EXT = 1000287003, + INT_CUSTOM_EXT = 1000287004, +} + +BufferCreateFlags :: distinct bit_set[BufferCreateFlag; Flags] +BufferCreateFlag :: enum Flags { + SPARSE_BINDING = 0, + SPARSE_RESIDENCY = 1, + SPARSE_ALIASED = 2, + PROTECTED = 3, + DEVICE_ADDRESS_CAPTURE_REPLAY = 4, + DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 5, + DEVICE_ADDRESS_CAPTURE_REPLAY_EXT = DEVICE_ADDRESS_CAPTURE_REPLAY, + DEVICE_ADDRESS_CAPTURE_REPLAY_KHR = DEVICE_ADDRESS_CAPTURE_REPLAY, +} + +BufferUsageFlags :: distinct bit_set[BufferUsageFlag; Flags] +BufferUsageFlag :: enum Flags { + TRANSFER_SRC = 0, + TRANSFER_DST = 1, + UNIFORM_TEXEL_BUFFER = 2, + STORAGE_TEXEL_BUFFER = 3, + UNIFORM_BUFFER = 4, + STORAGE_BUFFER = 5, + INDEX_BUFFER = 6, + VERTEX_BUFFER = 7, + INDIRECT_BUFFER = 8, + SHADER_DEVICE_ADDRESS = 17, + VIDEO_DECODE_SRC_KHR = 13, + VIDEO_DECODE_DST_KHR = 14, + TRANSFORM_FEEDBACK_BUFFER_EXT = 11, + TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT = 12, + CONDITIONAL_RENDERING_EXT = 9, + ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_KHR = 19, + ACCELERATION_STRUCTURE_STORAGE_KHR = 20, + SHADER_BINDING_TABLE_KHR = 10, + VIDEO_ENCODE_DST_KHR = 15, + VIDEO_ENCODE_SRC_KHR = 16, + SAMPLER_DESCRIPTOR_BUFFER_EXT = 21, + RESOURCE_DESCRIPTOR_BUFFER_EXT = 22, + PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_EXT = 26, + MICROMAP_BUILD_INPUT_READ_ONLY_EXT = 23, + MICROMAP_STORAGE_EXT = 24, + RAY_TRACING_NV = SHADER_BINDING_TABLE_KHR, + SHADER_DEVICE_ADDRESS_EXT = SHADER_DEVICE_ADDRESS, + SHADER_DEVICE_ADDRESS_KHR = SHADER_DEVICE_ADDRESS, +} + +BuildAccelerationStructureFlagsKHR :: distinct bit_set[BuildAccelerationStructureFlagKHR; Flags] +BuildAccelerationStructureFlagKHR :: enum Flags { + ALLOW_UPDATE = 0, + ALLOW_COMPACTION = 1, + PREFER_FAST_TRACE = 2, + PREFER_FAST_BUILD = 3, + LOW_MEMORY = 4, + MOTION_NV = 5, + ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 6, + ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 7, + ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 8, + ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 9, + ALLOW_DATA_ACCESS = 11, + ALLOW_UPDATE_NV = ALLOW_UPDATE, + ALLOW_COMPACTION_NV = ALLOW_COMPACTION, + PREFER_FAST_TRACE_NV = PREFER_FAST_TRACE, + PREFER_FAST_BUILD_NV = PREFER_FAST_BUILD, + LOW_MEMORY_NV = LOW_MEMORY, +} + +BuildAccelerationStructureModeKHR :: enum c.int { + BUILD = 0, + UPDATE = 1, +} + +BuildMicromapFlagsEXT :: distinct bit_set[BuildMicromapFlagEXT; Flags] +BuildMicromapFlagEXT :: enum Flags { + PREFER_FAST_TRACE = 0, + PREFER_FAST_BUILD = 1, + ALLOW_COMPACTION = 2, +} + +BuildMicromapModeEXT :: enum c.int { + BUILD = 0, +} + +ChromaLocation :: enum c.int { + COSITED_EVEN = 0, + MIDPOINT = 1, + COSITED_EVEN_KHR = COSITED_EVEN, + MIDPOINT_KHR = MIDPOINT, +} + +CoarseSampleOrderTypeNV :: enum c.int { + DEFAULT = 0, + CUSTOM = 1, + PIXEL_MAJOR = 2, + SAMPLE_MAJOR = 3, +} + +ColorComponentFlags :: distinct bit_set[ColorComponentFlag; Flags] +ColorComponentFlag :: enum Flags { + R = 0, + G = 1, + B = 2, + A = 3, +} + +ColorSpaceKHR :: enum c.int { + SRGB_NONLINEAR = 0, + DISPLAY_P3_NONLINEAR_EXT = 1000104001, + EXTENDED_SRGB_LINEAR_EXT = 1000104002, + DISPLAY_P3_LINEAR_EXT = 1000104003, + DCI_P3_NONLINEAR_EXT = 1000104004, + BT709_LINEAR_EXT = 1000104005, + BT709_NONLINEAR_EXT = 1000104006, + BT2020_LINEAR_EXT = 1000104007, + HDR10_ST2084_EXT = 1000104008, + DOLBYVISION_EXT = 1000104009, + HDR10_HLG_EXT = 1000104010, + ADOBERGB_LINEAR_EXT = 1000104011, + ADOBERGB_NONLINEAR_EXT = 1000104012, + PASS_THROUGH_EXT = 1000104013, + EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, + DISPLAY_NATIVE_AMD = 1000213000, + COLORSPACE_SRGB_NONLINEAR = SRGB_NONLINEAR, + DCI_P3_LINEAR_EXT = DISPLAY_P3_LINEAR_EXT, +} + +CommandBufferLevel :: enum c.int { + PRIMARY = 0, + SECONDARY = 1, +} + +CommandBufferResetFlags :: distinct bit_set[CommandBufferResetFlag; Flags] +CommandBufferResetFlag :: enum Flags { + RELEASE_RESOURCES = 0, +} + +CommandBufferUsageFlags :: distinct bit_set[CommandBufferUsageFlag; Flags] +CommandBufferUsageFlag :: enum Flags { + ONE_TIME_SUBMIT = 0, + RENDER_PASS_CONTINUE = 1, + SIMULTANEOUS_USE = 2, +} + +CommandPoolCreateFlags :: distinct bit_set[CommandPoolCreateFlag; Flags] +CommandPoolCreateFlag :: enum Flags { + TRANSIENT = 0, + RESET_COMMAND_BUFFER = 1, + PROTECTED = 2, +} + +CommandPoolResetFlags :: distinct bit_set[CommandPoolResetFlag; Flags] +CommandPoolResetFlag :: enum Flags { + RELEASE_RESOURCES = 0, +} + +CompareOp :: enum c.int { + NEVER = 0, + LESS = 1, + EQUAL = 2, + LESS_OR_EQUAL = 3, + GREATER = 4, + NOT_EQUAL = 5, + GREATER_OR_EQUAL = 6, + ALWAYS = 7, +} + +ComponentSwizzle :: enum c.int { + IDENTITY = 0, + ZERO = 1, + ONE = 2, + R = 3, + G = 4, + B = 5, + A = 6, +} + +ComponentTypeNV :: enum c.int { + FLOAT16 = 0, + FLOAT32 = 1, + FLOAT64 = 2, + SINT8 = 3, + SINT16 = 4, + SINT32 = 5, + SINT64 = 6, + UINT8 = 7, + UINT16 = 8, + UINT32 = 9, + UINT64 = 10, +} + +CompositeAlphaFlagsKHR :: distinct bit_set[CompositeAlphaFlagKHR; Flags] +CompositeAlphaFlagKHR :: enum Flags { + OPAQUE = 0, + PRE_MULTIPLIED = 1, + POST_MULTIPLIED = 2, + INHERIT = 3, +} + +ConditionalRenderingFlagsEXT :: distinct bit_set[ConditionalRenderingFlagEXT; Flags] +ConditionalRenderingFlagEXT :: enum Flags { + INVERTED = 0, +} + +ConservativeRasterizationModeEXT :: enum c.int { + DISABLED = 0, + OVERESTIMATE = 1, + UNDERESTIMATE = 2, +} + +CopyAccelerationStructureModeKHR :: enum c.int { + CLONE = 0, + COMPACT = 1, + SERIALIZE = 2, + DESERIALIZE = 3, + CLONE_NV = CLONE, + COMPACT_NV = COMPACT, +} + +CopyMicromapModeEXT :: enum c.int { + CLONE = 0, + SERIALIZE = 1, + DESERIALIZE = 2, + COMPACT = 3, +} + +CoverageModulationModeNV :: enum c.int { + NONE = 0, + RGB = 1, + ALPHA = 2, + RGBA = 3, +} + +CoverageReductionModeNV :: enum c.int { + MERGE = 0, + TRUNCATE = 1, +} + +CullModeFlags :: distinct bit_set[CullModeFlag; Flags] +CullModeFlag :: enum Flags { + FRONT = 0, + BACK = 1, +} + +CullModeFlags_NONE :: CullModeFlags{} +CullModeFlags_FRONT_AND_BACK :: CullModeFlags{.FRONT, .BACK} + + +DebugReportFlagsEXT :: distinct bit_set[DebugReportFlagEXT; Flags] +DebugReportFlagEXT :: enum Flags { + INFORMATION = 0, + WARNING = 1, + PERFORMANCE_WARNING = 2, + ERROR = 3, + DEBUG = 4, +} + +DebugReportObjectTypeEXT :: enum c.int { + UNKNOWN = 0, + INSTANCE = 1, + PHYSICAL_DEVICE = 2, + DEVICE = 3, + QUEUE = 4, + SEMAPHORE = 5, + COMMAND_BUFFER = 6, + FENCE = 7, + DEVICE_MEMORY = 8, + BUFFER = 9, + IMAGE = 10, + EVENT = 11, + QUERY_POOL = 12, + BUFFER_VIEW = 13, + IMAGE_VIEW = 14, + SHADER_MODULE = 15, + PIPELINE_CACHE = 16, + PIPELINE_LAYOUT = 17, + RENDER_PASS = 18, + PIPELINE = 19, + DESCRIPTOR_SET_LAYOUT = 20, + SAMPLER = 21, + DESCRIPTOR_POOL = 22, + DESCRIPTOR_SET = 23, + FRAMEBUFFER = 24, + COMMAND_POOL = 25, + SURFACE_KHR = 26, + SWAPCHAIN_KHR = 27, + DEBUG_REPORT_CALLBACK_EXT = 28, + DISPLAY_KHR = 29, + DISPLAY_MODE_KHR = 30, + VALIDATION_CACHE_EXT = 33, + SAMPLER_YCBCR_CONVERSION = 1000156000, + DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, + CU_MODULE_NVX = 1000029000, + CU_FUNCTION_NVX = 1000029001, + ACCELERATION_STRUCTURE_KHR = 1000150000, + ACCELERATION_STRUCTURE_NV = 1000165000, + BUFFER_COLLECTION_FUCHSIA = 1000366000, + DEBUG_REPORT = DEBUG_REPORT_CALLBACK_EXT, + VALIDATION_CACHE = VALIDATION_CACHE_EXT, + DESCRIPTOR_UPDATE_TEMPLATE_KHR = DESCRIPTOR_UPDATE_TEMPLATE, + SAMPLER_YCBCR_CONVERSION_KHR = SAMPLER_YCBCR_CONVERSION, +} + +DebugUtilsMessageSeverityFlagsEXT :: distinct bit_set[DebugUtilsMessageSeverityFlagEXT; Flags] +DebugUtilsMessageSeverityFlagEXT :: enum Flags { + VERBOSE = 0, + INFO = 4, + WARNING = 8, + ERROR = 12, +} + +DebugUtilsMessageTypeFlagsEXT :: distinct bit_set[DebugUtilsMessageTypeFlagEXT; Flags] +DebugUtilsMessageTypeFlagEXT :: enum Flags { + GENERAL = 0, + VALIDATION = 1, + PERFORMANCE = 2, + DEVICE_ADDRESS_BINDING = 3, +} + +DependencyFlags :: distinct bit_set[DependencyFlag; Flags] +DependencyFlag :: enum Flags { + BY_REGION = 0, + DEVICE_GROUP = 2, + VIEW_LOCAL = 1, + FEEDBACK_LOOP_EXT = 3, + VIEW_LOCAL_KHR = VIEW_LOCAL, + DEVICE_GROUP_KHR = DEVICE_GROUP, +} + +DescriptorBindingFlags :: distinct bit_set[DescriptorBindingFlag; Flags] +DescriptorBindingFlag :: enum Flags { + UPDATE_AFTER_BIND = 0, + UPDATE_UNUSED_WHILE_PENDING = 1, + PARTIALLY_BOUND = 2, + VARIABLE_DESCRIPTOR_COUNT = 3, + UPDATE_AFTER_BIND_EXT = UPDATE_AFTER_BIND, + UPDATE_UNUSED_WHILE_PENDING_EXT = UPDATE_UNUSED_WHILE_PENDING, + PARTIALLY_BOUND_EXT = PARTIALLY_BOUND, + VARIABLE_DESCRIPTOR_COUNT_EXT = VARIABLE_DESCRIPTOR_COUNT, +} + +DescriptorPoolCreateFlags :: distinct bit_set[DescriptorPoolCreateFlag; Flags] +DescriptorPoolCreateFlag :: enum Flags { + FREE_DESCRIPTOR_SET = 0, + UPDATE_AFTER_BIND = 1, + HOST_ONLY_EXT = 2, + UPDATE_AFTER_BIND_EXT = UPDATE_AFTER_BIND, + HOST_ONLY_VALVE = HOST_ONLY_EXT, +} + +DescriptorSetLayoutCreateFlags :: distinct bit_set[DescriptorSetLayoutCreateFlag; Flags] +DescriptorSetLayoutCreateFlag :: enum Flags { + UPDATE_AFTER_BIND_POOL = 1, + PUSH_DESCRIPTOR_KHR = 0, + DESCRIPTOR_BUFFER_EXT = 4, + EMBEDDED_IMMUTABLE_SAMPLERS_EXT = 5, + HOST_ONLY_POOL_EXT = 2, + UPDATE_AFTER_BIND_POOL_EXT = UPDATE_AFTER_BIND_POOL, + HOST_ONLY_POOL_VALVE = HOST_ONLY_POOL_EXT, +} + +DescriptorType :: enum c.int { + SAMPLER = 0, + COMBINED_IMAGE_SAMPLER = 1, + SAMPLED_IMAGE = 2, + STORAGE_IMAGE = 3, + UNIFORM_TEXEL_BUFFER = 4, + STORAGE_TEXEL_BUFFER = 5, + UNIFORM_BUFFER = 6, + STORAGE_BUFFER = 7, + UNIFORM_BUFFER_DYNAMIC = 8, + STORAGE_BUFFER_DYNAMIC = 9, + INPUT_ATTACHMENT = 10, + INLINE_UNIFORM_BLOCK = 1000138000, + ACCELERATION_STRUCTURE_KHR = 1000150000, + ACCELERATION_STRUCTURE_NV = 1000165000, + SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000, + BLOCK_MATCH_IMAGE_QCOM = 1000440001, + MUTABLE_EXT = 1000351000, + INLINE_UNIFORM_BLOCK_EXT = INLINE_UNIFORM_BLOCK, + MUTABLE_VALVE = MUTABLE_EXT, +} + +DescriptorUpdateTemplateType :: enum c.int { + DESCRIPTOR_SET = 0, + PUSH_DESCRIPTORS_KHR = 1, + DESCRIPTOR_SET_KHR = DESCRIPTOR_SET, +} + +DeviceAddressBindingFlagsEXT :: distinct bit_set[DeviceAddressBindingFlagEXT; Flags] +DeviceAddressBindingFlagEXT :: enum Flags { + INTERNAL_OBJECT = 0, +} + +DeviceAddressBindingTypeEXT :: enum c.int { + BIND = 0, + UNBIND = 1, +} + +DeviceDiagnosticsConfigFlagsNV :: distinct bit_set[DeviceDiagnosticsConfigFlagNV; Flags] +DeviceDiagnosticsConfigFlagNV :: enum Flags { + ENABLE_SHADER_DEBUG_INFO = 0, + ENABLE_RESOURCE_TRACKING = 1, + ENABLE_AUTOMATIC_CHECKPOINTS = 2, + ENABLE_SHADER_ERROR_REPORTING = 3, +} + +DeviceEventTypeEXT :: enum c.int { + DISPLAY_HOTPLUG = 0, +} + +DeviceFaultAddressTypeEXT :: enum c.int { + NONE = 0, + READ_INVALID = 1, + WRITE_INVALID = 2, + EXECUTE_INVALID = 3, + INSTRUCTION_POINTER_UNKNOWN = 4, + INSTRUCTION_POINTER_INVALID = 5, + INSTRUCTION_POINTER_FAULT = 6, +} + +DeviceFaultVendorBinaryHeaderVersionEXT :: enum c.int { + ONE = 1, +} + +DeviceGroupPresentModeFlagsKHR :: distinct bit_set[DeviceGroupPresentModeFlagKHR; Flags] +DeviceGroupPresentModeFlagKHR :: enum Flags { + LOCAL = 0, + REMOTE = 1, + SUM = 2, + LOCAL_MULTI_DEVICE = 3, +} + +DeviceMemoryReportEventTypeEXT :: enum c.int { + ALLOCATE = 0, + FREE = 1, + IMPORT = 2, + UNIMPORT = 3, + ALLOCATION_FAILED = 4, +} + +DeviceQueueCreateFlags :: distinct bit_set[DeviceQueueCreateFlag; Flags] +DeviceQueueCreateFlag :: enum Flags { + PROTECTED = 0, +} + +DirectDriverLoadingModeLUNARG :: enum c.int { + DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0, + DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1, +} + +DiscardRectangleModeEXT :: enum c.int { + INCLUSIVE = 0, + EXCLUSIVE = 1, +} + +DisplayEventTypeEXT :: enum c.int { + FIRST_PIXEL_OUT = 0, +} + +DisplayPlaneAlphaFlagsKHR :: distinct bit_set[DisplayPlaneAlphaFlagKHR; Flags] +DisplayPlaneAlphaFlagKHR :: enum Flags { + OPAQUE = 0, + GLOBAL = 1, + PER_PIXEL = 2, + PER_PIXEL_PREMULTIPLIED = 3, +} + +DisplayPowerStateEXT :: enum c.int { + OFF = 0, + SUSPEND = 1, + ON = 2, +} + +DriverId :: enum c.int { + AMD_PROPRIETARY = 1, + AMD_OPEN_SOURCE = 2, + MESA_RADV = 3, + NVIDIA_PROPRIETARY = 4, + INTEL_PROPRIETARY_WINDOWS = 5, + INTEL_OPEN_SOURCE_MESA = 6, + IMAGINATION_PROPRIETARY = 7, + QUALCOMM_PROPRIETARY = 8, + ARM_PROPRIETARY = 9, + GOOGLE_SWIFTSHADER = 10, + GGP_PROPRIETARY = 11, + BROADCOM_PROPRIETARY = 12, + MESA_LLVMPIPE = 13, + MOLTENVK = 14, + COREAVI_PROPRIETARY = 15, + JUICE_PROPRIETARY = 16, + VERISILICON_PROPRIETARY = 17, + MESA_TURNIP = 18, + MESA_V3DV = 19, + MESA_PANVK = 20, + SAMSUNG_PROPRIETARY = 21, + MESA_VENUS = 22, + MESA_DOZEN = 23, + MESA_NVK = 24, + IMAGINATION_OPEN_SOURCE_MESA = 25, + AMD_PROPRIETARY_KHR = AMD_PROPRIETARY, + AMD_OPEN_SOURCE_KHR = AMD_OPEN_SOURCE, + MESA_RADV_KHR = MESA_RADV, + NVIDIA_PROPRIETARY_KHR = NVIDIA_PROPRIETARY, + INTEL_PROPRIETARY_WINDOWS_KHR = INTEL_PROPRIETARY_WINDOWS, + INTEL_OPEN_SOURCE_MESA_KHR = INTEL_OPEN_SOURCE_MESA, + IMAGINATION_PROPRIETARY_KHR = IMAGINATION_PROPRIETARY, + QUALCOMM_PROPRIETARY_KHR = QUALCOMM_PROPRIETARY, + ARM_PROPRIETARY_KHR = ARM_PROPRIETARY, + GOOGLE_SWIFTSHADER_KHR = GOOGLE_SWIFTSHADER, + GGP_PROPRIETARY_KHR = GGP_PROPRIETARY, + BROADCOM_PROPRIETARY_KHR = BROADCOM_PROPRIETARY, +} + +DynamicState :: enum c.int { + VIEWPORT = 0, + SCISSOR = 1, + LINE_WIDTH = 2, + DEPTH_BIAS = 3, + BLEND_CONSTANTS = 4, + DEPTH_BOUNDS = 5, + STENCIL_COMPARE_MASK = 6, + STENCIL_WRITE_MASK = 7, + STENCIL_REFERENCE = 8, + CULL_MODE = 1000267000, + FRONT_FACE = 1000267001, + PRIMITIVE_TOPOLOGY = 1000267002, + VIEWPORT_WITH_COUNT = 1000267003, + SCISSOR_WITH_COUNT = 1000267004, + VERTEX_INPUT_BINDING_STRIDE = 1000267005, + DEPTH_TEST_ENABLE = 1000267006, + DEPTH_WRITE_ENABLE = 1000267007, + DEPTH_COMPARE_OP = 1000267008, + DEPTH_BOUNDS_TEST_ENABLE = 1000267009, + STENCIL_TEST_ENABLE = 1000267010, + STENCIL_OP = 1000267011, + RASTERIZER_DISCARD_ENABLE = 1000377001, + DEPTH_BIAS_ENABLE = 1000377002, + PRIMITIVE_RESTART_ENABLE = 1000377004, + VIEWPORT_W_SCALING_NV = 1000087000, + DISCARD_RECTANGLE_EXT = 1000099000, + DISCARD_RECTANGLE_ENABLE_EXT = 1000099001, + DISCARD_RECTANGLE_MODE_EXT = 1000099002, + SAMPLE_LOCATIONS_EXT = 1000143000, + RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, + VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, + VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, + EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000, + EXCLUSIVE_SCISSOR_NV = 1000205001, + FRAGMENT_SHADING_RATE_KHR = 1000226000, + LINE_STIPPLE_EXT = 1000259000, + VERTEX_INPUT_EXT = 1000352000, + PATCH_CONTROL_POINTS_EXT = 1000377000, + LOGIC_OP_EXT = 1000377003, + COLOR_WRITE_ENABLE_EXT = 1000381000, + TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002, + DEPTH_CLAMP_ENABLE_EXT = 1000455003, + POLYGON_MODE_EXT = 1000455004, + RASTERIZATION_SAMPLES_EXT = 1000455005, + SAMPLE_MASK_EXT = 1000455006, + ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007, + ALPHA_TO_ONE_ENABLE_EXT = 1000455008, + LOGIC_OP_ENABLE_EXT = 1000455009, + COLOR_BLEND_ENABLE_EXT = 1000455010, + COLOR_BLEND_EQUATION_EXT = 1000455011, + COLOR_WRITE_MASK_EXT = 1000455012, + RASTERIZATION_STREAM_EXT = 1000455013, + CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014, + EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015, + DEPTH_CLIP_ENABLE_EXT = 1000455016, + SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017, + COLOR_BLEND_ADVANCED_EXT = 1000455018, + PROVOKING_VERTEX_MODE_EXT = 1000455019, + LINE_RASTERIZATION_MODE_EXT = 1000455020, + LINE_STIPPLE_ENABLE_EXT = 1000455021, + DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022, + VIEWPORT_W_SCALING_ENABLE_NV = 1000455023, + VIEWPORT_SWIZZLE_NV = 1000455024, + COVERAGE_TO_COLOR_ENABLE_NV = 1000455025, + COVERAGE_TO_COLOR_LOCATION_NV = 1000455026, + COVERAGE_MODULATION_MODE_NV = 1000455027, + COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028, + COVERAGE_MODULATION_TABLE_NV = 1000455029, + SHADING_RATE_IMAGE_ENABLE_NV = 1000455030, + REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031, + COVERAGE_REDUCTION_MODE_NV = 1000455032, + ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000, + CULL_MODE_EXT = CULL_MODE, + FRONT_FACE_EXT = FRONT_FACE, + PRIMITIVE_TOPOLOGY_EXT = PRIMITIVE_TOPOLOGY, + VIEWPORT_WITH_COUNT_EXT = VIEWPORT_WITH_COUNT, + SCISSOR_WITH_COUNT_EXT = SCISSOR_WITH_COUNT, + VERTEX_INPUT_BINDING_STRIDE_EXT = VERTEX_INPUT_BINDING_STRIDE, + DEPTH_TEST_ENABLE_EXT = DEPTH_TEST_ENABLE, + DEPTH_WRITE_ENABLE_EXT = DEPTH_WRITE_ENABLE, + DEPTH_COMPARE_OP_EXT = DEPTH_COMPARE_OP, + DEPTH_BOUNDS_TEST_ENABLE_EXT = DEPTH_BOUNDS_TEST_ENABLE, + STENCIL_TEST_ENABLE_EXT = STENCIL_TEST_ENABLE, + STENCIL_OP_EXT = STENCIL_OP, + RASTERIZER_DISCARD_ENABLE_EXT = RASTERIZER_DISCARD_ENABLE, + DEPTH_BIAS_ENABLE_EXT = DEPTH_BIAS_ENABLE, + PRIMITIVE_RESTART_ENABLE_EXT = PRIMITIVE_RESTART_ENABLE, +} + +EventCreateFlags :: distinct bit_set[EventCreateFlag; Flags] +EventCreateFlag :: enum Flags { + DEVICE_ONLY = 0, + DEVICE_ONLY_KHR = DEVICE_ONLY, +} + +ExportMetalObjectTypeFlagsEXT :: distinct bit_set[ExportMetalObjectTypeFlagEXT; Flags] +ExportMetalObjectTypeFlagEXT :: enum Flags { + METAL_DEVICE = 0, + METAL_COMMAND_QUEUE = 1, + METAL_BUFFER = 2, + METAL_TEXTURE = 3, + METAL_IOSURFACE = 4, + METAL_SHARED_EVENT = 5, +} + +ExternalFenceFeatureFlags :: distinct bit_set[ExternalFenceFeatureFlag; Flags] +ExternalFenceFeatureFlag :: enum Flags { + EXPORTABLE = 0, + IMPORTABLE = 1, + EXPORTABLE_KHR = EXPORTABLE, + IMPORTABLE_KHR = IMPORTABLE, +} + +ExternalFenceHandleTypeFlags :: distinct bit_set[ExternalFenceHandleTypeFlag; Flags] +ExternalFenceHandleTypeFlag :: enum Flags { + OPAQUE_FD = 0, + OPAQUE_WIN32 = 1, + OPAQUE_WIN32_KMT = 2, + SYNC_FD = 3, + OPAQUE_FD_KHR = OPAQUE_FD, + OPAQUE_WIN32_KHR = OPAQUE_WIN32, + OPAQUE_WIN32_KMT_KHR = OPAQUE_WIN32_KMT, + SYNC_FD_KHR = SYNC_FD, +} + +ExternalMemoryFeatureFlags :: distinct bit_set[ExternalMemoryFeatureFlag; Flags] +ExternalMemoryFeatureFlag :: enum Flags { + DEDICATED_ONLY = 0, + EXPORTABLE = 1, + IMPORTABLE = 2, + DEDICATED_ONLY_KHR = DEDICATED_ONLY, + EXPORTABLE_KHR = EXPORTABLE, + IMPORTABLE_KHR = IMPORTABLE, +} + +ExternalMemoryFeatureFlagsNV :: distinct bit_set[ExternalMemoryFeatureFlagNV; Flags] +ExternalMemoryFeatureFlagNV :: enum Flags { + DEDICATED_ONLY = 0, + EXPORTABLE = 1, + IMPORTABLE = 2, +} + +ExternalMemoryHandleTypeFlags :: distinct bit_set[ExternalMemoryHandleTypeFlag; Flags] +ExternalMemoryHandleTypeFlag :: enum Flags { + OPAQUE_FD = 0, + OPAQUE_WIN32 = 1, + OPAQUE_WIN32_KMT = 2, + D3D11_TEXTURE = 3, + D3D11_TEXTURE_KMT = 4, + D3D12_HEAP = 5, + D3D12_RESOURCE = 6, + DMA_BUF_EXT = 9, + ANDROID_HARDWARE_BUFFER_ANDROID = 10, + HOST_ALLOCATION_EXT = 7, + HOST_MAPPED_FOREIGN_MEMORY_EXT = 8, + ZIRCON_VMO_FUCHSIA = 11, + RDMA_ADDRESS_NV = 12, + OPAQUE_FD_KHR = OPAQUE_FD, + OPAQUE_WIN32_KHR = OPAQUE_WIN32, + OPAQUE_WIN32_KMT_KHR = OPAQUE_WIN32_KMT, + D3D11_TEXTURE_KHR = D3D11_TEXTURE, + D3D11_TEXTURE_KMT_KHR = D3D11_TEXTURE_KMT, + D3D12_HEAP_KHR = D3D12_HEAP, + D3D12_RESOURCE_KHR = D3D12_RESOURCE, +} + +ExternalMemoryHandleTypeFlagsNV :: distinct bit_set[ExternalMemoryHandleTypeFlagNV; Flags] +ExternalMemoryHandleTypeFlagNV :: enum Flags { + OPAQUE_WIN32 = 0, + OPAQUE_WIN32_KMT = 1, + D3D11_IMAGE = 2, + D3D11_IMAGE_KMT = 3, +} + +ExternalSemaphoreFeatureFlags :: distinct bit_set[ExternalSemaphoreFeatureFlag; Flags] +ExternalSemaphoreFeatureFlag :: enum Flags { + EXPORTABLE = 0, + IMPORTABLE = 1, + EXPORTABLE_KHR = EXPORTABLE, + IMPORTABLE_KHR = IMPORTABLE, +} + +ExternalSemaphoreHandleTypeFlags :: distinct bit_set[ExternalSemaphoreHandleTypeFlag; Flags] +ExternalSemaphoreHandleTypeFlag :: enum Flags { + OPAQUE_FD = 0, + OPAQUE_WIN32 = 1, + OPAQUE_WIN32_KMT = 2, + D3D12_FENCE = 3, + SYNC_FD = 4, + ZIRCON_EVENT_FUCHSIA = 7, + D3D11_FENCE = D3D12_FENCE, + OPAQUE_FD_KHR = OPAQUE_FD, + OPAQUE_WIN32_KHR = OPAQUE_WIN32, + OPAQUE_WIN32_KMT_KHR = OPAQUE_WIN32_KMT, + D3D12_FENCE_KHR = D3D12_FENCE, + SYNC_FD_KHR = SYNC_FD, +} + +FenceCreateFlags :: distinct bit_set[FenceCreateFlag; Flags] +FenceCreateFlag :: enum Flags { + SIGNALED = 0, +} + +FenceImportFlags :: distinct bit_set[FenceImportFlag; Flags] +FenceImportFlag :: enum Flags { + TEMPORARY = 0, + TEMPORARY_KHR = TEMPORARY, +} + +Filter :: enum c.int { + NEAREST = 0, + LINEAR = 1, + CUBIC_EXT = 1000015000, + CUBIC_IMG = CUBIC_EXT, +} + +Format :: enum c.int { + UNDEFINED = 0, + R4G4_UNORM_PACK8 = 1, + R4G4B4A4_UNORM_PACK16 = 2, + B4G4R4A4_UNORM_PACK16 = 3, + R5G6B5_UNORM_PACK16 = 4, + B5G6R5_UNORM_PACK16 = 5, + R5G5B5A1_UNORM_PACK16 = 6, + B5G5R5A1_UNORM_PACK16 = 7, + A1R5G5B5_UNORM_PACK16 = 8, + R8_UNORM = 9, + R8_SNORM = 10, + R8_USCALED = 11, + R8_SSCALED = 12, + R8_UINT = 13, + R8_SINT = 14, + R8_SRGB = 15, + R8G8_UNORM = 16, + R8G8_SNORM = 17, + R8G8_USCALED = 18, + R8G8_SSCALED = 19, + R8G8_UINT = 20, + R8G8_SINT = 21, + R8G8_SRGB = 22, + R8G8B8_UNORM = 23, + R8G8B8_SNORM = 24, + R8G8B8_USCALED = 25, + R8G8B8_SSCALED = 26, + R8G8B8_UINT = 27, + R8G8B8_SINT = 28, + R8G8B8_SRGB = 29, + B8G8R8_UNORM = 30, + B8G8R8_SNORM = 31, + B8G8R8_USCALED = 32, + B8G8R8_SSCALED = 33, + B8G8R8_UINT = 34, + B8G8R8_SINT = 35, + B8G8R8_SRGB = 36, + R8G8B8A8_UNORM = 37, + R8G8B8A8_SNORM = 38, + R8G8B8A8_USCALED = 39, + R8G8B8A8_SSCALED = 40, + R8G8B8A8_UINT = 41, + R8G8B8A8_SINT = 42, + R8G8B8A8_SRGB = 43, + B8G8R8A8_UNORM = 44, + B8G8R8A8_SNORM = 45, + B8G8R8A8_USCALED = 46, + B8G8R8A8_SSCALED = 47, + B8G8R8A8_UINT = 48, + B8G8R8A8_SINT = 49, + B8G8R8A8_SRGB = 50, + A8B8G8R8_UNORM_PACK32 = 51, + A8B8G8R8_SNORM_PACK32 = 52, + A8B8G8R8_USCALED_PACK32 = 53, + A8B8G8R8_SSCALED_PACK32 = 54, + A8B8G8R8_UINT_PACK32 = 55, + A8B8G8R8_SINT_PACK32 = 56, + A8B8G8R8_SRGB_PACK32 = 57, + A2R10G10B10_UNORM_PACK32 = 58, + A2R10G10B10_SNORM_PACK32 = 59, + A2R10G10B10_USCALED_PACK32 = 60, + A2R10G10B10_SSCALED_PACK32 = 61, + A2R10G10B10_UINT_PACK32 = 62, + A2R10G10B10_SINT_PACK32 = 63, + A2B10G10R10_UNORM_PACK32 = 64, + A2B10G10R10_SNORM_PACK32 = 65, + A2B10G10R10_USCALED_PACK32 = 66, + A2B10G10R10_SSCALED_PACK32 = 67, + A2B10G10R10_UINT_PACK32 = 68, + A2B10G10R10_SINT_PACK32 = 69, + R16_UNORM = 70, + R16_SNORM = 71, + R16_USCALED = 72, + R16_SSCALED = 73, + R16_UINT = 74, + R16_SINT = 75, + R16_SFLOAT = 76, + R16G16_UNORM = 77, + R16G16_SNORM = 78, + R16G16_USCALED = 79, + R16G16_SSCALED = 80, + R16G16_UINT = 81, + R16G16_SINT = 82, + R16G16_SFLOAT = 83, + R16G16B16_UNORM = 84, + R16G16B16_SNORM = 85, + R16G16B16_USCALED = 86, + R16G16B16_SSCALED = 87, + R16G16B16_UINT = 88, + R16G16B16_SINT = 89, + R16G16B16_SFLOAT = 90, + R16G16B16A16_UNORM = 91, + R16G16B16A16_SNORM = 92, + R16G16B16A16_USCALED = 93, + R16G16B16A16_SSCALED = 94, + R16G16B16A16_UINT = 95, + R16G16B16A16_SINT = 96, + R16G16B16A16_SFLOAT = 97, + R32_UINT = 98, + R32_SINT = 99, + R32_SFLOAT = 100, + R32G32_UINT = 101, + R32G32_SINT = 102, + R32G32_SFLOAT = 103, + R32G32B32_UINT = 104, + R32G32B32_SINT = 105, + R32G32B32_SFLOAT = 106, + R32G32B32A32_UINT = 107, + R32G32B32A32_SINT = 108, + R32G32B32A32_SFLOAT = 109, + R64_UINT = 110, + R64_SINT = 111, + R64_SFLOAT = 112, + R64G64_UINT = 113, + R64G64_SINT = 114, + R64G64_SFLOAT = 115, + R64G64B64_UINT = 116, + R64G64B64_SINT = 117, + R64G64B64_SFLOAT = 118, + R64G64B64A64_UINT = 119, + R64G64B64A64_SINT = 120, + R64G64B64A64_SFLOAT = 121, + B10G11R11_UFLOAT_PACK32 = 122, + E5B9G9R9_UFLOAT_PACK32 = 123, + D16_UNORM = 124, + X8_D24_UNORM_PACK32 = 125, + D32_SFLOAT = 126, + S8_UINT = 127, + D16_UNORM_S8_UINT = 128, + D24_UNORM_S8_UINT = 129, + D32_SFLOAT_S8_UINT = 130, + BC1_RGB_UNORM_BLOCK = 131, + BC1_RGB_SRGB_BLOCK = 132, + BC1_RGBA_UNORM_BLOCK = 133, + BC1_RGBA_SRGB_BLOCK = 134, + BC2_UNORM_BLOCK = 135, + BC2_SRGB_BLOCK = 136, + BC3_UNORM_BLOCK = 137, + BC3_SRGB_BLOCK = 138, + BC4_UNORM_BLOCK = 139, + BC4_SNORM_BLOCK = 140, + BC5_UNORM_BLOCK = 141, + BC5_SNORM_BLOCK = 142, + BC6H_UFLOAT_BLOCK = 143, + BC6H_SFLOAT_BLOCK = 144, + BC7_UNORM_BLOCK = 145, + BC7_SRGB_BLOCK = 146, + ETC2_R8G8B8_UNORM_BLOCK = 147, + ETC2_R8G8B8_SRGB_BLOCK = 148, + ETC2_R8G8B8A1_UNORM_BLOCK = 149, + ETC2_R8G8B8A1_SRGB_BLOCK = 150, + ETC2_R8G8B8A8_UNORM_BLOCK = 151, + ETC2_R8G8B8A8_SRGB_BLOCK = 152, + EAC_R11_UNORM_BLOCK = 153, + EAC_R11_SNORM_BLOCK = 154, + EAC_R11G11_UNORM_BLOCK = 155, + EAC_R11G11_SNORM_BLOCK = 156, + ASTC_4x4_UNORM_BLOCK = 157, + ASTC_4x4_SRGB_BLOCK = 158, + ASTC_5x4_UNORM_BLOCK = 159, + ASTC_5x4_SRGB_BLOCK = 160, + ASTC_5x5_UNORM_BLOCK = 161, + ASTC_5x5_SRGB_BLOCK = 162, + ASTC_6x5_UNORM_BLOCK = 163, + ASTC_6x5_SRGB_BLOCK = 164, + ASTC_6x6_UNORM_BLOCK = 165, + ASTC_6x6_SRGB_BLOCK = 166, + ASTC_8x5_UNORM_BLOCK = 167, + ASTC_8x5_SRGB_BLOCK = 168, + ASTC_8x6_UNORM_BLOCK = 169, + ASTC_8x6_SRGB_BLOCK = 170, + ASTC_8x8_UNORM_BLOCK = 171, + ASTC_8x8_SRGB_BLOCK = 172, + ASTC_10x5_UNORM_BLOCK = 173, + ASTC_10x5_SRGB_BLOCK = 174, + ASTC_10x6_UNORM_BLOCK = 175, + ASTC_10x6_SRGB_BLOCK = 176, + ASTC_10x8_UNORM_BLOCK = 177, + ASTC_10x8_SRGB_BLOCK = 178, + ASTC_10x10_UNORM_BLOCK = 179, + ASTC_10x10_SRGB_BLOCK = 180, + ASTC_12x10_UNORM_BLOCK = 181, + ASTC_12x10_SRGB_BLOCK = 182, + ASTC_12x12_UNORM_BLOCK = 183, + ASTC_12x12_SRGB_BLOCK = 184, + G8B8G8R8_422_UNORM = 1000156000, + B8G8R8G8_422_UNORM = 1000156001, + G8_B8_R8_3PLANE_420_UNORM = 1000156002, + G8_B8R8_2PLANE_420_UNORM = 1000156003, + G8_B8_R8_3PLANE_422_UNORM = 1000156004, + G8_B8R8_2PLANE_422_UNORM = 1000156005, + G8_B8_R8_3PLANE_444_UNORM = 1000156006, + R10X6_UNORM_PACK16 = 1000156007, + R10X6G10X6_UNORM_2PACK16 = 1000156008, + R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, + G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, + B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, + G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, + G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, + G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, + G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, + G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, + R12X4_UNORM_PACK16 = 1000156017, + R12X4G12X4_UNORM_2PACK16 = 1000156018, + R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, + G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, + B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, + G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, + G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, + G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, + G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, + G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, + G16B16G16R16_422_UNORM = 1000156027, + B16G16R16G16_422_UNORM = 1000156028, + G16_B16_R16_3PLANE_420_UNORM = 1000156029, + G16_B16R16_2PLANE_420_UNORM = 1000156030, + G16_B16_R16_3PLANE_422_UNORM = 1000156031, + G16_B16R16_2PLANE_422_UNORM = 1000156032, + G16_B16_R16_3PLANE_444_UNORM = 1000156033, + G8_B8R8_2PLANE_444_UNORM = 1000330000, + G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, + G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, + G16_B16R16_2PLANE_444_UNORM = 1000330003, + A4R4G4B4_UNORM_PACK16 = 1000340000, + A4B4G4R4_UNORM_PACK16 = 1000340001, + ASTC_4x4_SFLOAT_BLOCK = 1000066000, + ASTC_5x4_SFLOAT_BLOCK = 1000066001, + ASTC_5x5_SFLOAT_BLOCK = 1000066002, + ASTC_6x5_SFLOAT_BLOCK = 1000066003, + ASTC_6x6_SFLOAT_BLOCK = 1000066004, + ASTC_8x5_SFLOAT_BLOCK = 1000066005, + ASTC_8x6_SFLOAT_BLOCK = 1000066006, + ASTC_8x8_SFLOAT_BLOCK = 1000066007, + ASTC_10x5_SFLOAT_BLOCK = 1000066008, + ASTC_10x6_SFLOAT_BLOCK = 1000066009, + ASTC_10x8_SFLOAT_BLOCK = 1000066010, + ASTC_10x10_SFLOAT_BLOCK = 1000066011, + ASTC_12x10_SFLOAT_BLOCK = 1000066012, + ASTC_12x12_SFLOAT_BLOCK = 1000066013, + PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, + PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, + PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, + PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, + PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, + PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, + PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, + PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, + R16G16_S10_5_NV = 1000464000, + ASTC_4x4_SFLOAT_BLOCK_EXT = ASTC_4x4_SFLOAT_BLOCK, + ASTC_5x4_SFLOAT_BLOCK_EXT = ASTC_5x4_SFLOAT_BLOCK, + ASTC_5x5_SFLOAT_BLOCK_EXT = ASTC_5x5_SFLOAT_BLOCK, + ASTC_6x5_SFLOAT_BLOCK_EXT = ASTC_6x5_SFLOAT_BLOCK, + ASTC_6x6_SFLOAT_BLOCK_EXT = ASTC_6x6_SFLOAT_BLOCK, + ASTC_8x5_SFLOAT_BLOCK_EXT = ASTC_8x5_SFLOAT_BLOCK, + ASTC_8x6_SFLOAT_BLOCK_EXT = ASTC_8x6_SFLOAT_BLOCK, + ASTC_8x8_SFLOAT_BLOCK_EXT = ASTC_8x8_SFLOAT_BLOCK, + ASTC_10x5_SFLOAT_BLOCK_EXT = ASTC_10x5_SFLOAT_BLOCK, + ASTC_10x6_SFLOAT_BLOCK_EXT = ASTC_10x6_SFLOAT_BLOCK, + ASTC_10x8_SFLOAT_BLOCK_EXT = ASTC_10x8_SFLOAT_BLOCK, + ASTC_10x10_SFLOAT_BLOCK_EXT = ASTC_10x10_SFLOAT_BLOCK, + ASTC_12x10_SFLOAT_BLOCK_EXT = ASTC_12x10_SFLOAT_BLOCK, + ASTC_12x12_SFLOAT_BLOCK_EXT = ASTC_12x12_SFLOAT_BLOCK, + G8B8G8R8_422_UNORM_KHR = G8B8G8R8_422_UNORM, + B8G8R8G8_422_UNORM_KHR = B8G8R8G8_422_UNORM, + G8_B8_R8_3PLANE_420_UNORM_KHR = G8_B8_R8_3PLANE_420_UNORM, + G8_B8R8_2PLANE_420_UNORM_KHR = G8_B8R8_2PLANE_420_UNORM, + G8_B8_R8_3PLANE_422_UNORM_KHR = G8_B8_R8_3PLANE_422_UNORM, + G8_B8R8_2PLANE_422_UNORM_KHR = G8_B8R8_2PLANE_422_UNORM, + G8_B8_R8_3PLANE_444_UNORM_KHR = G8_B8_R8_3PLANE_444_UNORM, + R10X6_UNORM_PACK16_KHR = R10X6_UNORM_PACK16, + R10X6G10X6_UNORM_2PACK16_KHR = R10X6G10X6_UNORM_2PACK16, + R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = R10X6G10X6B10X6A10X6_UNORM_4PACK16, + G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, + B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, + G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, + G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, + G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, + G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, + G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, + R12X4_UNORM_PACK16_KHR = R12X4_UNORM_PACK16, + R12X4G12X4_UNORM_2PACK16_KHR = R12X4G12X4_UNORM_2PACK16, + R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = R12X4G12X4B12X4A12X4_UNORM_4PACK16, + G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, + B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, + G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, + G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, + G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, + G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, + G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, + G16B16G16R16_422_UNORM_KHR = G16B16G16R16_422_UNORM, + B16G16R16G16_422_UNORM_KHR = B16G16R16G16_422_UNORM, + G16_B16_R16_3PLANE_420_UNORM_KHR = G16_B16_R16_3PLANE_420_UNORM, + G16_B16R16_2PLANE_420_UNORM_KHR = G16_B16R16_2PLANE_420_UNORM, + G16_B16_R16_3PLANE_422_UNORM_KHR = G16_B16_R16_3PLANE_422_UNORM, + G16_B16R16_2PLANE_422_UNORM_KHR = G16_B16R16_2PLANE_422_UNORM, + G16_B16_R16_3PLANE_444_UNORM_KHR = G16_B16_R16_3PLANE_444_UNORM, + G8_B8R8_2PLANE_444_UNORM_EXT = G8_B8R8_2PLANE_444_UNORM, + G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, + G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, + G16_B16R16_2PLANE_444_UNORM_EXT = G16_B16R16_2PLANE_444_UNORM, + A4R4G4B4_UNORM_PACK16_EXT = A4R4G4B4_UNORM_PACK16, + A4B4G4R4_UNORM_PACK16_EXT = A4B4G4R4_UNORM_PACK16, +} + +FormatFeatureFlags :: distinct bit_set[FormatFeatureFlag; Flags] +FormatFeatureFlag :: enum Flags { + SAMPLED_IMAGE = 0, + STORAGE_IMAGE = 1, + STORAGE_IMAGE_ATOMIC = 2, + UNIFORM_TEXEL_BUFFER = 3, + STORAGE_TEXEL_BUFFER = 4, + STORAGE_TEXEL_BUFFER_ATOMIC = 5, + VERTEX_BUFFER = 6, + COLOR_ATTACHMENT = 7, + COLOR_ATTACHMENT_BLEND = 8, + DEPTH_STENCIL_ATTACHMENT = 9, + BLIT_SRC = 10, + BLIT_DST = 11, + SAMPLED_IMAGE_FILTER_LINEAR = 12, + TRANSFER_SRC = 14, + TRANSFER_DST = 15, + MIDPOINT_CHROMA_SAMPLES = 17, + SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER = 18, + SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER = 19, + SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT = 20, + SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE = 21, + DISJOINT = 22, + COSITED_CHROMA_SAMPLES = 23, + SAMPLED_IMAGE_FILTER_MINMAX = 16, + VIDEO_DECODE_OUTPUT_KHR = 25, + VIDEO_DECODE_DPB_KHR = 26, + ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR = 29, + SAMPLED_IMAGE_FILTER_CUBIC_EXT = 13, + FRAGMENT_DENSITY_MAP_EXT = 24, + FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 30, + VIDEO_ENCODE_INPUT_KHR = 27, + VIDEO_ENCODE_DPB_KHR = 28, + SAMPLED_IMAGE_FILTER_CUBIC_IMG = SAMPLED_IMAGE_FILTER_CUBIC_EXT, + TRANSFER_SRC_KHR = TRANSFER_SRC, + TRANSFER_DST_KHR = TRANSFER_DST, + SAMPLED_IMAGE_FILTER_MINMAX_EXT = SAMPLED_IMAGE_FILTER_MINMAX, + MIDPOINT_CHROMA_SAMPLES_KHR = MIDPOINT_CHROMA_SAMPLES, + SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_KHR = SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER, + SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_KHR = SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER, + SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_KHR = SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT, + SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_KHR = SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE, + DISJOINT_KHR = DISJOINT, + COSITED_CHROMA_SAMPLES_KHR = COSITED_CHROMA_SAMPLES, +} + +FragmentShadingRateCombinerOpKHR :: enum c.int { + KEEP = 0, + REPLACE = 1, + MIN = 2, + MAX = 3, + MUL = 4, +} + +FragmentShadingRateNV :: enum c.int { + _1_INVOCATION_PER_PIXEL = 0, + _1_INVOCATION_PER_1X2_PIXELS = 1, + _1_INVOCATION_PER_2X1_PIXELS = 4, + _1_INVOCATION_PER_2X2_PIXELS = 5, + _1_INVOCATION_PER_2X4_PIXELS = 6, + _1_INVOCATION_PER_4X2_PIXELS = 9, + _1_INVOCATION_PER_4X4_PIXELS = 10, + _2_INVOCATIONS_PER_PIXEL = 11, + _4_INVOCATIONS_PER_PIXEL = 12, + _8_INVOCATIONS_PER_PIXEL = 13, + _16_INVOCATIONS_PER_PIXEL = 14, + NO_INVOCATIONS = 15, +} + +FragmentShadingRateTypeNV :: enum c.int { + FRAGMENT_SIZE = 0, + ENUMS = 1, +} + +FramebufferCreateFlags :: distinct bit_set[FramebufferCreateFlag; Flags] +FramebufferCreateFlag :: enum Flags { + IMAGELESS = 0, + IMAGELESS_KHR = IMAGELESS, +} + +FrontFace :: enum c.int { + COUNTER_CLOCKWISE = 0, + CLOCKWISE = 1, +} + +FullScreenExclusiveEXT :: enum c.int { + DEFAULT = 0, + ALLOWED = 1, + DISALLOWED = 2, + APPLICATION_CONTROLLED = 3, +} + +GeometryFlagsKHR :: distinct bit_set[GeometryFlagKHR; Flags] +GeometryFlagKHR :: enum Flags { + OPAQUE = 0, + NO_DUPLICATE_ANY_HIT_INVOCATION = 1, + OPAQUE_NV = OPAQUE, + NO_DUPLICATE_ANY_HIT_INVOCATION_NV = NO_DUPLICATE_ANY_HIT_INVOCATION, +} + +GeometryInstanceFlagsKHR :: distinct bit_set[GeometryInstanceFlagKHR; Flags] +GeometryInstanceFlagKHR :: enum Flags { + TRIANGLE_FACING_CULL_DISABLE = 0, + TRIANGLE_FLIP_FACING = 1, + FORCE_OPAQUE = 2, + FORCE_NO_OPAQUE = 3, + FORCE_OPACITY_MICROMAP_2_STATE_EXT = 4, + DISABLE_OPACITY_MICROMAPS_EXT = 5, + TRIANGLE_FRONT_COUNTERCLOCKWISE = TRIANGLE_FLIP_FACING, + TRIANGLE_CULL_DISABLE_NV = TRIANGLE_FACING_CULL_DISABLE, + TRIANGLE_FRONT_COUNTERCLOCKWISE_NV = TRIANGLE_FRONT_COUNTERCLOCKWISE, + FORCE_OPAQUE_NV = FORCE_OPAQUE, + FORCE_NO_OPAQUE_NV = FORCE_NO_OPAQUE, +} + +GeometryTypeKHR :: enum c.int { + TRIANGLES = 0, + AABBS = 1, + INSTANCES = 2, + TRIANGLES_NV = TRIANGLES, + AABBS_NV = AABBS, +} + +GraphicsPipelineLibraryFlagsEXT :: distinct bit_set[GraphicsPipelineLibraryFlagEXT; Flags] +GraphicsPipelineLibraryFlagEXT :: enum Flags { + VERTEX_INPUT_INTERFACE = 0, + PRE_RASTERIZATION_SHADERS = 1, + FRAGMENT_SHADER = 2, + FRAGMENT_OUTPUT_INTERFACE = 3, +} + +ImageAspectFlags :: distinct bit_set[ImageAspectFlag; Flags] +ImageAspectFlag :: enum Flags { + COLOR = 0, + DEPTH = 1, + STENCIL = 2, + METADATA = 3, + PLANE_0 = 4, + PLANE_1 = 5, + PLANE_2 = 6, + MEMORY_PLANE_0_EXT = 7, + MEMORY_PLANE_1_EXT = 8, + MEMORY_PLANE_2_EXT = 9, + MEMORY_PLANE_3_EXT = 10, + PLANE_0_KHR = PLANE_0, + PLANE_1_KHR = PLANE_1, + PLANE_2_KHR = PLANE_2, +} + +ImageAspectFlags_NONE :: ImageAspectFlags{} + + +ImageCompressionFixedRateFlagsEXT :: distinct bit_set[ImageCompressionFixedRateFlagEXT; Flags] +ImageCompressionFixedRateFlagEXT :: enum Flags { + _1BPC = 0, + _2BPC = 1, + _3BPC = 2, + _4BPC = 3, + _5BPC = 4, + _6BPC = 5, + _7BPC = 6, + _8BPC = 7, + _9BPC = 8, + _10BPC = 9, + _11BPC = 10, + _12BPC = 11, + _13BPC = 12, + _14BPC = 13, + _15BPC = 14, + _16BPC = 15, + _17BPC = 16, + _18BPC = 17, + _19BPC = 18, + _20BPC = 19, + _21BPC = 20, + _22BPC = 21, + _23BPC = 22, + _24BPC = 23, +} + +ImageCompressionFixedRateFlagsEXT_NONE :: ImageCompressionFixedRateFlagsEXT{} + + +ImageCompressionFlagsEXT :: distinct bit_set[ImageCompressionFlagEXT; Flags] +ImageCompressionFlagEXT :: enum Flags { + FIXED_RATE_DEFAULT = 0, + FIXED_RATE_EXPLICIT = 1, + DISABLED = 2, +} + +ImageCompressionFlagsEXT_DEFAULT :: ImageCompressionFlagsEXT{} + + +ImageCreateFlags :: distinct bit_set[ImageCreateFlag; Flags] +ImageCreateFlag :: enum Flags { + SPARSE_BINDING = 0, + SPARSE_RESIDENCY = 1, + SPARSE_ALIASED = 2, + MUTABLE_FORMAT = 3, + CUBE_COMPATIBLE = 4, + ALIAS = 10, + SPLIT_INSTANCE_BIND_REGIONS = 6, + D2_ARRAY_COMPATIBLE = 5, + BLOCK_TEXEL_VIEW_COMPATIBLE = 7, + EXTENDED_USAGE = 8, + PROTECTED = 11, + DISJOINT = 9, + CORNER_SAMPLED_NV = 13, + SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT = 12, + SUBSAMPLED_EXT = 14, + DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 16, + MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXT = 18, + D2_VIEW_COMPATIBLE_EXT = 17, + FRAGMENT_DENSITY_MAP_OFFSET_QCOM = 15, + SPLIT_INSTANCE_BIND_REGIONS_KHR = SPLIT_INSTANCE_BIND_REGIONS, + D2_ARRAY_COMPATIBLE_KHR = D2_ARRAY_COMPATIBLE, + BLOCK_TEXEL_VIEW_COMPATIBLE_KHR = BLOCK_TEXEL_VIEW_COMPATIBLE, + EXTENDED_USAGE_KHR = EXTENDED_USAGE, + DISJOINT_KHR = DISJOINT, + ALIAS_KHR = ALIAS, +} + +ImageLayout :: enum c.int { + UNDEFINED = 0, + GENERAL = 1, + COLOR_ATTACHMENT_OPTIMAL = 2, + DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, + DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, + SHADER_READ_ONLY_OPTIMAL = 5, + TRANSFER_SRC_OPTIMAL = 6, + TRANSFER_DST_OPTIMAL = 7, + PREINITIALIZED = 8, + DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, + DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, + DEPTH_ATTACHMENT_OPTIMAL = 1000241000, + DEPTH_READ_ONLY_OPTIMAL = 1000241001, + STENCIL_ATTACHMENT_OPTIMAL = 1000241002, + STENCIL_READ_ONLY_OPTIMAL = 1000241003, + READ_ONLY_OPTIMAL = 1000314000, + ATTACHMENT_OPTIMAL = 1000314001, + PRESENT_SRC_KHR = 1000001002, + VIDEO_DECODE_DST_KHR = 1000024000, + VIDEO_DECODE_SRC_KHR = 1000024001, + VIDEO_DECODE_DPB_KHR = 1000024002, + SHARED_PRESENT_KHR = 1000111000, + FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, + FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, + VIDEO_ENCODE_DST_KHR = 1000299000, + VIDEO_ENCODE_SRC_KHR = 1000299001, + VIDEO_ENCODE_DPB_KHR = 1000299002, + ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000, + DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, + DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, + SHADING_RATE_OPTIMAL_NV = FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR, + DEPTH_ATTACHMENT_OPTIMAL_KHR = DEPTH_ATTACHMENT_OPTIMAL, + DEPTH_READ_ONLY_OPTIMAL_KHR = DEPTH_READ_ONLY_OPTIMAL, + STENCIL_ATTACHMENT_OPTIMAL_KHR = STENCIL_ATTACHMENT_OPTIMAL, + STENCIL_READ_ONLY_OPTIMAL_KHR = STENCIL_READ_ONLY_OPTIMAL, + READ_ONLY_OPTIMAL_KHR = READ_ONLY_OPTIMAL, + ATTACHMENT_OPTIMAL_KHR = ATTACHMENT_OPTIMAL, +} + +ImageTiling :: enum c.int { + OPTIMAL = 0, + LINEAR = 1, + DRM_FORMAT_MODIFIER_EXT = 1000158000, +} + +ImageType :: enum c.int { + D1 = 0, + D2 = 1, + D3 = 2, +} + +ImageUsageFlags :: distinct bit_set[ImageUsageFlag; Flags] +ImageUsageFlag :: enum Flags { + TRANSFER_SRC = 0, + TRANSFER_DST = 1, + SAMPLED = 2, + STORAGE = 3, + COLOR_ATTACHMENT = 4, + DEPTH_STENCIL_ATTACHMENT = 5, + TRANSIENT_ATTACHMENT = 6, + INPUT_ATTACHMENT = 7, + VIDEO_DECODE_DST_KHR = 10, + VIDEO_DECODE_SRC_KHR = 11, + VIDEO_DECODE_DPB_KHR = 12, + FRAGMENT_DENSITY_MAP_EXT = 9, + FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 8, + VIDEO_ENCODE_DST_KHR = 13, + VIDEO_ENCODE_SRC_KHR = 14, + VIDEO_ENCODE_DPB_KHR = 15, + ATTACHMENT_FEEDBACK_LOOP_EXT = 19, + INVOCATION_MASK_HUAWEI = 18, + SAMPLE_WEIGHT_QCOM = 20, + SAMPLE_BLOCK_MATCH_QCOM = 21, + SHADING_RATE_IMAGE_NV = FRAGMENT_SHADING_RATE_ATTACHMENT_KHR, +} + +ImageViewCreateFlags :: distinct bit_set[ImageViewCreateFlag; Flags] +ImageViewCreateFlag :: enum Flags { + FRAGMENT_DENSITY_MAP_DYNAMIC_EXT = 0, + DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 2, + FRAGMENT_DENSITY_MAP_DEFERRED_EXT = 1, +} + +ImageViewType :: enum c.int { + D1 = 0, + D2 = 1, + D3 = 2, + CUBE = 3, + D1_ARRAY = 4, + D2_ARRAY = 5, + CUBE_ARRAY = 6, +} + +IndexType :: enum c.int { + UINT16 = 0, + UINT32 = 1, + NONE_KHR = 1000165000, + UINT8_EXT = 1000265000, + NONE_NV = NONE_KHR, +} + +IndirectCommandsLayoutUsageFlagsNV :: distinct bit_set[IndirectCommandsLayoutUsageFlagNV; Flags] +IndirectCommandsLayoutUsageFlagNV :: enum Flags { + EXPLICIT_PREPROCESS = 0, + INDEXED_SEQUENCES = 1, + UNORDERED_SEQUENCES = 2, +} + +IndirectCommandsTokenTypeNV :: enum c.int { + SHADER_GROUP = 0, + STATE_FLAGS = 1, + INDEX_BUFFER = 2, + VERTEX_BUFFER = 3, + PUSH_CONSTANT = 4, + DRAW_INDEXED = 5, + DRAW = 6, + DRAW_TASKS = 7, + DRAW_MESH_TASKS = 1000328000, +} + +IndirectStateFlagsNV :: distinct bit_set[IndirectStateFlagNV; Flags] +IndirectStateFlagNV :: enum Flags { + FLAG_FRONTFACE = 0, +} + +InstanceCreateFlags :: distinct bit_set[InstanceCreateFlag; Flags] +InstanceCreateFlag :: enum Flags { + ENUMERATE_PORTABILITY_KHR = 0, +} + +InternalAllocationType :: enum c.int { + EXECUTABLE = 0, +} + +LineRasterizationModeEXT :: enum c.int { + DEFAULT = 0, + RECTANGULAR = 1, + BRESENHAM = 2, + RECTANGULAR_SMOOTH = 3, +} + +LogicOp :: enum c.int { + CLEAR = 0, + AND = 1, + AND_REVERSE = 2, + COPY = 3, + AND_INVERTED = 4, + NO_OP = 5, + XOR = 6, + OR = 7, + NOR = 8, + EQUIVALENT = 9, + INVERT = 10, + OR_REVERSE = 11, + COPY_INVERTED = 12, + OR_INVERTED = 13, + NAND = 14, + SET = 15, +} + +MemoryAllocateFlags :: distinct bit_set[MemoryAllocateFlag; Flags] +MemoryAllocateFlag :: enum Flags { + DEVICE_MASK = 0, + DEVICE_ADDRESS = 1, + DEVICE_ADDRESS_CAPTURE_REPLAY = 2, + DEVICE_MASK_KHR = DEVICE_MASK, + DEVICE_ADDRESS_KHR = DEVICE_ADDRESS, + DEVICE_ADDRESS_CAPTURE_REPLAY_KHR = DEVICE_ADDRESS_CAPTURE_REPLAY, +} + +MemoryHeapFlags :: distinct bit_set[MemoryHeapFlag; Flags] +MemoryHeapFlag :: enum Flags { + DEVICE_LOCAL = 0, + MULTI_INSTANCE = 1, + MULTI_INSTANCE_KHR = MULTI_INSTANCE, +} + +MemoryOverallocationBehaviorAMD :: enum c.int { + DEFAULT = 0, + ALLOWED = 1, + DISALLOWED = 2, +} + +MemoryPropertyFlags :: distinct bit_set[MemoryPropertyFlag; Flags] +MemoryPropertyFlag :: enum Flags { + DEVICE_LOCAL = 0, + HOST_VISIBLE = 1, + HOST_COHERENT = 2, + HOST_CACHED = 3, + LAZILY_ALLOCATED = 4, + PROTECTED = 5, + DEVICE_COHERENT_AMD = 6, + DEVICE_UNCACHED_AMD = 7, + RDMA_CAPABLE_NV = 8, +} + +MicromapCreateFlagsEXT :: distinct bit_set[MicromapCreateFlagEXT; Flags] +MicromapCreateFlagEXT :: enum Flags { + DEVICE_ADDRESS_CAPTURE_REPLAY = 0, +} + +MicromapTypeEXT :: enum c.int { + OPACITY_MICROMAP = 0, + DISPLACEMENT_MICROMAP_NV = 1000397000, +} + +ObjectType :: enum c.int { + UNKNOWN = 0, + INSTANCE = 1, + PHYSICAL_DEVICE = 2, + DEVICE = 3, + QUEUE = 4, + SEMAPHORE = 5, + COMMAND_BUFFER = 6, + FENCE = 7, + DEVICE_MEMORY = 8, + BUFFER = 9, + IMAGE = 10, + EVENT = 11, + QUERY_POOL = 12, + BUFFER_VIEW = 13, + IMAGE_VIEW = 14, + SHADER_MODULE = 15, + PIPELINE_CACHE = 16, + PIPELINE_LAYOUT = 17, + RENDER_PASS = 18, + PIPELINE = 19, + DESCRIPTOR_SET_LAYOUT = 20, + SAMPLER = 21, + DESCRIPTOR_POOL = 22, + DESCRIPTOR_SET = 23, + FRAMEBUFFER = 24, + COMMAND_POOL = 25, + SAMPLER_YCBCR_CONVERSION = 1000156000, + DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, + PRIVATE_DATA_SLOT = 1000295000, + SURFACE_KHR = 1000000000, + SWAPCHAIN_KHR = 1000001000, + DISPLAY_KHR = 1000002000, + DISPLAY_MODE_KHR = 1000002001, + DEBUG_REPORT_CALLBACK_EXT = 1000011000, + VIDEO_SESSION_KHR = 1000023000, + VIDEO_SESSION_PARAMETERS_KHR = 1000023001, + CU_MODULE_NVX = 1000029000, + CU_FUNCTION_NVX = 1000029001, + DEBUG_UTILS_MESSENGER_EXT = 1000128000, + ACCELERATION_STRUCTURE_KHR = 1000150000, + VALIDATION_CACHE_EXT = 1000160000, + ACCELERATION_STRUCTURE_NV = 1000165000, + PERFORMANCE_CONFIGURATION_INTEL = 1000210000, + DEFERRED_OPERATION_KHR = 1000268000, + INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, + BUFFER_COLLECTION_FUCHSIA = 1000366000, + MICROMAP_EXT = 1000396000, + OPTICAL_FLOW_SESSION_NV = 1000464000, + SHADER_EXT = 1000482000, + DESCRIPTOR_UPDATE_TEMPLATE_KHR = DESCRIPTOR_UPDATE_TEMPLATE, + SAMPLER_YCBCR_CONVERSION_KHR = SAMPLER_YCBCR_CONVERSION, + PRIVATE_DATA_SLOT_EXT = PRIVATE_DATA_SLOT, +} + +OpacityMicromapFormatEXT :: enum c.int { + _2_STATE = 1, + _4_STATE = 2, +} + +OpacityMicromapSpecialIndexEXT :: enum c.int { + FULLY_TRANSPARENT = -1, + FULLY_OPAQUE = -2, + FULLY_UNKNOWN_TRANSPARENT = -3, + FULLY_UNKNOWN_OPAQUE = -4, +} + +OpticalFlowExecuteFlagsNV :: distinct bit_set[OpticalFlowExecuteFlagNV; Flags] +OpticalFlowExecuteFlagNV :: enum Flags { + DISABLE_TEMPORAL_HINTS = 0, +} + +OpticalFlowGridSizeFlagsNV :: distinct bit_set[OpticalFlowGridSizeFlagNV; Flags] +OpticalFlowGridSizeFlagNV :: enum Flags { + _1X1 = 0, + _2X2 = 1, + _4X4 = 2, + _8X8 = 3, +} + +OpticalFlowGridSizeFlagsNV_UNKNOWN :: OpticalFlowGridSizeFlagsNV{} + + +OpticalFlowPerformanceLevelNV :: enum c.int { + UNKNOWN = 0, + SLOW = 1, + MEDIUM = 2, + FAST = 3, +} + +OpticalFlowSessionBindingPointNV :: enum c.int { + UNKNOWN = 0, + INPUT = 1, + REFERENCE = 2, + HINT = 3, + FLOW_VECTOR = 4, + BACKWARD_FLOW_VECTOR = 5, + COST = 6, + BACKWARD_COST = 7, + GLOBAL_FLOW = 8, +} + +OpticalFlowSessionCreateFlagsNV :: distinct bit_set[OpticalFlowSessionCreateFlagNV; Flags] +OpticalFlowSessionCreateFlagNV :: enum Flags { + ENABLE_HINT = 0, + ENABLE_COST = 1, + ENABLE_GLOBAL_FLOW = 2, + ALLOW_REGIONS = 3, + BOTH_DIRECTIONS = 4, +} + +OpticalFlowUsageFlagsNV :: distinct bit_set[OpticalFlowUsageFlagNV; Flags] +OpticalFlowUsageFlagNV :: enum Flags { + INPUT = 0, + OUTPUT = 1, + HINT = 2, + COST = 3, + GLOBAL_FLOW = 4, +} + +OpticalFlowUsageFlagsNV_UNKNOWN :: OpticalFlowUsageFlagsNV{} + + +PeerMemoryFeatureFlags :: distinct bit_set[PeerMemoryFeatureFlag; Flags] +PeerMemoryFeatureFlag :: enum Flags { + COPY_SRC = 0, + COPY_DST = 1, + GENERIC_SRC = 2, + GENERIC_DST = 3, + COPY_SRC_KHR = COPY_SRC, + COPY_DST_KHR = COPY_DST, + GENERIC_SRC_KHR = GENERIC_SRC, + GENERIC_DST_KHR = GENERIC_DST, +} + +PerformanceConfigurationTypeINTEL :: enum c.int { + PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0, +} + +PerformanceCounterDescriptionFlagsKHR :: distinct bit_set[PerformanceCounterDescriptionFlagKHR; Flags] +PerformanceCounterDescriptionFlagKHR :: enum Flags { + PERFORMANCE_IMPACTING = 0, + CONCURRENTLY_IMPACTED = 1, +} + +PerformanceCounterScopeKHR :: enum c.int { + COMMAND_BUFFER = 0, + RENDER_PASS = 1, + COMMAND = 2, + QUERY_SCOPE_COMMAND_BUFFER = COMMAND_BUFFER, + QUERY_SCOPE_RENDER_PASS = RENDER_PASS, + QUERY_SCOPE_COMMAND = COMMAND, +} + +PerformanceCounterStorageKHR :: enum c.int { + INT32 = 0, + INT64 = 1, + UINT32 = 2, + UINT64 = 3, + FLOAT32 = 4, + FLOAT64 = 5, +} + +PerformanceCounterUnitKHR :: enum c.int { + GENERIC = 0, + PERCENTAGE = 1, + NANOSECONDS = 2, + BYTES = 3, + BYTES_PER_SECOND = 4, + KELVIN = 5, + WATTS = 6, + VOLTS = 7, + AMPS = 8, + HERTZ = 9, + CYCLES = 10, +} + +PerformanceOverrideTypeINTEL :: enum c.int { + PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0, + PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1, +} + +PerformanceParameterTypeINTEL :: enum c.int { + PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0, + PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1, +} + +PerformanceValueTypeINTEL :: enum c.int { + PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0, + PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1, + PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2, + PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3, + PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4, +} + +PhysicalDeviceType :: enum c.int { + OTHER = 0, + INTEGRATED_GPU = 1, + DISCRETE_GPU = 2, + VIRTUAL_GPU = 3, + CPU = 4, +} + +PipelineBindPoint :: enum c.int { + GRAPHICS = 0, + COMPUTE = 1, + RAY_TRACING_KHR = 1000165000, + SUBPASS_SHADING_HUAWEI = 1000369003, + RAY_TRACING_NV = RAY_TRACING_KHR, +} + +PipelineCacheCreateFlags :: distinct bit_set[PipelineCacheCreateFlag; Flags] +PipelineCacheCreateFlag :: enum Flags { + EXTERNALLY_SYNCHRONIZED = 0, + EXTERNALLY_SYNCHRONIZED_EXT = EXTERNALLY_SYNCHRONIZED, +} + +PipelineCacheHeaderVersion :: enum c.int { + ONE = 1, +} + +PipelineColorBlendStateCreateFlags :: distinct bit_set[PipelineColorBlendStateCreateFlag; Flags] +PipelineColorBlendStateCreateFlag :: enum Flags { + RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXT = 0, + RASTERIZATION_ORDER_ATTACHMENT_ACCESS_ARM = RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXT, +} + +PipelineCompilerControlFlagsAMD :: distinct bit_set[PipelineCompilerControlFlagAMD; Flags] +PipelineCompilerControlFlagAMD :: enum Flags { +} + +PipelineCreateFlags :: distinct bit_set[PipelineCreateFlag; Flags] +PipelineCreateFlag :: enum Flags { + DISABLE_OPTIMIZATION = 0, + ALLOW_DERIVATIVES = 1, + DERIVATIVE = 2, + VIEW_INDEX_FROM_DEVICE_INDEX = 3, + DISPATCH_BASE = 4, + FAIL_ON_PIPELINE_COMPILE_REQUIRED = 8, + EARLY_RETURN_ON_FAILURE = 9, + RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 21, + RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT = 22, + RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_KHR = 14, + RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_KHR = 15, + RAY_TRACING_NO_NULL_MISS_SHADERS_KHR = 16, + RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_KHR = 17, + RAY_TRACING_SKIP_TRIANGLES_KHR = 12, + RAY_TRACING_SKIP_AABBS_KHR = 13, + RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_KHR = 19, + DEFER_COMPILE_NV = 5, + CAPTURE_STATISTICS_KHR = 6, + CAPTURE_INTERNAL_REPRESENTATIONS_KHR = 7, + INDIRECT_BINDABLE_NV = 18, + LIBRARY_KHR = 11, + DESCRIPTOR_BUFFER_EXT = 29, + RETAIN_LINK_TIME_OPTIMIZATION_INFO_EXT = 23, + LINK_TIME_OPTIMIZATION_EXT = 10, + RAY_TRACING_ALLOW_MOTION_NV = 20, + COLOR_ATTACHMENT_FEEDBACK_LOOP_EXT = 25, + DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_EXT = 26, + RAY_TRACING_OPACITY_MICROMAP_EXT = 24, + RAY_TRACING_DISPLACEMENT_MICROMAP_NV = 28, + NO_PROTECTED_ACCESS_EXT = 27, + PROTECTED_ACCESS_ONLY_EXT = 30, + PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR, + PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT = RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT, + VIEW_INDEX_FROM_DEVICE_INDEX_KHR = VIEW_INDEX_FROM_DEVICE_INDEX, + DISPATCH_BASE_KHR = DISPATCH_BASE, + FAIL_ON_PIPELINE_COMPILE_REQUIRED_EXT = FAIL_ON_PIPELINE_COMPILE_REQUIRED, + EARLY_RETURN_ON_FAILURE_EXT = EARLY_RETURN_ON_FAILURE, +} + +PipelineCreationFeedbackFlags :: distinct bit_set[PipelineCreationFeedbackFlag; Flags] +PipelineCreationFeedbackFlag :: enum Flags { + VALID = 0, + APPLICATION_PIPELINE_CACHE_HIT = 1, + BASE_PIPELINE_ACCELERATION = 2, + VALID_EXT = VALID, + APPLICATION_PIPELINE_CACHE_HIT_EXT = APPLICATION_PIPELINE_CACHE_HIT, + BASE_PIPELINE_ACCELERATION_EXT = BASE_PIPELINE_ACCELERATION, +} + +PipelineDepthStencilStateCreateFlags :: distinct bit_set[PipelineDepthStencilStateCreateFlag; Flags] +PipelineDepthStencilStateCreateFlag :: enum Flags { + RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT = 0, + RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT = 1, + RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM = RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT, + RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM = RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT, +} + +PipelineExecutableStatisticFormatKHR :: enum c.int { + BOOL32 = 0, + INT64 = 1, + UINT64 = 2, + FLOAT64 = 3, +} + +PipelineLayoutCreateFlags :: distinct bit_set[PipelineLayoutCreateFlag; Flags] +PipelineLayoutCreateFlag :: enum Flags { + INDEPENDENT_SETS_EXT = 1, +} + +PipelineRobustnessBufferBehaviorEXT :: enum c.int { + DEVICE_DEFAULT = 0, + DISABLED = 1, + ROBUST_BUFFER_ACCESS = 2, + ROBUST_BUFFER_ACCESS_2 = 3, +} + +PipelineRobustnessImageBehaviorEXT :: enum c.int { + DEVICE_DEFAULT = 0, + DISABLED = 1, + ROBUST_IMAGE_ACCESS = 2, + ROBUST_IMAGE_ACCESS_2 = 3, +} + +PipelineShaderStageCreateFlags :: distinct bit_set[PipelineShaderStageCreateFlag; Flags] +PipelineShaderStageCreateFlag :: enum Flags { + ALLOW_VARYING_SUBGROUP_SIZE = 0, + REQUIRE_FULL_SUBGROUPS = 1, + ALLOW_VARYING_SUBGROUP_SIZE_EXT = ALLOW_VARYING_SUBGROUP_SIZE, + REQUIRE_FULL_SUBGROUPS_EXT = REQUIRE_FULL_SUBGROUPS, +} + +PipelineStageFlags :: distinct bit_set[PipelineStageFlag; Flags] +PipelineStageFlag :: enum Flags { + TOP_OF_PIPE = 0, + DRAW_INDIRECT = 1, + VERTEX_INPUT = 2, + VERTEX_SHADER = 3, + TESSELLATION_CONTROL_SHADER = 4, + TESSELLATION_EVALUATION_SHADER = 5, + GEOMETRY_SHADER = 6, + FRAGMENT_SHADER = 7, + EARLY_FRAGMENT_TESTS = 8, + LATE_FRAGMENT_TESTS = 9, + COLOR_ATTACHMENT_OUTPUT = 10, + COMPUTE_SHADER = 11, + TRANSFER = 12, + BOTTOM_OF_PIPE = 13, + HOST = 14, + ALL_GRAPHICS = 15, + ALL_COMMANDS = 16, + TRANSFORM_FEEDBACK_EXT = 24, + CONDITIONAL_RENDERING_EXT = 18, + ACCELERATION_STRUCTURE_BUILD_KHR = 25, + RAY_TRACING_SHADER_KHR = 21, + FRAGMENT_DENSITY_PROCESS_EXT = 23, + FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 22, + COMMAND_PREPROCESS_NV = 17, + TASK_SHADER_EXT = 19, + MESH_SHADER_EXT = 20, + SHADING_RATE_IMAGE_NV = FRAGMENT_SHADING_RATE_ATTACHMENT_KHR, + RAY_TRACING_SHADER_NV = RAY_TRACING_SHADER_KHR, + ACCELERATION_STRUCTURE_BUILD_NV = ACCELERATION_STRUCTURE_BUILD_KHR, + TASK_SHADER_NV = TASK_SHADER_EXT, + MESH_SHADER_NV = MESH_SHADER_EXT, +} + +PipelineStageFlags_NONE :: PipelineStageFlags{} + + +PointClippingBehavior :: enum c.int { + ALL_CLIP_PLANES = 0, + USER_CLIP_PLANES_ONLY = 1, + ALL_CLIP_PLANES_KHR = ALL_CLIP_PLANES, + USER_CLIP_PLANES_ONLY_KHR = USER_CLIP_PLANES_ONLY, +} + +PolygonMode :: enum c.int { + FILL = 0, + LINE = 1, + POINT = 2, + FILL_RECTANGLE_NV = 1000153000, +} + +PresentGravityFlagsEXT :: distinct bit_set[PresentGravityFlagEXT; Flags] +PresentGravityFlagEXT :: enum Flags { + MIN = 0, + MAX = 1, + CENTERED = 2, +} + +PresentModeKHR :: enum c.int { + IMMEDIATE = 0, + MAILBOX = 1, + FIFO = 2, + FIFO_RELAXED = 3, + SHARED_DEMAND_REFRESH = 1000111000, + SHARED_CONTINUOUS_REFRESH = 1000111001, +} + +PresentScalingFlagsEXT :: distinct bit_set[PresentScalingFlagEXT; Flags] +PresentScalingFlagEXT :: enum Flags { + ONE_TO_ONE = 0, + ASPECT_RATIO_STRETCH = 1, + STRETCH = 2, +} + +PrimitiveTopology :: enum c.int { + POINT_LIST = 0, + LINE_LIST = 1, + LINE_STRIP = 2, + TRIANGLE_LIST = 3, + TRIANGLE_STRIP = 4, + TRIANGLE_FAN = 5, + LINE_LIST_WITH_ADJACENCY = 6, + LINE_STRIP_WITH_ADJACENCY = 7, + TRIANGLE_LIST_WITH_ADJACENCY = 8, + TRIANGLE_STRIP_WITH_ADJACENCY = 9, + PATCH_LIST = 10, +} + +ProvokingVertexModeEXT :: enum c.int { + FIRST_VERTEX = 0, + LAST_VERTEX = 1, +} + +QueryControlFlags :: distinct bit_set[QueryControlFlag; Flags] +QueryControlFlag :: enum Flags { + PRECISE = 0, +} + +QueryPipelineStatisticFlags :: distinct bit_set[QueryPipelineStatisticFlag; Flags] +QueryPipelineStatisticFlag :: enum Flags { + INPUT_ASSEMBLY_VERTICES = 0, + INPUT_ASSEMBLY_PRIMITIVES = 1, + VERTEX_SHADER_INVOCATIONS = 2, + GEOMETRY_SHADER_INVOCATIONS = 3, + GEOMETRY_SHADER_PRIMITIVES = 4, + CLIPPING_INVOCATIONS = 5, + CLIPPING_PRIMITIVES = 6, + FRAGMENT_SHADER_INVOCATIONS = 7, + TESSELLATION_CONTROL_SHADER_PATCHES = 8, + TESSELLATION_EVALUATION_SHADER_INVOCATIONS = 9, + COMPUTE_SHADER_INVOCATIONS = 10, + TASK_SHADER_INVOCATIONS_EXT = 11, + MESH_SHADER_INVOCATIONS_EXT = 12, + CLUSTER_CULLING_SHADER_INVOCATIONS_HUAWEI = 13, +} + +QueryPoolSamplingModeINTEL :: enum c.int { + QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0, +} + +QueryResultFlags :: distinct bit_set[QueryResultFlag; Flags] +QueryResultFlag :: enum Flags { + _64 = 0, + WAIT = 1, + WITH_AVAILABILITY = 2, + PARTIAL = 3, + WITH_STATUS_KHR = 4, +} + +QueryResultStatusKHR :: enum c.int { + ERROR = -1, + NOT_READY = 0, + COMPLETE = 1, +} + +QueryType :: enum c.int { + OCCLUSION = 0, + PIPELINE_STATISTICS = 1, + TIMESTAMP = 2, + RESULT_STATUS_ONLY_KHR = 1000023000, + TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, + PERFORMANCE_QUERY_KHR = 1000116000, + ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, + ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, + ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, + PERFORMANCE_QUERY_INTEL = 1000210000, + VIDEO_ENCODE_FEEDBACK_KHR = 1000299000, + MESH_PRIMITIVES_GENERATED_EXT = 1000328000, + PRIMITIVES_GENERATED_EXT = 1000382000, + ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000, + ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001, + MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000, + MICROMAP_COMPACTED_SIZE_EXT = 1000396001, +} + +QueueFlags :: distinct bit_set[QueueFlag; Flags] +QueueFlag :: enum Flags { + GRAPHICS = 0, + COMPUTE = 1, + TRANSFER = 2, + SPARSE_BINDING = 3, + PROTECTED = 4, + VIDEO_DECODE_KHR = 5, + VIDEO_ENCODE_KHR = 6, + OPTICAL_FLOW_NV = 8, +} + +QueueGlobalPriorityKHR :: enum c.int { + LOW = 128, + MEDIUM = 256, + HIGH = 512, + REALTIME = 1024, + LOW_EXT = LOW, + MEDIUM_EXT = MEDIUM, + HIGH_EXT = HIGH, + REALTIME_EXT = REALTIME, +} + +RasterizationOrderAMD :: enum c.int { + STRICT = 0, + RELAXED = 1, +} + +RayTracingInvocationReorderModeNV :: enum c.int { + NONE = 0, + REORDER = 1, +} + +RayTracingShaderGroupTypeKHR :: enum c.int { + GENERAL = 0, + TRIANGLES_HIT_GROUP = 1, + PROCEDURAL_HIT_GROUP = 2, + GENERAL_NV = GENERAL, + TRIANGLES_HIT_GROUP_NV = TRIANGLES_HIT_GROUP, + PROCEDURAL_HIT_GROUP_NV = PROCEDURAL_HIT_GROUP, +} + +RenderPassCreateFlags :: distinct bit_set[RenderPassCreateFlag; Flags] +RenderPassCreateFlag :: enum Flags { + TRANSFORM_QCOM = 1, +} + +RenderingFlags :: distinct bit_set[RenderingFlag; Flags] +RenderingFlag :: enum Flags { + CONTENTS_SECONDARY_COMMAND_BUFFERS = 0, + SUSPENDING = 1, + RESUMING = 2, + ENABLE_LEGACY_DITHERING_EXT = 3, + CONTENTS_SECONDARY_COMMAND_BUFFERS_KHR = CONTENTS_SECONDARY_COMMAND_BUFFERS, + SUSPENDING_KHR = SUSPENDING, + RESUMING_KHR = RESUMING, +} + +ResolveModeFlags :: distinct bit_set[ResolveModeFlag; Flags] +ResolveModeFlag :: enum Flags { + SAMPLE_ZERO = 0, + AVERAGE = 1, + MIN = 2, + MAX = 3, + SAMPLE_ZERO_KHR = SAMPLE_ZERO, + AVERAGE_KHR = AVERAGE, + MIN_KHR = MIN, + MAX_KHR = MAX, +} + +ResolveModeFlags_NONE :: ResolveModeFlags{} + + +Result :: enum c.int { + SUCCESS = 0, + NOT_READY = 1, + TIMEOUT = 2, + EVENT_SET = 3, + EVENT_RESET = 4, + INCOMPLETE = 5, + ERROR_OUT_OF_HOST_MEMORY = -1, + ERROR_OUT_OF_DEVICE_MEMORY = -2, + ERROR_INITIALIZATION_FAILED = -3, + ERROR_DEVICE_LOST = -4, + ERROR_MEMORY_MAP_FAILED = -5, + ERROR_LAYER_NOT_PRESENT = -6, + ERROR_EXTENSION_NOT_PRESENT = -7, + ERROR_FEATURE_NOT_PRESENT = -8, + ERROR_INCOMPATIBLE_DRIVER = -9, + ERROR_TOO_MANY_OBJECTS = -10, + ERROR_FORMAT_NOT_SUPPORTED = -11, + ERROR_FRAGMENTED_POOL = -12, + ERROR_UNKNOWN = -13, + ERROR_OUT_OF_POOL_MEMORY = -1000069000, + ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, + ERROR_FRAGMENTATION = -1000161000, + ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, + PIPELINE_COMPILE_REQUIRED = 1000297000, + ERROR_SURFACE_LOST_KHR = -1000000000, + ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, + SUBOPTIMAL_KHR = 1000001003, + ERROR_OUT_OF_DATE_KHR = -1000001004, + ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, + ERROR_VALIDATION_FAILED_EXT = -1000011001, + ERROR_INVALID_SHADER_NV = -1000012000, + ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000, + ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001, + ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002, + ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003, + ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004, + ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005, + ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, + ERROR_NOT_PERMITTED_KHR = -1000174001, + ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000, + THREAD_IDLE_KHR = 1000268000, + THREAD_DONE_KHR = 1000268001, + OPERATION_DEFERRED_KHR = 1000268002, + OPERATION_NOT_DEFERRED_KHR = 1000268003, + ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000, + ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000, + ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000, + ERROR_OUT_OF_POOL_MEMORY_KHR = ERROR_OUT_OF_POOL_MEMORY, + ERROR_INVALID_EXTERNAL_HANDLE_KHR = ERROR_INVALID_EXTERNAL_HANDLE, + ERROR_FRAGMENTATION_EXT = ERROR_FRAGMENTATION, + ERROR_NOT_PERMITTED_EXT = ERROR_NOT_PERMITTED_KHR, + ERROR_INVALID_DEVICE_ADDRESS_EXT = ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, + ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, + PIPELINE_COMPILE_REQUIRED_EXT = PIPELINE_COMPILE_REQUIRED, + ERROR_PIPELINE_COMPILE_REQUIRED_EXT = PIPELINE_COMPILE_REQUIRED, +} + +SampleCountFlags :: distinct bit_set[SampleCountFlag; Flags] +SampleCountFlag :: enum Flags { + _1 = 0, + _2 = 1, + _4 = 2, + _8 = 3, + _16 = 4, + _32 = 5, + _64 = 6, +} + +SamplerAddressMode :: enum c.int { + REPEAT = 0, + MIRRORED_REPEAT = 1, + CLAMP_TO_EDGE = 2, + CLAMP_TO_BORDER = 3, + MIRROR_CLAMP_TO_EDGE = 4, + MIRROR_CLAMP_TO_EDGE_KHR = MIRROR_CLAMP_TO_EDGE, +} + +SamplerCreateFlags :: distinct bit_set[SamplerCreateFlag; Flags] +SamplerCreateFlag :: enum Flags { + SUBSAMPLED_EXT = 0, + SUBSAMPLED_COARSE_RECONSTRUCTION_EXT = 1, + DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 3, + NON_SEAMLESS_CUBE_MAP_EXT = 2, + IMAGE_PROCESSING_QCOM = 4, +} + +SamplerMipmapMode :: enum c.int { + NEAREST = 0, + LINEAR = 1, +} + +SamplerReductionMode :: enum c.int { + WEIGHTED_AVERAGE = 0, + MIN = 1, + MAX = 2, + WEIGHTED_AVERAGE_EXT = WEIGHTED_AVERAGE, + MIN_EXT = MIN, + MAX_EXT = MAX, +} + +SamplerYcbcrModelConversion :: enum c.int { + RGB_IDENTITY = 0, + YCBCR_IDENTITY = 1, + YCBCR_709 = 2, + YCBCR_601 = 3, + YCBCR_2020 = 4, + RGB_IDENTITY_KHR = RGB_IDENTITY, + YCBCR_IDENTITY_KHR = YCBCR_IDENTITY, + YCBCR_709_KHR = YCBCR_709, + YCBCR_601_KHR = YCBCR_601, + YCBCR_2020_KHR = YCBCR_2020, +} + +SamplerYcbcrRange :: enum c.int { + ITU_FULL = 0, + ITU_NARROW = 1, + ITU_FULL_KHR = ITU_FULL, + ITU_NARROW_KHR = ITU_NARROW, +} + +ScopeNV :: enum c.int { + DEVICE = 1, + WORKGROUP = 2, + SUBGROUP = 3, + QUEUE_FAMILY = 5, +} + +SemaphoreImportFlags :: distinct bit_set[SemaphoreImportFlag; Flags] +SemaphoreImportFlag :: enum Flags { + TEMPORARY = 0, + TEMPORARY_KHR = TEMPORARY, +} + +SemaphoreType :: enum c.int { + BINARY = 0, + TIMELINE = 1, + BINARY_KHR = BINARY, + TIMELINE_KHR = TIMELINE, +} + +SemaphoreWaitFlags :: distinct bit_set[SemaphoreWaitFlag; Flags] +SemaphoreWaitFlag :: enum Flags { + ANY = 0, + ANY_KHR = ANY, +} + +ShaderCodeTypeEXT :: enum c.int { + BINARY = 0, + SPIRV = 1, +} + +ShaderCorePropertiesFlagsAMD :: distinct bit_set[ShaderCorePropertiesFlagAMD; Flags] +ShaderCorePropertiesFlagAMD :: enum Flags { +} + +ShaderCreateFlagsEXT :: distinct bit_set[ShaderCreateFlagEXT; Flags] +ShaderCreateFlagEXT :: enum Flags { + LINK_STAGE = 0, + ALLOW_VARYING_SUBGROUP_SIZE = 1, + REQUIRE_FULL_SUBGROUPS = 2, + NO_TASK_SHADER = 3, + DISPATCH_BASE = 4, + FRAGMENT_SHADING_RATE_ATTACHMENT = 5, + FRAGMENT_DENSITY_MAP_ATTACHMENT = 6, +} + +ShaderFloatControlsIndependence :: enum c.int { + _32_BIT_ONLY = 0, + ALL = 1, + NONE = 2, + _32_BIT_ONLY_KHR = _32_BIT_ONLY, + ALL_KHR = ALL, +} + +ShaderGroupShaderKHR :: enum c.int { + GENERAL = 0, + CLOSEST_HIT = 1, + ANY_HIT = 2, + INTERSECTION = 3, +} + +ShaderInfoTypeAMD :: enum c.int { + STATISTICS = 0, + BINARY = 1, + DISASSEMBLY = 2, +} + +ShaderStageFlags :: distinct bit_set[ShaderStageFlag; Flags] +ShaderStageFlag :: enum Flags { + VERTEX = 0, + TESSELLATION_CONTROL = 1, + TESSELLATION_EVALUATION = 2, + GEOMETRY = 3, + FRAGMENT = 4, + COMPUTE = 5, + RAYGEN_KHR = 8, + ANY_HIT_KHR = 9, + CLOSEST_HIT_KHR = 10, + MISS_KHR = 11, + INTERSECTION_KHR = 12, + CALLABLE_KHR = 13, + TASK_EXT = 6, + MESH_EXT = 7, + SUBPASS_SHADING_HUAWEI = 14, + CLUSTER_CULLING_HUAWEI = 19, + RAYGEN_NV = RAYGEN_KHR, + ANY_HIT_NV = ANY_HIT_KHR, + CLOSEST_HIT_NV = CLOSEST_HIT_KHR, + MISS_NV = MISS_KHR, + INTERSECTION_NV = INTERSECTION_KHR, + CALLABLE_NV = CALLABLE_KHR, + TASK_NV = TASK_EXT, + MESH_NV = MESH_EXT, + _MAX = 31, // Needed for the *_ALL bit set +} + +ShaderStageFlags_ALL_GRAPHICS :: ShaderStageFlags{.VERTEX, .TESSELLATION_CONTROL, .TESSELLATION_EVALUATION, .GEOMETRY, .FRAGMENT} +ShaderStageFlags_ALL :: ShaderStageFlags{.VERTEX, .TESSELLATION_CONTROL, .TESSELLATION_EVALUATION, .GEOMETRY, .FRAGMENT, .COMPUTE, .TASK_EXT, .MESH_EXT, .RAYGEN_KHR, .ANY_HIT_KHR, .CLOSEST_HIT_KHR, .MISS_KHR, .INTERSECTION_KHR, .CALLABLE_KHR, .SUBPASS_SHADING_HUAWEI, ShaderStageFlag(15), ShaderStageFlag(16), ShaderStageFlag(17), ShaderStageFlag(18), .CLUSTER_CULLING_HUAWEI, ShaderStageFlag(20), ShaderStageFlag(21), ShaderStageFlag(22), ShaderStageFlag(23), ShaderStageFlag(24), ShaderStageFlag(25), ShaderStageFlag(26), ShaderStageFlag(27), ShaderStageFlag(28), ShaderStageFlag(29), ShaderStageFlag(30)} + + +ShadingRatePaletteEntryNV :: enum c.int { + NO_INVOCATIONS = 0, + _16_INVOCATIONS_PER_PIXEL = 1, + _8_INVOCATIONS_PER_PIXEL = 2, + _4_INVOCATIONS_PER_PIXEL = 3, + _2_INVOCATIONS_PER_PIXEL = 4, + _1_INVOCATION_PER_PIXEL = 5, + _1_INVOCATION_PER_2X1_PIXELS = 6, + _1_INVOCATION_PER_1X2_PIXELS = 7, + _1_INVOCATION_PER_2X2_PIXELS = 8, + _1_INVOCATION_PER_4X2_PIXELS = 9, + _1_INVOCATION_PER_2X4_PIXELS = 10, + _1_INVOCATION_PER_4X4_PIXELS = 11, +} + +SharingMode :: enum c.int { + EXCLUSIVE = 0, + CONCURRENT = 1, +} + +SparseImageFormatFlags :: distinct bit_set[SparseImageFormatFlag; Flags] +SparseImageFormatFlag :: enum Flags { + SINGLE_MIPTAIL = 0, + ALIGNED_MIP_SIZE = 1, + NONSTANDARD_BLOCK_SIZE = 2, +} + +SparseMemoryBindFlags :: distinct bit_set[SparseMemoryBindFlag; Flags] +SparseMemoryBindFlag :: enum Flags { + METADATA = 0, +} + +StencilFaceFlags :: distinct bit_set[StencilFaceFlag; Flags] +StencilFaceFlag :: enum Flags { + FRONT = 0, + BACK = 1, +} + +StencilFaceFlags_FRONT_AND_BACK :: StencilFaceFlags{.FRONT, .BACK} + + +StencilOp :: enum c.int { + KEEP = 0, + ZERO = 1, + REPLACE = 2, + INCREMENT_AND_CLAMP = 3, + DECREMENT_AND_CLAMP = 4, + INVERT = 5, + INCREMENT_AND_WRAP = 6, + DECREMENT_AND_WRAP = 7, +} + +StructureType :: enum c.int { + APPLICATION_INFO = 0, + INSTANCE_CREATE_INFO = 1, + DEVICE_QUEUE_CREATE_INFO = 2, + DEVICE_CREATE_INFO = 3, + SUBMIT_INFO = 4, + MEMORY_ALLOCATE_INFO = 5, + MAPPED_MEMORY_RANGE = 6, + BIND_SPARSE_INFO = 7, + FENCE_CREATE_INFO = 8, + SEMAPHORE_CREATE_INFO = 9, + EVENT_CREATE_INFO = 10, + QUERY_POOL_CREATE_INFO = 11, + BUFFER_CREATE_INFO = 12, + BUFFER_VIEW_CREATE_INFO = 13, + IMAGE_CREATE_INFO = 14, + IMAGE_VIEW_CREATE_INFO = 15, + SHADER_MODULE_CREATE_INFO = 16, + PIPELINE_CACHE_CREATE_INFO = 17, + PIPELINE_SHADER_STAGE_CREATE_INFO = 18, + PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, + PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, + PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, + PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, + PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, + PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, + PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, + PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, + PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, + GRAPHICS_PIPELINE_CREATE_INFO = 28, + COMPUTE_PIPELINE_CREATE_INFO = 29, + PIPELINE_LAYOUT_CREATE_INFO = 30, + SAMPLER_CREATE_INFO = 31, + DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, + DESCRIPTOR_POOL_CREATE_INFO = 33, + DESCRIPTOR_SET_ALLOCATE_INFO = 34, + WRITE_DESCRIPTOR_SET = 35, + COPY_DESCRIPTOR_SET = 36, + FRAMEBUFFER_CREATE_INFO = 37, + RENDER_PASS_CREATE_INFO = 38, + COMMAND_POOL_CREATE_INFO = 39, + COMMAND_BUFFER_ALLOCATE_INFO = 40, + COMMAND_BUFFER_INHERITANCE_INFO = 41, + COMMAND_BUFFER_BEGIN_INFO = 42, + RENDER_PASS_BEGIN_INFO = 43, + BUFFER_MEMORY_BARRIER = 44, + IMAGE_MEMORY_BARRIER = 45, + MEMORY_BARRIER = 46, + LOADER_INSTANCE_CREATE_INFO = 47, + LOADER_DEVICE_CREATE_INFO = 48, + PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, + BIND_BUFFER_MEMORY_INFO = 1000157000, + BIND_IMAGE_MEMORY_INFO = 1000157001, + PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, + MEMORY_DEDICATED_REQUIREMENTS = 1000127000, + MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, + MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, + DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, + DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, + DEVICE_GROUP_SUBMIT_INFO = 1000060005, + DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006, + BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, + BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, + PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, + DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, + BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, + IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, + IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002, + MEMORY_REQUIREMENTS_2 = 1000146003, + SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004, + PHYSICAL_DEVICE_FEATURES_2 = 1000059000, + PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, + FORMAT_PROPERTIES_2 = 1000059002, + IMAGE_FORMAT_PROPERTIES_2 = 1000059003, + PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, + QUEUE_FAMILY_PROPERTIES_2 = 1000059005, + PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, + SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007, + PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008, + PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, + RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, + IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, + PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, + RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, + PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, + PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, + PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, + PROTECTED_SUBMIT_INFO = 1000145000, + PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, + PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, + DEVICE_QUEUE_INFO_2 = 1000145003, + SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, + SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, + BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, + IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, + PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, + SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, + DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000, + PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, + EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, + PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, + EXTERNAL_BUFFER_PROPERTIES = 1000071003, + PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, + EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, + EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, + EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, + PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, + EXTERNAL_FENCE_PROPERTIES = 1000112001, + EXPORT_FENCE_CREATE_INFO = 1000113000, + EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, + PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, + EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, + PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, + DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, + PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, + PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, + PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, + PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, + PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, + IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, + ATTACHMENT_DESCRIPTION_2 = 1000109000, + ATTACHMENT_REFERENCE_2 = 1000109001, + SUBPASS_DESCRIPTION_2 = 1000109002, + SUBPASS_DEPENDENCY_2 = 1000109003, + RENDER_PASS_CREATE_INFO_2 = 1000109004, + SUBPASS_BEGIN_INFO = 1000109005, + SUBPASS_END_INFO = 1000109006, + PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, + PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, + PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, + PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, + PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, + DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, + PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, + PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, + DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, + DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, + PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, + SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, + PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, + IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, + PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, + SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, + PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, + PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, + FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, + FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, + RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, + PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, + PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, + PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, + ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, + ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, + PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, + PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, + PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, + SEMAPHORE_TYPE_CREATE_INFO = 1000207002, + TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, + SEMAPHORE_WAIT_INFO = 1000207004, + SEMAPHORE_SIGNAL_INFO = 1000207005, + PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, + BUFFER_DEVICE_ADDRESS_INFO = 1000244001, + BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, + MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, + DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, + PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53, + PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54, + PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000, + PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000, + PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000, + PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000, + PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000, + DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001, + PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002, + PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000, + MEMORY_BARRIER_2 = 1000314000, + BUFFER_MEMORY_BARRIER_2 = 1000314001, + IMAGE_MEMORY_BARRIER_2 = 1000314002, + DEPENDENCY_INFO = 1000314003, + SUBMIT_INFO_2 = 1000314004, + SEMAPHORE_SUBMIT_INFO = 1000314005, + COMMAND_BUFFER_SUBMIT_INFO = 1000314006, + PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007, + PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000, + PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000, + COPY_BUFFER_INFO_2 = 1000337000, + COPY_IMAGE_INFO_2 = 1000337001, + COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002, + COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003, + BLIT_IMAGE_INFO_2 = 1000337004, + RESOLVE_IMAGE_INFO_2 = 1000337005, + BUFFER_COPY_2 = 1000337006, + IMAGE_COPY_2 = 1000337007, + IMAGE_BLIT_2 = 1000337008, + BUFFER_IMAGE_COPY_2 = 1000337009, + IMAGE_RESOLVE_2 = 1000337010, + PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000, + PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001, + PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002, + PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000, + PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001, + WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002, + DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003, + PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000, + RENDERING_INFO = 1000044000, + RENDERING_ATTACHMENT_INFO = 1000044001, + PIPELINE_RENDERING_CREATE_INFO = 1000044002, + PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003, + COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004, + PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000, + PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001, + PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001, + FORMAT_PROPERTIES_3 = 1000360000, + PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000, + PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001, + DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002, + DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003, + SWAPCHAIN_CREATE_INFO_KHR = 1000001000, + PRESENT_INFO_KHR = 1000001001, + DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, + IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, + BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, + ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, + DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, + DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, + DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, + DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, + DISPLAY_PRESENT_INFO_KHR = 1000003000, + XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, + XCB_SURFACE_CREATE_INFO_KHR = 1000005000, + WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, + ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, + WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, + DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, + PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, + DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, + DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, + DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, + VIDEO_PROFILE_INFO_KHR = 1000023000, + VIDEO_CAPABILITIES_KHR = 1000023001, + VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002, + VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003, + BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004, + VIDEO_SESSION_CREATE_INFO_KHR = 1000023005, + VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006, + VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007, + VIDEO_BEGIN_CODING_INFO_KHR = 1000023008, + VIDEO_END_CODING_INFO_KHR = 1000023009, + VIDEO_CODING_CONTROL_INFO_KHR = 1000023010, + VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011, + QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012, + VIDEO_PROFILE_LIST_INFO_KHR = 1000023013, + PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014, + VIDEO_FORMAT_PROPERTIES_KHR = 1000023015, + QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016, + VIDEO_DECODE_INFO_KHR = 1000024000, + VIDEO_DECODE_CAPABILITIES_KHR = 1000024001, + VIDEO_DECODE_USAGE_INFO_KHR = 1000024002, + DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, + DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, + DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, + PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000, + PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001, + PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002, + CU_MODULE_CREATE_INFO_NVX = 1000029000, + CU_FUNCTION_CREATE_INFO_NVX = 1000029001, + CU_LAUNCH_INFO_NVX = 1000029002, + IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000, + IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001, + VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000, + VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038001, + VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002, + VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038003, + VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004, + VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT = 1000038005, + VIDEO_ENCODE_H264_PROFILE_INFO_EXT = 1000038007, + VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008, + VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009, + VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000, + VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001, + VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002, + VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039003, + VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004, + VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT = 1000039005, + VIDEO_ENCODE_H265_PROFILE_INFO_EXT = 1000039007, + VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009, + VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010, + VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000, + VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001, + VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003, + VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004, + VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005, + VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006, + TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, + RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006, + RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007, + ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008, + MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009, + STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000, + PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000, + EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, + EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, + IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, + EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, + WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, + VALIDATION_FLAGS_EXT = 1000061000, + VI_SURFACE_CREATE_INFO_NN = 1000062000, + IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000, + PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001, + PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = 1000068000, + PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = 1000068001, + PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = 1000068002, + IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000, + EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001, + MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002, + MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003, + IMPORT_MEMORY_FD_INFO_KHR = 1000074000, + MEMORY_FD_PROPERTIES_KHR = 1000074001, + MEMORY_GET_FD_INFO_KHR = 1000074002, + WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000, + IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000, + EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001, + D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002, + SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003, + IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, + SEMAPHORE_GET_FD_INFO_KHR = 1000079001, + PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000, + COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000, + PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001, + CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002, + PRESENT_REGIONS_KHR = 1000084000, + PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000, + SURFACE_CAPABILITIES_2_EXT = 1000090000, + DISPLAY_POWER_INFO_EXT = 1000091000, + DEVICE_EVENT_INFO_EXT = 1000091001, + DISPLAY_EVENT_INFO_EXT = 1000091002, + SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, + PRESENT_TIMES_INFO_GOOGLE = 1000092000, + PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, + PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, + PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, + PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, + PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, + PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, + PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, + PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, + HDR_METADATA_EXT = 1000105000, + SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, + IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000, + EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001, + FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002, + IMPORT_FENCE_FD_INFO_KHR = 1000115000, + FENCE_GET_FD_INFO_KHR = 1000115001, + PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, + PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001, + QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002, + PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003, + ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, + PERFORMANCE_COUNTER_KHR = 1000116005, + PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, + PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, + SURFACE_CAPABILITIES_2_KHR = 1000119001, + SURFACE_FORMAT_2_KHR = 1000119002, + DISPLAY_PROPERTIES_2_KHR = 1000121000, + DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, + DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, + DISPLAY_PLANE_INFO_2_KHR = 1000121003, + DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, + IOS_SURFACE_CREATE_INFO_MVK = 1000122000, + MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, + DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, + DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001, + DEBUG_UTILS_LABEL_EXT = 1000128002, + DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003, + DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004, + ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000, + ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, + ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002, + IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, + MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, + EXTERNAL_FORMAT_ANDROID = 1000129005, + ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006, + SAMPLE_LOCATIONS_INFO_EXT = 1000143000, + RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, + PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, + PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003, + MULTISAMPLE_PROPERTIES_EXT = 1000143004, + PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, + PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, + PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, + PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000, + WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007, + ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000, + ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002, + ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003, + ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004, + ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005, + ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006, + ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009, + COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010, + COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011, + COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012, + PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013, + PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014, + ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017, + ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020, + PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000, + PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001, + RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015, + RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016, + RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018, + PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013, + PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, + PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000, + PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001, + DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, + PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, + IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, + IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004, + IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005, + DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006, + VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000, + SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001, + PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000, + PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001, + PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000, + PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001, + PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002, + PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005, + RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000, + ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001, + GEOMETRY_NV = 1000165003, + GEOMETRY_TRIANGLES_NV = 1000165004, + GEOMETRY_AABB_NV = 1000165005, + BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006, + WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007, + ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008, + PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009, + RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011, + ACCELERATION_STRUCTURE_INFO_NV = 1000165012, + PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000, + PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001, + PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, + FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, + IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, + MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, + PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, + PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, + PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000, + CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000, + PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000, + VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000, + VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001, + VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002, + VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003, + VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004, + VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005, + DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000, + PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000, + QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001, + DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000, + PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, + PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001, + PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002, + PRESENT_FRAME_TOKEN_GGP = 1000191000, + PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000, + PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000, + PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001, + PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000, + PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000, + PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002, + CHECKPOINT_DATA_NV = 1000206000, + QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001, + PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000, + QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000, + INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001, + PERFORMANCE_MARKER_INFO_INTEL = 1000210002, + PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003, + PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004, + PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005, + PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000, + DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000, + SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001, + IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000, + METAL_SURFACE_CREATE_INFO_EXT = 1000217000, + PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000, + PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001, + RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002, + FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, + PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, + PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, + PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003, + PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004, + PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000, + PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000, + PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000, + PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000, + PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000, + MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001, + SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000, + PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000, + PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000, + BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002, + VALIDATION_FEATURES_EXT = 1000247000, + PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000, + PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000, + COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001, + PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002, + PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, + PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, + FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, + PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, + PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, + PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000, + PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001, + PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002, + SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, + SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002, + SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, + HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, + PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000, + PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001, + PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002, + PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000, + PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000, + PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, + PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, + PIPELINE_INFO_KHR = 1000269001, + PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, + PIPELINE_EXECUTABLE_INFO_KHR = 1000269003, + PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, + PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, + MEMORY_MAP_INFO_KHR = 1000271000, + MEMORY_UNMAP_INFO_KHR = 1000271001, + PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000, + SURFACE_PRESENT_MODE_EXT = 1000274000, + SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001, + SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002, + PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000, + SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001, + SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002, + SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003, + SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004, + RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005, + PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000, + GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001, + GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002, + INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003, + INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004, + GENERATED_COMMANDS_INFO_NV = 1000277005, + GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006, + PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007, + PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000, + COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001, + PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, + COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, + RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, + PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000, + DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001, + DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002, + PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, + PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, + SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, + PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, + PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, + PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, + PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000, + SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001, + SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002, + PRESENT_ID_KHR = 1000294000, + PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001, + VIDEO_ENCODE_INFO_KHR = 1000299000, + VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001, + VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002, + VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003, + VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004, + QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR = 1000299005, + PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, + DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, + QUERY_LOW_LATENCY_SUPPORT_NV = 1000310000, + EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000, + EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001, + EXPORT_METAL_DEVICE_INFO_EXT = 1000311002, + EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003, + EXPORT_METAL_BUFFER_INFO_EXT = 1000311004, + IMPORT_METAL_BUFFER_INFO_EXT = 1000311005, + EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006, + IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007, + EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008, + IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009, + EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010, + IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011, + QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, + CHECKPOINT_DATA_2_NV = 1000314009, + PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000, + PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001, + PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002, + DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003, + DESCRIPTOR_GET_INFO_EXT = 1000316004, + BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005, + IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006, + IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007, + SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008, + OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010, + DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011, + DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012, + ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009, + PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000, + PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001, + GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002, + PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000, + PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000, + PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000, + PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000, + PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000, + PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001, + PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002, + ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000, + PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001, + ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002, + PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000, + PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001, + PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000, + PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000, + PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001, + COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000, + PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000, + PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000, + IMAGE_COMPRESSION_CONTROL_EXT = 1000338001, + SUBRESOURCE_LAYOUT_2_EXT = 1000338002, + IMAGE_SUBRESOURCE_2_EXT = 1000338003, + IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004, + PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000, + PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, + PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000, + DEVICE_FAULT_COUNTS_EXT = 1000341001, + DEVICE_FAULT_INFO_EXT = 1000341002, + PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, + DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, + PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, + VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, + VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, + PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, + PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000, + DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001, + PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, + PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, + PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000, + IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000, + MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001, + MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002, + IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000, + SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001, + BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000, + IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001, + BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002, + BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003, + BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004, + BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005, + IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006, + IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007, + SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008, + BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009, + SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000, + PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001, + PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002, + PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000, + MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000, + PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001, + PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000, + PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001, + PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000, + SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001, + MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002, + PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, + SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000, + PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, + PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, + PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000, + PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000, + PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000, + IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001, + PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000, + PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001, + PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000, + PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT = 1000395000, + PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT = 1000395001, + MICROMAP_BUILD_INFO_EXT = 1000396000, + MICROMAP_VERSION_INFO_EXT = 1000396001, + COPY_MICROMAP_INFO_EXT = 1000396002, + COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003, + COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004, + PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005, + PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006, + MICROMAP_CREATE_INFO_EXT = 1000396007, + MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008, + ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009, + PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV = 1000397000, + PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV = 1000397001, + ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV = 1000397002, + PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000, + PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001, + PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, + SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, + PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, + PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000, + PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000, + IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001, + PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, + DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, + DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, + PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000, + PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000, + PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000, + PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001, + SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002, + PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000, + PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001, + PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000, + PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001, + PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000, + PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000, + PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000, + PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001, + IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002, + PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000, + PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001, + PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000, + RENDER_PASS_CREATION_CONTROL_EXT = 1000458001, + RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002, + RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003, + DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000, + DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001, + PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000, + PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001, + PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002, + SHADER_MODULE_IDENTIFIER_EXT = 1000462003, + PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000, + PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000, + PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001, + OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002, + OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003, + OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004, + OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005, + OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010, + PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000, + PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000, + PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR = 1000481000, + PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT = 1000482000, + PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT = 1000482001, + SHADER_CREATE_INFO_EXT = 1000482002, + PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000, + TILE_PROPERTIES_QCOM = 1000484001, + PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000, + AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001, + PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000, + PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000, + PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001, + PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000, + MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002, + PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, + PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, + PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, + PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000, + MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001, + PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT = 1000524000, + PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, + PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, + DEBUG_REPORT_CREATE_INFO_EXT = DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, + RENDERING_INFO_KHR = RENDERING_INFO, + RENDERING_ATTACHMENT_INFO_KHR = RENDERING_ATTACHMENT_INFO, + PIPELINE_RENDERING_CREATE_INFO_KHR = PIPELINE_RENDERING_CREATE_INFO, + PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, + COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = COMMAND_BUFFER_INHERITANCE_RENDERING_INFO, + ATTACHMENT_SAMPLE_COUNT_INFO_NV = ATTACHMENT_SAMPLE_COUNT_INFO_AMD, + RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = RENDER_PASS_MULTIVIEW_CREATE_INFO, + PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = PHYSICAL_DEVICE_MULTIVIEW_FEATURES, + PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, + PHYSICAL_DEVICE_FEATURES_2_KHR = PHYSICAL_DEVICE_FEATURES_2, + PHYSICAL_DEVICE_PROPERTIES_2_KHR = PHYSICAL_DEVICE_PROPERTIES_2, + FORMAT_PROPERTIES_2_KHR = FORMAT_PROPERTIES_2, + IMAGE_FORMAT_PROPERTIES_2_KHR = IMAGE_FORMAT_PROPERTIES_2, + PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, + QUEUE_FAMILY_PROPERTIES_2_KHR = QUEUE_FAMILY_PROPERTIES_2, + PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, + SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = SPARSE_IMAGE_FORMAT_PROPERTIES_2, + PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, + MEMORY_ALLOCATE_FLAGS_INFO_KHR = MEMORY_ALLOCATE_FLAGS_INFO, + DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, + DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, + DEVICE_GROUP_SUBMIT_INFO_KHR = DEVICE_GROUP_SUBMIT_INFO, + DEVICE_GROUP_BIND_SPARSE_INFO_KHR = DEVICE_GROUP_BIND_SPARSE_INFO, + BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, + BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, + PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, + PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = PHYSICAL_DEVICE_GROUP_PROPERTIES, + DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = DEVICE_GROUP_DEVICE_CREATE_INFO, + PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, + EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = EXTERNAL_IMAGE_FORMAT_PROPERTIES, + PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, + EXTERNAL_BUFFER_PROPERTIES_KHR = EXTERNAL_BUFFER_PROPERTIES, + PHYSICAL_DEVICE_ID_PROPERTIES_KHR = PHYSICAL_DEVICE_ID_PROPERTIES, + EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = EXTERNAL_MEMORY_BUFFER_CREATE_INFO, + EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = EXTERNAL_MEMORY_IMAGE_CREATE_INFO, + EXPORT_MEMORY_ALLOCATE_INFO_KHR = EXPORT_MEMORY_ALLOCATE_INFO, + PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, + EXTERNAL_SEMAPHORE_PROPERTIES_KHR = EXTERNAL_SEMAPHORE_PROPERTIES, + EXPORT_SEMAPHORE_CREATE_INFO_KHR = EXPORT_SEMAPHORE_CREATE_INFO, + PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, + PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, + PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, + DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, + SURFACE_CAPABILITIES2_EXT = SURFACE_CAPABILITIES_2_EXT, + PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, + FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, + FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, + RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = RENDER_PASS_ATTACHMENT_BEGIN_INFO, + ATTACHMENT_DESCRIPTION_2_KHR = ATTACHMENT_DESCRIPTION_2, + ATTACHMENT_REFERENCE_2_KHR = ATTACHMENT_REFERENCE_2, + SUBPASS_DESCRIPTION_2_KHR = SUBPASS_DESCRIPTION_2, + SUBPASS_DEPENDENCY_2_KHR = SUBPASS_DEPENDENCY_2, + RENDER_PASS_CREATE_INFO_2_KHR = RENDER_PASS_CREATE_INFO_2, + SUBPASS_BEGIN_INFO_KHR = SUBPASS_BEGIN_INFO, + SUBPASS_END_INFO_KHR = SUBPASS_END_INFO, + PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, + EXTERNAL_FENCE_PROPERTIES_KHR = EXTERNAL_FENCE_PROPERTIES, + EXPORT_FENCE_CREATE_INFO_KHR = EXPORT_FENCE_CREATE_INFO, + PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, + RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, + IMAGE_VIEW_USAGE_CREATE_INFO_KHR = IMAGE_VIEW_USAGE_CREATE_INFO, + PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, + PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, + PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, + MEMORY_DEDICATED_REQUIREMENTS_KHR = MEMORY_DEDICATED_REQUIREMENTS, + MEMORY_DEDICATED_ALLOCATE_INFO_KHR = MEMORY_DEDICATED_ALLOCATE_INFO, + PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, + SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = SAMPLER_REDUCTION_MODE_CREATE_INFO, + PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, + PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, + WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK, + DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO, + BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = BUFFER_MEMORY_REQUIREMENTS_INFO_2, + IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = IMAGE_MEMORY_REQUIREMENTS_INFO_2, + IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, + MEMORY_REQUIREMENTS_2_KHR = MEMORY_REQUIREMENTS_2, + SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, + IMAGE_FORMAT_LIST_CREATE_INFO_KHR = IMAGE_FORMAT_LIST_CREATE_INFO, + SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = SAMPLER_YCBCR_CONVERSION_CREATE_INFO, + SAMPLER_YCBCR_CONVERSION_INFO_KHR = SAMPLER_YCBCR_CONVERSION_INFO, + BIND_IMAGE_PLANE_MEMORY_INFO_KHR = BIND_IMAGE_PLANE_MEMORY_INFO, + IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, + PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, + SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, + BIND_BUFFER_MEMORY_INFO_KHR = BIND_BUFFER_MEMORY_INFO, + BIND_IMAGE_MEMORY_INFO_KHR = BIND_IMAGE_MEMORY_INFO, + DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, + PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, + PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, + DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, + DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT, + PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, + DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = DESCRIPTOR_SET_LAYOUT_SUPPORT, + DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR, + PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, + PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, + PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, + PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = PIPELINE_CREATION_FEEDBACK_CREATE_INFO, + PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = PHYSICAL_DEVICE_DRIVER_PROPERTIES, + PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, + PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, + SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE, + PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, + PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, + PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, + SEMAPHORE_TYPE_CREATE_INFO_KHR = SEMAPHORE_TYPE_CREATE_INFO, + TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = TIMELINE_SEMAPHORE_SUBMIT_INFO, + SEMAPHORE_WAIT_INFO_KHR = SEMAPHORE_WAIT_INFO, + SEMAPHORE_SIGNAL_INFO_KHR = SEMAPHORE_SIGNAL_INFO, + QUERY_POOL_CREATE_INFO_INTEL = QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL, + PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, + PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, + PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, + PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, + PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, + PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, + PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, + ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = ATTACHMENT_REFERENCE_STENCIL_LAYOUT, + ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT, + PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, + BUFFER_DEVICE_ADDRESS_INFO_EXT = BUFFER_DEVICE_ADDRESS_INFO, + PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = PHYSICAL_DEVICE_TOOL_PROPERTIES, + IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = IMAGE_STENCIL_USAGE_CREATE_INFO, + PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, + PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, + BUFFER_DEVICE_ADDRESS_INFO_KHR = BUFFER_DEVICE_ADDRESS_INFO, + BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, + MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, + DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, + PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, + PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, + PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, + PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, + PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, + PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, + DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = DEVICE_PRIVATE_DATA_CREATE_INFO, + PRIVATE_DATA_SLOT_CREATE_INFO_EXT = PRIVATE_DATA_SLOT_CREATE_INFO, + PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, + MEMORY_BARRIER_2_KHR = MEMORY_BARRIER_2, + BUFFER_MEMORY_BARRIER_2_KHR = BUFFER_MEMORY_BARRIER_2, + IMAGE_MEMORY_BARRIER_2_KHR = IMAGE_MEMORY_BARRIER_2, + DEPENDENCY_INFO_KHR = DEPENDENCY_INFO, + SUBMIT_INFO_2_KHR = SUBMIT_INFO_2, + SEMAPHORE_SUBMIT_INFO_KHR = SEMAPHORE_SUBMIT_INFO, + COMMAND_BUFFER_SUBMIT_INFO_KHR = COMMAND_BUFFER_SUBMIT_INFO, + PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, + PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, + PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, + COPY_BUFFER_INFO_2_KHR = COPY_BUFFER_INFO_2, + COPY_IMAGE_INFO_2_KHR = COPY_IMAGE_INFO_2, + COPY_BUFFER_TO_IMAGE_INFO_2_KHR = COPY_BUFFER_TO_IMAGE_INFO_2, + COPY_IMAGE_TO_BUFFER_INFO_2_KHR = COPY_IMAGE_TO_BUFFER_INFO_2, + BLIT_IMAGE_INFO_2_KHR = BLIT_IMAGE_INFO_2, + RESOLVE_IMAGE_INFO_2_KHR = RESOLVE_IMAGE_INFO_2, + BUFFER_COPY_2_KHR = BUFFER_COPY_2, + IMAGE_COPY_2_KHR = IMAGE_COPY_2, + IMAGE_BLIT_2_KHR = IMAGE_BLIT_2, + BUFFER_IMAGE_COPY_2_KHR = BUFFER_IMAGE_COPY_2, + IMAGE_RESOLVE_2_KHR = IMAGE_RESOLVE_2, + PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, + PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, + MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT, + FORMAT_PROPERTIES_3_KHR = FORMAT_PROPERTIES_3, + PIPELINE_INFO_EXT = PIPELINE_INFO_KHR, + PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, + QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR, + PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, + PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, + DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = DEVICE_BUFFER_MEMORY_REQUIREMENTS, + DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = DEVICE_IMAGE_MEMORY_REQUIREMENTS, + SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, +} + +SubgroupFeatureFlags :: distinct bit_set[SubgroupFeatureFlag; Flags] +SubgroupFeatureFlag :: enum Flags { + BASIC = 0, + VOTE = 1, + ARITHMETIC = 2, + BALLOT = 3, + SHUFFLE = 4, + SHUFFLE_RELATIVE = 5, + CLUSTERED = 6, + QUAD = 7, + PARTITIONED_NV = 8, +} + +SubmitFlags :: distinct bit_set[SubmitFlag; Flags] +SubmitFlag :: enum Flags { + PROTECTED = 0, + PROTECTED_KHR = PROTECTED, +} + +SubpassContents :: enum c.int { + INLINE = 0, + SECONDARY_COMMAND_BUFFERS = 1, +} + +SubpassDescriptionFlags :: distinct bit_set[SubpassDescriptionFlag; Flags] +SubpassDescriptionFlag :: enum Flags { + PER_VIEW_ATTRIBUTES_NVX = 0, + PER_VIEW_POSITION_X_ONLY_NVX = 1, + FRAGMENT_REGION_QCOM = 2, + SHADER_RESOLVE_QCOM = 3, + RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_EXT = 4, + RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT = 5, + RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT = 6, + ENABLE_LEGACY_DITHERING_EXT = 7, + RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_ARM = RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_EXT, + RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM = RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT, + RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM = RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT, +} + +SubpassMergeStatusEXT :: enum c.int { + MERGED = 0, + DISALLOWED = 1, + NOT_MERGED_SIDE_EFFECTS = 2, + NOT_MERGED_SAMPLES_MISMATCH = 3, + NOT_MERGED_VIEWS_MISMATCH = 4, + NOT_MERGED_ALIASING = 5, + NOT_MERGED_DEPENDENCIES = 6, + NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT = 7, + NOT_MERGED_TOO_MANY_ATTACHMENTS = 8, + NOT_MERGED_INSUFFICIENT_STORAGE = 9, + NOT_MERGED_DEPTH_STENCIL_COUNT = 10, + NOT_MERGED_RESOLVE_ATTACHMENT_REUSE = 11, + NOT_MERGED_SINGLE_SUBPASS = 12, + NOT_MERGED_UNSPECIFIED = 13, +} + +SurfaceCounterFlagsEXT :: distinct bit_set[SurfaceCounterFlagEXT; Flags] +SurfaceCounterFlagEXT :: enum Flags { + VBLANK = 0, +} + +SurfaceTransformFlagsKHR :: distinct bit_set[SurfaceTransformFlagKHR; Flags] +SurfaceTransformFlagKHR :: enum Flags { + IDENTITY = 0, + ROTATE_90 = 1, + ROTATE_180 = 2, + ROTATE_270 = 3, + HORIZONTAL_MIRROR = 4, + HORIZONTAL_MIRROR_ROTATE_90 = 5, + HORIZONTAL_MIRROR_ROTATE_180 = 6, + HORIZONTAL_MIRROR_ROTATE_270 = 7, + INHERIT = 8, +} + +SwapchainCreateFlagsKHR :: distinct bit_set[SwapchainCreateFlagKHR; Flags] +SwapchainCreateFlagKHR :: enum Flags { + SPLIT_INSTANCE_BIND_REGIONS = 0, + PROTECTED = 1, + MUTABLE_FORMAT = 2, + DEFERRED_MEMORY_ALLOCATION_EXT = 3, +} + +SystemAllocationScope :: enum c.int { + COMMAND = 0, + OBJECT = 1, + CACHE = 2, + DEVICE = 3, + INSTANCE = 4, +} + +TessellationDomainOrigin :: enum c.int { + UPPER_LEFT = 0, + LOWER_LEFT = 1, + UPPER_LEFT_KHR = UPPER_LEFT, + LOWER_LEFT_KHR = LOWER_LEFT, +} + +TimeDomainEXT :: enum c.int { + DEVICE = 0, + CLOCK_MONOTONIC = 1, + CLOCK_MONOTONIC_RAW = 2, + QUERY_PERFORMANCE_COUNTER = 3, +} + +ToolPurposeFlags :: distinct bit_set[ToolPurposeFlag; Flags] +ToolPurposeFlag :: enum Flags { + VALIDATION = 0, + PROFILING = 1, + TRACING = 2, + ADDITIONAL_FEATURES = 3, + MODIFYING_FEATURES = 4, + DEBUG_REPORTING_EXT = 5, + DEBUG_MARKERS_EXT = 6, + VALIDATION_EXT = VALIDATION, + PROFILING_EXT = PROFILING, + TRACING_EXT = TRACING, + ADDITIONAL_FEATURES_EXT = ADDITIONAL_FEATURES, + MODIFYING_FEATURES_EXT = MODIFYING_FEATURES, +} + +ValidationCacheHeaderVersionEXT :: enum c.int { + ONE = 1, +} + +ValidationCheckEXT :: enum c.int { + ALL = 0, + SHADERS = 1, +} + +ValidationFeatureDisableEXT :: enum c.int { + ALL = 0, + SHADERS = 1, + THREAD_SAFETY = 2, + API_PARAMETERS = 3, + OBJECT_LIFETIMES = 4, + CORE_CHECKS = 5, + UNIQUE_HANDLES = 6, + SHADER_VALIDATION_CACHE = 7, +} + +ValidationFeatureEnableEXT :: enum c.int { + GPU_ASSISTED = 0, + GPU_ASSISTED_RESERVE_BINDING_SLOT = 1, + BEST_PRACTICES = 2, + DEBUG_PRINTF = 3, + SYNCHRONIZATION_VALIDATION = 4, +} + +VendorId :: enum c.int { + VIV = 0x10001, + VSI = 0x10002, + KAZAN = 0x10003, + CODEPLAY = 0x10004, + MESA = 0x10005, + POCL = 0x10006, + MOBILEYE = 0x10007, +} + +VertexInputRate :: enum c.int { + VERTEX = 0, + INSTANCE = 1, +} + +VideoCapabilityFlagsKHR :: distinct bit_set[VideoCapabilityFlagKHR; Flags] +VideoCapabilityFlagKHR :: enum Flags { + PROTECTED_CONTENT = 0, + SEPARATE_REFERENCE_IMAGES = 1, +} + +VideoChromaSubsamplingFlagsKHR :: distinct bit_set[VideoChromaSubsamplingFlagKHR; Flags] +VideoChromaSubsamplingFlagKHR :: enum Flags { + MONOCHROME = 0, + _420 = 1, + _422 = 2, + _444 = 3, +} + +VideoChromaSubsamplingFlagsKHR_INVALID :: VideoChromaSubsamplingFlagsKHR{} + + +VideoCodecOperationFlagsKHR :: distinct bit_set[VideoCodecOperationFlagKHR; Flags] +VideoCodecOperationFlagKHR :: enum Flags { + ENCODE_H264_EXT = 16, + ENCODE_H265_EXT = 17, + DECODE_H264 = 0, + DECODE_H265 = 1, +} + +VideoCodecOperationFlagsKHR_NONE :: VideoCodecOperationFlagsKHR{} + + +VideoCodingControlFlagsKHR :: distinct bit_set[VideoCodingControlFlagKHR; Flags] +VideoCodingControlFlagKHR :: enum Flags { + RESET = 0, + ENCODE_RATE_CONTROL = 1, + ENCODE_RATE_CONTROL_LAYER = 2, +} + +VideoComponentBitDepthFlagsKHR :: distinct bit_set[VideoComponentBitDepthFlagKHR; Flags] +VideoComponentBitDepthFlagKHR :: enum Flags { + _8 = 0, + _10 = 2, + _12 = 4, +} + +VideoComponentBitDepthFlagsKHR_INVALID :: VideoComponentBitDepthFlagsKHR{} + + +VideoDecodeCapabilityFlagsKHR :: distinct bit_set[VideoDecodeCapabilityFlagKHR; Flags] +VideoDecodeCapabilityFlagKHR :: enum Flags { + DPB_AND_OUTPUT_COINCIDE = 0, + DPB_AND_OUTPUT_DISTINCT = 1, +} + +VideoDecodeH264FieldOrderCount :: enum c.int { +} + +VideoDecodeH264PictureLayoutFlagsKHR :: distinct bit_set[VideoDecodeH264PictureLayoutFlagKHR; Flags] +VideoDecodeH264PictureLayoutFlagKHR :: enum Flags { + INTERLACED_INTERLEAVED_LINES = 0, + INTERLACED_SEPARATE_PLANES = 1, +} + +VideoDecodeH264PictureLayoutFlagsKHR_PROGRESSIVE :: VideoDecodeH264PictureLayoutFlagsKHR{} + + +VideoDecodeUsageFlagsKHR :: distinct bit_set[VideoDecodeUsageFlagKHR; Flags] +VideoDecodeUsageFlagKHR :: enum Flags { + TRANSCODING = 0, + OFFLINE = 1, + STREAMING = 2, +} + +VideoDecodeUsageFlagsKHR_DEFAULT :: VideoDecodeUsageFlagsKHR{} + + +VideoH264AspectRatioIdc :: enum c.int { +} + +VideoH264CabacInitIdc :: enum c.int { +} + +VideoH264ChromaFormatIdc :: enum c.int { +} + +VideoH264DisableDeblockingFilterIdc :: enum c.int { +} + +VideoH264LevelIdc :: enum c.int { +} + +VideoH264MemMgmtControlOp :: enum c.int { +} + +VideoH264ModificationOfPicNumsIdc :: enum c.int { +} + +VideoH264NonVclNaluType :: enum c.int { +} + +VideoH264PictureType :: enum c.int { +} + +VideoH264PocType :: enum c.int { +} + +VideoH264ProfileIdc :: enum c.int { +} + +VideoH264SliceType :: enum c.int { +} + +VideoH264WeightedBipredIdc :: enum c.int { +} + +VideoH265AspectRatioIdc :: enum c.int { +} + +VideoH265ChromaFormatIdc :: enum c.int { +} + +VideoH265LevelIdc :: enum c.int { +} + +VideoH265PictureType :: enum c.int { +} + +VideoH265ProfileIdc :: enum c.int { +} + +VideoH265SliceType :: enum c.int { +} + +VideoSessionCreateFlagsKHR :: distinct bit_set[VideoSessionCreateFlagKHR; Flags] +VideoSessionCreateFlagKHR :: enum Flags { + PROTECTED_CONTENT = 0, +} + +ViewportCoordinateSwizzleNV :: enum c.int { + POSITIVE_X = 0, + NEGATIVE_X = 1, + POSITIVE_Y = 2, + NEGATIVE_Y = 3, + POSITIVE_Z = 4, + NEGATIVE_Z = 5, + POSITIVE_W = 6, + NEGATIVE_W = 7, +} + +AccelerationStructureMotionInfoFlagsNV :: distinct bit_set[AccelerationStructureMotionInfoFlagNV; Flags] +AccelerationStructureMotionInfoFlagNV :: enum u32 {} +AccelerationStructureMotionInstanceFlagsNV :: distinct bit_set[AccelerationStructureMotionInstanceFlagNV; Flags] +AccelerationStructureMotionInstanceFlagNV :: enum u32 {} +BufferViewCreateFlags :: distinct bit_set[BufferViewCreateFlag; Flags] +BufferViewCreateFlag :: enum u32 {} +CommandPoolTrimFlags :: distinct bit_set[CommandPoolTrimFlag; Flags] +CommandPoolTrimFlag :: enum u32 {} +DebugUtilsMessengerCallbackDataFlagsEXT :: distinct bit_set[DebugUtilsMessengerCallbackDataFlagEXT; Flags] +DebugUtilsMessengerCallbackDataFlagEXT :: enum u32 {} +DebugUtilsMessengerCreateFlagsEXT :: distinct bit_set[DebugUtilsMessengerCreateFlagEXT; Flags] +DebugUtilsMessengerCreateFlagEXT :: enum u32 {} +DescriptorPoolResetFlags :: distinct bit_set[DescriptorPoolResetFlag; Flags] +DescriptorPoolResetFlag :: enum u32 {} +DescriptorUpdateTemplateCreateFlags :: distinct bit_set[DescriptorUpdateTemplateCreateFlag; Flags] +DescriptorUpdateTemplateCreateFlag :: enum u32 {} +DeviceCreateFlags :: distinct bit_set[DeviceCreateFlag; Flags] +DeviceCreateFlag :: enum u32 {} +DeviceMemoryReportFlagsEXT :: distinct bit_set[DeviceMemoryReportFlagEXT; Flags] +DeviceMemoryReportFlagEXT :: enum u32 {} +DirectDriverLoadingFlagsLUNARG :: distinct bit_set[DirectDriverLoadingFlagLUNARG; Flags] +DirectDriverLoadingFlagLUNARG :: enum u32 {} +DisplayModeCreateFlagsKHR :: distinct bit_set[DisplayModeCreateFlagKHR; Flags] +DisplayModeCreateFlagKHR :: enum u32 {} +DisplaySurfaceCreateFlagsKHR :: distinct bit_set[DisplaySurfaceCreateFlagKHR; Flags] +DisplaySurfaceCreateFlagKHR :: enum u32 {} +HeadlessSurfaceCreateFlagsEXT :: distinct bit_set[HeadlessSurfaceCreateFlagEXT; Flags] +HeadlessSurfaceCreateFlagEXT :: enum u32 {} +IOSSurfaceCreateFlagsMVK :: distinct bit_set[IOSSurfaceCreateFlagMVK; Flags] +IOSSurfaceCreateFlagMVK :: enum u32 {} +MacOSSurfaceCreateFlagsMVK :: distinct bit_set[MacOSSurfaceCreateFlagMVK; Flags] +MacOSSurfaceCreateFlagMVK :: enum u32 {} +MemoryMapFlags :: distinct bit_set[MemoryMapFlag; Flags] +MemoryMapFlag :: enum u32 {} +MemoryUnmapFlagsKHR :: distinct bit_set[MemoryUnmapFlagKHR; Flags] +MemoryUnmapFlagKHR :: enum u32 {} +MetalSurfaceCreateFlagsEXT :: distinct bit_set[MetalSurfaceCreateFlagEXT; Flags] +MetalSurfaceCreateFlagEXT :: enum u32 {} +PipelineCoverageModulationStateCreateFlagsNV :: distinct bit_set[PipelineCoverageModulationStateCreateFlagNV; Flags] +PipelineCoverageModulationStateCreateFlagNV :: enum u32 {} +PipelineCoverageReductionStateCreateFlagsNV :: distinct bit_set[PipelineCoverageReductionStateCreateFlagNV; Flags] +PipelineCoverageReductionStateCreateFlagNV :: enum u32 {} +PipelineCoverageToColorStateCreateFlagsNV :: distinct bit_set[PipelineCoverageToColorStateCreateFlagNV; Flags] +PipelineCoverageToColorStateCreateFlagNV :: enum u32 {} +PipelineDiscardRectangleStateCreateFlagsEXT :: distinct bit_set[PipelineDiscardRectangleStateCreateFlagEXT; Flags] +PipelineDiscardRectangleStateCreateFlagEXT :: enum u32 {} +PipelineDynamicStateCreateFlags :: distinct bit_set[PipelineDynamicStateCreateFlag; Flags] +PipelineDynamicStateCreateFlag :: enum u32 {} +PipelineInputAssemblyStateCreateFlags :: distinct bit_set[PipelineInputAssemblyStateCreateFlag; Flags] +PipelineInputAssemblyStateCreateFlag :: enum u32 {} +PipelineMultisampleStateCreateFlags :: distinct bit_set[PipelineMultisampleStateCreateFlag; Flags] +PipelineMultisampleStateCreateFlag :: enum u32 {} +PipelineRasterizationConservativeStateCreateFlagsEXT :: distinct bit_set[PipelineRasterizationConservativeStateCreateFlagEXT; Flags] +PipelineRasterizationConservativeStateCreateFlagEXT :: enum u32 {} +PipelineRasterizationDepthClipStateCreateFlagsEXT :: distinct bit_set[PipelineRasterizationDepthClipStateCreateFlagEXT; Flags] +PipelineRasterizationDepthClipStateCreateFlagEXT :: enum u32 {} +PipelineRasterizationStateCreateFlags :: distinct bit_set[PipelineRasterizationStateCreateFlag; Flags] +PipelineRasterizationStateCreateFlag :: enum u32 {} +PipelineRasterizationStateStreamCreateFlagsEXT :: distinct bit_set[PipelineRasterizationStateStreamCreateFlagEXT; Flags] +PipelineRasterizationStateStreamCreateFlagEXT :: enum u32 {} +PipelineTessellationStateCreateFlags :: distinct bit_set[PipelineTessellationStateCreateFlag; Flags] +PipelineTessellationStateCreateFlag :: enum u32 {} +PipelineVertexInputStateCreateFlags :: distinct bit_set[PipelineVertexInputStateCreateFlag; Flags] +PipelineVertexInputStateCreateFlag :: enum u32 {} +PipelineViewportStateCreateFlags :: distinct bit_set[PipelineViewportStateCreateFlag; Flags] +PipelineViewportStateCreateFlag :: enum u32 {} +PipelineViewportSwizzleStateCreateFlagsNV :: distinct bit_set[PipelineViewportSwizzleStateCreateFlagNV; Flags] +PipelineViewportSwizzleStateCreateFlagNV :: enum u32 {} +PrivateDataSlotCreateFlags :: distinct bit_set[PrivateDataSlotCreateFlag; Flags] +PrivateDataSlotCreateFlag :: enum u32 {} +QueryPoolCreateFlags :: distinct bit_set[QueryPoolCreateFlag; Flags] +QueryPoolCreateFlag :: enum u32 {} +SemaphoreCreateFlags :: distinct bit_set[SemaphoreCreateFlag; Flags] +SemaphoreCreateFlag :: enum u32 {} +ShaderModuleCreateFlags :: distinct bit_set[ShaderModuleCreateFlag; Flags] +ShaderModuleCreateFlag :: enum u32 {} +ValidationCacheCreateFlagsEXT :: distinct bit_set[ValidationCacheCreateFlagEXT; Flags] +ValidationCacheCreateFlagEXT :: enum u32 {} +VideoBeginCodingFlagsKHR :: distinct bit_set[VideoBeginCodingFlagKHR; Flags] +VideoBeginCodingFlagKHR :: enum u32 {} +VideoDecodeFlagsKHR :: distinct bit_set[VideoDecodeFlagKHR; Flags] +VideoDecodeFlagKHR :: enum u32 {} +VideoEndCodingFlagsKHR :: distinct bit_set[VideoEndCodingFlagKHR; Flags] +VideoEndCodingFlagKHR :: enum u32 {} +VideoSessionParametersCreateFlagsKHR :: distinct bit_set[VideoSessionParametersCreateFlagKHR; Flags] +VideoSessionParametersCreateFlagKHR :: enum u32 {} +WaylandSurfaceCreateFlagsKHR :: distinct bit_set[WaylandSurfaceCreateFlagKHR; Flags] +WaylandSurfaceCreateFlagKHR :: enum u32 {} +Win32SurfaceCreateFlagsKHR :: distinct bit_set[Win32SurfaceCreateFlagKHR; Flags] +Win32SurfaceCreateFlagKHR :: enum u32 {} +AccessFlags2 :: distinct bit_set[AccessFlag2; Flags64] +AccessFlag2 :: enum Flags64 { + INDIRECT_COMMAND_READ = 0, + INDIRECT_COMMAND_READ_KHR = 0, + INDEX_READ = 1, + INDEX_READ_KHR = 1, + VERTEX_ATTRIBUTE_READ = 2, + VERTEX_ATTRIBUTE_READ_KHR = 2, + UNIFORM_READ = 3, + UNIFORM_READ_KHR = 3, + INPUT_ATTACHMENT_READ = 4, + INPUT_ATTACHMENT_READ_KHR = 4, + SHADER_READ = 5, + SHADER_READ_KHR = 5, + SHADER_WRITE = 6, + SHADER_WRITE_KHR = 6, + COLOR_ATTACHMENT_READ = 7, + COLOR_ATTACHMENT_READ_KHR = 7, + COLOR_ATTACHMENT_WRITE = 8, + COLOR_ATTACHMENT_WRITE_KHR = 8, + DEPTH_STENCIL_ATTACHMENT_READ = 9, + DEPTH_STENCIL_ATTACHMENT_READ_KHR = 9, + DEPTH_STENCIL_ATTACHMENT_WRITE = 10, + DEPTH_STENCIL_ATTACHMENT_WRITE_KHR = 10, + TRANSFER_READ = 11, + TRANSFER_READ_KHR = 11, + TRANSFER_WRITE = 12, + TRANSFER_WRITE_KHR = 12, + HOST_READ = 13, + HOST_READ_KHR = 13, + HOST_WRITE = 14, + HOST_WRITE_KHR = 14, + MEMORY_READ = 15, + MEMORY_READ_KHR = 15, + MEMORY_WRITE = 16, + MEMORY_WRITE_KHR = 16, + SHADER_SAMPLED_READ = 32, + SHADER_SAMPLED_READ_KHR = 32, + SHADER_STORAGE_READ = 33, + SHADER_STORAGE_READ_KHR = 33, + SHADER_STORAGE_WRITE = 34, + SHADER_STORAGE_WRITE_KHR = 34, + VIDEO_DECODE_READ_KHR = 35, + VIDEO_DECODE_WRITE_KHR = 36, + VIDEO_ENCODE_READ_KHR = 37, + VIDEO_ENCODE_WRITE_KHR = 38, + TRANSFORM_FEEDBACK_WRITE_EXT = 25, + TRANSFORM_FEEDBACK_COUNTER_READ_EXT = 26, + TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT = 27, + CONDITIONAL_RENDERING_READ_EXT = 20, + COMMAND_PREPROCESS_READ_NV = 17, + COMMAND_PREPROCESS_WRITE_NV = 18, + FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR = 23, + SHADING_RATE_IMAGE_READ_NV = 23, + ACCELERATION_STRUCTURE_READ_KHR = 21, + ACCELERATION_STRUCTURE_WRITE_KHR = 22, + ACCELERATION_STRUCTURE_READ_NV = 21, + ACCELERATION_STRUCTURE_WRITE_NV = 22, + FRAGMENT_DENSITY_MAP_READ_EXT = 24, + COLOR_ATTACHMENT_READ_NONCOHERENT_EXT = 19, + DESCRIPTOR_BUFFER_READ_EXT = 41, + INVOCATION_MASK_READ_HUAWEI = 39, + SHADER_BINDING_TABLE_READ_KHR = 40, + MICROMAP_READ_EXT = 44, + MICROMAP_WRITE_EXT = 45, + OPTICAL_FLOW_READ_NV = 42, + OPTICAL_FLOW_WRITE_NV = 43, +} + +FormatFeatureFlags2 :: distinct bit_set[FormatFeatureFlag2; Flags64] +FormatFeatureFlag2 :: enum Flags64 { + SAMPLED_IMAGE = 0, + SAMPLED_IMAGE_KHR = 0, + STORAGE_IMAGE = 1, + STORAGE_IMAGE_KHR = 1, + STORAGE_IMAGE_ATOMIC = 2, + STORAGE_IMAGE_ATOMIC_KHR = 2, + UNIFORM_TEXEL_BUFFER = 3, + UNIFORM_TEXEL_BUFFER_KHR = 3, + STORAGE_TEXEL_BUFFER = 4, + STORAGE_TEXEL_BUFFER_KHR = 4, + STORAGE_TEXEL_BUFFER_ATOMIC = 5, + STORAGE_TEXEL_BUFFER_ATOMIC_KHR = 5, + VERTEX_BUFFER = 6, + VERTEX_BUFFER_KHR = 6, + COLOR_ATTACHMENT = 7, + COLOR_ATTACHMENT_KHR = 7, + COLOR_ATTACHMENT_BLEND = 8, + COLOR_ATTACHMENT_BLEND_KHR = 8, + DEPTH_STENCIL_ATTACHMENT = 9, + DEPTH_STENCIL_ATTACHMENT_KHR = 9, + BLIT_SRC = 10, + BLIT_SRC_KHR = 10, + BLIT_DST = 11, + BLIT_DST_KHR = 11, + SAMPLED_IMAGE_FILTER_LINEAR = 12, + SAMPLED_IMAGE_FILTER_LINEAR_KHR = 12, + SAMPLED_IMAGE_FILTER_CUBIC = 13, + SAMPLED_IMAGE_FILTER_CUBIC_EXT = 13, + TRANSFER_SRC = 14, + TRANSFER_SRC_KHR = 14, + TRANSFER_DST = 15, + TRANSFER_DST_KHR = 15, + SAMPLED_IMAGE_FILTER_MINMAX = 16, + SAMPLED_IMAGE_FILTER_MINMAX_KHR = 16, + MIDPOINT_CHROMA_SAMPLES = 17, + MIDPOINT_CHROMA_SAMPLES_KHR = 17, + SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER = 18, + SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_KHR = 18, + SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER = 19, + SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_KHR = 19, + SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT = 20, + SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_KHR = 20, + SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE = 21, + SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_KHR = 21, + DISJOINT = 22, + DISJOINT_KHR = 22, + COSITED_CHROMA_SAMPLES = 23, + COSITED_CHROMA_SAMPLES_KHR = 23, + STORAGE_READ_WITHOUT_FORMAT = 31, + STORAGE_READ_WITHOUT_FORMAT_KHR = 31, + STORAGE_WRITE_WITHOUT_FORMAT = 32, + STORAGE_WRITE_WITHOUT_FORMAT_KHR = 32, + SAMPLED_IMAGE_DEPTH_COMPARISON = 33, + SAMPLED_IMAGE_DEPTH_COMPARISON_KHR = 33, + VIDEO_DECODE_OUTPUT_KHR = 25, + VIDEO_DECODE_DPB_KHR = 26, + ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR = 29, + FRAGMENT_DENSITY_MAP_EXT = 24, + FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 30, + VIDEO_ENCODE_INPUT_KHR = 27, + VIDEO_ENCODE_DPB_KHR = 28, + LINEAR_COLOR_ATTACHMENT_NV = 38, + WEIGHT_IMAGE_QCOM = 34, + WEIGHT_SAMPLED_IMAGE_QCOM = 35, + BLOCK_MATCHING_QCOM = 36, + BOX_FILTER_SAMPLED_QCOM = 37, + OPTICAL_FLOW_IMAGE_NV = 40, + OPTICAL_FLOW_VECTOR_NV = 41, + OPTICAL_FLOW_COST_NV = 42, +} + +PipelineStageFlags2 :: distinct bit_set[PipelineStageFlag2; Flags64] +PipelineStageFlag2 :: enum Flags64 { + TOP_OF_PIPE = 0, + TOP_OF_PIPE_KHR = 0, + DRAW_INDIRECT = 1, + DRAW_INDIRECT_KHR = 1, + VERTEX_INPUT = 2, + VERTEX_INPUT_KHR = 2, + VERTEX_SHADER = 3, + VERTEX_SHADER_KHR = 3, + TESSELLATION_CONTROL_SHADER = 4, + TESSELLATION_CONTROL_SHADER_KHR = 4, + TESSELLATION_EVALUATION_SHADER = 5, + TESSELLATION_EVALUATION_SHADER_KHR = 5, + GEOMETRY_SHADER = 6, + GEOMETRY_SHADER_KHR = 6, + FRAGMENT_SHADER = 7, + FRAGMENT_SHADER_KHR = 7, + EARLY_FRAGMENT_TESTS = 8, + EARLY_FRAGMENT_TESTS_KHR = 8, + LATE_FRAGMENT_TESTS = 9, + LATE_FRAGMENT_TESTS_KHR = 9, + COLOR_ATTACHMENT_OUTPUT = 10, + COLOR_ATTACHMENT_OUTPUT_KHR = 10, + COMPUTE_SHADER = 11, + COMPUTE_SHADER_KHR = 11, + ALL_TRANSFER = 12, + ALL_TRANSFER_KHR = 12, + TRANSFER = 12, + TRANSFER_KHR = 12, + BOTTOM_OF_PIPE = 13, + BOTTOM_OF_PIPE_KHR = 13, + HOST = 14, + HOST_KHR = 14, + ALL_GRAPHICS = 15, + ALL_GRAPHICS_KHR = 15, + ALL_COMMANDS = 16, + ALL_COMMANDS_KHR = 16, + COPY = 32, + COPY_KHR = 32, + RESOLVE = 33, + RESOLVE_KHR = 33, + BLIT = 34, + BLIT_KHR = 34, + CLEAR = 35, + CLEAR_KHR = 35, + INDEX_INPUT = 36, + INDEX_INPUT_KHR = 36, + VERTEX_ATTRIBUTE_INPUT = 37, + VERTEX_ATTRIBUTE_INPUT_KHR = 37, + PRE_RASTERIZATION_SHADERS = 38, + PRE_RASTERIZATION_SHADERS_KHR = 38, + VIDEO_DECODE_KHR = 26, + VIDEO_ENCODE_KHR = 27, + TRANSFORM_FEEDBACK_EXT = 24, + CONDITIONAL_RENDERING_EXT = 18, + COMMAND_PREPROCESS_NV = 17, + FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 22, + SHADING_RATE_IMAGE_NV = 22, + ACCELERATION_STRUCTURE_BUILD_KHR = 25, + RAY_TRACING_SHADER_KHR = 21, + RAY_TRACING_SHADER_NV = 21, + ACCELERATION_STRUCTURE_BUILD_NV = 25, + FRAGMENT_DENSITY_PROCESS_EXT = 23, + TASK_SHADER_NV = 19, + MESH_SHADER_NV = 20, + TASK_SHADER_EXT = 19, + MESH_SHADER_EXT = 20, + SUBPASS_SHADING_HUAWEI = 39, + INVOCATION_MASK_HUAWEI = 40, + ACCELERATION_STRUCTURE_COPY_KHR = 28, + MICROMAP_BUILD_EXT = 30, + CLUSTER_CULLING_SHADER_HUAWEI = 41, + OPTICAL_FLOW_NV = 29, +} + + + diff --git a/vendor/vulkan/procedures.odin b/vendor/vulkan/procedures.odin index 694945215..9a27b4f79 100644 --- a/vendor/vulkan/procedures.odin +++ b/vendor/vulkan/procedures.odin @@ -1,4058 +1,4058 @@ -//
-// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
-//
-package vulkan
-
-import "core:c"
-
-// Loader Procedure Types
-ProcCreateInstance :: #type proc "system" (pCreateInfo: ^InstanceCreateInfo, pAllocator: ^AllocationCallbacks, pInstance: ^Instance) -> Result
-ProcDebugUtilsMessengerCallbackEXT :: #type proc "system" (messageSeverity: DebugUtilsMessageSeverityFlagsEXT, messageTypes: DebugUtilsMessageTypeFlagsEXT, pCallbackData: ^DebugUtilsMessengerCallbackDataEXT, pUserData: rawptr) -> b32
-ProcDeviceMemoryReportCallbackEXT :: #type proc "system" (pCallbackData: ^DeviceMemoryReportCallbackDataEXT, pUserData: rawptr)
-ProcEnumerateInstanceExtensionProperties :: #type proc "system" (pLayerName: cstring, pPropertyCount: ^u32, pProperties: [^]ExtensionProperties) -> Result
-ProcEnumerateInstanceLayerProperties :: #type proc "system" (pPropertyCount: ^u32, pProperties: [^]LayerProperties) -> Result
-ProcEnumerateInstanceVersion :: #type proc "system" (pApiVersion: ^u32) -> Result
-
-// Misc Procedure Types
-ProcAllocationFunction :: #type proc "system" (pUserData: rawptr, size: int, alignment: int, allocationScope: SystemAllocationScope) -> rawptr
-ProcDebugReportCallbackEXT :: #type proc "system" (flags: DebugReportFlagsEXT, objectType: DebugReportObjectTypeEXT, object: u64, location: int, messageCode: i32, pLayerPrefix: cstring, pMessage: cstring, pUserData: rawptr) -> b32
-ProcFreeFunction :: #type proc "system" (pUserData: rawptr, pMemory: rawptr)
-ProcInternalAllocationNotification :: #type proc "system" (pUserData: rawptr, size: int, allocationType: InternalAllocationType, allocationScope: SystemAllocationScope)
-ProcInternalFreeNotification :: #type proc "system" (pUserData: rawptr, size: int, allocationType: InternalAllocationType, allocationScope: SystemAllocationScope)
-ProcReallocationFunction :: #type proc "system" (pUserData: rawptr, pOriginal: rawptr, size: int, alignment: int, allocationScope: SystemAllocationScope) -> rawptr
-ProcVoidFunction :: #type proc "system" ()
-
-// Instance Procedure Types
-ProcAcquireDrmDisplayEXT :: #type proc "system" (physicalDevice: PhysicalDevice, drmFd: i32, display: DisplayKHR) -> Result
-ProcAcquireWinrtDisplayNV :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR) -> Result
-ProcCreateDebugReportCallbackEXT :: #type proc "system" (instance: Instance, pCreateInfo: ^DebugReportCallbackCreateInfoEXT, pAllocator: ^AllocationCallbacks, pCallback: ^DebugReportCallbackEXT) -> Result
-ProcCreateDebugUtilsMessengerEXT :: #type proc "system" (instance: Instance, pCreateInfo: ^DebugUtilsMessengerCreateInfoEXT, pAllocator: ^AllocationCallbacks, pMessenger: ^DebugUtilsMessengerEXT) -> Result
-ProcCreateDevice :: #type proc "system" (physicalDevice: PhysicalDevice, pCreateInfo: ^DeviceCreateInfo, pAllocator: ^AllocationCallbacks, pDevice: ^Device) -> Result
-ProcCreateDisplayModeKHR :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR, pCreateInfo: ^DisplayModeCreateInfoKHR, pAllocator: ^AllocationCallbacks, pMode: ^DisplayModeKHR) -> Result
-ProcCreateDisplayPlaneSurfaceKHR :: #type proc "system" (instance: Instance, pCreateInfo: ^DisplaySurfaceCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
-ProcCreateHeadlessSurfaceEXT :: #type proc "system" (instance: Instance, pCreateInfo: ^HeadlessSurfaceCreateInfoEXT, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
-ProcCreateIOSSurfaceMVK :: #type proc "system" (instance: Instance, pCreateInfo: ^IOSSurfaceCreateInfoMVK, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
-ProcCreateMacOSSurfaceMVK :: #type proc "system" (instance: Instance, pCreateInfo: ^MacOSSurfaceCreateInfoMVK, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
-ProcCreateMetalSurfaceEXT :: #type proc "system" (instance: Instance, pCreateInfo: ^MetalSurfaceCreateInfoEXT, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
-ProcCreateWaylandSurfaceKHR :: #type proc "system" (instance: Instance, pCreateInfo: ^WaylandSurfaceCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
-ProcCreateWin32SurfaceKHR :: #type proc "system" (instance: Instance, pCreateInfo: ^Win32SurfaceCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result
-ProcDebugReportMessageEXT :: #type proc "system" (instance: Instance, flags: DebugReportFlagsEXT, objectType: DebugReportObjectTypeEXT, object: u64, location: int, messageCode: i32, pLayerPrefix: cstring, pMessage: cstring)
-ProcDestroyDebugReportCallbackEXT :: #type proc "system" (instance: Instance, callback: DebugReportCallbackEXT, pAllocator: ^AllocationCallbacks)
-ProcDestroyDebugUtilsMessengerEXT :: #type proc "system" (instance: Instance, messenger: DebugUtilsMessengerEXT, pAllocator: ^AllocationCallbacks)
-ProcDestroyInstance :: #type proc "system" (instance: Instance, pAllocator: ^AllocationCallbacks)
-ProcDestroySurfaceKHR :: #type proc "system" (instance: Instance, surface: SurfaceKHR, pAllocator: ^AllocationCallbacks)
-ProcEnumerateDeviceExtensionProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pLayerName: cstring, pPropertyCount: ^u32, pProperties: [^]ExtensionProperties) -> Result
-ProcEnumerateDeviceLayerProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]LayerProperties) -> Result
-ProcEnumeratePhysicalDeviceGroups :: #type proc "system" (instance: Instance, pPhysicalDeviceGroupCount: ^u32, pPhysicalDeviceGroupProperties: [^]PhysicalDeviceGroupProperties) -> Result
-ProcEnumeratePhysicalDeviceGroupsKHR :: #type proc "system" (instance: Instance, pPhysicalDeviceGroupCount: ^u32, pPhysicalDeviceGroupProperties: [^]PhysicalDeviceGroupProperties) -> Result
-ProcEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, pCounterCount: ^u32, pCounters: [^]PerformanceCounterKHR, pCounterDescriptions: [^]PerformanceCounterDescriptionKHR) -> Result
-ProcEnumeratePhysicalDevices :: #type proc "system" (instance: Instance, pPhysicalDeviceCount: ^u32, pPhysicalDevices: [^]PhysicalDevice) -> Result
-ProcGetDisplayModeProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: ^u32, pProperties: [^]DisplayModeProperties2KHR) -> Result
-ProcGetDisplayModePropertiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: ^u32, pProperties: [^]DisplayModePropertiesKHR) -> Result
-ProcGetDisplayPlaneCapabilities2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pDisplayPlaneInfo: ^DisplayPlaneInfo2KHR, pCapabilities: [^]DisplayPlaneCapabilities2KHR) -> Result
-ProcGetDisplayPlaneCapabilitiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, mode: DisplayModeKHR, planeIndex: u32, pCapabilities: [^]DisplayPlaneCapabilitiesKHR) -> Result
-ProcGetDisplayPlaneSupportedDisplaysKHR :: #type proc "system" (physicalDevice: PhysicalDevice, planeIndex: u32, pDisplayCount: ^u32, pDisplays: [^]DisplayKHR) -> Result
-ProcGetDrmDisplayEXT :: #type proc "system" (physicalDevice: PhysicalDevice, drmFd: i32, connectorId: u32, display: ^DisplayKHR) -> Result
-ProcGetInstanceProcAddr :: #type proc "system" (instance: Instance, pName: cstring) -> ProcVoidFunction
-ProcGetInstanceProcAddrLUNARG :: #type proc "system" (instance: Instance, pName: cstring) -> ProcVoidFunction
-ProcGetPhysicalDeviceCalibrateableTimeDomainsEXT :: #type proc "system" (physicalDevice: PhysicalDevice, pTimeDomainCount: ^u32, pTimeDomains: [^]TimeDomainEXT) -> Result
-ProcGetPhysicalDeviceCooperativeMatrixPropertiesNV :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]CooperativeMatrixPropertiesNV) -> Result
-ProcGetPhysicalDeviceDisplayPlaneProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayPlaneProperties2KHR) -> Result
-ProcGetPhysicalDeviceDisplayPlanePropertiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayPlanePropertiesKHR) -> Result
-ProcGetPhysicalDeviceDisplayProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayProperties2KHR) -> Result
-ProcGetPhysicalDeviceDisplayPropertiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayPropertiesKHR) -> Result
-ProcGetPhysicalDeviceExternalBufferProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalBufferInfo: ^PhysicalDeviceExternalBufferInfo, pExternalBufferProperties: [^]ExternalBufferProperties)
-ProcGetPhysicalDeviceExternalBufferPropertiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalBufferInfo: ^PhysicalDeviceExternalBufferInfo, pExternalBufferProperties: [^]ExternalBufferProperties)
-ProcGetPhysicalDeviceExternalFenceProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalFenceInfo: ^PhysicalDeviceExternalFenceInfo, pExternalFenceProperties: [^]ExternalFenceProperties)
-ProcGetPhysicalDeviceExternalFencePropertiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalFenceInfo: ^PhysicalDeviceExternalFenceInfo, pExternalFenceProperties: [^]ExternalFenceProperties)
-ProcGetPhysicalDeviceExternalImageFormatPropertiesNV :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, type: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, externalHandleType: ExternalMemoryHandleTypeFlagsNV, pExternalImageFormatProperties: [^]ExternalImageFormatPropertiesNV) -> Result
-ProcGetPhysicalDeviceExternalSemaphoreProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalSemaphoreInfo: ^PhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties: [^]ExternalSemaphoreProperties)
-ProcGetPhysicalDeviceExternalSemaphorePropertiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalSemaphoreInfo: ^PhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties: [^]ExternalSemaphoreProperties)
-ProcGetPhysicalDeviceFeatures :: #type proc "system" (physicalDevice: PhysicalDevice, pFeatures: [^]PhysicalDeviceFeatures)
-ProcGetPhysicalDeviceFeatures2 :: #type proc "system" (physicalDevice: PhysicalDevice, pFeatures: [^]PhysicalDeviceFeatures2)
-ProcGetPhysicalDeviceFeatures2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pFeatures: [^]PhysicalDeviceFeatures2)
-ProcGetPhysicalDeviceFormatProperties :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: [^]FormatProperties)
-ProcGetPhysicalDeviceFormatProperties2 :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: [^]FormatProperties2)
-ProcGetPhysicalDeviceFormatProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: [^]FormatProperties2)
-ProcGetPhysicalDeviceFragmentShadingRatesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pFragmentShadingRateCount: ^u32, pFragmentShadingRates: [^]PhysicalDeviceFragmentShadingRateKHR) -> Result
-ProcGetPhysicalDeviceImageFormatProperties :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, type: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, pImageFormatProperties: [^]ImageFormatProperties) -> Result
-ProcGetPhysicalDeviceImageFormatProperties2 :: #type proc "system" (physicalDevice: PhysicalDevice, pImageFormatInfo: ^PhysicalDeviceImageFormatInfo2, pImageFormatProperties: [^]ImageFormatProperties2) -> Result
-ProcGetPhysicalDeviceImageFormatProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pImageFormatInfo: ^PhysicalDeviceImageFormatInfo2, pImageFormatProperties: [^]ImageFormatProperties2) -> Result
-ProcGetPhysicalDeviceMemoryProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pMemoryProperties: [^]PhysicalDeviceMemoryProperties)
-ProcGetPhysicalDeviceMemoryProperties2 :: #type proc "system" (physicalDevice: PhysicalDevice, pMemoryProperties: [^]PhysicalDeviceMemoryProperties2)
-ProcGetPhysicalDeviceMemoryProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pMemoryProperties: [^]PhysicalDeviceMemoryProperties2)
-ProcGetPhysicalDeviceMultisamplePropertiesEXT :: #type proc "system" (physicalDevice: PhysicalDevice, samples: SampleCountFlags, pMultisampleProperties: [^]MultisamplePropertiesEXT)
-ProcGetPhysicalDeviceOpticalFlowImageFormatsNV :: #type proc "system" (physicalDevice: PhysicalDevice, pOpticalFlowImageFormatInfo: ^OpticalFlowImageFormatInfoNV, pFormatCount: ^u32, pImageFormatProperties: [^]OpticalFlowImageFormatPropertiesNV) -> Result
-ProcGetPhysicalDevicePresentRectanglesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pRectCount: ^u32, pRects: [^]Rect2D) -> Result
-ProcGetPhysicalDeviceProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pProperties: [^]PhysicalDeviceProperties)
-ProcGetPhysicalDeviceProperties2 :: #type proc "system" (physicalDevice: PhysicalDevice, pProperties: [^]PhysicalDeviceProperties2)
-ProcGetPhysicalDeviceProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pProperties: [^]PhysicalDeviceProperties2)
-ProcGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pPerformanceQueryCreateInfo: ^QueryPoolPerformanceCreateInfoKHR, pNumPasses: [^]u32)
-ProcGetPhysicalDeviceQueueFamilyProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: ^u32, pQueueFamilyProperties: [^]QueueFamilyProperties)
-ProcGetPhysicalDeviceQueueFamilyProperties2 :: #type proc "system" (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: ^u32, pQueueFamilyProperties: [^]QueueFamilyProperties2)
-ProcGetPhysicalDeviceQueueFamilyProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: ^u32, pQueueFamilyProperties: [^]QueueFamilyProperties2)
-ProcGetPhysicalDeviceSparseImageFormatProperties :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, type: ImageType, samples: SampleCountFlags, usage: ImageUsageFlags, tiling: ImageTiling, pPropertyCount: ^u32, pProperties: [^]SparseImageFormatProperties)
-ProcGetPhysicalDeviceSparseImageFormatProperties2 :: #type proc "system" (physicalDevice: PhysicalDevice, pFormatInfo: ^PhysicalDeviceSparseImageFormatInfo2, pPropertyCount: ^u32, pProperties: [^]SparseImageFormatProperties2)
-ProcGetPhysicalDeviceSparseImageFormatProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pFormatInfo: ^PhysicalDeviceSparseImageFormatInfo2, pPropertyCount: ^u32, pProperties: [^]SparseImageFormatProperties2)
-ProcGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV :: #type proc "system" (physicalDevice: PhysicalDevice, pCombinationCount: ^u32, pCombinations: [^]FramebufferMixedSamplesCombinationNV) -> Result
-ProcGetPhysicalDeviceSurfaceCapabilities2EXT :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: [^]SurfaceCapabilities2EXT) -> Result
-ProcGetPhysicalDeviceSurfaceCapabilities2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pSurfaceCapabilities: [^]SurfaceCapabilities2KHR) -> Result
-ProcGetPhysicalDeviceSurfaceCapabilitiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: [^]SurfaceCapabilitiesKHR) -> Result
-ProcGetPhysicalDeviceSurfaceFormats2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pSurfaceFormatCount: ^u32, pSurfaceFormats: [^]SurfaceFormat2KHR) -> Result
-ProcGetPhysicalDeviceSurfaceFormatsKHR :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceFormatCount: ^u32, pSurfaceFormats: [^]SurfaceFormatKHR) -> Result
-ProcGetPhysicalDeviceSurfacePresentModes2EXT :: #type proc "system" (physicalDevice: PhysicalDevice, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pPresentModeCount: ^u32, pPresentModes: [^]PresentModeKHR) -> Result
-ProcGetPhysicalDeviceSurfacePresentModesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pPresentModeCount: ^u32, pPresentModes: [^]PresentModeKHR) -> Result
-ProcGetPhysicalDeviceSurfaceSupportKHR :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, surface: SurfaceKHR, pSupported: ^b32) -> Result
-ProcGetPhysicalDeviceToolProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pToolCount: ^u32, pToolProperties: [^]PhysicalDeviceToolProperties) -> Result
-ProcGetPhysicalDeviceToolPropertiesEXT :: #type proc "system" (physicalDevice: PhysicalDevice, pToolCount: ^u32, pToolProperties: [^]PhysicalDeviceToolProperties) -> Result
-ProcGetPhysicalDeviceVideoCapabilitiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pVideoProfile: ^VideoProfileInfoKHR, pCapabilities: [^]VideoCapabilitiesKHR) -> Result
-ProcGetPhysicalDeviceVideoFormatPropertiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pVideoFormatInfo: ^PhysicalDeviceVideoFormatInfoKHR, pVideoFormatPropertyCount: ^u32, pVideoFormatProperties: [^]VideoFormatPropertiesKHR) -> Result
-ProcGetPhysicalDeviceWaylandPresentationSupportKHR :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, display: ^wl_display) -> b32
-ProcGetPhysicalDeviceWin32PresentationSupportKHR :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32) -> b32
-ProcGetWinrtDisplayNV :: #type proc "system" (physicalDevice: PhysicalDevice, deviceRelativeId: u32, pDisplay: ^DisplayKHR) -> Result
-ProcReleaseDisplayEXT :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR) -> Result
-ProcSubmitDebugUtilsMessageEXT :: #type proc "system" (instance: Instance, messageSeverity: DebugUtilsMessageSeverityFlagsEXT, messageTypes: DebugUtilsMessageTypeFlagsEXT, pCallbackData: ^DebugUtilsMessengerCallbackDataEXT)
-
-// Device Procedure Types
-ProcAcquireFullScreenExclusiveModeEXT :: #type proc "system" (device: Device, swapchain: SwapchainKHR) -> Result
-ProcAcquireNextImage2KHR :: #type proc "system" (device: Device, pAcquireInfo: ^AcquireNextImageInfoKHR, pImageIndex: ^u32) -> Result
-ProcAcquireNextImageKHR :: #type proc "system" (device: Device, swapchain: SwapchainKHR, timeout: u64, semaphore: Semaphore, fence: Fence, pImageIndex: ^u32) -> Result
-ProcAcquirePerformanceConfigurationINTEL :: #type proc "system" (device: Device, pAcquireInfo: ^PerformanceConfigurationAcquireInfoINTEL, pConfiguration: ^PerformanceConfigurationINTEL) -> Result
-ProcAcquireProfilingLockKHR :: #type proc "system" (device: Device, pInfo: ^AcquireProfilingLockInfoKHR) -> Result
-ProcAllocateCommandBuffers :: #type proc "system" (device: Device, pAllocateInfo: ^CommandBufferAllocateInfo, pCommandBuffers: [^]CommandBuffer) -> Result
-ProcAllocateDescriptorSets :: #type proc "system" (device: Device, pAllocateInfo: ^DescriptorSetAllocateInfo, pDescriptorSets: [^]DescriptorSet) -> Result
-ProcAllocateMemory :: #type proc "system" (device: Device, pAllocateInfo: ^MemoryAllocateInfo, pAllocator: ^AllocationCallbacks, pMemory: ^DeviceMemory) -> Result
-ProcBeginCommandBuffer :: #type proc "system" (commandBuffer: CommandBuffer, pBeginInfo: ^CommandBufferBeginInfo) -> Result
-ProcBindAccelerationStructureMemoryNV :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindAccelerationStructureMemoryInfoNV) -> Result
-ProcBindBufferMemory :: #type proc "system" (device: Device, buffer: Buffer, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result
-ProcBindBufferMemory2 :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindBufferMemoryInfo) -> Result
-ProcBindBufferMemory2KHR :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindBufferMemoryInfo) -> Result
-ProcBindImageMemory :: #type proc "system" (device: Device, image: Image, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result
-ProcBindImageMemory2 :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindImageMemoryInfo) -> Result
-ProcBindImageMemory2KHR :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindImageMemoryInfo) -> Result
-ProcBindOpticalFlowSessionImageNV :: #type proc "system" (device: Device, session: OpticalFlowSessionNV, bindingPoint: OpticalFlowSessionBindingPointNV, view: ImageView, layout: ImageLayout) -> Result
-ProcBindVideoSessionMemoryKHR :: #type proc "system" (device: Device, videoSession: VideoSessionKHR, bindSessionMemoryInfoCount: u32, pBindSessionMemoryInfos: [^]BindVideoSessionMemoryInfoKHR) -> Result
-ProcBuildAccelerationStructuresKHR :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, infoCount: u32, pInfos: [^]AccelerationStructureBuildGeometryInfoKHR, ppBuildRangeInfos: ^[^]AccelerationStructureBuildRangeInfoKHR) -> Result
-ProcBuildMicromapsEXT :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, infoCount: u32, pInfos: [^]MicromapBuildInfoEXT) -> Result
-ProcCmdBeginConditionalRenderingEXT :: #type proc "system" (commandBuffer: CommandBuffer, pConditionalRenderingBegin: ^ConditionalRenderingBeginInfoEXT)
-ProcCmdBeginDebugUtilsLabelEXT :: #type proc "system" (commandBuffer: CommandBuffer, pLabelInfo: ^DebugUtilsLabelEXT)
-ProcCmdBeginQuery :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags)
-ProcCmdBeginQueryIndexedEXT :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags, index: u32)
-ProcCmdBeginRenderPass :: #type proc "system" (commandBuffer: CommandBuffer, pRenderPassBegin: ^RenderPassBeginInfo, contents: SubpassContents)
-ProcCmdBeginRenderPass2 :: #type proc "system" (commandBuffer: CommandBuffer, pRenderPassBegin: ^RenderPassBeginInfo, pSubpassBeginInfo: ^SubpassBeginInfo)
-ProcCmdBeginRenderPass2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pRenderPassBegin: ^RenderPassBeginInfo, pSubpassBeginInfo: ^SubpassBeginInfo)
-ProcCmdBeginRendering :: #type proc "system" (commandBuffer: CommandBuffer, pRenderingInfo: ^RenderingInfo)
-ProcCmdBeginRenderingKHR :: #type proc "system" (commandBuffer: CommandBuffer, pRenderingInfo: ^RenderingInfo)
-ProcCmdBeginTransformFeedbackEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: [^]Buffer, pCounterBufferOffsets: [^]DeviceSize)
-ProcCmdBeginVideoCodingKHR :: #type proc "system" (commandBuffer: CommandBuffer, pBeginInfo: ^VideoBeginCodingInfoKHR)
-ProcCmdBindDescriptorBufferEmbeddedSamplersEXT :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, set: u32)
-ProcCmdBindDescriptorBuffersEXT :: #type proc "system" (commandBuffer: CommandBuffer, bufferCount: u32, pBindingInfos: [^]DescriptorBufferBindingInfoEXT)
-ProcCmdBindDescriptorSets :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, firstSet: u32, descriptorSetCount: u32, pDescriptorSets: [^]DescriptorSet, dynamicOffsetCount: u32, pDynamicOffsets: [^]u32)
-ProcCmdBindIndexBuffer :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, indexType: IndexType)
-ProcCmdBindInvocationMaskHUAWEI :: #type proc "system" (commandBuffer: CommandBuffer, imageView: ImageView, imageLayout: ImageLayout)
-ProcCmdBindPipeline :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, pipeline: Pipeline)
-ProcCmdBindPipelineShaderGroupNV :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, pipeline: Pipeline, groupIndex: u32)
-ProcCmdBindShadersEXT :: #type proc "system" (commandBuffer: CommandBuffer, stageCount: u32, pStages: [^]ShaderStageFlags, pShaders: [^]ShaderEXT)
-ProcCmdBindShadingRateImageNV :: #type proc "system" (commandBuffer: CommandBuffer, imageView: ImageView, imageLayout: ImageLayout)
-ProcCmdBindTransformFeedbackBuffersEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize, pSizes: [^]DeviceSize)
-ProcCmdBindVertexBuffers :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize)
-ProcCmdBindVertexBuffers2 :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize, pSizes: [^]DeviceSize, pStrides: [^]DeviceSize)
-ProcCmdBindVertexBuffers2EXT :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize, pSizes: [^]DeviceSize, pStrides: [^]DeviceSize)
-ProcCmdBlitImage :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]ImageBlit, filter: Filter)
-ProcCmdBlitImage2 :: #type proc "system" (commandBuffer: CommandBuffer, pBlitImageInfo: ^BlitImageInfo2)
-ProcCmdBlitImage2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pBlitImageInfo: ^BlitImageInfo2)
-ProcCmdBuildAccelerationStructureNV :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^AccelerationStructureInfoNV, instanceData: Buffer, instanceOffset: DeviceSize, update: b32, dst: AccelerationStructureNV, src: AccelerationStructureNV, scratch: Buffer, scratchOffset: DeviceSize)
-ProcCmdBuildAccelerationStructuresIndirectKHR :: #type proc "system" (commandBuffer: CommandBuffer, infoCount: u32, pInfos: [^]AccelerationStructureBuildGeometryInfoKHR, pIndirectDeviceAddresses: [^]DeviceAddress, pIndirectStrides: [^]u32, ppMaxPrimitiveCounts: ^[^]u32)
-ProcCmdBuildAccelerationStructuresKHR :: #type proc "system" (commandBuffer: CommandBuffer, infoCount: u32, pInfos: [^]AccelerationStructureBuildGeometryInfoKHR, ppBuildRangeInfos: ^[^]AccelerationStructureBuildRangeInfoKHR)
-ProcCmdBuildMicromapsEXT :: #type proc "system" (commandBuffer: CommandBuffer, infoCount: u32, pInfos: [^]MicromapBuildInfoEXT)
-ProcCmdClearAttachments :: #type proc "system" (commandBuffer: CommandBuffer, attachmentCount: u32, pAttachments: [^]ClearAttachment, rectCount: u32, pRects: [^]ClearRect)
-ProcCmdClearColorImage :: #type proc "system" (commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pColor: ^ClearColorValue, rangeCount: u32, pRanges: [^]ImageSubresourceRange)
-ProcCmdClearDepthStencilImage :: #type proc "system" (commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pDepthStencil: ^ClearDepthStencilValue, rangeCount: u32, pRanges: [^]ImageSubresourceRange)
-ProcCmdControlVideoCodingKHR :: #type proc "system" (commandBuffer: CommandBuffer, pCodingControlInfo: ^VideoCodingControlInfoKHR)
-ProcCmdCopyAccelerationStructureKHR :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyAccelerationStructureInfoKHR)
-ProcCmdCopyAccelerationStructureNV :: #type proc "system" (commandBuffer: CommandBuffer, dst: AccelerationStructureNV, src: AccelerationStructureNV, mode: CopyAccelerationStructureModeKHR)
-ProcCmdCopyAccelerationStructureToMemoryKHR :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyAccelerationStructureToMemoryInfoKHR)
-ProcCmdCopyBuffer :: #type proc "system" (commandBuffer: CommandBuffer, srcBuffer: Buffer, dstBuffer: Buffer, regionCount: u32, pRegions: [^]BufferCopy)
-ProcCmdCopyBuffer2 :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferInfo: ^CopyBufferInfo2)
-ProcCmdCopyBuffer2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferInfo: ^CopyBufferInfo2)
-ProcCmdCopyBufferToImage :: #type proc "system" (commandBuffer: CommandBuffer, srcBuffer: Buffer, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]BufferImageCopy)
-ProcCmdCopyBufferToImage2 :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferToImageInfo: ^CopyBufferToImageInfo2)
-ProcCmdCopyBufferToImage2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferToImageInfo: ^CopyBufferToImageInfo2)
-ProcCmdCopyImage :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]ImageCopy)
-ProcCmdCopyImage2 :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageInfo: ^CopyImageInfo2)
-ProcCmdCopyImage2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageInfo: ^CopyImageInfo2)
-ProcCmdCopyImageToBuffer :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstBuffer: Buffer, regionCount: u32, pRegions: [^]BufferImageCopy)
-ProcCmdCopyImageToBuffer2 :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageToBufferInfo: ^CopyImageToBufferInfo2)
-ProcCmdCopyImageToBuffer2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageToBufferInfo: ^CopyImageToBufferInfo2)
-ProcCmdCopyMemoryIndirectNV :: #type proc "system" (commandBuffer: CommandBuffer, copyBufferAddress: DeviceAddress, copyCount: u32, stride: u32)
-ProcCmdCopyMemoryToAccelerationStructureKHR :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyMemoryToAccelerationStructureInfoKHR)
-ProcCmdCopyMemoryToImageIndirectNV :: #type proc "system" (commandBuffer: CommandBuffer, copyBufferAddress: DeviceAddress, copyCount: u32, stride: u32, dstImage: Image, dstImageLayout: ImageLayout, pImageSubresources: [^]ImageSubresourceLayers)
-ProcCmdCopyMemoryToMicromapEXT :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyMemoryToMicromapInfoEXT)
-ProcCmdCopyMicromapEXT :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyMicromapInfoEXT)
-ProcCmdCopyMicromapToMemoryEXT :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyMicromapToMemoryInfoEXT)
-ProcCmdCopyQueryPoolResults :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dstBuffer: Buffer, dstOffset: DeviceSize, stride: DeviceSize, flags: QueryResultFlags)
-ProcCmdCuLaunchKernelNVX :: #type proc "system" (commandBuffer: CommandBuffer, pLaunchInfo: ^CuLaunchInfoNVX)
-ProcCmdDebugMarkerBeginEXT :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^DebugMarkerMarkerInfoEXT)
-ProcCmdDebugMarkerEndEXT :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdDebugMarkerInsertEXT :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^DebugMarkerMarkerInfoEXT)
-ProcCmdDecodeVideoKHR :: #type proc "system" (commandBuffer: CommandBuffer, pDecodeInfo: ^VideoDecodeInfoKHR)
-ProcCmdDecompressMemoryIndirectCountNV :: #type proc "system" (commandBuffer: CommandBuffer, indirectCommandsAddress: DeviceAddress, indirectCommandsCountAddress: DeviceAddress, stride: u32)
-ProcCmdDecompressMemoryNV :: #type proc "system" (commandBuffer: CommandBuffer, decompressRegionCount: u32, pDecompressMemoryRegions: [^]DecompressMemoryRegionNV)
-ProcCmdDispatch :: #type proc "system" (commandBuffer: CommandBuffer, groupCountX: u32, groupCountY: u32, groupCountZ: u32)
-ProcCmdDispatchBase :: #type proc "system" (commandBuffer: CommandBuffer, baseGroupX: u32, baseGroupY: u32, baseGroupZ: u32, groupCountX: u32, groupCountY: u32, groupCountZ: u32)
-ProcCmdDispatchBaseKHR :: #type proc "system" (commandBuffer: CommandBuffer, baseGroupX: u32, baseGroupY: u32, baseGroupZ: u32, groupCountX: u32, groupCountY: u32, groupCountZ: u32)
-ProcCmdDispatchIndirect :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize)
-ProcCmdDraw :: #type proc "system" (commandBuffer: CommandBuffer, vertexCount: u32, instanceCount: u32, firstVertex: u32, firstInstance: u32)
-ProcCmdDrawClusterHUAWEI :: #type proc "system" (commandBuffer: CommandBuffer, groupCountX: u32, groupCountY: u32, groupCountZ: u32)
-ProcCmdDrawClusterIndirectHUAWEI :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize)
-ProcCmdDrawIndexed :: #type proc "system" (commandBuffer: CommandBuffer, indexCount: u32, instanceCount: u32, firstIndex: u32, vertexOffset: i32, firstInstance: u32)
-ProcCmdDrawIndexedIndirect :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32)
-ProcCmdDrawIndexedIndirectCount :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawIndexedIndirectCountAMD :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawIndexedIndirectCountKHR :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawIndirect :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32)
-ProcCmdDrawIndirectByteCountEXT :: #type proc "system" (commandBuffer: CommandBuffer, instanceCount: u32, firstInstance: u32, counterBuffer: Buffer, counterBufferOffset: DeviceSize, counterOffset: u32, vertexStride: u32)
-ProcCmdDrawIndirectCount :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawIndirectCountAMD :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawIndirectCountKHR :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawMeshTasksEXT :: #type proc "system" (commandBuffer: CommandBuffer, groupCountX: u32, groupCountY: u32, groupCountZ: u32)
-ProcCmdDrawMeshTasksIndirectCountEXT :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawMeshTasksIndirectCountNV :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32)
-ProcCmdDrawMeshTasksIndirectEXT :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32)
-ProcCmdDrawMeshTasksIndirectNV :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32)
-ProcCmdDrawMeshTasksNV :: #type proc "system" (commandBuffer: CommandBuffer, taskCount: u32, firstTask: u32)
-ProcCmdDrawMultiEXT :: #type proc "system" (commandBuffer: CommandBuffer, drawCount: u32, pVertexInfo: ^MultiDrawInfoEXT, instanceCount: u32, firstInstance: u32, stride: u32)
-ProcCmdDrawMultiIndexedEXT :: #type proc "system" (commandBuffer: CommandBuffer, drawCount: u32, pIndexInfo: ^MultiDrawIndexedInfoEXT, instanceCount: u32, firstInstance: u32, stride: u32, pVertexOffset: ^i32)
-ProcCmdEndConditionalRenderingEXT :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdEndDebugUtilsLabelEXT :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdEndQuery :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32)
-ProcCmdEndQueryIndexedEXT :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, index: u32)
-ProcCmdEndRenderPass :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdEndRenderPass2 :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassEndInfo: ^SubpassEndInfo)
-ProcCmdEndRenderPass2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassEndInfo: ^SubpassEndInfo)
-ProcCmdEndRendering :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdEndRenderingKHR :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdEndTransformFeedbackEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: [^]Buffer, pCounterBufferOffsets: [^]DeviceSize)
-ProcCmdEndVideoCodingKHR :: #type proc "system" (commandBuffer: CommandBuffer, pEndCodingInfo: ^VideoEndCodingInfoKHR)
-ProcCmdExecuteCommands :: #type proc "system" (commandBuffer: CommandBuffer, commandBufferCount: u32, pCommandBuffers: [^]CommandBuffer)
-ProcCmdExecuteGeneratedCommandsNV :: #type proc "system" (commandBuffer: CommandBuffer, isPreprocessed: b32, pGeneratedCommandsInfo: ^GeneratedCommandsInfoNV)
-ProcCmdFillBuffer :: #type proc "system" (commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, size: DeviceSize, data: u32)
-ProcCmdInsertDebugUtilsLabelEXT :: #type proc "system" (commandBuffer: CommandBuffer, pLabelInfo: ^DebugUtilsLabelEXT)
-ProcCmdNextSubpass :: #type proc "system" (commandBuffer: CommandBuffer, contents: SubpassContents)
-ProcCmdNextSubpass2 :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassBeginInfo: ^SubpassBeginInfo, pSubpassEndInfo: ^SubpassEndInfo)
-ProcCmdNextSubpass2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassBeginInfo: ^SubpassBeginInfo, pSubpassEndInfo: ^SubpassEndInfo)
-ProcCmdOpticalFlowExecuteNV :: #type proc "system" (commandBuffer: CommandBuffer, session: OpticalFlowSessionNV, pExecuteInfo: ^OpticalFlowExecuteInfoNV)
-ProcCmdPipelineBarrier :: #type proc "system" (commandBuffer: CommandBuffer, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, dependencyFlags: DependencyFlags, memoryBarrierCount: u32, pMemoryBarriers: [^]MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: [^]BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: [^]ImageMemoryBarrier)
-ProcCmdPipelineBarrier2 :: #type proc "system" (commandBuffer: CommandBuffer, pDependencyInfo: ^DependencyInfo)
-ProcCmdPipelineBarrier2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pDependencyInfo: ^DependencyInfo)
-ProcCmdPreprocessGeneratedCommandsNV :: #type proc "system" (commandBuffer: CommandBuffer, pGeneratedCommandsInfo: ^GeneratedCommandsInfoNV)
-ProcCmdPushConstants :: #type proc "system" (commandBuffer: CommandBuffer, layout: PipelineLayout, stageFlags: ShaderStageFlags, offset: u32, size: u32, pValues: rawptr)
-ProcCmdPushDescriptorSetKHR :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, set: u32, descriptorWriteCount: u32, pDescriptorWrites: [^]WriteDescriptorSet)
-ProcCmdPushDescriptorSetWithTemplateKHR :: #type proc "system" (commandBuffer: CommandBuffer, descriptorUpdateTemplate: DescriptorUpdateTemplate, layout: PipelineLayout, set: u32, pData: rawptr)
-ProcCmdResetEvent :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags)
-ProcCmdResetEvent2 :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags2)
-ProcCmdResetEvent2KHR :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags2)
-ProcCmdResetQueryPool :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32)
-ProcCmdResolveImage :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]ImageResolve)
-ProcCmdResolveImage2 :: #type proc "system" (commandBuffer: CommandBuffer, pResolveImageInfo: ^ResolveImageInfo2)
-ProcCmdResolveImage2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pResolveImageInfo: ^ResolveImageInfo2)
-ProcCmdSetAlphaToCoverageEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, alphaToCoverageEnable: b32)
-ProcCmdSetAlphaToOneEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, alphaToOneEnable: b32)
-ProcCmdSetAttachmentFeedbackLoopEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, aspectMask: ImageAspectFlags)
-ProcCmdSetBlendConstants :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdSetCheckpointNV :: #type proc "system" (commandBuffer: CommandBuffer, pCheckpointMarker: rawptr)
-ProcCmdSetCoarseSampleOrderNV :: #type proc "system" (commandBuffer: CommandBuffer, sampleOrderType: CoarseSampleOrderTypeNV, customSampleOrderCount: u32, pCustomSampleOrders: [^]CoarseSampleOrderCustomNV)
-ProcCmdSetColorBlendAdvancedEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstAttachment: u32, attachmentCount: u32, pColorBlendAdvanced: ^ColorBlendAdvancedEXT)
-ProcCmdSetColorBlendEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstAttachment: u32, attachmentCount: u32, pColorBlendEnables: [^]b32)
-ProcCmdSetColorBlendEquationEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstAttachment: u32, attachmentCount: u32, pColorBlendEquations: [^]ColorBlendEquationEXT)
-ProcCmdSetColorWriteMaskEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstAttachment: u32, attachmentCount: u32, pColorWriteMasks: [^]ColorComponentFlags)
-ProcCmdSetConservativeRasterizationModeEXT :: #type proc "system" (commandBuffer: CommandBuffer, conservativeRasterizationMode: ConservativeRasterizationModeEXT)
-ProcCmdSetCoverageModulationModeNV :: #type proc "system" (commandBuffer: CommandBuffer, coverageModulationMode: CoverageModulationModeNV)
-ProcCmdSetCoverageModulationTableEnableNV :: #type proc "system" (commandBuffer: CommandBuffer, coverageModulationTableEnable: b32)
-ProcCmdSetCoverageModulationTableNV :: #type proc "system" (commandBuffer: CommandBuffer, coverageModulationTableCount: u32, pCoverageModulationTable: [^]f32)
-ProcCmdSetCoverageReductionModeNV :: #type proc "system" (commandBuffer: CommandBuffer, coverageReductionMode: CoverageReductionModeNV)
-ProcCmdSetCoverageToColorEnableNV :: #type proc "system" (commandBuffer: CommandBuffer, coverageToColorEnable: b32)
-ProcCmdSetCoverageToColorLocationNV :: #type proc "system" (commandBuffer: CommandBuffer, coverageToColorLocation: u32)
-ProcCmdSetCullMode :: #type proc "system" (commandBuffer: CommandBuffer, cullMode: CullModeFlags)
-ProcCmdSetCullModeEXT :: #type proc "system" (commandBuffer: CommandBuffer, cullMode: CullModeFlags)
-ProcCmdSetDepthBias :: #type proc "system" (commandBuffer: CommandBuffer, depthBiasConstantFactor: f32, depthBiasClamp: f32, depthBiasSlopeFactor: f32)
-ProcCmdSetDepthBiasEnable :: #type proc "system" (commandBuffer: CommandBuffer, depthBiasEnable: b32)
-ProcCmdSetDepthBiasEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, depthBiasEnable: b32)
-ProcCmdSetDepthBounds :: #type proc "system" (commandBuffer: CommandBuffer, minDepthBounds: f32, maxDepthBounds: f32)
-ProcCmdSetDepthBoundsTestEnable :: #type proc "system" (commandBuffer: CommandBuffer, depthBoundsTestEnable: b32)
-ProcCmdSetDepthBoundsTestEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, depthBoundsTestEnable: b32)
-ProcCmdSetDepthClampEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, depthClampEnable: b32)
-ProcCmdSetDepthClipEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, depthClipEnable: b32)
-ProcCmdSetDepthClipNegativeOneToOneEXT :: #type proc "system" (commandBuffer: CommandBuffer, negativeOneToOne: b32)
-ProcCmdSetDepthCompareOp :: #type proc "system" (commandBuffer: CommandBuffer, depthCompareOp: CompareOp)
-ProcCmdSetDepthCompareOpEXT :: #type proc "system" (commandBuffer: CommandBuffer, depthCompareOp: CompareOp)
-ProcCmdSetDepthTestEnable :: #type proc "system" (commandBuffer: CommandBuffer, depthTestEnable: b32)
-ProcCmdSetDepthTestEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, depthTestEnable: b32)
-ProcCmdSetDepthWriteEnable :: #type proc "system" (commandBuffer: CommandBuffer, depthWriteEnable: b32)
-ProcCmdSetDepthWriteEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, depthWriteEnable: b32)
-ProcCmdSetDescriptorBufferOffsetsEXT :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, firstSet: u32, setCount: u32, pBufferIndices: [^]u32, pOffsets: [^]DeviceSize)
-ProcCmdSetDeviceMask :: #type proc "system" (commandBuffer: CommandBuffer, deviceMask: u32)
-ProcCmdSetDeviceMaskKHR :: #type proc "system" (commandBuffer: CommandBuffer, deviceMask: u32)
-ProcCmdSetDiscardRectangleEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstDiscardRectangle: u32, discardRectangleCount: u32, pDiscardRectangles: [^]Rect2D)
-ProcCmdSetDiscardRectangleEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, discardRectangleEnable: b32)
-ProcCmdSetDiscardRectangleModeEXT :: #type proc "system" (commandBuffer: CommandBuffer, discardRectangleMode: DiscardRectangleModeEXT)
-ProcCmdSetEvent :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags)
-ProcCmdSetEvent2 :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, pDependencyInfo: ^DependencyInfo)
-ProcCmdSetEvent2KHR :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, pDependencyInfo: ^DependencyInfo)
-ProcCmdSetExclusiveScissorEnableNV :: #type proc "system" (commandBuffer: CommandBuffer, firstExclusiveScissor: u32, exclusiveScissorCount: u32, pExclusiveScissorEnables: [^]b32)
-ProcCmdSetExclusiveScissorNV :: #type proc "system" (commandBuffer: CommandBuffer, firstExclusiveScissor: u32, exclusiveScissorCount: u32, pExclusiveScissors: [^]Rect2D)
-ProcCmdSetExtraPrimitiveOverestimationSizeEXT :: #type proc "system" (commandBuffer: CommandBuffer, extraPrimitiveOverestimationSize: f32)
-ProcCmdSetFragmentShadingRateEnumNV :: #type proc "system" (commandBuffer: CommandBuffer, shadingRate: FragmentShadingRateNV)
-ProcCmdSetFragmentShadingRateKHR :: #type proc "system" (commandBuffer: CommandBuffer, pFragmentSize: ^Extent2D)
-ProcCmdSetFrontFace :: #type proc "system" (commandBuffer: CommandBuffer, frontFace: FrontFace)
-ProcCmdSetFrontFaceEXT :: #type proc "system" (commandBuffer: CommandBuffer, frontFace: FrontFace)
-ProcCmdSetLineRasterizationModeEXT :: #type proc "system" (commandBuffer: CommandBuffer, lineRasterizationMode: LineRasterizationModeEXT)
-ProcCmdSetLineStippleEXT :: #type proc "system" (commandBuffer: CommandBuffer, lineStippleFactor: u32, lineStipplePattern: u16)
-ProcCmdSetLineStippleEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, stippledLineEnable: b32)
-ProcCmdSetLineWidth :: #type proc "system" (commandBuffer: CommandBuffer, lineWidth: f32)
-ProcCmdSetLogicOpEXT :: #type proc "system" (commandBuffer: CommandBuffer, logicOp: LogicOp)
-ProcCmdSetLogicOpEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, logicOpEnable: b32)
-ProcCmdSetPatchControlPointsEXT :: #type proc "system" (commandBuffer: CommandBuffer, patchControlPoints: u32)
-ProcCmdSetPerformanceMarkerINTEL :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^PerformanceMarkerInfoINTEL) -> Result
-ProcCmdSetPerformanceOverrideINTEL :: #type proc "system" (commandBuffer: CommandBuffer, pOverrideInfo: ^PerformanceOverrideInfoINTEL) -> Result
-ProcCmdSetPerformanceStreamMarkerINTEL :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^PerformanceStreamMarkerInfoINTEL) -> Result
-ProcCmdSetPolygonModeEXT :: #type proc "system" (commandBuffer: CommandBuffer, polygonMode: PolygonMode)
-ProcCmdSetPrimitiveRestartEnable :: #type proc "system" (commandBuffer: CommandBuffer, primitiveRestartEnable: b32)
-ProcCmdSetPrimitiveRestartEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, primitiveRestartEnable: b32)
-ProcCmdSetPrimitiveTopology :: #type proc "system" (commandBuffer: CommandBuffer, primitiveTopology: PrimitiveTopology)
-ProcCmdSetPrimitiveTopologyEXT :: #type proc "system" (commandBuffer: CommandBuffer, primitiveTopology: PrimitiveTopology)
-ProcCmdSetProvokingVertexModeEXT :: #type proc "system" (commandBuffer: CommandBuffer, provokingVertexMode: ProvokingVertexModeEXT)
-ProcCmdSetRasterizationSamplesEXT :: #type proc "system" (commandBuffer: CommandBuffer, rasterizationSamples: SampleCountFlags)
-ProcCmdSetRasterizationStreamEXT :: #type proc "system" (commandBuffer: CommandBuffer, rasterizationStream: u32)
-ProcCmdSetRasterizerDiscardEnable :: #type proc "system" (commandBuffer: CommandBuffer, rasterizerDiscardEnable: b32)
-ProcCmdSetRasterizerDiscardEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, rasterizerDiscardEnable: b32)
-ProcCmdSetRayTracingPipelineStackSizeKHR :: #type proc "system" (commandBuffer: CommandBuffer, pipelineStackSize: u32)
-ProcCmdSetRepresentativeFragmentTestEnableNV :: #type proc "system" (commandBuffer: CommandBuffer, representativeFragmentTestEnable: b32)
-ProcCmdSetSampleLocationsEXT :: #type proc "system" (commandBuffer: CommandBuffer, pSampleLocationsInfo: ^SampleLocationsInfoEXT)
-ProcCmdSetSampleLocationsEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, sampleLocationsEnable: b32)
-ProcCmdSetSampleMaskEXT :: #type proc "system" (commandBuffer: CommandBuffer, samples: SampleCountFlags, pSampleMask: ^SampleMask)
-ProcCmdSetScissor :: #type proc "system" (commandBuffer: CommandBuffer, firstScissor: u32, scissorCount: u32, pScissors: [^]Rect2D)
-ProcCmdSetScissorWithCount :: #type proc "system" (commandBuffer: CommandBuffer, scissorCount: u32, pScissors: [^]Rect2D)
-ProcCmdSetScissorWithCountEXT :: #type proc "system" (commandBuffer: CommandBuffer, scissorCount: u32, pScissors: [^]Rect2D)
-ProcCmdSetShadingRateImageEnableNV :: #type proc "system" (commandBuffer: CommandBuffer, shadingRateImageEnable: b32)
-ProcCmdSetStencilCompareMask :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, compareMask: u32)
-ProcCmdSetStencilOp :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, failOp: StencilOp, passOp: StencilOp, depthFailOp: StencilOp, compareOp: CompareOp)
-ProcCmdSetStencilOpEXT :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, failOp: StencilOp, passOp: StencilOp, depthFailOp: StencilOp, compareOp: CompareOp)
-ProcCmdSetStencilReference :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, reference: u32)
-ProcCmdSetStencilTestEnable :: #type proc "system" (commandBuffer: CommandBuffer, stencilTestEnable: b32)
-ProcCmdSetStencilTestEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, stencilTestEnable: b32)
-ProcCmdSetStencilWriteMask :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, writeMask: u32)
-ProcCmdSetTessellationDomainOriginEXT :: #type proc "system" (commandBuffer: CommandBuffer, domainOrigin: TessellationDomainOrigin)
-ProcCmdSetVertexInputEXT :: #type proc "system" (commandBuffer: CommandBuffer, vertexBindingDescriptionCount: u32, pVertexBindingDescriptions: [^]VertexInputBindingDescription2EXT, vertexAttributeDescriptionCount: u32, pVertexAttributeDescriptions: [^]VertexInputAttributeDescription2EXT)
-ProcCmdSetViewport :: #type proc "system" (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewports: [^]Viewport)
-ProcCmdSetViewportShadingRatePaletteNV :: #type proc "system" (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pShadingRatePalettes: [^]ShadingRatePaletteNV)
-ProcCmdSetViewportSwizzleNV :: #type proc "system" (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewportSwizzles: [^]ViewportSwizzleNV)
-ProcCmdSetViewportWScalingEnableNV :: #type proc "system" (commandBuffer: CommandBuffer, viewportWScalingEnable: b32)
-ProcCmdSetViewportWScalingNV :: #type proc "system" (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewportWScalings: [^]ViewportWScalingNV)
-ProcCmdSetViewportWithCount :: #type proc "system" (commandBuffer: CommandBuffer, viewportCount: u32, pViewports: [^]Viewport)
-ProcCmdSetViewportWithCountEXT :: #type proc "system" (commandBuffer: CommandBuffer, viewportCount: u32, pViewports: [^]Viewport)
-ProcCmdSubpassShadingHUAWEI :: #type proc "system" (commandBuffer: CommandBuffer)
-ProcCmdTraceRaysIndirect2KHR :: #type proc "system" (commandBuffer: CommandBuffer, indirectDeviceAddress: DeviceAddress)
-ProcCmdTraceRaysIndirectKHR :: #type proc "system" (commandBuffer: CommandBuffer, pRaygenShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pMissShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pHitShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pCallableShaderBindingTable: [^]StridedDeviceAddressRegionKHR, indirectDeviceAddress: DeviceAddress)
-ProcCmdTraceRaysKHR :: #type proc "system" (commandBuffer: CommandBuffer, pRaygenShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pMissShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pHitShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pCallableShaderBindingTable: [^]StridedDeviceAddressRegionKHR, width: u32, height: u32, depth: u32)
-ProcCmdTraceRaysNV :: #type proc "system" (commandBuffer: CommandBuffer, raygenShaderBindingTableBuffer: Buffer, raygenShaderBindingOffset: DeviceSize, missShaderBindingTableBuffer: Buffer, missShaderBindingOffset: DeviceSize, missShaderBindingStride: DeviceSize, hitShaderBindingTableBuffer: Buffer, hitShaderBindingOffset: DeviceSize, hitShaderBindingStride: DeviceSize, callableShaderBindingTableBuffer: Buffer, callableShaderBindingOffset: DeviceSize, callableShaderBindingStride: DeviceSize, width: u32, height: u32, depth: u32)
-ProcCmdUpdateBuffer :: #type proc "system" (commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, dataSize: DeviceSize, pData: rawptr)
-ProcCmdWaitEvents :: #type proc "system" (commandBuffer: CommandBuffer, eventCount: u32, pEvents: [^]Event, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, memoryBarrierCount: u32, pMemoryBarriers: [^]MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: [^]BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: [^]ImageMemoryBarrier)
-ProcCmdWaitEvents2 :: #type proc "system" (commandBuffer: CommandBuffer, eventCount: u32, pEvents: [^]Event, pDependencyInfos: [^]DependencyInfo)
-ProcCmdWaitEvents2KHR :: #type proc "system" (commandBuffer: CommandBuffer, eventCount: u32, pEvents: [^]Event, pDependencyInfos: [^]DependencyInfo)
-ProcCmdWriteAccelerationStructuresPropertiesKHR :: #type proc "system" (commandBuffer: CommandBuffer, accelerationStructureCount: u32, pAccelerationStructures: [^]AccelerationStructureKHR, queryType: QueryType, queryPool: QueryPool, firstQuery: u32)
-ProcCmdWriteAccelerationStructuresPropertiesNV :: #type proc "system" (commandBuffer: CommandBuffer, accelerationStructureCount: u32, pAccelerationStructures: [^]AccelerationStructureNV, queryType: QueryType, queryPool: QueryPool, firstQuery: u32)
-ProcCmdWriteBufferMarker2AMD :: #type proc "system" (commandBuffer: CommandBuffer, stage: PipelineStageFlags2, dstBuffer: Buffer, dstOffset: DeviceSize, marker: u32)
-ProcCmdWriteBufferMarkerAMD :: #type proc "system" (commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlags, dstBuffer: Buffer, dstOffset: DeviceSize, marker: u32)
-ProcCmdWriteMicromapsPropertiesEXT :: #type proc "system" (commandBuffer: CommandBuffer, micromapCount: u32, pMicromaps: [^]MicromapEXT, queryType: QueryType, queryPool: QueryPool, firstQuery: u32)
-ProcCmdWriteTimestamp :: #type proc "system" (commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlags, queryPool: QueryPool, query: u32)
-ProcCmdWriteTimestamp2 :: #type proc "system" (commandBuffer: CommandBuffer, stage: PipelineStageFlags2, queryPool: QueryPool, query: u32)
-ProcCmdWriteTimestamp2KHR :: #type proc "system" (commandBuffer: CommandBuffer, stage: PipelineStageFlags2, queryPool: QueryPool, query: u32)
-ProcCompileDeferredNV :: #type proc "system" (device: Device, pipeline: Pipeline, shader: u32) -> Result
-ProcCopyAccelerationStructureKHR :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyAccelerationStructureInfoKHR) -> Result
-ProcCopyAccelerationStructureToMemoryKHR :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyAccelerationStructureToMemoryInfoKHR) -> Result
-ProcCopyMemoryToAccelerationStructureKHR :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyMemoryToAccelerationStructureInfoKHR) -> Result
-ProcCopyMemoryToMicromapEXT :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyMemoryToMicromapInfoEXT) -> Result
-ProcCopyMicromapEXT :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyMicromapInfoEXT) -> Result
-ProcCopyMicromapToMemoryEXT :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyMicromapToMemoryInfoEXT) -> Result
-ProcCreateAccelerationStructureKHR :: #type proc "system" (device: Device, pCreateInfo: ^AccelerationStructureCreateInfoKHR, pAllocator: ^AllocationCallbacks, pAccelerationStructure: ^AccelerationStructureKHR) -> Result
-ProcCreateAccelerationStructureNV :: #type proc "system" (device: Device, pCreateInfo: ^AccelerationStructureCreateInfoNV, pAllocator: ^AllocationCallbacks, pAccelerationStructure: ^AccelerationStructureNV) -> Result
-ProcCreateBuffer :: #type proc "system" (device: Device, pCreateInfo: ^BufferCreateInfo, pAllocator: ^AllocationCallbacks, pBuffer: ^Buffer) -> Result
-ProcCreateBufferView :: #type proc "system" (device: Device, pCreateInfo: ^BufferViewCreateInfo, pAllocator: ^AllocationCallbacks, pView: ^BufferView) -> Result
-ProcCreateCommandPool :: #type proc "system" (device: Device, pCreateInfo: ^CommandPoolCreateInfo, pAllocator: ^AllocationCallbacks, pCommandPool: ^CommandPool) -> Result
-ProcCreateComputePipelines :: #type proc "system" (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]ComputePipelineCreateInfo, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result
-ProcCreateCuFunctionNVX :: #type proc "system" (device: Device, pCreateInfo: ^CuFunctionCreateInfoNVX, pAllocator: ^AllocationCallbacks, pFunction: ^CuFunctionNVX) -> Result
-ProcCreateCuModuleNVX :: #type proc "system" (device: Device, pCreateInfo: ^CuModuleCreateInfoNVX, pAllocator: ^AllocationCallbacks, pModule: ^CuModuleNVX) -> Result
-ProcCreateDeferredOperationKHR :: #type proc "system" (device: Device, pAllocator: ^AllocationCallbacks, pDeferredOperation: ^DeferredOperationKHR) -> Result
-ProcCreateDescriptorPool :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorPoolCreateInfo, pAllocator: ^AllocationCallbacks, pDescriptorPool: ^DescriptorPool) -> Result
-ProcCreateDescriptorSetLayout :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorSetLayoutCreateInfo, pAllocator: ^AllocationCallbacks, pSetLayout: ^DescriptorSetLayout) -> Result
-ProcCreateDescriptorUpdateTemplate :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorUpdateTemplateCreateInfo, pAllocator: ^AllocationCallbacks, pDescriptorUpdateTemplate: ^DescriptorUpdateTemplate) -> Result
-ProcCreateDescriptorUpdateTemplateKHR :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorUpdateTemplateCreateInfo, pAllocator: ^AllocationCallbacks, pDescriptorUpdateTemplate: ^DescriptorUpdateTemplate) -> Result
-ProcCreateEvent :: #type proc "system" (device: Device, pCreateInfo: ^EventCreateInfo, pAllocator: ^AllocationCallbacks, pEvent: ^Event) -> Result
-ProcCreateFence :: #type proc "system" (device: Device, pCreateInfo: ^FenceCreateInfo, pAllocator: ^AllocationCallbacks, pFence: ^Fence) -> Result
-ProcCreateFramebuffer :: #type proc "system" (device: Device, pCreateInfo: ^FramebufferCreateInfo, pAllocator: ^AllocationCallbacks, pFramebuffer: ^Framebuffer) -> Result
-ProcCreateGraphicsPipelines :: #type proc "system" (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]GraphicsPipelineCreateInfo, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result
-ProcCreateImage :: #type proc "system" (device: Device, pCreateInfo: ^ImageCreateInfo, pAllocator: ^AllocationCallbacks, pImage: ^Image) -> Result
-ProcCreateImageView :: #type proc "system" (device: Device, pCreateInfo: ^ImageViewCreateInfo, pAllocator: ^AllocationCallbacks, pView: ^ImageView) -> Result
-ProcCreateIndirectCommandsLayoutNV :: #type proc "system" (device: Device, pCreateInfo: ^IndirectCommandsLayoutCreateInfoNV, pAllocator: ^AllocationCallbacks, pIndirectCommandsLayout: ^IndirectCommandsLayoutNV) -> Result
-ProcCreateMicromapEXT :: #type proc "system" (device: Device, pCreateInfo: ^MicromapCreateInfoEXT, pAllocator: ^AllocationCallbacks, pMicromap: ^MicromapEXT) -> Result
-ProcCreateOpticalFlowSessionNV :: #type proc "system" (device: Device, pCreateInfo: ^OpticalFlowSessionCreateInfoNV, pAllocator: ^AllocationCallbacks, pSession: ^OpticalFlowSessionNV) -> Result
-ProcCreatePipelineCache :: #type proc "system" (device: Device, pCreateInfo: ^PipelineCacheCreateInfo, pAllocator: ^AllocationCallbacks, pPipelineCache: ^PipelineCache) -> Result
-ProcCreatePipelineLayout :: #type proc "system" (device: Device, pCreateInfo: ^PipelineLayoutCreateInfo, pAllocator: ^AllocationCallbacks, pPipelineLayout: ^PipelineLayout) -> Result
-ProcCreatePrivateDataSlot :: #type proc "system" (device: Device, pCreateInfo: ^PrivateDataSlotCreateInfo, pAllocator: ^AllocationCallbacks, pPrivateDataSlot: ^PrivateDataSlot) -> Result
-ProcCreatePrivateDataSlotEXT :: #type proc "system" (device: Device, pCreateInfo: ^PrivateDataSlotCreateInfo, pAllocator: ^AllocationCallbacks, pPrivateDataSlot: ^PrivateDataSlot) -> Result
-ProcCreateQueryPool :: #type proc "system" (device: Device, pCreateInfo: ^QueryPoolCreateInfo, pAllocator: ^AllocationCallbacks, pQueryPool: ^QueryPool) -> Result
-ProcCreateRayTracingPipelinesKHR :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]RayTracingPipelineCreateInfoKHR, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result
-ProcCreateRayTracingPipelinesNV :: #type proc "system" (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]RayTracingPipelineCreateInfoNV, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result
-ProcCreateRenderPass :: #type proc "system" (device: Device, pCreateInfo: ^RenderPassCreateInfo, pAllocator: ^AllocationCallbacks, pRenderPass: [^]RenderPass) -> Result
-ProcCreateRenderPass2 :: #type proc "system" (device: Device, pCreateInfo: ^RenderPassCreateInfo2, pAllocator: ^AllocationCallbacks, pRenderPass: [^]RenderPass) -> Result
-ProcCreateRenderPass2KHR :: #type proc "system" (device: Device, pCreateInfo: ^RenderPassCreateInfo2, pAllocator: ^AllocationCallbacks, pRenderPass: [^]RenderPass) -> Result
-ProcCreateSampler :: #type proc "system" (device: Device, pCreateInfo: ^SamplerCreateInfo, pAllocator: ^AllocationCallbacks, pSampler: ^Sampler) -> Result
-ProcCreateSamplerYcbcrConversion :: #type proc "system" (device: Device, pCreateInfo: ^SamplerYcbcrConversionCreateInfo, pAllocator: ^AllocationCallbacks, pYcbcrConversion: ^SamplerYcbcrConversion) -> Result
-ProcCreateSamplerYcbcrConversionKHR :: #type proc "system" (device: Device, pCreateInfo: ^SamplerYcbcrConversionCreateInfo, pAllocator: ^AllocationCallbacks, pYcbcrConversion: ^SamplerYcbcrConversion) -> Result
-ProcCreateSemaphore :: #type proc "system" (device: Device, pCreateInfo: ^SemaphoreCreateInfo, pAllocator: ^AllocationCallbacks, pSemaphore: ^Semaphore) -> Result
-ProcCreateShaderModule :: #type proc "system" (device: Device, pCreateInfo: ^ShaderModuleCreateInfo, pAllocator: ^AllocationCallbacks, pShaderModule: ^ShaderModule) -> Result
-ProcCreateShadersEXT :: #type proc "system" (device: Device, createInfoCount: u32, pCreateInfos: [^]ShaderCreateInfoEXT, pAllocator: ^AllocationCallbacks, pShaders: [^]ShaderEXT) -> Result
-ProcCreateSharedSwapchainsKHR :: #type proc "system" (device: Device, swapchainCount: u32, pCreateInfos: [^]SwapchainCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSwapchains: [^]SwapchainKHR) -> Result
-ProcCreateSwapchainKHR :: #type proc "system" (device: Device, pCreateInfo: ^SwapchainCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSwapchain: ^SwapchainKHR) -> Result
-ProcCreateValidationCacheEXT :: #type proc "system" (device: Device, pCreateInfo: ^ValidationCacheCreateInfoEXT, pAllocator: ^AllocationCallbacks, pValidationCache: ^ValidationCacheEXT) -> Result
-ProcCreateVideoSessionKHR :: #type proc "system" (device: Device, pCreateInfo: ^VideoSessionCreateInfoKHR, pAllocator: ^AllocationCallbacks, pVideoSession: ^VideoSessionKHR) -> Result
-ProcCreateVideoSessionParametersKHR :: #type proc "system" (device: Device, pCreateInfo: ^VideoSessionParametersCreateInfoKHR, pAllocator: ^AllocationCallbacks, pVideoSessionParameters: [^]VideoSessionParametersKHR) -> Result
-ProcDebugMarkerSetObjectNameEXT :: #type proc "system" (device: Device, pNameInfo: ^DebugMarkerObjectNameInfoEXT) -> Result
-ProcDebugMarkerSetObjectTagEXT :: #type proc "system" (device: Device, pTagInfo: ^DebugMarkerObjectTagInfoEXT) -> Result
-ProcDeferredOperationJoinKHR :: #type proc "system" (device: Device, operation: DeferredOperationKHR) -> Result
-ProcDestroyAccelerationStructureKHR :: #type proc "system" (device: Device, accelerationStructure: AccelerationStructureKHR, pAllocator: ^AllocationCallbacks)
-ProcDestroyAccelerationStructureNV :: #type proc "system" (device: Device, accelerationStructure: AccelerationStructureNV, pAllocator: ^AllocationCallbacks)
-ProcDestroyBuffer :: #type proc "system" (device: Device, buffer: Buffer, pAllocator: ^AllocationCallbacks)
-ProcDestroyBufferView :: #type proc "system" (device: Device, bufferView: BufferView, pAllocator: ^AllocationCallbacks)
-ProcDestroyCommandPool :: #type proc "system" (device: Device, commandPool: CommandPool, pAllocator: ^AllocationCallbacks)
-ProcDestroyCuFunctionNVX :: #type proc "system" (device: Device, function: CuFunctionNVX, pAllocator: ^AllocationCallbacks)
-ProcDestroyCuModuleNVX :: #type proc "system" (device: Device, module: CuModuleNVX, pAllocator: ^AllocationCallbacks)
-ProcDestroyDeferredOperationKHR :: #type proc "system" (device: Device, operation: DeferredOperationKHR, pAllocator: ^AllocationCallbacks)
-ProcDestroyDescriptorPool :: #type proc "system" (device: Device, descriptorPool: DescriptorPool, pAllocator: ^AllocationCallbacks)
-ProcDestroyDescriptorSetLayout :: #type proc "system" (device: Device, descriptorSetLayout: DescriptorSetLayout, pAllocator: ^AllocationCallbacks)
-ProcDestroyDescriptorUpdateTemplate :: #type proc "system" (device: Device, descriptorUpdateTemplate: DescriptorUpdateTemplate, pAllocator: ^AllocationCallbacks)
-ProcDestroyDescriptorUpdateTemplateKHR :: #type proc "system" (device: Device, descriptorUpdateTemplate: DescriptorUpdateTemplate, pAllocator: ^AllocationCallbacks)
-ProcDestroyDevice :: #type proc "system" (device: Device, pAllocator: ^AllocationCallbacks)
-ProcDestroyEvent :: #type proc "system" (device: Device, event: Event, pAllocator: ^AllocationCallbacks)
-ProcDestroyFence :: #type proc "system" (device: Device, fence: Fence, pAllocator: ^AllocationCallbacks)
-ProcDestroyFramebuffer :: #type proc "system" (device: Device, framebuffer: Framebuffer, pAllocator: ^AllocationCallbacks)
-ProcDestroyImage :: #type proc "system" (device: Device, image: Image, pAllocator: ^AllocationCallbacks)
-ProcDestroyImageView :: #type proc "system" (device: Device, imageView: ImageView, pAllocator: ^AllocationCallbacks)
-ProcDestroyIndirectCommandsLayoutNV :: #type proc "system" (device: Device, indirectCommandsLayout: IndirectCommandsLayoutNV, pAllocator: ^AllocationCallbacks)
-ProcDestroyMicromapEXT :: #type proc "system" (device: Device, micromap: MicromapEXT, pAllocator: ^AllocationCallbacks)
-ProcDestroyOpticalFlowSessionNV :: #type proc "system" (device: Device, session: OpticalFlowSessionNV, pAllocator: ^AllocationCallbacks)
-ProcDestroyPipeline :: #type proc "system" (device: Device, pipeline: Pipeline, pAllocator: ^AllocationCallbacks)
-ProcDestroyPipelineCache :: #type proc "system" (device: Device, pipelineCache: PipelineCache, pAllocator: ^AllocationCallbacks)
-ProcDestroyPipelineLayout :: #type proc "system" (device: Device, pipelineLayout: PipelineLayout, pAllocator: ^AllocationCallbacks)
-ProcDestroyPrivateDataSlot :: #type proc "system" (device: Device, privateDataSlot: PrivateDataSlot, pAllocator: ^AllocationCallbacks)
-ProcDestroyPrivateDataSlotEXT :: #type proc "system" (device: Device, privateDataSlot: PrivateDataSlot, pAllocator: ^AllocationCallbacks)
-ProcDestroyQueryPool :: #type proc "system" (device: Device, queryPool: QueryPool, pAllocator: ^AllocationCallbacks)
-ProcDestroyRenderPass :: #type proc "system" (device: Device, renderPass: RenderPass, pAllocator: ^AllocationCallbacks)
-ProcDestroySampler :: #type proc "system" (device: Device, sampler: Sampler, pAllocator: ^AllocationCallbacks)
-ProcDestroySamplerYcbcrConversion :: #type proc "system" (device: Device, ycbcrConversion: SamplerYcbcrConversion, pAllocator: ^AllocationCallbacks)
-ProcDestroySamplerYcbcrConversionKHR :: #type proc "system" (device: Device, ycbcrConversion: SamplerYcbcrConversion, pAllocator: ^AllocationCallbacks)
-ProcDestroySemaphore :: #type proc "system" (device: Device, semaphore: Semaphore, pAllocator: ^AllocationCallbacks)
-ProcDestroyShaderEXT :: #type proc "system" (device: Device, shader: ShaderEXT, pAllocator: ^AllocationCallbacks)
-ProcDestroyShaderModule :: #type proc "system" (device: Device, shaderModule: ShaderModule, pAllocator: ^AllocationCallbacks)
-ProcDestroySwapchainKHR :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pAllocator: ^AllocationCallbacks)
-ProcDestroyValidationCacheEXT :: #type proc "system" (device: Device, validationCache: ValidationCacheEXT, pAllocator: ^AllocationCallbacks)
-ProcDestroyVideoSessionKHR :: #type proc "system" (device: Device, videoSession: VideoSessionKHR, pAllocator: ^AllocationCallbacks)
-ProcDestroyVideoSessionParametersKHR :: #type proc "system" (device: Device, videoSessionParameters: VideoSessionParametersKHR, pAllocator: ^AllocationCallbacks)
-ProcDeviceWaitIdle :: #type proc "system" (device: Device) -> Result
-ProcDisplayPowerControlEXT :: #type proc "system" (device: Device, display: DisplayKHR, pDisplayPowerInfo: ^DisplayPowerInfoEXT) -> Result
-ProcEndCommandBuffer :: #type proc "system" (commandBuffer: CommandBuffer) -> Result
-ProcExportMetalObjectsEXT :: #type proc "system" (device: Device, pMetalObjectsInfo: ^ExportMetalObjectsInfoEXT)
-ProcFlushMappedMemoryRanges :: #type proc "system" (device: Device, memoryRangeCount: u32, pMemoryRanges: [^]MappedMemoryRange) -> Result
-ProcFreeCommandBuffers :: #type proc "system" (device: Device, commandPool: CommandPool, commandBufferCount: u32, pCommandBuffers: [^]CommandBuffer)
-ProcFreeDescriptorSets :: #type proc "system" (device: Device, descriptorPool: DescriptorPool, descriptorSetCount: u32, pDescriptorSets: [^]DescriptorSet) -> Result
-ProcFreeMemory :: #type proc "system" (device: Device, memory: DeviceMemory, pAllocator: ^AllocationCallbacks)
-ProcGetAccelerationStructureBuildSizesKHR :: #type proc "system" (device: Device, buildType: AccelerationStructureBuildTypeKHR, pBuildInfo: ^AccelerationStructureBuildGeometryInfoKHR, pMaxPrimitiveCounts: [^]u32, pSizeInfo: ^AccelerationStructureBuildSizesInfoKHR)
-ProcGetAccelerationStructureDeviceAddressKHR :: #type proc "system" (device: Device, pInfo: ^AccelerationStructureDeviceAddressInfoKHR) -> DeviceAddress
-ProcGetAccelerationStructureHandleNV :: #type proc "system" (device: Device, accelerationStructure: AccelerationStructureNV, dataSize: int, pData: rawptr) -> Result
-ProcGetAccelerationStructureMemoryRequirementsNV :: #type proc "system" (device: Device, pInfo: ^AccelerationStructureMemoryRequirementsInfoNV, pMemoryRequirements: [^]MemoryRequirements2KHR)
-ProcGetAccelerationStructureOpaqueCaptureDescriptorDataEXT :: #type proc "system" (device: Device, pInfo: ^AccelerationStructureCaptureDescriptorDataInfoEXT, pData: rawptr) -> Result
-ProcGetBufferDeviceAddress :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> DeviceAddress
-ProcGetBufferDeviceAddressEXT :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> DeviceAddress
-ProcGetBufferDeviceAddressKHR :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> DeviceAddress
-ProcGetBufferMemoryRequirements :: #type proc "system" (device: Device, buffer: Buffer, pMemoryRequirements: [^]MemoryRequirements)
-ProcGetBufferMemoryRequirements2 :: #type proc "system" (device: Device, pInfo: ^BufferMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetBufferMemoryRequirements2KHR :: #type proc "system" (device: Device, pInfo: ^BufferMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetBufferOpaqueCaptureAddress :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> u64
-ProcGetBufferOpaqueCaptureAddressKHR :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> u64
-ProcGetBufferOpaqueCaptureDescriptorDataEXT :: #type proc "system" (device: Device, pInfo: ^BufferCaptureDescriptorDataInfoEXT, pData: rawptr) -> Result
-ProcGetCalibratedTimestampsEXT :: #type proc "system" (device: Device, timestampCount: u32, pTimestampInfos: [^]CalibratedTimestampInfoEXT, pTimestamps: [^]u64, pMaxDeviation: ^u64) -> Result
-ProcGetDeferredOperationMaxConcurrencyKHR :: #type proc "system" (device: Device, operation: DeferredOperationKHR) -> u32
-ProcGetDeferredOperationResultKHR :: #type proc "system" (device: Device, operation: DeferredOperationKHR) -> Result
-ProcGetDescriptorEXT :: #type proc "system" (device: Device, pDescriptorInfo: ^DescriptorGetInfoEXT, dataSize: int, pDescriptor: rawptr)
-ProcGetDescriptorSetHostMappingVALVE :: #type proc "system" (device: Device, descriptorSet: DescriptorSet, ppData: ^rawptr)
-ProcGetDescriptorSetLayoutBindingOffsetEXT :: #type proc "system" (device: Device, layout: DescriptorSetLayout, binding: u32, pOffset: ^DeviceSize)
-ProcGetDescriptorSetLayoutHostMappingInfoVALVE :: #type proc "system" (device: Device, pBindingReference: ^DescriptorSetBindingReferenceVALVE, pHostMapping: ^DescriptorSetLayoutHostMappingInfoVALVE)
-ProcGetDescriptorSetLayoutSizeEXT :: #type proc "system" (device: Device, layout: DescriptorSetLayout, pLayoutSizeInBytes: [^]DeviceSize)
-ProcGetDescriptorSetLayoutSupport :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorSetLayoutCreateInfo, pSupport: ^DescriptorSetLayoutSupport)
-ProcGetDescriptorSetLayoutSupportKHR :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorSetLayoutCreateInfo, pSupport: ^DescriptorSetLayoutSupport)
-ProcGetDeviceAccelerationStructureCompatibilityKHR :: #type proc "system" (device: Device, pVersionInfo: ^AccelerationStructureVersionInfoKHR, pCompatibility: ^AccelerationStructureCompatibilityKHR)
-ProcGetDeviceBufferMemoryRequirements :: #type proc "system" (device: Device, pInfo: ^DeviceBufferMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetDeviceBufferMemoryRequirementsKHR :: #type proc "system" (device: Device, pInfo: ^DeviceBufferMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetDeviceFaultInfoEXT :: #type proc "system" (device: Device, pFaultCounts: [^]DeviceFaultCountsEXT, pFaultInfo: ^DeviceFaultInfoEXT) -> Result
-ProcGetDeviceGroupPeerMemoryFeatures :: #type proc "system" (device: Device, heapIndex: u32, localDeviceIndex: u32, remoteDeviceIndex: u32, pPeerMemoryFeatures: [^]PeerMemoryFeatureFlags)
-ProcGetDeviceGroupPeerMemoryFeaturesKHR :: #type proc "system" (device: Device, heapIndex: u32, localDeviceIndex: u32, remoteDeviceIndex: u32, pPeerMemoryFeatures: [^]PeerMemoryFeatureFlags)
-ProcGetDeviceGroupPresentCapabilitiesKHR :: #type proc "system" (device: Device, pDeviceGroupPresentCapabilities: [^]DeviceGroupPresentCapabilitiesKHR) -> Result
-ProcGetDeviceGroupSurfacePresentModes2EXT :: #type proc "system" (device: Device, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pModes: [^]DeviceGroupPresentModeFlagsKHR) -> Result
-ProcGetDeviceGroupSurfacePresentModesKHR :: #type proc "system" (device: Device, surface: SurfaceKHR, pModes: [^]DeviceGroupPresentModeFlagsKHR) -> Result
-ProcGetDeviceImageMemoryRequirements :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetDeviceImageMemoryRequirementsKHR :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetDeviceImageSparseMemoryRequirements :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2)
-ProcGetDeviceImageSparseMemoryRequirementsKHR :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2)
-ProcGetDeviceMemoryCommitment :: #type proc "system" (device: Device, memory: DeviceMemory, pCommittedMemoryInBytes: [^]DeviceSize)
-ProcGetDeviceMemoryOpaqueCaptureAddress :: #type proc "system" (device: Device, pInfo: ^DeviceMemoryOpaqueCaptureAddressInfo) -> u64
-ProcGetDeviceMemoryOpaqueCaptureAddressKHR :: #type proc "system" (device: Device, pInfo: ^DeviceMemoryOpaqueCaptureAddressInfo) -> u64
-ProcGetDeviceMicromapCompatibilityEXT :: #type proc "system" (device: Device, pVersionInfo: ^MicromapVersionInfoEXT, pCompatibility: ^AccelerationStructureCompatibilityKHR)
-ProcGetDeviceProcAddr :: #type proc "system" (device: Device, pName: cstring) -> ProcVoidFunction
-ProcGetDeviceQueue :: #type proc "system" (device: Device, queueFamilyIndex: u32, queueIndex: u32, pQueue: ^Queue)
-ProcGetDeviceQueue2 :: #type proc "system" (device: Device, pQueueInfo: ^DeviceQueueInfo2, pQueue: ^Queue)
-ProcGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI :: #type proc "system" (device: Device, renderpass: RenderPass, pMaxWorkgroupSize: ^Extent2D) -> Result
-ProcGetDynamicRenderingTilePropertiesQCOM :: #type proc "system" (device: Device, pRenderingInfo: ^RenderingInfo, pProperties: [^]TilePropertiesQCOM) -> Result
-ProcGetEventStatus :: #type proc "system" (device: Device, event: Event) -> Result
-ProcGetFenceFdKHR :: #type proc "system" (device: Device, pGetFdInfo: ^FenceGetFdInfoKHR, pFd: ^c.int) -> Result
-ProcGetFenceStatus :: #type proc "system" (device: Device, fence: Fence) -> Result
-ProcGetFenceWin32HandleKHR :: #type proc "system" (device: Device, pGetWin32HandleInfo: ^FenceGetWin32HandleInfoKHR, pHandle: ^HANDLE) -> Result
-ProcGetFramebufferTilePropertiesQCOM :: #type proc "system" (device: Device, framebuffer: Framebuffer, pPropertiesCount: ^u32, pProperties: [^]TilePropertiesQCOM) -> Result
-ProcGetGeneratedCommandsMemoryRequirementsNV :: #type proc "system" (device: Device, pInfo: ^GeneratedCommandsMemoryRequirementsInfoNV, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetImageDrmFormatModifierPropertiesEXT :: #type proc "system" (device: Device, image: Image, pProperties: [^]ImageDrmFormatModifierPropertiesEXT) -> Result
-ProcGetImageMemoryRequirements :: #type proc "system" (device: Device, image: Image, pMemoryRequirements: [^]MemoryRequirements)
-ProcGetImageMemoryRequirements2 :: #type proc "system" (device: Device, pInfo: ^ImageMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetImageMemoryRequirements2KHR :: #type proc "system" (device: Device, pInfo: ^ImageMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2)
-ProcGetImageOpaqueCaptureDescriptorDataEXT :: #type proc "system" (device: Device, pInfo: ^ImageCaptureDescriptorDataInfoEXT, pData: rawptr) -> Result
-ProcGetImageSparseMemoryRequirements :: #type proc "system" (device: Device, image: Image, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements)
-ProcGetImageSparseMemoryRequirements2 :: #type proc "system" (device: Device, pInfo: ^ImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2)
-ProcGetImageSparseMemoryRequirements2KHR :: #type proc "system" (device: Device, pInfo: ^ImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2)
-ProcGetImageSubresourceLayout :: #type proc "system" (device: Device, image: Image, pSubresource: ^ImageSubresource, pLayout: ^SubresourceLayout)
-ProcGetImageSubresourceLayout2EXT :: #type proc "system" (device: Device, image: Image, pSubresource: ^ImageSubresource2EXT, pLayout: ^SubresourceLayout2EXT)
-ProcGetImageViewAddressNVX :: #type proc "system" (device: Device, imageView: ImageView, pProperties: [^]ImageViewAddressPropertiesNVX) -> Result
-ProcGetImageViewHandleNVX :: #type proc "system" (device: Device, pInfo: ^ImageViewHandleInfoNVX) -> u32
-ProcGetImageViewOpaqueCaptureDescriptorDataEXT :: #type proc "system" (device: Device, pInfo: ^ImageViewCaptureDescriptorDataInfoEXT, pData: rawptr) -> Result
-ProcGetMemoryFdKHR :: #type proc "system" (device: Device, pGetFdInfo: ^MemoryGetFdInfoKHR, pFd: ^c.int) -> Result
-ProcGetMemoryFdPropertiesKHR :: #type proc "system" (device: Device, handleType: ExternalMemoryHandleTypeFlags, fd: c.int, pMemoryFdProperties: [^]MemoryFdPropertiesKHR) -> Result
-ProcGetMemoryHostPointerPropertiesEXT :: #type proc "system" (device: Device, handleType: ExternalMemoryHandleTypeFlags, pHostPointer: rawptr, pMemoryHostPointerProperties: [^]MemoryHostPointerPropertiesEXT) -> Result
-ProcGetMemoryRemoteAddressNV :: #type proc "system" (device: Device, pMemoryGetRemoteAddressInfo: ^MemoryGetRemoteAddressInfoNV, pAddress: [^]RemoteAddressNV) -> Result
-ProcGetMemoryWin32HandleKHR :: #type proc "system" (device: Device, pGetWin32HandleInfo: ^MemoryGetWin32HandleInfoKHR, pHandle: ^HANDLE) -> Result
-ProcGetMemoryWin32HandleNV :: #type proc "system" (device: Device, memory: DeviceMemory, handleType: ExternalMemoryHandleTypeFlagsNV, pHandle: ^HANDLE) -> Result
-ProcGetMemoryWin32HandlePropertiesKHR :: #type proc "system" (device: Device, handleType: ExternalMemoryHandleTypeFlags, handle: HANDLE, pMemoryWin32HandleProperties: [^]MemoryWin32HandlePropertiesKHR) -> Result
-ProcGetMicromapBuildSizesEXT :: #type proc "system" (device: Device, buildType: AccelerationStructureBuildTypeKHR, pBuildInfo: ^MicromapBuildInfoEXT, pSizeInfo: ^MicromapBuildSizesInfoEXT)
-ProcGetPastPresentationTimingGOOGLE :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pPresentationTimingCount: ^u32, pPresentationTimings: [^]PastPresentationTimingGOOGLE) -> Result
-ProcGetPerformanceParameterINTEL :: #type proc "system" (device: Device, parameter: PerformanceParameterTypeINTEL, pValue: ^PerformanceValueINTEL) -> Result
-ProcGetPipelineCacheData :: #type proc "system" (device: Device, pipelineCache: PipelineCache, pDataSize: ^int, pData: rawptr) -> Result
-ProcGetPipelineExecutableInternalRepresentationsKHR :: #type proc "system" (device: Device, pExecutableInfo: ^PipelineExecutableInfoKHR, pInternalRepresentationCount: ^u32, pInternalRepresentations: [^]PipelineExecutableInternalRepresentationKHR) -> Result
-ProcGetPipelineExecutablePropertiesKHR :: #type proc "system" (device: Device, pPipelineInfo: ^PipelineInfoKHR, pExecutableCount: ^u32, pProperties: [^]PipelineExecutablePropertiesKHR) -> Result
-ProcGetPipelineExecutableStatisticsKHR :: #type proc "system" (device: Device, pExecutableInfo: ^PipelineExecutableInfoKHR, pStatisticCount: ^u32, pStatistics: [^]PipelineExecutableStatisticKHR) -> Result
-ProcGetPipelinePropertiesEXT :: #type proc "system" (device: Device, pPipelineInfo: ^PipelineInfoEXT, pPipelineProperties: [^]BaseOutStructure) -> Result
-ProcGetPrivateData :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, pData: ^u64)
-ProcGetPrivateDataEXT :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, pData: ^u64)
-ProcGetQueryPoolResults :: #type proc "system" (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dataSize: int, pData: rawptr, stride: DeviceSize, flags: QueryResultFlags) -> Result
-ProcGetQueueCheckpointData2NV :: #type proc "system" (queue: Queue, pCheckpointDataCount: ^u32, pCheckpointData: ^CheckpointData2NV)
-ProcGetQueueCheckpointDataNV :: #type proc "system" (queue: Queue, pCheckpointDataCount: ^u32, pCheckpointData: ^CheckpointDataNV)
-ProcGetRayTracingCaptureReplayShaderGroupHandlesKHR :: #type proc "system" (device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: int, pData: rawptr) -> Result
-ProcGetRayTracingShaderGroupHandlesKHR :: #type proc "system" (device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: int, pData: rawptr) -> Result
-ProcGetRayTracingShaderGroupHandlesNV :: #type proc "system" (device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: int, pData: rawptr) -> Result
-ProcGetRayTracingShaderGroupStackSizeKHR :: #type proc "system" (device: Device, pipeline: Pipeline, group: u32, groupShader: ShaderGroupShaderKHR) -> DeviceSize
-ProcGetRefreshCycleDurationGOOGLE :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pDisplayTimingProperties: [^]RefreshCycleDurationGOOGLE) -> Result
-ProcGetRenderAreaGranularity :: #type proc "system" (device: Device, renderPass: RenderPass, pGranularity: ^Extent2D)
-ProcGetSamplerOpaqueCaptureDescriptorDataEXT :: #type proc "system" (device: Device, pInfo: ^SamplerCaptureDescriptorDataInfoEXT, pData: rawptr) -> Result
-ProcGetSemaphoreCounterValue :: #type proc "system" (device: Device, semaphore: Semaphore, pValue: ^u64) -> Result
-ProcGetSemaphoreCounterValueKHR :: #type proc "system" (device: Device, semaphore: Semaphore, pValue: ^u64) -> Result
-ProcGetSemaphoreFdKHR :: #type proc "system" (device: Device, pGetFdInfo: ^SemaphoreGetFdInfoKHR, pFd: ^c.int) -> Result
-ProcGetSemaphoreWin32HandleKHR :: #type proc "system" (device: Device, pGetWin32HandleInfo: ^SemaphoreGetWin32HandleInfoKHR, pHandle: ^HANDLE) -> Result
-ProcGetShaderBinaryDataEXT :: #type proc "system" (device: Device, shader: ShaderEXT, pDataSize: ^int, pData: rawptr) -> Result
-ProcGetShaderInfoAMD :: #type proc "system" (device: Device, pipeline: Pipeline, shaderStage: ShaderStageFlags, infoType: ShaderInfoTypeAMD, pInfoSize: ^int, pInfo: rawptr) -> Result
-ProcGetShaderModuleCreateInfoIdentifierEXT :: #type proc "system" (device: Device, pCreateInfo: ^ShaderModuleCreateInfo, pIdentifier: ^ShaderModuleIdentifierEXT)
-ProcGetShaderModuleIdentifierEXT :: #type proc "system" (device: Device, shaderModule: ShaderModule, pIdentifier: ^ShaderModuleIdentifierEXT)
-ProcGetSwapchainCounterEXT :: #type proc "system" (device: Device, swapchain: SwapchainKHR, counter: SurfaceCounterFlagsEXT, pCounterValue: ^u64) -> Result
-ProcGetSwapchainImagesKHR :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pSwapchainImageCount: ^u32, pSwapchainImages: [^]Image) -> Result
-ProcGetSwapchainStatusKHR :: #type proc "system" (device: Device, swapchain: SwapchainKHR) -> Result
-ProcGetValidationCacheDataEXT :: #type proc "system" (device: Device, validationCache: ValidationCacheEXT, pDataSize: ^int, pData: rawptr) -> Result
-ProcGetVideoSessionMemoryRequirementsKHR :: #type proc "system" (device: Device, videoSession: VideoSessionKHR, pMemoryRequirementsCount: ^u32, pMemoryRequirements: [^]VideoSessionMemoryRequirementsKHR) -> Result
-ProcImportFenceFdKHR :: #type proc "system" (device: Device, pImportFenceFdInfo: ^ImportFenceFdInfoKHR) -> Result
-ProcImportFenceWin32HandleKHR :: #type proc "system" (device: Device, pImportFenceWin32HandleInfo: ^ImportFenceWin32HandleInfoKHR) -> Result
-ProcImportSemaphoreFdKHR :: #type proc "system" (device: Device, pImportSemaphoreFdInfo: ^ImportSemaphoreFdInfoKHR) -> Result
-ProcImportSemaphoreWin32HandleKHR :: #type proc "system" (device: Device, pImportSemaphoreWin32HandleInfo: ^ImportSemaphoreWin32HandleInfoKHR) -> Result
-ProcInitializePerformanceApiINTEL :: #type proc "system" (device: Device, pInitializeInfo: ^InitializePerformanceApiInfoINTEL) -> Result
-ProcInvalidateMappedMemoryRanges :: #type proc "system" (device: Device, memoryRangeCount: u32, pMemoryRanges: [^]MappedMemoryRange) -> Result
-ProcMapMemory :: #type proc "system" (device: Device, memory: DeviceMemory, offset: DeviceSize, size: DeviceSize, flags: MemoryMapFlags, ppData: ^rawptr) -> Result
-ProcMapMemory2KHR :: #type proc "system" (device: Device, pMemoryMapInfo: ^MemoryMapInfoKHR, ppData: ^rawptr) -> Result
-ProcMergePipelineCaches :: #type proc "system" (device: Device, dstCache: PipelineCache, srcCacheCount: u32, pSrcCaches: [^]PipelineCache) -> Result
-ProcMergeValidationCachesEXT :: #type proc "system" (device: Device, dstCache: ValidationCacheEXT, srcCacheCount: u32, pSrcCaches: [^]ValidationCacheEXT) -> Result
-ProcQueueBeginDebugUtilsLabelEXT :: #type proc "system" (queue: Queue, pLabelInfo: ^DebugUtilsLabelEXT)
-ProcQueueBindSparse :: #type proc "system" (queue: Queue, bindInfoCount: u32, pBindInfo: ^BindSparseInfo, fence: Fence) -> Result
-ProcQueueEndDebugUtilsLabelEXT :: #type proc "system" (queue: Queue)
-ProcQueueInsertDebugUtilsLabelEXT :: #type proc "system" (queue: Queue, pLabelInfo: ^DebugUtilsLabelEXT)
-ProcQueuePresentKHR :: #type proc "system" (queue: Queue, pPresentInfo: ^PresentInfoKHR) -> Result
-ProcQueueSetPerformanceConfigurationINTEL :: #type proc "system" (queue: Queue, configuration: PerformanceConfigurationINTEL) -> Result
-ProcQueueSubmit :: #type proc "system" (queue: Queue, submitCount: u32, pSubmits: [^]SubmitInfo, fence: Fence) -> Result
-ProcQueueSubmit2 :: #type proc "system" (queue: Queue, submitCount: u32, pSubmits: [^]SubmitInfo2, fence: Fence) -> Result
-ProcQueueSubmit2KHR :: #type proc "system" (queue: Queue, submitCount: u32, pSubmits: [^]SubmitInfo2, fence: Fence) -> Result
-ProcQueueWaitIdle :: #type proc "system" (queue: Queue) -> Result
-ProcRegisterDeviceEventEXT :: #type proc "system" (device: Device, pDeviceEventInfo: ^DeviceEventInfoEXT, pAllocator: ^AllocationCallbacks, pFence: ^Fence) -> Result
-ProcRegisterDisplayEventEXT :: #type proc "system" (device: Device, display: DisplayKHR, pDisplayEventInfo: ^DisplayEventInfoEXT, pAllocator: ^AllocationCallbacks, pFence: ^Fence) -> Result
-ProcReleaseFullScreenExclusiveModeEXT :: #type proc "system" (device: Device, swapchain: SwapchainKHR) -> Result
-ProcReleasePerformanceConfigurationINTEL :: #type proc "system" (device: Device, configuration: PerformanceConfigurationINTEL) -> Result
-ProcReleaseProfilingLockKHR :: #type proc "system" (device: Device)
-ProcReleaseSwapchainImagesEXT :: #type proc "system" (device: Device, pReleaseInfo: ^ReleaseSwapchainImagesInfoEXT) -> Result
-ProcResetCommandBuffer :: #type proc "system" (commandBuffer: CommandBuffer, flags: CommandBufferResetFlags) -> Result
-ProcResetCommandPool :: #type proc "system" (device: Device, commandPool: CommandPool, flags: CommandPoolResetFlags) -> Result
-ProcResetDescriptorPool :: #type proc "system" (device: Device, descriptorPool: DescriptorPool, flags: DescriptorPoolResetFlags) -> Result
-ProcResetEvent :: #type proc "system" (device: Device, event: Event) -> Result
-ProcResetFences :: #type proc "system" (device: Device, fenceCount: u32, pFences: [^]Fence) -> Result
-ProcResetQueryPool :: #type proc "system" (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32)
-ProcResetQueryPoolEXT :: #type proc "system" (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32)
-ProcSetDebugUtilsObjectNameEXT :: #type proc "system" (device: Device, pNameInfo: ^DebugUtilsObjectNameInfoEXT) -> Result
-ProcSetDebugUtilsObjectTagEXT :: #type proc "system" (device: Device, pTagInfo: ^DebugUtilsObjectTagInfoEXT) -> Result
-ProcSetDeviceMemoryPriorityEXT :: #type proc "system" (device: Device, memory: DeviceMemory, priority: f32)
-ProcSetEvent :: #type proc "system" (device: Device, event: Event) -> Result
-ProcSetHdrMetadataEXT :: #type proc "system" (device: Device, swapchainCount: u32, pSwapchains: [^]SwapchainKHR, pMetadata: ^HdrMetadataEXT)
-ProcSetLocalDimmingAMD :: #type proc "system" (device: Device, swapChain: SwapchainKHR, localDimmingEnable: b32)
-ProcSetPrivateData :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, data: u64) -> Result
-ProcSetPrivateDataEXT :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, data: u64) -> Result
-ProcSignalSemaphore :: #type proc "system" (device: Device, pSignalInfo: ^SemaphoreSignalInfo) -> Result
-ProcSignalSemaphoreKHR :: #type proc "system" (device: Device, pSignalInfo: ^SemaphoreSignalInfo) -> Result
-ProcTrimCommandPool :: #type proc "system" (device: Device, commandPool: CommandPool, flags: CommandPoolTrimFlags)
-ProcTrimCommandPoolKHR :: #type proc "system" (device: Device, commandPool: CommandPool, flags: CommandPoolTrimFlags)
-ProcUninitializePerformanceApiINTEL :: #type proc "system" (device: Device)
-ProcUnmapMemory :: #type proc "system" (device: Device, memory: DeviceMemory)
-ProcUnmapMemory2KHR :: #type proc "system" (device: Device, pMemoryUnmapInfo: ^MemoryUnmapInfoKHR) -> Result
-ProcUpdateDescriptorSetWithTemplate :: #type proc "system" (device: Device, descriptorSet: DescriptorSet, descriptorUpdateTemplate: DescriptorUpdateTemplate, pData: rawptr)
-ProcUpdateDescriptorSetWithTemplateKHR :: #type proc "system" (device: Device, descriptorSet: DescriptorSet, descriptorUpdateTemplate: DescriptorUpdateTemplate, pData: rawptr)
-ProcUpdateDescriptorSets :: #type proc "system" (device: Device, descriptorWriteCount: u32, pDescriptorWrites: [^]WriteDescriptorSet, descriptorCopyCount: u32, pDescriptorCopies: [^]CopyDescriptorSet)
-ProcUpdateVideoSessionParametersKHR :: #type proc "system" (device: Device, videoSessionParameters: VideoSessionParametersKHR, pUpdateInfo: ^VideoSessionParametersUpdateInfoKHR) -> Result
-ProcWaitForFences :: #type proc "system" (device: Device, fenceCount: u32, pFences: [^]Fence, waitAll: b32, timeout: u64) -> Result
-ProcWaitForPresentKHR :: #type proc "system" (device: Device, swapchain: SwapchainKHR, presentId: u64, timeout: u64) -> Result
-ProcWaitSemaphores :: #type proc "system" (device: Device, pWaitInfo: ^SemaphoreWaitInfo, timeout: u64) -> Result
-ProcWaitSemaphoresKHR :: #type proc "system" (device: Device, pWaitInfo: ^SemaphoreWaitInfo, timeout: u64) -> Result
-ProcWriteAccelerationStructuresPropertiesKHR :: #type proc "system" (device: Device, accelerationStructureCount: u32, pAccelerationStructures: [^]AccelerationStructureKHR, queryType: QueryType, dataSize: int, pData: rawptr, stride: int) -> Result
-ProcWriteMicromapsPropertiesEXT :: #type proc "system" (device: Device, micromapCount: u32, pMicromaps: [^]MicromapEXT, queryType: QueryType, dataSize: int, pData: rawptr, stride: int) -> Result
-
-
-// Loader Procedures
-CreateInstance: ProcCreateInstance
-DebugUtilsMessengerCallbackEXT: ProcDebugUtilsMessengerCallbackEXT
-DeviceMemoryReportCallbackEXT: ProcDeviceMemoryReportCallbackEXT
-EnumerateInstanceExtensionProperties: ProcEnumerateInstanceExtensionProperties
-EnumerateInstanceLayerProperties: ProcEnumerateInstanceLayerProperties
-EnumerateInstanceVersion: ProcEnumerateInstanceVersion
-GetInstanceProcAddr: ProcGetInstanceProcAddr
-
-// Instance Procedures
-AcquireDrmDisplayEXT: ProcAcquireDrmDisplayEXT
-AcquireWinrtDisplayNV: ProcAcquireWinrtDisplayNV
-CreateDebugReportCallbackEXT: ProcCreateDebugReportCallbackEXT
-CreateDebugUtilsMessengerEXT: ProcCreateDebugUtilsMessengerEXT
-CreateDevice: ProcCreateDevice
-CreateDisplayModeKHR: ProcCreateDisplayModeKHR
-CreateDisplayPlaneSurfaceKHR: ProcCreateDisplayPlaneSurfaceKHR
-CreateHeadlessSurfaceEXT: ProcCreateHeadlessSurfaceEXT
-CreateIOSSurfaceMVK: ProcCreateIOSSurfaceMVK
-CreateMacOSSurfaceMVK: ProcCreateMacOSSurfaceMVK
-CreateMetalSurfaceEXT: ProcCreateMetalSurfaceEXT
-CreateWaylandSurfaceKHR: ProcCreateWaylandSurfaceKHR
-CreateWin32SurfaceKHR: ProcCreateWin32SurfaceKHR
-DebugReportMessageEXT: ProcDebugReportMessageEXT
-DestroyDebugReportCallbackEXT: ProcDestroyDebugReportCallbackEXT
-DestroyDebugUtilsMessengerEXT: ProcDestroyDebugUtilsMessengerEXT
-DestroyInstance: ProcDestroyInstance
-DestroySurfaceKHR: ProcDestroySurfaceKHR
-EnumerateDeviceExtensionProperties: ProcEnumerateDeviceExtensionProperties
-EnumerateDeviceLayerProperties: ProcEnumerateDeviceLayerProperties
-EnumeratePhysicalDeviceGroups: ProcEnumeratePhysicalDeviceGroups
-EnumeratePhysicalDeviceGroupsKHR: ProcEnumeratePhysicalDeviceGroupsKHR
-EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR: ProcEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
-EnumeratePhysicalDevices: ProcEnumeratePhysicalDevices
-GetDisplayModeProperties2KHR: ProcGetDisplayModeProperties2KHR
-GetDisplayModePropertiesKHR: ProcGetDisplayModePropertiesKHR
-GetDisplayPlaneCapabilities2KHR: ProcGetDisplayPlaneCapabilities2KHR
-GetDisplayPlaneCapabilitiesKHR: ProcGetDisplayPlaneCapabilitiesKHR
-GetDisplayPlaneSupportedDisplaysKHR: ProcGetDisplayPlaneSupportedDisplaysKHR
-GetDrmDisplayEXT: ProcGetDrmDisplayEXT
-GetInstanceProcAddrLUNARG: ProcGetInstanceProcAddrLUNARG
-GetPhysicalDeviceCalibrateableTimeDomainsEXT: ProcGetPhysicalDeviceCalibrateableTimeDomainsEXT
-GetPhysicalDeviceCooperativeMatrixPropertiesNV: ProcGetPhysicalDeviceCooperativeMatrixPropertiesNV
-GetPhysicalDeviceDisplayPlaneProperties2KHR: ProcGetPhysicalDeviceDisplayPlaneProperties2KHR
-GetPhysicalDeviceDisplayPlanePropertiesKHR: ProcGetPhysicalDeviceDisplayPlanePropertiesKHR
-GetPhysicalDeviceDisplayProperties2KHR: ProcGetPhysicalDeviceDisplayProperties2KHR
-GetPhysicalDeviceDisplayPropertiesKHR: ProcGetPhysicalDeviceDisplayPropertiesKHR
-GetPhysicalDeviceExternalBufferProperties: ProcGetPhysicalDeviceExternalBufferProperties
-GetPhysicalDeviceExternalBufferPropertiesKHR: ProcGetPhysicalDeviceExternalBufferPropertiesKHR
-GetPhysicalDeviceExternalFenceProperties: ProcGetPhysicalDeviceExternalFenceProperties
-GetPhysicalDeviceExternalFencePropertiesKHR: ProcGetPhysicalDeviceExternalFencePropertiesKHR
-GetPhysicalDeviceExternalImageFormatPropertiesNV: ProcGetPhysicalDeviceExternalImageFormatPropertiesNV
-GetPhysicalDeviceExternalSemaphoreProperties: ProcGetPhysicalDeviceExternalSemaphoreProperties
-GetPhysicalDeviceExternalSemaphorePropertiesKHR: ProcGetPhysicalDeviceExternalSemaphorePropertiesKHR
-GetPhysicalDeviceFeatures: ProcGetPhysicalDeviceFeatures
-GetPhysicalDeviceFeatures2: ProcGetPhysicalDeviceFeatures2
-GetPhysicalDeviceFeatures2KHR: ProcGetPhysicalDeviceFeatures2KHR
-GetPhysicalDeviceFormatProperties: ProcGetPhysicalDeviceFormatProperties
-GetPhysicalDeviceFormatProperties2: ProcGetPhysicalDeviceFormatProperties2
-GetPhysicalDeviceFormatProperties2KHR: ProcGetPhysicalDeviceFormatProperties2KHR
-GetPhysicalDeviceFragmentShadingRatesKHR: ProcGetPhysicalDeviceFragmentShadingRatesKHR
-GetPhysicalDeviceImageFormatProperties: ProcGetPhysicalDeviceImageFormatProperties
-GetPhysicalDeviceImageFormatProperties2: ProcGetPhysicalDeviceImageFormatProperties2
-GetPhysicalDeviceImageFormatProperties2KHR: ProcGetPhysicalDeviceImageFormatProperties2KHR
-GetPhysicalDeviceMemoryProperties: ProcGetPhysicalDeviceMemoryProperties
-GetPhysicalDeviceMemoryProperties2: ProcGetPhysicalDeviceMemoryProperties2
-GetPhysicalDeviceMemoryProperties2KHR: ProcGetPhysicalDeviceMemoryProperties2KHR
-GetPhysicalDeviceMultisamplePropertiesEXT: ProcGetPhysicalDeviceMultisamplePropertiesEXT
-GetPhysicalDeviceOpticalFlowImageFormatsNV: ProcGetPhysicalDeviceOpticalFlowImageFormatsNV
-GetPhysicalDevicePresentRectanglesKHR: ProcGetPhysicalDevicePresentRectanglesKHR
-GetPhysicalDeviceProperties: ProcGetPhysicalDeviceProperties
-GetPhysicalDeviceProperties2: ProcGetPhysicalDeviceProperties2
-GetPhysicalDeviceProperties2KHR: ProcGetPhysicalDeviceProperties2KHR
-GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR: ProcGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
-GetPhysicalDeviceQueueFamilyProperties: ProcGetPhysicalDeviceQueueFamilyProperties
-GetPhysicalDeviceQueueFamilyProperties2: ProcGetPhysicalDeviceQueueFamilyProperties2
-GetPhysicalDeviceQueueFamilyProperties2KHR: ProcGetPhysicalDeviceQueueFamilyProperties2KHR
-GetPhysicalDeviceSparseImageFormatProperties: ProcGetPhysicalDeviceSparseImageFormatProperties
-GetPhysicalDeviceSparseImageFormatProperties2: ProcGetPhysicalDeviceSparseImageFormatProperties2
-GetPhysicalDeviceSparseImageFormatProperties2KHR: ProcGetPhysicalDeviceSparseImageFormatProperties2KHR
-GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV: ProcGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
-GetPhysicalDeviceSurfaceCapabilities2EXT: ProcGetPhysicalDeviceSurfaceCapabilities2EXT
-GetPhysicalDeviceSurfaceCapabilities2KHR: ProcGetPhysicalDeviceSurfaceCapabilities2KHR
-GetPhysicalDeviceSurfaceCapabilitiesKHR: ProcGetPhysicalDeviceSurfaceCapabilitiesKHR
-GetPhysicalDeviceSurfaceFormats2KHR: ProcGetPhysicalDeviceSurfaceFormats2KHR
-GetPhysicalDeviceSurfaceFormatsKHR: ProcGetPhysicalDeviceSurfaceFormatsKHR
-GetPhysicalDeviceSurfacePresentModes2EXT: ProcGetPhysicalDeviceSurfacePresentModes2EXT
-GetPhysicalDeviceSurfacePresentModesKHR: ProcGetPhysicalDeviceSurfacePresentModesKHR
-GetPhysicalDeviceSurfaceSupportKHR: ProcGetPhysicalDeviceSurfaceSupportKHR
-GetPhysicalDeviceToolProperties: ProcGetPhysicalDeviceToolProperties
-GetPhysicalDeviceToolPropertiesEXT: ProcGetPhysicalDeviceToolPropertiesEXT
-GetPhysicalDeviceVideoCapabilitiesKHR: ProcGetPhysicalDeviceVideoCapabilitiesKHR
-GetPhysicalDeviceVideoFormatPropertiesKHR: ProcGetPhysicalDeviceVideoFormatPropertiesKHR
-GetPhysicalDeviceWaylandPresentationSupportKHR: ProcGetPhysicalDeviceWaylandPresentationSupportKHR
-GetPhysicalDeviceWin32PresentationSupportKHR: ProcGetPhysicalDeviceWin32PresentationSupportKHR
-GetWinrtDisplayNV: ProcGetWinrtDisplayNV
-ReleaseDisplayEXT: ProcReleaseDisplayEXT
-SubmitDebugUtilsMessageEXT: ProcSubmitDebugUtilsMessageEXT
-
-// Device Procedures
-AcquireFullScreenExclusiveModeEXT: ProcAcquireFullScreenExclusiveModeEXT
-AcquireNextImage2KHR: ProcAcquireNextImage2KHR
-AcquireNextImageKHR: ProcAcquireNextImageKHR
-AcquirePerformanceConfigurationINTEL: ProcAcquirePerformanceConfigurationINTEL
-AcquireProfilingLockKHR: ProcAcquireProfilingLockKHR
-AllocateCommandBuffers: ProcAllocateCommandBuffers
-AllocateDescriptorSets: ProcAllocateDescriptorSets
-AllocateMemory: ProcAllocateMemory
-BeginCommandBuffer: ProcBeginCommandBuffer
-BindAccelerationStructureMemoryNV: ProcBindAccelerationStructureMemoryNV
-BindBufferMemory: ProcBindBufferMemory
-BindBufferMemory2: ProcBindBufferMemory2
-BindBufferMemory2KHR: ProcBindBufferMemory2KHR
-BindImageMemory: ProcBindImageMemory
-BindImageMemory2: ProcBindImageMemory2
-BindImageMemory2KHR: ProcBindImageMemory2KHR
-BindOpticalFlowSessionImageNV: ProcBindOpticalFlowSessionImageNV
-BindVideoSessionMemoryKHR: ProcBindVideoSessionMemoryKHR
-BuildAccelerationStructuresKHR: ProcBuildAccelerationStructuresKHR
-BuildMicromapsEXT: ProcBuildMicromapsEXT
-CmdBeginConditionalRenderingEXT: ProcCmdBeginConditionalRenderingEXT
-CmdBeginDebugUtilsLabelEXT: ProcCmdBeginDebugUtilsLabelEXT
-CmdBeginQuery: ProcCmdBeginQuery
-CmdBeginQueryIndexedEXT: ProcCmdBeginQueryIndexedEXT
-CmdBeginRenderPass: ProcCmdBeginRenderPass
-CmdBeginRenderPass2: ProcCmdBeginRenderPass2
-CmdBeginRenderPass2KHR: ProcCmdBeginRenderPass2KHR
-CmdBeginRendering: ProcCmdBeginRendering
-CmdBeginRenderingKHR: ProcCmdBeginRenderingKHR
-CmdBeginTransformFeedbackEXT: ProcCmdBeginTransformFeedbackEXT
-CmdBeginVideoCodingKHR: ProcCmdBeginVideoCodingKHR
-CmdBindDescriptorBufferEmbeddedSamplersEXT: ProcCmdBindDescriptorBufferEmbeddedSamplersEXT
-CmdBindDescriptorBuffersEXT: ProcCmdBindDescriptorBuffersEXT
-CmdBindDescriptorSets: ProcCmdBindDescriptorSets
-CmdBindIndexBuffer: ProcCmdBindIndexBuffer
-CmdBindInvocationMaskHUAWEI: ProcCmdBindInvocationMaskHUAWEI
-CmdBindPipeline: ProcCmdBindPipeline
-CmdBindPipelineShaderGroupNV: ProcCmdBindPipelineShaderGroupNV
-CmdBindShadersEXT: ProcCmdBindShadersEXT
-CmdBindShadingRateImageNV: ProcCmdBindShadingRateImageNV
-CmdBindTransformFeedbackBuffersEXT: ProcCmdBindTransformFeedbackBuffersEXT
-CmdBindVertexBuffers: ProcCmdBindVertexBuffers
-CmdBindVertexBuffers2: ProcCmdBindVertexBuffers2
-CmdBindVertexBuffers2EXT: ProcCmdBindVertexBuffers2EXT
-CmdBlitImage: ProcCmdBlitImage
-CmdBlitImage2: ProcCmdBlitImage2
-CmdBlitImage2KHR: ProcCmdBlitImage2KHR
-CmdBuildAccelerationStructureNV: ProcCmdBuildAccelerationStructureNV
-CmdBuildAccelerationStructuresIndirectKHR: ProcCmdBuildAccelerationStructuresIndirectKHR
-CmdBuildAccelerationStructuresKHR: ProcCmdBuildAccelerationStructuresKHR
-CmdBuildMicromapsEXT: ProcCmdBuildMicromapsEXT
-CmdClearAttachments: ProcCmdClearAttachments
-CmdClearColorImage: ProcCmdClearColorImage
-CmdClearDepthStencilImage: ProcCmdClearDepthStencilImage
-CmdControlVideoCodingKHR: ProcCmdControlVideoCodingKHR
-CmdCopyAccelerationStructureKHR: ProcCmdCopyAccelerationStructureKHR
-CmdCopyAccelerationStructureNV: ProcCmdCopyAccelerationStructureNV
-CmdCopyAccelerationStructureToMemoryKHR: ProcCmdCopyAccelerationStructureToMemoryKHR
-CmdCopyBuffer: ProcCmdCopyBuffer
-CmdCopyBuffer2: ProcCmdCopyBuffer2
-CmdCopyBuffer2KHR: ProcCmdCopyBuffer2KHR
-CmdCopyBufferToImage: ProcCmdCopyBufferToImage
-CmdCopyBufferToImage2: ProcCmdCopyBufferToImage2
-CmdCopyBufferToImage2KHR: ProcCmdCopyBufferToImage2KHR
-CmdCopyImage: ProcCmdCopyImage
-CmdCopyImage2: ProcCmdCopyImage2
-CmdCopyImage2KHR: ProcCmdCopyImage2KHR
-CmdCopyImageToBuffer: ProcCmdCopyImageToBuffer
-CmdCopyImageToBuffer2: ProcCmdCopyImageToBuffer2
-CmdCopyImageToBuffer2KHR: ProcCmdCopyImageToBuffer2KHR
-CmdCopyMemoryIndirectNV: ProcCmdCopyMemoryIndirectNV
-CmdCopyMemoryToAccelerationStructureKHR: ProcCmdCopyMemoryToAccelerationStructureKHR
-CmdCopyMemoryToImageIndirectNV: ProcCmdCopyMemoryToImageIndirectNV
-CmdCopyMemoryToMicromapEXT: ProcCmdCopyMemoryToMicromapEXT
-CmdCopyMicromapEXT: ProcCmdCopyMicromapEXT
-CmdCopyMicromapToMemoryEXT: ProcCmdCopyMicromapToMemoryEXT
-CmdCopyQueryPoolResults: ProcCmdCopyQueryPoolResults
-CmdCuLaunchKernelNVX: ProcCmdCuLaunchKernelNVX
-CmdDebugMarkerBeginEXT: ProcCmdDebugMarkerBeginEXT
-CmdDebugMarkerEndEXT: ProcCmdDebugMarkerEndEXT
-CmdDebugMarkerInsertEXT: ProcCmdDebugMarkerInsertEXT
-CmdDecodeVideoKHR: ProcCmdDecodeVideoKHR
-CmdDecompressMemoryIndirectCountNV: ProcCmdDecompressMemoryIndirectCountNV
-CmdDecompressMemoryNV: ProcCmdDecompressMemoryNV
-CmdDispatch: ProcCmdDispatch
-CmdDispatchBase: ProcCmdDispatchBase
-CmdDispatchBaseKHR: ProcCmdDispatchBaseKHR
-CmdDispatchIndirect: ProcCmdDispatchIndirect
-CmdDraw: ProcCmdDraw
-CmdDrawClusterHUAWEI: ProcCmdDrawClusterHUAWEI
-CmdDrawClusterIndirectHUAWEI: ProcCmdDrawClusterIndirectHUAWEI
-CmdDrawIndexed: ProcCmdDrawIndexed
-CmdDrawIndexedIndirect: ProcCmdDrawIndexedIndirect
-CmdDrawIndexedIndirectCount: ProcCmdDrawIndexedIndirectCount
-CmdDrawIndexedIndirectCountAMD: ProcCmdDrawIndexedIndirectCountAMD
-CmdDrawIndexedIndirectCountKHR: ProcCmdDrawIndexedIndirectCountKHR
-CmdDrawIndirect: ProcCmdDrawIndirect
-CmdDrawIndirectByteCountEXT: ProcCmdDrawIndirectByteCountEXT
-CmdDrawIndirectCount: ProcCmdDrawIndirectCount
-CmdDrawIndirectCountAMD: ProcCmdDrawIndirectCountAMD
-CmdDrawIndirectCountKHR: ProcCmdDrawIndirectCountKHR
-CmdDrawMeshTasksEXT: ProcCmdDrawMeshTasksEXT
-CmdDrawMeshTasksIndirectCountEXT: ProcCmdDrawMeshTasksIndirectCountEXT
-CmdDrawMeshTasksIndirectCountNV: ProcCmdDrawMeshTasksIndirectCountNV
-CmdDrawMeshTasksIndirectEXT: ProcCmdDrawMeshTasksIndirectEXT
-CmdDrawMeshTasksIndirectNV: ProcCmdDrawMeshTasksIndirectNV
-CmdDrawMeshTasksNV: ProcCmdDrawMeshTasksNV
-CmdDrawMultiEXT: ProcCmdDrawMultiEXT
-CmdDrawMultiIndexedEXT: ProcCmdDrawMultiIndexedEXT
-CmdEndConditionalRenderingEXT: ProcCmdEndConditionalRenderingEXT
-CmdEndDebugUtilsLabelEXT: ProcCmdEndDebugUtilsLabelEXT
-CmdEndQuery: ProcCmdEndQuery
-CmdEndQueryIndexedEXT: ProcCmdEndQueryIndexedEXT
-CmdEndRenderPass: ProcCmdEndRenderPass
-CmdEndRenderPass2: ProcCmdEndRenderPass2
-CmdEndRenderPass2KHR: ProcCmdEndRenderPass2KHR
-CmdEndRendering: ProcCmdEndRendering
-CmdEndRenderingKHR: ProcCmdEndRenderingKHR
-CmdEndTransformFeedbackEXT: ProcCmdEndTransformFeedbackEXT
-CmdEndVideoCodingKHR: ProcCmdEndVideoCodingKHR
-CmdExecuteCommands: ProcCmdExecuteCommands
-CmdExecuteGeneratedCommandsNV: ProcCmdExecuteGeneratedCommandsNV
-CmdFillBuffer: ProcCmdFillBuffer
-CmdInsertDebugUtilsLabelEXT: ProcCmdInsertDebugUtilsLabelEXT
-CmdNextSubpass: ProcCmdNextSubpass
-CmdNextSubpass2: ProcCmdNextSubpass2
-CmdNextSubpass2KHR: ProcCmdNextSubpass2KHR
-CmdOpticalFlowExecuteNV: ProcCmdOpticalFlowExecuteNV
-CmdPipelineBarrier: ProcCmdPipelineBarrier
-CmdPipelineBarrier2: ProcCmdPipelineBarrier2
-CmdPipelineBarrier2KHR: ProcCmdPipelineBarrier2KHR
-CmdPreprocessGeneratedCommandsNV: ProcCmdPreprocessGeneratedCommandsNV
-CmdPushConstants: ProcCmdPushConstants
-CmdPushDescriptorSetKHR: ProcCmdPushDescriptorSetKHR
-CmdPushDescriptorSetWithTemplateKHR: ProcCmdPushDescriptorSetWithTemplateKHR
-CmdResetEvent: ProcCmdResetEvent
-CmdResetEvent2: ProcCmdResetEvent2
-CmdResetEvent2KHR: ProcCmdResetEvent2KHR
-CmdResetQueryPool: ProcCmdResetQueryPool
-CmdResolveImage: ProcCmdResolveImage
-CmdResolveImage2: ProcCmdResolveImage2
-CmdResolveImage2KHR: ProcCmdResolveImage2KHR
-CmdSetAlphaToCoverageEnableEXT: ProcCmdSetAlphaToCoverageEnableEXT
-CmdSetAlphaToOneEnableEXT: ProcCmdSetAlphaToOneEnableEXT
-CmdSetAttachmentFeedbackLoopEnableEXT: ProcCmdSetAttachmentFeedbackLoopEnableEXT
-CmdSetBlendConstants: ProcCmdSetBlendConstants
-CmdSetCheckpointNV: ProcCmdSetCheckpointNV
-CmdSetCoarseSampleOrderNV: ProcCmdSetCoarseSampleOrderNV
-CmdSetColorBlendAdvancedEXT: ProcCmdSetColorBlendAdvancedEXT
-CmdSetColorBlendEnableEXT: ProcCmdSetColorBlendEnableEXT
-CmdSetColorBlendEquationEXT: ProcCmdSetColorBlendEquationEXT
-CmdSetColorWriteMaskEXT: ProcCmdSetColorWriteMaskEXT
-CmdSetConservativeRasterizationModeEXT: ProcCmdSetConservativeRasterizationModeEXT
-CmdSetCoverageModulationModeNV: ProcCmdSetCoverageModulationModeNV
-CmdSetCoverageModulationTableEnableNV: ProcCmdSetCoverageModulationTableEnableNV
-CmdSetCoverageModulationTableNV: ProcCmdSetCoverageModulationTableNV
-CmdSetCoverageReductionModeNV: ProcCmdSetCoverageReductionModeNV
-CmdSetCoverageToColorEnableNV: ProcCmdSetCoverageToColorEnableNV
-CmdSetCoverageToColorLocationNV: ProcCmdSetCoverageToColorLocationNV
-CmdSetCullMode: ProcCmdSetCullMode
-CmdSetCullModeEXT: ProcCmdSetCullModeEXT
-CmdSetDepthBias: ProcCmdSetDepthBias
-CmdSetDepthBiasEnable: ProcCmdSetDepthBiasEnable
-CmdSetDepthBiasEnableEXT: ProcCmdSetDepthBiasEnableEXT
-CmdSetDepthBounds: ProcCmdSetDepthBounds
-CmdSetDepthBoundsTestEnable: ProcCmdSetDepthBoundsTestEnable
-CmdSetDepthBoundsTestEnableEXT: ProcCmdSetDepthBoundsTestEnableEXT
-CmdSetDepthClampEnableEXT: ProcCmdSetDepthClampEnableEXT
-CmdSetDepthClipEnableEXT: ProcCmdSetDepthClipEnableEXT
-CmdSetDepthClipNegativeOneToOneEXT: ProcCmdSetDepthClipNegativeOneToOneEXT
-CmdSetDepthCompareOp: ProcCmdSetDepthCompareOp
-CmdSetDepthCompareOpEXT: ProcCmdSetDepthCompareOpEXT
-CmdSetDepthTestEnable: ProcCmdSetDepthTestEnable
-CmdSetDepthTestEnableEXT: ProcCmdSetDepthTestEnableEXT
-CmdSetDepthWriteEnable: ProcCmdSetDepthWriteEnable
-CmdSetDepthWriteEnableEXT: ProcCmdSetDepthWriteEnableEXT
-CmdSetDescriptorBufferOffsetsEXT: ProcCmdSetDescriptorBufferOffsetsEXT
-CmdSetDeviceMask: ProcCmdSetDeviceMask
-CmdSetDeviceMaskKHR: ProcCmdSetDeviceMaskKHR
-CmdSetDiscardRectangleEXT: ProcCmdSetDiscardRectangleEXT
-CmdSetDiscardRectangleEnableEXT: ProcCmdSetDiscardRectangleEnableEXT
-CmdSetDiscardRectangleModeEXT: ProcCmdSetDiscardRectangleModeEXT
-CmdSetEvent: ProcCmdSetEvent
-CmdSetEvent2: ProcCmdSetEvent2
-CmdSetEvent2KHR: ProcCmdSetEvent2KHR
-CmdSetExclusiveScissorEnableNV: ProcCmdSetExclusiveScissorEnableNV
-CmdSetExclusiveScissorNV: ProcCmdSetExclusiveScissorNV
-CmdSetExtraPrimitiveOverestimationSizeEXT: ProcCmdSetExtraPrimitiveOverestimationSizeEXT
-CmdSetFragmentShadingRateEnumNV: ProcCmdSetFragmentShadingRateEnumNV
-CmdSetFragmentShadingRateKHR: ProcCmdSetFragmentShadingRateKHR
-CmdSetFrontFace: ProcCmdSetFrontFace
-CmdSetFrontFaceEXT: ProcCmdSetFrontFaceEXT
-CmdSetLineRasterizationModeEXT: ProcCmdSetLineRasterizationModeEXT
-CmdSetLineStippleEXT: ProcCmdSetLineStippleEXT
-CmdSetLineStippleEnableEXT: ProcCmdSetLineStippleEnableEXT
-CmdSetLineWidth: ProcCmdSetLineWidth
-CmdSetLogicOpEXT: ProcCmdSetLogicOpEXT
-CmdSetLogicOpEnableEXT: ProcCmdSetLogicOpEnableEXT
-CmdSetPatchControlPointsEXT: ProcCmdSetPatchControlPointsEXT
-CmdSetPerformanceMarkerINTEL: ProcCmdSetPerformanceMarkerINTEL
-CmdSetPerformanceOverrideINTEL: ProcCmdSetPerformanceOverrideINTEL
-CmdSetPerformanceStreamMarkerINTEL: ProcCmdSetPerformanceStreamMarkerINTEL
-CmdSetPolygonModeEXT: ProcCmdSetPolygonModeEXT
-CmdSetPrimitiveRestartEnable: ProcCmdSetPrimitiveRestartEnable
-CmdSetPrimitiveRestartEnableEXT: ProcCmdSetPrimitiveRestartEnableEXT
-CmdSetPrimitiveTopology: ProcCmdSetPrimitiveTopology
-CmdSetPrimitiveTopologyEXT: ProcCmdSetPrimitiveTopologyEXT
-CmdSetProvokingVertexModeEXT: ProcCmdSetProvokingVertexModeEXT
-CmdSetRasterizationSamplesEXT: ProcCmdSetRasterizationSamplesEXT
-CmdSetRasterizationStreamEXT: ProcCmdSetRasterizationStreamEXT
-CmdSetRasterizerDiscardEnable: ProcCmdSetRasterizerDiscardEnable
-CmdSetRasterizerDiscardEnableEXT: ProcCmdSetRasterizerDiscardEnableEXT
-CmdSetRayTracingPipelineStackSizeKHR: ProcCmdSetRayTracingPipelineStackSizeKHR
-CmdSetRepresentativeFragmentTestEnableNV: ProcCmdSetRepresentativeFragmentTestEnableNV
-CmdSetSampleLocationsEXT: ProcCmdSetSampleLocationsEXT
-CmdSetSampleLocationsEnableEXT: ProcCmdSetSampleLocationsEnableEXT
-CmdSetSampleMaskEXT: ProcCmdSetSampleMaskEXT
-CmdSetScissor: ProcCmdSetScissor
-CmdSetScissorWithCount: ProcCmdSetScissorWithCount
-CmdSetScissorWithCountEXT: ProcCmdSetScissorWithCountEXT
-CmdSetShadingRateImageEnableNV: ProcCmdSetShadingRateImageEnableNV
-CmdSetStencilCompareMask: ProcCmdSetStencilCompareMask
-CmdSetStencilOp: ProcCmdSetStencilOp
-CmdSetStencilOpEXT: ProcCmdSetStencilOpEXT
-CmdSetStencilReference: ProcCmdSetStencilReference
-CmdSetStencilTestEnable: ProcCmdSetStencilTestEnable
-CmdSetStencilTestEnableEXT: ProcCmdSetStencilTestEnableEXT
-CmdSetStencilWriteMask: ProcCmdSetStencilWriteMask
-CmdSetTessellationDomainOriginEXT: ProcCmdSetTessellationDomainOriginEXT
-CmdSetVertexInputEXT: ProcCmdSetVertexInputEXT
-CmdSetViewport: ProcCmdSetViewport
-CmdSetViewportShadingRatePaletteNV: ProcCmdSetViewportShadingRatePaletteNV
-CmdSetViewportSwizzleNV: ProcCmdSetViewportSwizzleNV
-CmdSetViewportWScalingEnableNV: ProcCmdSetViewportWScalingEnableNV
-CmdSetViewportWScalingNV: ProcCmdSetViewportWScalingNV
-CmdSetViewportWithCount: ProcCmdSetViewportWithCount
-CmdSetViewportWithCountEXT: ProcCmdSetViewportWithCountEXT
-CmdSubpassShadingHUAWEI: ProcCmdSubpassShadingHUAWEI
-CmdTraceRaysIndirect2KHR: ProcCmdTraceRaysIndirect2KHR
-CmdTraceRaysIndirectKHR: ProcCmdTraceRaysIndirectKHR
-CmdTraceRaysKHR: ProcCmdTraceRaysKHR
-CmdTraceRaysNV: ProcCmdTraceRaysNV
-CmdUpdateBuffer: ProcCmdUpdateBuffer
-CmdWaitEvents: ProcCmdWaitEvents
-CmdWaitEvents2: ProcCmdWaitEvents2
-CmdWaitEvents2KHR: ProcCmdWaitEvents2KHR
-CmdWriteAccelerationStructuresPropertiesKHR: ProcCmdWriteAccelerationStructuresPropertiesKHR
-CmdWriteAccelerationStructuresPropertiesNV: ProcCmdWriteAccelerationStructuresPropertiesNV
-CmdWriteBufferMarker2AMD: ProcCmdWriteBufferMarker2AMD
-CmdWriteBufferMarkerAMD: ProcCmdWriteBufferMarkerAMD
-CmdWriteMicromapsPropertiesEXT: ProcCmdWriteMicromapsPropertiesEXT
-CmdWriteTimestamp: ProcCmdWriteTimestamp
-CmdWriteTimestamp2: ProcCmdWriteTimestamp2
-CmdWriteTimestamp2KHR: ProcCmdWriteTimestamp2KHR
-CompileDeferredNV: ProcCompileDeferredNV
-CopyAccelerationStructureKHR: ProcCopyAccelerationStructureKHR
-CopyAccelerationStructureToMemoryKHR: ProcCopyAccelerationStructureToMemoryKHR
-CopyMemoryToAccelerationStructureKHR: ProcCopyMemoryToAccelerationStructureKHR
-CopyMemoryToMicromapEXT: ProcCopyMemoryToMicromapEXT
-CopyMicromapEXT: ProcCopyMicromapEXT
-CopyMicromapToMemoryEXT: ProcCopyMicromapToMemoryEXT
-CreateAccelerationStructureKHR: ProcCreateAccelerationStructureKHR
-CreateAccelerationStructureNV: ProcCreateAccelerationStructureNV
-CreateBuffer: ProcCreateBuffer
-CreateBufferView: ProcCreateBufferView
-CreateCommandPool: ProcCreateCommandPool
-CreateComputePipelines: ProcCreateComputePipelines
-CreateCuFunctionNVX: ProcCreateCuFunctionNVX
-CreateCuModuleNVX: ProcCreateCuModuleNVX
-CreateDeferredOperationKHR: ProcCreateDeferredOperationKHR
-CreateDescriptorPool: ProcCreateDescriptorPool
-CreateDescriptorSetLayout: ProcCreateDescriptorSetLayout
-CreateDescriptorUpdateTemplate: ProcCreateDescriptorUpdateTemplate
-CreateDescriptorUpdateTemplateKHR: ProcCreateDescriptorUpdateTemplateKHR
-CreateEvent: ProcCreateEvent
-CreateFence: ProcCreateFence
-CreateFramebuffer: ProcCreateFramebuffer
-CreateGraphicsPipelines: ProcCreateGraphicsPipelines
-CreateImage: ProcCreateImage
-CreateImageView: ProcCreateImageView
-CreateIndirectCommandsLayoutNV: ProcCreateIndirectCommandsLayoutNV
-CreateMicromapEXT: ProcCreateMicromapEXT
-CreateOpticalFlowSessionNV: ProcCreateOpticalFlowSessionNV
-CreatePipelineCache: ProcCreatePipelineCache
-CreatePipelineLayout: ProcCreatePipelineLayout
-CreatePrivateDataSlot: ProcCreatePrivateDataSlot
-CreatePrivateDataSlotEXT: ProcCreatePrivateDataSlotEXT
-CreateQueryPool: ProcCreateQueryPool
-CreateRayTracingPipelinesKHR: ProcCreateRayTracingPipelinesKHR
-CreateRayTracingPipelinesNV: ProcCreateRayTracingPipelinesNV
-CreateRenderPass: ProcCreateRenderPass
-CreateRenderPass2: ProcCreateRenderPass2
-CreateRenderPass2KHR: ProcCreateRenderPass2KHR
-CreateSampler: ProcCreateSampler
-CreateSamplerYcbcrConversion: ProcCreateSamplerYcbcrConversion
-CreateSamplerYcbcrConversionKHR: ProcCreateSamplerYcbcrConversionKHR
-CreateSemaphore: ProcCreateSemaphore
-CreateShaderModule: ProcCreateShaderModule
-CreateShadersEXT: ProcCreateShadersEXT
-CreateSharedSwapchainsKHR: ProcCreateSharedSwapchainsKHR
-CreateSwapchainKHR: ProcCreateSwapchainKHR
-CreateValidationCacheEXT: ProcCreateValidationCacheEXT
-CreateVideoSessionKHR: ProcCreateVideoSessionKHR
-CreateVideoSessionParametersKHR: ProcCreateVideoSessionParametersKHR
-DebugMarkerSetObjectNameEXT: ProcDebugMarkerSetObjectNameEXT
-DebugMarkerSetObjectTagEXT: ProcDebugMarkerSetObjectTagEXT
-DeferredOperationJoinKHR: ProcDeferredOperationJoinKHR
-DestroyAccelerationStructureKHR: ProcDestroyAccelerationStructureKHR
-DestroyAccelerationStructureNV: ProcDestroyAccelerationStructureNV
-DestroyBuffer: ProcDestroyBuffer
-DestroyBufferView: ProcDestroyBufferView
-DestroyCommandPool: ProcDestroyCommandPool
-DestroyCuFunctionNVX: ProcDestroyCuFunctionNVX
-DestroyCuModuleNVX: ProcDestroyCuModuleNVX
-DestroyDeferredOperationKHR: ProcDestroyDeferredOperationKHR
-DestroyDescriptorPool: ProcDestroyDescriptorPool
-DestroyDescriptorSetLayout: ProcDestroyDescriptorSetLayout
-DestroyDescriptorUpdateTemplate: ProcDestroyDescriptorUpdateTemplate
-DestroyDescriptorUpdateTemplateKHR: ProcDestroyDescriptorUpdateTemplateKHR
-DestroyDevice: ProcDestroyDevice
-DestroyEvent: ProcDestroyEvent
-DestroyFence: ProcDestroyFence
-DestroyFramebuffer: ProcDestroyFramebuffer
-DestroyImage: ProcDestroyImage
-DestroyImageView: ProcDestroyImageView
-DestroyIndirectCommandsLayoutNV: ProcDestroyIndirectCommandsLayoutNV
-DestroyMicromapEXT: ProcDestroyMicromapEXT
-DestroyOpticalFlowSessionNV: ProcDestroyOpticalFlowSessionNV
-DestroyPipeline: ProcDestroyPipeline
-DestroyPipelineCache: ProcDestroyPipelineCache
-DestroyPipelineLayout: ProcDestroyPipelineLayout
-DestroyPrivateDataSlot: ProcDestroyPrivateDataSlot
-DestroyPrivateDataSlotEXT: ProcDestroyPrivateDataSlotEXT
-DestroyQueryPool: ProcDestroyQueryPool
-DestroyRenderPass: ProcDestroyRenderPass
-DestroySampler: ProcDestroySampler
-DestroySamplerYcbcrConversion: ProcDestroySamplerYcbcrConversion
-DestroySamplerYcbcrConversionKHR: ProcDestroySamplerYcbcrConversionKHR
-DestroySemaphore: ProcDestroySemaphore
-DestroyShaderEXT: ProcDestroyShaderEXT
-DestroyShaderModule: ProcDestroyShaderModule
-DestroySwapchainKHR: ProcDestroySwapchainKHR
-DestroyValidationCacheEXT: ProcDestroyValidationCacheEXT
-DestroyVideoSessionKHR: ProcDestroyVideoSessionKHR
-DestroyVideoSessionParametersKHR: ProcDestroyVideoSessionParametersKHR
-DeviceWaitIdle: ProcDeviceWaitIdle
-DisplayPowerControlEXT: ProcDisplayPowerControlEXT
-EndCommandBuffer: ProcEndCommandBuffer
-ExportMetalObjectsEXT: ProcExportMetalObjectsEXT
-FlushMappedMemoryRanges: ProcFlushMappedMemoryRanges
-FreeCommandBuffers: ProcFreeCommandBuffers
-FreeDescriptorSets: ProcFreeDescriptorSets
-FreeMemory: ProcFreeMemory
-GetAccelerationStructureBuildSizesKHR: ProcGetAccelerationStructureBuildSizesKHR
-GetAccelerationStructureDeviceAddressKHR: ProcGetAccelerationStructureDeviceAddressKHR
-GetAccelerationStructureHandleNV: ProcGetAccelerationStructureHandleNV
-GetAccelerationStructureMemoryRequirementsNV: ProcGetAccelerationStructureMemoryRequirementsNV
-GetAccelerationStructureOpaqueCaptureDescriptorDataEXT: ProcGetAccelerationStructureOpaqueCaptureDescriptorDataEXT
-GetBufferDeviceAddress: ProcGetBufferDeviceAddress
-GetBufferDeviceAddressEXT: ProcGetBufferDeviceAddressEXT
-GetBufferDeviceAddressKHR: ProcGetBufferDeviceAddressKHR
-GetBufferMemoryRequirements: ProcGetBufferMemoryRequirements
-GetBufferMemoryRequirements2: ProcGetBufferMemoryRequirements2
-GetBufferMemoryRequirements2KHR: ProcGetBufferMemoryRequirements2KHR
-GetBufferOpaqueCaptureAddress: ProcGetBufferOpaqueCaptureAddress
-GetBufferOpaqueCaptureAddressKHR: ProcGetBufferOpaqueCaptureAddressKHR
-GetBufferOpaqueCaptureDescriptorDataEXT: ProcGetBufferOpaqueCaptureDescriptorDataEXT
-GetCalibratedTimestampsEXT: ProcGetCalibratedTimestampsEXT
-GetDeferredOperationMaxConcurrencyKHR: ProcGetDeferredOperationMaxConcurrencyKHR
-GetDeferredOperationResultKHR: ProcGetDeferredOperationResultKHR
-GetDescriptorEXT: ProcGetDescriptorEXT
-GetDescriptorSetHostMappingVALVE: ProcGetDescriptorSetHostMappingVALVE
-GetDescriptorSetLayoutBindingOffsetEXT: ProcGetDescriptorSetLayoutBindingOffsetEXT
-GetDescriptorSetLayoutHostMappingInfoVALVE: ProcGetDescriptorSetLayoutHostMappingInfoVALVE
-GetDescriptorSetLayoutSizeEXT: ProcGetDescriptorSetLayoutSizeEXT
-GetDescriptorSetLayoutSupport: ProcGetDescriptorSetLayoutSupport
-GetDescriptorSetLayoutSupportKHR: ProcGetDescriptorSetLayoutSupportKHR
-GetDeviceAccelerationStructureCompatibilityKHR: ProcGetDeviceAccelerationStructureCompatibilityKHR
-GetDeviceBufferMemoryRequirements: ProcGetDeviceBufferMemoryRequirements
-GetDeviceBufferMemoryRequirementsKHR: ProcGetDeviceBufferMemoryRequirementsKHR
-GetDeviceFaultInfoEXT: ProcGetDeviceFaultInfoEXT
-GetDeviceGroupPeerMemoryFeatures: ProcGetDeviceGroupPeerMemoryFeatures
-GetDeviceGroupPeerMemoryFeaturesKHR: ProcGetDeviceGroupPeerMemoryFeaturesKHR
-GetDeviceGroupPresentCapabilitiesKHR: ProcGetDeviceGroupPresentCapabilitiesKHR
-GetDeviceGroupSurfacePresentModes2EXT: ProcGetDeviceGroupSurfacePresentModes2EXT
-GetDeviceGroupSurfacePresentModesKHR: ProcGetDeviceGroupSurfacePresentModesKHR
-GetDeviceImageMemoryRequirements: ProcGetDeviceImageMemoryRequirements
-GetDeviceImageMemoryRequirementsKHR: ProcGetDeviceImageMemoryRequirementsKHR
-GetDeviceImageSparseMemoryRequirements: ProcGetDeviceImageSparseMemoryRequirements
-GetDeviceImageSparseMemoryRequirementsKHR: ProcGetDeviceImageSparseMemoryRequirementsKHR
-GetDeviceMemoryCommitment: ProcGetDeviceMemoryCommitment
-GetDeviceMemoryOpaqueCaptureAddress: ProcGetDeviceMemoryOpaqueCaptureAddress
-GetDeviceMemoryOpaqueCaptureAddressKHR: ProcGetDeviceMemoryOpaqueCaptureAddressKHR
-GetDeviceMicromapCompatibilityEXT: ProcGetDeviceMicromapCompatibilityEXT
-GetDeviceProcAddr: ProcGetDeviceProcAddr
-GetDeviceQueue: ProcGetDeviceQueue
-GetDeviceQueue2: ProcGetDeviceQueue2
-GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI: ProcGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI
-GetDynamicRenderingTilePropertiesQCOM: ProcGetDynamicRenderingTilePropertiesQCOM
-GetEventStatus: ProcGetEventStatus
-GetFenceFdKHR: ProcGetFenceFdKHR
-GetFenceStatus: ProcGetFenceStatus
-GetFenceWin32HandleKHR: ProcGetFenceWin32HandleKHR
-GetFramebufferTilePropertiesQCOM: ProcGetFramebufferTilePropertiesQCOM
-GetGeneratedCommandsMemoryRequirementsNV: ProcGetGeneratedCommandsMemoryRequirementsNV
-GetImageDrmFormatModifierPropertiesEXT: ProcGetImageDrmFormatModifierPropertiesEXT
-GetImageMemoryRequirements: ProcGetImageMemoryRequirements
-GetImageMemoryRequirements2: ProcGetImageMemoryRequirements2
-GetImageMemoryRequirements2KHR: ProcGetImageMemoryRequirements2KHR
-GetImageOpaqueCaptureDescriptorDataEXT: ProcGetImageOpaqueCaptureDescriptorDataEXT
-GetImageSparseMemoryRequirements: ProcGetImageSparseMemoryRequirements
-GetImageSparseMemoryRequirements2: ProcGetImageSparseMemoryRequirements2
-GetImageSparseMemoryRequirements2KHR: ProcGetImageSparseMemoryRequirements2KHR
-GetImageSubresourceLayout: ProcGetImageSubresourceLayout
-GetImageSubresourceLayout2EXT: ProcGetImageSubresourceLayout2EXT
-GetImageViewAddressNVX: ProcGetImageViewAddressNVX
-GetImageViewHandleNVX: ProcGetImageViewHandleNVX
-GetImageViewOpaqueCaptureDescriptorDataEXT: ProcGetImageViewOpaqueCaptureDescriptorDataEXT
-GetMemoryFdKHR: ProcGetMemoryFdKHR
-GetMemoryFdPropertiesKHR: ProcGetMemoryFdPropertiesKHR
-GetMemoryHostPointerPropertiesEXT: ProcGetMemoryHostPointerPropertiesEXT
-GetMemoryRemoteAddressNV: ProcGetMemoryRemoteAddressNV
-GetMemoryWin32HandleKHR: ProcGetMemoryWin32HandleKHR
-GetMemoryWin32HandleNV: ProcGetMemoryWin32HandleNV
-GetMemoryWin32HandlePropertiesKHR: ProcGetMemoryWin32HandlePropertiesKHR
-GetMicromapBuildSizesEXT: ProcGetMicromapBuildSizesEXT
-GetPastPresentationTimingGOOGLE: ProcGetPastPresentationTimingGOOGLE
-GetPerformanceParameterINTEL: ProcGetPerformanceParameterINTEL
-GetPipelineCacheData: ProcGetPipelineCacheData
-GetPipelineExecutableInternalRepresentationsKHR: ProcGetPipelineExecutableInternalRepresentationsKHR
-GetPipelineExecutablePropertiesKHR: ProcGetPipelineExecutablePropertiesKHR
-GetPipelineExecutableStatisticsKHR: ProcGetPipelineExecutableStatisticsKHR
-GetPipelinePropertiesEXT: ProcGetPipelinePropertiesEXT
-GetPrivateData: ProcGetPrivateData
-GetPrivateDataEXT: ProcGetPrivateDataEXT
-GetQueryPoolResults: ProcGetQueryPoolResults
-GetQueueCheckpointData2NV: ProcGetQueueCheckpointData2NV
-GetQueueCheckpointDataNV: ProcGetQueueCheckpointDataNV
-GetRayTracingCaptureReplayShaderGroupHandlesKHR: ProcGetRayTracingCaptureReplayShaderGroupHandlesKHR
-GetRayTracingShaderGroupHandlesKHR: ProcGetRayTracingShaderGroupHandlesKHR
-GetRayTracingShaderGroupHandlesNV: ProcGetRayTracingShaderGroupHandlesNV
-GetRayTracingShaderGroupStackSizeKHR: ProcGetRayTracingShaderGroupStackSizeKHR
-GetRefreshCycleDurationGOOGLE: ProcGetRefreshCycleDurationGOOGLE
-GetRenderAreaGranularity: ProcGetRenderAreaGranularity
-GetSamplerOpaqueCaptureDescriptorDataEXT: ProcGetSamplerOpaqueCaptureDescriptorDataEXT
-GetSemaphoreCounterValue: ProcGetSemaphoreCounterValue
-GetSemaphoreCounterValueKHR: ProcGetSemaphoreCounterValueKHR
-GetSemaphoreFdKHR: ProcGetSemaphoreFdKHR
-GetSemaphoreWin32HandleKHR: ProcGetSemaphoreWin32HandleKHR
-GetShaderBinaryDataEXT: ProcGetShaderBinaryDataEXT
-GetShaderInfoAMD: ProcGetShaderInfoAMD
-GetShaderModuleCreateInfoIdentifierEXT: ProcGetShaderModuleCreateInfoIdentifierEXT
-GetShaderModuleIdentifierEXT: ProcGetShaderModuleIdentifierEXT
-GetSwapchainCounterEXT: ProcGetSwapchainCounterEXT
-GetSwapchainImagesKHR: ProcGetSwapchainImagesKHR
-GetSwapchainStatusKHR: ProcGetSwapchainStatusKHR
-GetValidationCacheDataEXT: ProcGetValidationCacheDataEXT
-GetVideoSessionMemoryRequirementsKHR: ProcGetVideoSessionMemoryRequirementsKHR
-ImportFenceFdKHR: ProcImportFenceFdKHR
-ImportFenceWin32HandleKHR: ProcImportFenceWin32HandleKHR
-ImportSemaphoreFdKHR: ProcImportSemaphoreFdKHR
-ImportSemaphoreWin32HandleKHR: ProcImportSemaphoreWin32HandleKHR
-InitializePerformanceApiINTEL: ProcInitializePerformanceApiINTEL
-InvalidateMappedMemoryRanges: ProcInvalidateMappedMemoryRanges
-MapMemory: ProcMapMemory
-MapMemory2KHR: ProcMapMemory2KHR
-MergePipelineCaches: ProcMergePipelineCaches
-MergeValidationCachesEXT: ProcMergeValidationCachesEXT
-QueueBeginDebugUtilsLabelEXT: ProcQueueBeginDebugUtilsLabelEXT
-QueueBindSparse: ProcQueueBindSparse
-QueueEndDebugUtilsLabelEXT: ProcQueueEndDebugUtilsLabelEXT
-QueueInsertDebugUtilsLabelEXT: ProcQueueInsertDebugUtilsLabelEXT
-QueuePresentKHR: ProcQueuePresentKHR
-QueueSetPerformanceConfigurationINTEL: ProcQueueSetPerformanceConfigurationINTEL
-QueueSubmit: ProcQueueSubmit
-QueueSubmit2: ProcQueueSubmit2
-QueueSubmit2KHR: ProcQueueSubmit2KHR
-QueueWaitIdle: ProcQueueWaitIdle
-RegisterDeviceEventEXT: ProcRegisterDeviceEventEXT
-RegisterDisplayEventEXT: ProcRegisterDisplayEventEXT
-ReleaseFullScreenExclusiveModeEXT: ProcReleaseFullScreenExclusiveModeEXT
-ReleasePerformanceConfigurationINTEL: ProcReleasePerformanceConfigurationINTEL
-ReleaseProfilingLockKHR: ProcReleaseProfilingLockKHR
-ReleaseSwapchainImagesEXT: ProcReleaseSwapchainImagesEXT
-ResetCommandBuffer: ProcResetCommandBuffer
-ResetCommandPool: ProcResetCommandPool
-ResetDescriptorPool: ProcResetDescriptorPool
-ResetEvent: ProcResetEvent
-ResetFences: ProcResetFences
-ResetQueryPool: ProcResetQueryPool
-ResetQueryPoolEXT: ProcResetQueryPoolEXT
-SetDebugUtilsObjectNameEXT: ProcSetDebugUtilsObjectNameEXT
-SetDebugUtilsObjectTagEXT: ProcSetDebugUtilsObjectTagEXT
-SetDeviceMemoryPriorityEXT: ProcSetDeviceMemoryPriorityEXT
-SetEvent: ProcSetEvent
-SetHdrMetadataEXT: ProcSetHdrMetadataEXT
-SetLocalDimmingAMD: ProcSetLocalDimmingAMD
-SetPrivateData: ProcSetPrivateData
-SetPrivateDataEXT: ProcSetPrivateDataEXT
-SignalSemaphore: ProcSignalSemaphore
-SignalSemaphoreKHR: ProcSignalSemaphoreKHR
-TrimCommandPool: ProcTrimCommandPool
-TrimCommandPoolKHR: ProcTrimCommandPoolKHR
-UninitializePerformanceApiINTEL: ProcUninitializePerformanceApiINTEL
-UnmapMemory: ProcUnmapMemory
-UnmapMemory2KHR: ProcUnmapMemory2KHR
-UpdateDescriptorSetWithTemplate: ProcUpdateDescriptorSetWithTemplate
-UpdateDescriptorSetWithTemplateKHR: ProcUpdateDescriptorSetWithTemplateKHR
-UpdateDescriptorSets: ProcUpdateDescriptorSets
-UpdateVideoSessionParametersKHR: ProcUpdateVideoSessionParametersKHR
-WaitForFences: ProcWaitForFences
-WaitForPresentKHR: ProcWaitForPresentKHR
-WaitSemaphores: ProcWaitSemaphores
-WaitSemaphoresKHR: ProcWaitSemaphoresKHR
-WriteAccelerationStructuresPropertiesKHR: ProcWriteAccelerationStructuresPropertiesKHR
-WriteMicromapsPropertiesEXT: ProcWriteMicromapsPropertiesEXT
-
-load_proc_addresses_custom :: proc(set_proc_address: SetProcAddressType) {
- // Loader Procedures
- set_proc_address(&CreateInstance, "vkCreateInstance")
- set_proc_address(&DebugUtilsMessengerCallbackEXT, "vkDebugUtilsMessengerCallbackEXT")
- set_proc_address(&DeviceMemoryReportCallbackEXT, "vkDeviceMemoryReportCallbackEXT")
- set_proc_address(&EnumerateInstanceExtensionProperties, "vkEnumerateInstanceExtensionProperties")
- set_proc_address(&EnumerateInstanceLayerProperties, "vkEnumerateInstanceLayerProperties")
- set_proc_address(&EnumerateInstanceVersion, "vkEnumerateInstanceVersion")
- set_proc_address(&GetInstanceProcAddr, "vkGetInstanceProcAddr")
-
- // Instance Procedures
- set_proc_address(&AcquireDrmDisplayEXT, "vkAcquireDrmDisplayEXT")
- set_proc_address(&AcquireWinrtDisplayNV, "vkAcquireWinrtDisplayNV")
- set_proc_address(&CreateDebugReportCallbackEXT, "vkCreateDebugReportCallbackEXT")
- set_proc_address(&CreateDebugUtilsMessengerEXT, "vkCreateDebugUtilsMessengerEXT")
- set_proc_address(&CreateDevice, "vkCreateDevice")
- set_proc_address(&CreateDisplayModeKHR, "vkCreateDisplayModeKHR")
- set_proc_address(&CreateDisplayPlaneSurfaceKHR, "vkCreateDisplayPlaneSurfaceKHR")
- set_proc_address(&CreateHeadlessSurfaceEXT, "vkCreateHeadlessSurfaceEXT")
- set_proc_address(&CreateIOSSurfaceMVK, "vkCreateIOSSurfaceMVK")
- set_proc_address(&CreateMacOSSurfaceMVK, "vkCreateMacOSSurfaceMVK")
- set_proc_address(&CreateMetalSurfaceEXT, "vkCreateMetalSurfaceEXT")
- set_proc_address(&CreateWaylandSurfaceKHR, "vkCreateWaylandSurfaceKHR")
- set_proc_address(&CreateWin32SurfaceKHR, "vkCreateWin32SurfaceKHR")
- set_proc_address(&DebugReportMessageEXT, "vkDebugReportMessageEXT")
- set_proc_address(&DestroyDebugReportCallbackEXT, "vkDestroyDebugReportCallbackEXT")
- set_proc_address(&DestroyDebugUtilsMessengerEXT, "vkDestroyDebugUtilsMessengerEXT")
- set_proc_address(&DestroyInstance, "vkDestroyInstance")
- set_proc_address(&DestroySurfaceKHR, "vkDestroySurfaceKHR")
- set_proc_address(&EnumerateDeviceExtensionProperties, "vkEnumerateDeviceExtensionProperties")
- set_proc_address(&EnumerateDeviceLayerProperties, "vkEnumerateDeviceLayerProperties")
- set_proc_address(&EnumeratePhysicalDeviceGroups, "vkEnumeratePhysicalDeviceGroups")
- set_proc_address(&EnumeratePhysicalDeviceGroupsKHR, "vkEnumeratePhysicalDeviceGroupsKHR")
- set_proc_address(&EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR")
- set_proc_address(&EnumeratePhysicalDevices, "vkEnumeratePhysicalDevices")
- set_proc_address(&GetDisplayModeProperties2KHR, "vkGetDisplayModeProperties2KHR")
- set_proc_address(&GetDisplayModePropertiesKHR, "vkGetDisplayModePropertiesKHR")
- set_proc_address(&GetDisplayPlaneCapabilities2KHR, "vkGetDisplayPlaneCapabilities2KHR")
- set_proc_address(&GetDisplayPlaneCapabilitiesKHR, "vkGetDisplayPlaneCapabilitiesKHR")
- set_proc_address(&GetDisplayPlaneSupportedDisplaysKHR, "vkGetDisplayPlaneSupportedDisplaysKHR")
- set_proc_address(&GetDrmDisplayEXT, "vkGetDrmDisplayEXT")
- set_proc_address(&GetInstanceProcAddrLUNARG, "vkGetInstanceProcAddrLUNARG")
- set_proc_address(&GetPhysicalDeviceCalibrateableTimeDomainsEXT, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT")
- set_proc_address(&GetPhysicalDeviceCooperativeMatrixPropertiesNV, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV")
- set_proc_address(&GetPhysicalDeviceDisplayPlaneProperties2KHR, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")
- set_proc_address(&GetPhysicalDeviceDisplayPlanePropertiesKHR, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR")
- set_proc_address(&GetPhysicalDeviceDisplayProperties2KHR, "vkGetPhysicalDeviceDisplayProperties2KHR")
- set_proc_address(&GetPhysicalDeviceDisplayPropertiesKHR, "vkGetPhysicalDeviceDisplayPropertiesKHR")
- set_proc_address(&GetPhysicalDeviceExternalBufferProperties, "vkGetPhysicalDeviceExternalBufferProperties")
- set_proc_address(&GetPhysicalDeviceExternalBufferPropertiesKHR, "vkGetPhysicalDeviceExternalBufferPropertiesKHR")
- set_proc_address(&GetPhysicalDeviceExternalFenceProperties, "vkGetPhysicalDeviceExternalFenceProperties")
- set_proc_address(&GetPhysicalDeviceExternalFencePropertiesKHR, "vkGetPhysicalDeviceExternalFencePropertiesKHR")
- set_proc_address(&GetPhysicalDeviceExternalImageFormatPropertiesNV, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV")
- set_proc_address(&GetPhysicalDeviceExternalSemaphoreProperties, "vkGetPhysicalDeviceExternalSemaphoreProperties")
- set_proc_address(&GetPhysicalDeviceExternalSemaphorePropertiesKHR, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR")
- set_proc_address(&GetPhysicalDeviceFeatures, "vkGetPhysicalDeviceFeatures")
- set_proc_address(&GetPhysicalDeviceFeatures2, "vkGetPhysicalDeviceFeatures2")
- set_proc_address(&GetPhysicalDeviceFeatures2KHR, "vkGetPhysicalDeviceFeatures2KHR")
- set_proc_address(&GetPhysicalDeviceFormatProperties, "vkGetPhysicalDeviceFormatProperties")
- set_proc_address(&GetPhysicalDeviceFormatProperties2, "vkGetPhysicalDeviceFormatProperties2")
- set_proc_address(&GetPhysicalDeviceFormatProperties2KHR, "vkGetPhysicalDeviceFormatProperties2KHR")
- set_proc_address(&GetPhysicalDeviceFragmentShadingRatesKHR, "vkGetPhysicalDeviceFragmentShadingRatesKHR")
- set_proc_address(&GetPhysicalDeviceImageFormatProperties, "vkGetPhysicalDeviceImageFormatProperties")
- set_proc_address(&GetPhysicalDeviceImageFormatProperties2, "vkGetPhysicalDeviceImageFormatProperties2")
- set_proc_address(&GetPhysicalDeviceImageFormatProperties2KHR, "vkGetPhysicalDeviceImageFormatProperties2KHR")
- set_proc_address(&GetPhysicalDeviceMemoryProperties, "vkGetPhysicalDeviceMemoryProperties")
- set_proc_address(&GetPhysicalDeviceMemoryProperties2, "vkGetPhysicalDeviceMemoryProperties2")
- set_proc_address(&GetPhysicalDeviceMemoryProperties2KHR, "vkGetPhysicalDeviceMemoryProperties2KHR")
- set_proc_address(&GetPhysicalDeviceMultisamplePropertiesEXT, "vkGetPhysicalDeviceMultisamplePropertiesEXT")
- set_proc_address(&GetPhysicalDeviceOpticalFlowImageFormatsNV, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV")
- set_proc_address(&GetPhysicalDevicePresentRectanglesKHR, "vkGetPhysicalDevicePresentRectanglesKHR")
- set_proc_address(&GetPhysicalDeviceProperties, "vkGetPhysicalDeviceProperties")
- set_proc_address(&GetPhysicalDeviceProperties2, "vkGetPhysicalDeviceProperties2")
- set_proc_address(&GetPhysicalDeviceProperties2KHR, "vkGetPhysicalDeviceProperties2KHR")
- set_proc_address(&GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR")
- set_proc_address(&GetPhysicalDeviceQueueFamilyProperties, "vkGetPhysicalDeviceQueueFamilyProperties")
- set_proc_address(&GetPhysicalDeviceQueueFamilyProperties2, "vkGetPhysicalDeviceQueueFamilyProperties2")
- set_proc_address(&GetPhysicalDeviceQueueFamilyProperties2KHR, "vkGetPhysicalDeviceQueueFamilyProperties2KHR")
- set_proc_address(&GetPhysicalDeviceSparseImageFormatProperties, "vkGetPhysicalDeviceSparseImageFormatProperties")
- set_proc_address(&GetPhysicalDeviceSparseImageFormatProperties2, "vkGetPhysicalDeviceSparseImageFormatProperties2")
- set_proc_address(&GetPhysicalDeviceSparseImageFormatProperties2KHR, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR")
- set_proc_address(&GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV")
- set_proc_address(&GetPhysicalDeviceSurfaceCapabilities2EXT, "vkGetPhysicalDeviceSurfaceCapabilities2EXT")
- set_proc_address(&GetPhysicalDeviceSurfaceCapabilities2KHR, "vkGetPhysicalDeviceSurfaceCapabilities2KHR")
- set_proc_address(&GetPhysicalDeviceSurfaceCapabilitiesKHR, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR")
- set_proc_address(&GetPhysicalDeviceSurfaceFormats2KHR, "vkGetPhysicalDeviceSurfaceFormats2KHR")
- set_proc_address(&GetPhysicalDeviceSurfaceFormatsKHR, "vkGetPhysicalDeviceSurfaceFormatsKHR")
- set_proc_address(&GetPhysicalDeviceSurfacePresentModes2EXT, "vkGetPhysicalDeviceSurfacePresentModes2EXT")
- set_proc_address(&GetPhysicalDeviceSurfacePresentModesKHR, "vkGetPhysicalDeviceSurfacePresentModesKHR")
- set_proc_address(&GetPhysicalDeviceSurfaceSupportKHR, "vkGetPhysicalDeviceSurfaceSupportKHR")
- set_proc_address(&GetPhysicalDeviceToolProperties, "vkGetPhysicalDeviceToolProperties")
- set_proc_address(&GetPhysicalDeviceToolPropertiesEXT, "vkGetPhysicalDeviceToolPropertiesEXT")
- set_proc_address(&GetPhysicalDeviceVideoCapabilitiesKHR, "vkGetPhysicalDeviceVideoCapabilitiesKHR")
- set_proc_address(&GetPhysicalDeviceVideoFormatPropertiesKHR, "vkGetPhysicalDeviceVideoFormatPropertiesKHR")
- set_proc_address(&GetPhysicalDeviceWaylandPresentationSupportKHR, "vkGetPhysicalDeviceWaylandPresentationSupportKHR")
- set_proc_address(&GetPhysicalDeviceWin32PresentationSupportKHR, "vkGetPhysicalDeviceWin32PresentationSupportKHR")
- set_proc_address(&GetWinrtDisplayNV, "vkGetWinrtDisplayNV")
- set_proc_address(&ReleaseDisplayEXT, "vkReleaseDisplayEXT")
- set_proc_address(&SubmitDebugUtilsMessageEXT, "vkSubmitDebugUtilsMessageEXT")
-
- // Device Procedures
- set_proc_address(&AcquireFullScreenExclusiveModeEXT, "vkAcquireFullScreenExclusiveModeEXT")
- set_proc_address(&AcquireNextImage2KHR, "vkAcquireNextImage2KHR")
- set_proc_address(&AcquireNextImageKHR, "vkAcquireNextImageKHR")
- set_proc_address(&AcquirePerformanceConfigurationINTEL, "vkAcquirePerformanceConfigurationINTEL")
- set_proc_address(&AcquireProfilingLockKHR, "vkAcquireProfilingLockKHR")
- set_proc_address(&AllocateCommandBuffers, "vkAllocateCommandBuffers")
- set_proc_address(&AllocateDescriptorSets, "vkAllocateDescriptorSets")
- set_proc_address(&AllocateMemory, "vkAllocateMemory")
- set_proc_address(&BeginCommandBuffer, "vkBeginCommandBuffer")
- set_proc_address(&BindAccelerationStructureMemoryNV, "vkBindAccelerationStructureMemoryNV")
- set_proc_address(&BindBufferMemory, "vkBindBufferMemory")
- set_proc_address(&BindBufferMemory2, "vkBindBufferMemory2")
- set_proc_address(&BindBufferMemory2KHR, "vkBindBufferMemory2KHR")
- set_proc_address(&BindImageMemory, "vkBindImageMemory")
- set_proc_address(&BindImageMemory2, "vkBindImageMemory2")
- set_proc_address(&BindImageMemory2KHR, "vkBindImageMemory2KHR")
- set_proc_address(&BindOpticalFlowSessionImageNV, "vkBindOpticalFlowSessionImageNV")
- set_proc_address(&BindVideoSessionMemoryKHR, "vkBindVideoSessionMemoryKHR")
- set_proc_address(&BuildAccelerationStructuresKHR, "vkBuildAccelerationStructuresKHR")
- set_proc_address(&BuildMicromapsEXT, "vkBuildMicromapsEXT")
- set_proc_address(&CmdBeginConditionalRenderingEXT, "vkCmdBeginConditionalRenderingEXT")
- set_proc_address(&CmdBeginDebugUtilsLabelEXT, "vkCmdBeginDebugUtilsLabelEXT")
- set_proc_address(&CmdBeginQuery, "vkCmdBeginQuery")
- set_proc_address(&CmdBeginQueryIndexedEXT, "vkCmdBeginQueryIndexedEXT")
- set_proc_address(&CmdBeginRenderPass, "vkCmdBeginRenderPass")
- set_proc_address(&CmdBeginRenderPass2, "vkCmdBeginRenderPass2")
- set_proc_address(&CmdBeginRenderPass2KHR, "vkCmdBeginRenderPass2KHR")
- set_proc_address(&CmdBeginRendering, "vkCmdBeginRendering")
- set_proc_address(&CmdBeginRenderingKHR, "vkCmdBeginRenderingKHR")
- set_proc_address(&CmdBeginTransformFeedbackEXT, "vkCmdBeginTransformFeedbackEXT")
- set_proc_address(&CmdBeginVideoCodingKHR, "vkCmdBeginVideoCodingKHR")
- set_proc_address(&CmdBindDescriptorBufferEmbeddedSamplersEXT, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT")
- set_proc_address(&CmdBindDescriptorBuffersEXT, "vkCmdBindDescriptorBuffersEXT")
- set_proc_address(&CmdBindDescriptorSets, "vkCmdBindDescriptorSets")
- set_proc_address(&CmdBindIndexBuffer, "vkCmdBindIndexBuffer")
- set_proc_address(&CmdBindInvocationMaskHUAWEI, "vkCmdBindInvocationMaskHUAWEI")
- set_proc_address(&CmdBindPipeline, "vkCmdBindPipeline")
- set_proc_address(&CmdBindPipelineShaderGroupNV, "vkCmdBindPipelineShaderGroupNV")
- set_proc_address(&CmdBindShadersEXT, "vkCmdBindShadersEXT")
- set_proc_address(&CmdBindShadingRateImageNV, "vkCmdBindShadingRateImageNV")
- set_proc_address(&CmdBindTransformFeedbackBuffersEXT, "vkCmdBindTransformFeedbackBuffersEXT")
- set_proc_address(&CmdBindVertexBuffers, "vkCmdBindVertexBuffers")
- set_proc_address(&CmdBindVertexBuffers2, "vkCmdBindVertexBuffers2")
- set_proc_address(&CmdBindVertexBuffers2EXT, "vkCmdBindVertexBuffers2EXT")
- set_proc_address(&CmdBlitImage, "vkCmdBlitImage")
- set_proc_address(&CmdBlitImage2, "vkCmdBlitImage2")
- set_proc_address(&CmdBlitImage2KHR, "vkCmdBlitImage2KHR")
- set_proc_address(&CmdBuildAccelerationStructureNV, "vkCmdBuildAccelerationStructureNV")
- set_proc_address(&CmdBuildAccelerationStructuresIndirectKHR, "vkCmdBuildAccelerationStructuresIndirectKHR")
- set_proc_address(&CmdBuildAccelerationStructuresKHR, "vkCmdBuildAccelerationStructuresKHR")
- set_proc_address(&CmdBuildMicromapsEXT, "vkCmdBuildMicromapsEXT")
- set_proc_address(&CmdClearAttachments, "vkCmdClearAttachments")
- set_proc_address(&CmdClearColorImage, "vkCmdClearColorImage")
- set_proc_address(&CmdClearDepthStencilImage, "vkCmdClearDepthStencilImage")
- set_proc_address(&CmdControlVideoCodingKHR, "vkCmdControlVideoCodingKHR")
- set_proc_address(&CmdCopyAccelerationStructureKHR, "vkCmdCopyAccelerationStructureKHR")
- set_proc_address(&CmdCopyAccelerationStructureNV, "vkCmdCopyAccelerationStructureNV")
- set_proc_address(&CmdCopyAccelerationStructureToMemoryKHR, "vkCmdCopyAccelerationStructureToMemoryKHR")
- set_proc_address(&CmdCopyBuffer, "vkCmdCopyBuffer")
- set_proc_address(&CmdCopyBuffer2, "vkCmdCopyBuffer2")
- set_proc_address(&CmdCopyBuffer2KHR, "vkCmdCopyBuffer2KHR")
- set_proc_address(&CmdCopyBufferToImage, "vkCmdCopyBufferToImage")
- set_proc_address(&CmdCopyBufferToImage2, "vkCmdCopyBufferToImage2")
- set_proc_address(&CmdCopyBufferToImage2KHR, "vkCmdCopyBufferToImage2KHR")
- set_proc_address(&CmdCopyImage, "vkCmdCopyImage")
- set_proc_address(&CmdCopyImage2, "vkCmdCopyImage2")
- set_proc_address(&CmdCopyImage2KHR, "vkCmdCopyImage2KHR")
- set_proc_address(&CmdCopyImageToBuffer, "vkCmdCopyImageToBuffer")
- set_proc_address(&CmdCopyImageToBuffer2, "vkCmdCopyImageToBuffer2")
- set_proc_address(&CmdCopyImageToBuffer2KHR, "vkCmdCopyImageToBuffer2KHR")
- set_proc_address(&CmdCopyMemoryIndirectNV, "vkCmdCopyMemoryIndirectNV")
- set_proc_address(&CmdCopyMemoryToAccelerationStructureKHR, "vkCmdCopyMemoryToAccelerationStructureKHR")
- set_proc_address(&CmdCopyMemoryToImageIndirectNV, "vkCmdCopyMemoryToImageIndirectNV")
- set_proc_address(&CmdCopyMemoryToMicromapEXT, "vkCmdCopyMemoryToMicromapEXT")
- set_proc_address(&CmdCopyMicromapEXT, "vkCmdCopyMicromapEXT")
- set_proc_address(&CmdCopyMicromapToMemoryEXT, "vkCmdCopyMicromapToMemoryEXT")
- set_proc_address(&CmdCopyQueryPoolResults, "vkCmdCopyQueryPoolResults")
- set_proc_address(&CmdCuLaunchKernelNVX, "vkCmdCuLaunchKernelNVX")
- set_proc_address(&CmdDebugMarkerBeginEXT, "vkCmdDebugMarkerBeginEXT")
- set_proc_address(&CmdDebugMarkerEndEXT, "vkCmdDebugMarkerEndEXT")
- set_proc_address(&CmdDebugMarkerInsertEXT, "vkCmdDebugMarkerInsertEXT")
- set_proc_address(&CmdDecodeVideoKHR, "vkCmdDecodeVideoKHR")
- set_proc_address(&CmdDecompressMemoryIndirectCountNV, "vkCmdDecompressMemoryIndirectCountNV")
- set_proc_address(&CmdDecompressMemoryNV, "vkCmdDecompressMemoryNV")
- set_proc_address(&CmdDispatch, "vkCmdDispatch")
- set_proc_address(&CmdDispatchBase, "vkCmdDispatchBase")
- set_proc_address(&CmdDispatchBaseKHR, "vkCmdDispatchBaseKHR")
- set_proc_address(&CmdDispatchIndirect, "vkCmdDispatchIndirect")
- set_proc_address(&CmdDraw, "vkCmdDraw")
- set_proc_address(&CmdDrawClusterHUAWEI, "vkCmdDrawClusterHUAWEI")
- set_proc_address(&CmdDrawClusterIndirectHUAWEI, "vkCmdDrawClusterIndirectHUAWEI")
- set_proc_address(&CmdDrawIndexed, "vkCmdDrawIndexed")
- set_proc_address(&CmdDrawIndexedIndirect, "vkCmdDrawIndexedIndirect")
- set_proc_address(&CmdDrawIndexedIndirectCount, "vkCmdDrawIndexedIndirectCount")
- set_proc_address(&CmdDrawIndexedIndirectCountAMD, "vkCmdDrawIndexedIndirectCountAMD")
- set_proc_address(&CmdDrawIndexedIndirectCountKHR, "vkCmdDrawIndexedIndirectCountKHR")
- set_proc_address(&CmdDrawIndirect, "vkCmdDrawIndirect")
- set_proc_address(&CmdDrawIndirectByteCountEXT, "vkCmdDrawIndirectByteCountEXT")
- set_proc_address(&CmdDrawIndirectCount, "vkCmdDrawIndirectCount")
- set_proc_address(&CmdDrawIndirectCountAMD, "vkCmdDrawIndirectCountAMD")
- set_proc_address(&CmdDrawIndirectCountKHR, "vkCmdDrawIndirectCountKHR")
- set_proc_address(&CmdDrawMeshTasksEXT, "vkCmdDrawMeshTasksEXT")
- set_proc_address(&CmdDrawMeshTasksIndirectCountEXT, "vkCmdDrawMeshTasksIndirectCountEXT")
- set_proc_address(&CmdDrawMeshTasksIndirectCountNV, "vkCmdDrawMeshTasksIndirectCountNV")
- set_proc_address(&CmdDrawMeshTasksIndirectEXT, "vkCmdDrawMeshTasksIndirectEXT")
- set_proc_address(&CmdDrawMeshTasksIndirectNV, "vkCmdDrawMeshTasksIndirectNV")
- set_proc_address(&CmdDrawMeshTasksNV, "vkCmdDrawMeshTasksNV")
- set_proc_address(&CmdDrawMultiEXT, "vkCmdDrawMultiEXT")
- set_proc_address(&CmdDrawMultiIndexedEXT, "vkCmdDrawMultiIndexedEXT")
- set_proc_address(&CmdEndConditionalRenderingEXT, "vkCmdEndConditionalRenderingEXT")
- set_proc_address(&CmdEndDebugUtilsLabelEXT, "vkCmdEndDebugUtilsLabelEXT")
- set_proc_address(&CmdEndQuery, "vkCmdEndQuery")
- set_proc_address(&CmdEndQueryIndexedEXT, "vkCmdEndQueryIndexedEXT")
- set_proc_address(&CmdEndRenderPass, "vkCmdEndRenderPass")
- set_proc_address(&CmdEndRenderPass2, "vkCmdEndRenderPass2")
- set_proc_address(&CmdEndRenderPass2KHR, "vkCmdEndRenderPass2KHR")
- set_proc_address(&CmdEndRendering, "vkCmdEndRendering")
- set_proc_address(&CmdEndRenderingKHR, "vkCmdEndRenderingKHR")
- set_proc_address(&CmdEndTransformFeedbackEXT, "vkCmdEndTransformFeedbackEXT")
- set_proc_address(&CmdEndVideoCodingKHR, "vkCmdEndVideoCodingKHR")
- set_proc_address(&CmdExecuteCommands, "vkCmdExecuteCommands")
- set_proc_address(&CmdExecuteGeneratedCommandsNV, "vkCmdExecuteGeneratedCommandsNV")
- set_proc_address(&CmdFillBuffer, "vkCmdFillBuffer")
- set_proc_address(&CmdInsertDebugUtilsLabelEXT, "vkCmdInsertDebugUtilsLabelEXT")
- set_proc_address(&CmdNextSubpass, "vkCmdNextSubpass")
- set_proc_address(&CmdNextSubpass2, "vkCmdNextSubpass2")
- set_proc_address(&CmdNextSubpass2KHR, "vkCmdNextSubpass2KHR")
- set_proc_address(&CmdOpticalFlowExecuteNV, "vkCmdOpticalFlowExecuteNV")
- set_proc_address(&CmdPipelineBarrier, "vkCmdPipelineBarrier")
- set_proc_address(&CmdPipelineBarrier2, "vkCmdPipelineBarrier2")
- set_proc_address(&CmdPipelineBarrier2KHR, "vkCmdPipelineBarrier2KHR")
- set_proc_address(&CmdPreprocessGeneratedCommandsNV, "vkCmdPreprocessGeneratedCommandsNV")
- set_proc_address(&CmdPushConstants, "vkCmdPushConstants")
- set_proc_address(&CmdPushDescriptorSetKHR, "vkCmdPushDescriptorSetKHR")
- set_proc_address(&CmdPushDescriptorSetWithTemplateKHR, "vkCmdPushDescriptorSetWithTemplateKHR")
- set_proc_address(&CmdResetEvent, "vkCmdResetEvent")
- set_proc_address(&CmdResetEvent2, "vkCmdResetEvent2")
- set_proc_address(&CmdResetEvent2KHR, "vkCmdResetEvent2KHR")
- set_proc_address(&CmdResetQueryPool, "vkCmdResetQueryPool")
- set_proc_address(&CmdResolveImage, "vkCmdResolveImage")
- set_proc_address(&CmdResolveImage2, "vkCmdResolveImage2")
- set_proc_address(&CmdResolveImage2KHR, "vkCmdResolveImage2KHR")
- set_proc_address(&CmdSetAlphaToCoverageEnableEXT, "vkCmdSetAlphaToCoverageEnableEXT")
- set_proc_address(&CmdSetAlphaToOneEnableEXT, "vkCmdSetAlphaToOneEnableEXT")
- set_proc_address(&CmdSetAttachmentFeedbackLoopEnableEXT, "vkCmdSetAttachmentFeedbackLoopEnableEXT")
- set_proc_address(&CmdSetBlendConstants, "vkCmdSetBlendConstants")
- set_proc_address(&CmdSetCheckpointNV, "vkCmdSetCheckpointNV")
- set_proc_address(&CmdSetCoarseSampleOrderNV, "vkCmdSetCoarseSampleOrderNV")
- set_proc_address(&CmdSetColorBlendAdvancedEXT, "vkCmdSetColorBlendAdvancedEXT")
- set_proc_address(&CmdSetColorBlendEnableEXT, "vkCmdSetColorBlendEnableEXT")
- set_proc_address(&CmdSetColorBlendEquationEXT, "vkCmdSetColorBlendEquationEXT")
- set_proc_address(&CmdSetColorWriteMaskEXT, "vkCmdSetColorWriteMaskEXT")
- set_proc_address(&CmdSetConservativeRasterizationModeEXT, "vkCmdSetConservativeRasterizationModeEXT")
- set_proc_address(&CmdSetCoverageModulationModeNV, "vkCmdSetCoverageModulationModeNV")
- set_proc_address(&CmdSetCoverageModulationTableEnableNV, "vkCmdSetCoverageModulationTableEnableNV")
- set_proc_address(&CmdSetCoverageModulationTableNV, "vkCmdSetCoverageModulationTableNV")
- set_proc_address(&CmdSetCoverageReductionModeNV, "vkCmdSetCoverageReductionModeNV")
- set_proc_address(&CmdSetCoverageToColorEnableNV, "vkCmdSetCoverageToColorEnableNV")
- set_proc_address(&CmdSetCoverageToColorLocationNV, "vkCmdSetCoverageToColorLocationNV")
- set_proc_address(&CmdSetCullMode, "vkCmdSetCullMode")
- set_proc_address(&CmdSetCullModeEXT, "vkCmdSetCullModeEXT")
- set_proc_address(&CmdSetDepthBias, "vkCmdSetDepthBias")
- set_proc_address(&CmdSetDepthBiasEnable, "vkCmdSetDepthBiasEnable")
- set_proc_address(&CmdSetDepthBiasEnableEXT, "vkCmdSetDepthBiasEnableEXT")
- set_proc_address(&CmdSetDepthBounds, "vkCmdSetDepthBounds")
- set_proc_address(&CmdSetDepthBoundsTestEnable, "vkCmdSetDepthBoundsTestEnable")
- set_proc_address(&CmdSetDepthBoundsTestEnableEXT, "vkCmdSetDepthBoundsTestEnableEXT")
- set_proc_address(&CmdSetDepthClampEnableEXT, "vkCmdSetDepthClampEnableEXT")
- set_proc_address(&CmdSetDepthClipEnableEXT, "vkCmdSetDepthClipEnableEXT")
- set_proc_address(&CmdSetDepthClipNegativeOneToOneEXT, "vkCmdSetDepthClipNegativeOneToOneEXT")
- set_proc_address(&CmdSetDepthCompareOp, "vkCmdSetDepthCompareOp")
- set_proc_address(&CmdSetDepthCompareOpEXT, "vkCmdSetDepthCompareOpEXT")
- set_proc_address(&CmdSetDepthTestEnable, "vkCmdSetDepthTestEnable")
- set_proc_address(&CmdSetDepthTestEnableEXT, "vkCmdSetDepthTestEnableEXT")
- set_proc_address(&CmdSetDepthWriteEnable, "vkCmdSetDepthWriteEnable")
- set_proc_address(&CmdSetDepthWriteEnableEXT, "vkCmdSetDepthWriteEnableEXT")
- set_proc_address(&CmdSetDescriptorBufferOffsetsEXT, "vkCmdSetDescriptorBufferOffsetsEXT")
- set_proc_address(&CmdSetDeviceMask, "vkCmdSetDeviceMask")
- set_proc_address(&CmdSetDeviceMaskKHR, "vkCmdSetDeviceMaskKHR")
- set_proc_address(&CmdSetDiscardRectangleEXT, "vkCmdSetDiscardRectangleEXT")
- set_proc_address(&CmdSetDiscardRectangleEnableEXT, "vkCmdSetDiscardRectangleEnableEXT")
- set_proc_address(&CmdSetDiscardRectangleModeEXT, "vkCmdSetDiscardRectangleModeEXT")
- set_proc_address(&CmdSetEvent, "vkCmdSetEvent")
- set_proc_address(&CmdSetEvent2, "vkCmdSetEvent2")
- set_proc_address(&CmdSetEvent2KHR, "vkCmdSetEvent2KHR")
- set_proc_address(&CmdSetExclusiveScissorEnableNV, "vkCmdSetExclusiveScissorEnableNV")
- set_proc_address(&CmdSetExclusiveScissorNV, "vkCmdSetExclusiveScissorNV")
- set_proc_address(&CmdSetExtraPrimitiveOverestimationSizeEXT, "vkCmdSetExtraPrimitiveOverestimationSizeEXT")
- set_proc_address(&CmdSetFragmentShadingRateEnumNV, "vkCmdSetFragmentShadingRateEnumNV")
- set_proc_address(&CmdSetFragmentShadingRateKHR, "vkCmdSetFragmentShadingRateKHR")
- set_proc_address(&CmdSetFrontFace, "vkCmdSetFrontFace")
- set_proc_address(&CmdSetFrontFaceEXT, "vkCmdSetFrontFaceEXT")
- set_proc_address(&CmdSetLineRasterizationModeEXT, "vkCmdSetLineRasterizationModeEXT")
- set_proc_address(&CmdSetLineStippleEXT, "vkCmdSetLineStippleEXT")
- set_proc_address(&CmdSetLineStippleEnableEXT, "vkCmdSetLineStippleEnableEXT")
- set_proc_address(&CmdSetLineWidth, "vkCmdSetLineWidth")
- set_proc_address(&CmdSetLogicOpEXT, "vkCmdSetLogicOpEXT")
- set_proc_address(&CmdSetLogicOpEnableEXT, "vkCmdSetLogicOpEnableEXT")
- set_proc_address(&CmdSetPatchControlPointsEXT, "vkCmdSetPatchControlPointsEXT")
- set_proc_address(&CmdSetPerformanceMarkerINTEL, "vkCmdSetPerformanceMarkerINTEL")
- set_proc_address(&CmdSetPerformanceOverrideINTEL, "vkCmdSetPerformanceOverrideINTEL")
- set_proc_address(&CmdSetPerformanceStreamMarkerINTEL, "vkCmdSetPerformanceStreamMarkerINTEL")
- set_proc_address(&CmdSetPolygonModeEXT, "vkCmdSetPolygonModeEXT")
- set_proc_address(&CmdSetPrimitiveRestartEnable, "vkCmdSetPrimitiveRestartEnable")
- set_proc_address(&CmdSetPrimitiveRestartEnableEXT, "vkCmdSetPrimitiveRestartEnableEXT")
- set_proc_address(&CmdSetPrimitiveTopology, "vkCmdSetPrimitiveTopology")
- set_proc_address(&CmdSetPrimitiveTopologyEXT, "vkCmdSetPrimitiveTopologyEXT")
- set_proc_address(&CmdSetProvokingVertexModeEXT, "vkCmdSetProvokingVertexModeEXT")
- set_proc_address(&CmdSetRasterizationSamplesEXT, "vkCmdSetRasterizationSamplesEXT")
- set_proc_address(&CmdSetRasterizationStreamEXT, "vkCmdSetRasterizationStreamEXT")
- set_proc_address(&CmdSetRasterizerDiscardEnable, "vkCmdSetRasterizerDiscardEnable")
- set_proc_address(&CmdSetRasterizerDiscardEnableEXT, "vkCmdSetRasterizerDiscardEnableEXT")
- set_proc_address(&CmdSetRayTracingPipelineStackSizeKHR, "vkCmdSetRayTracingPipelineStackSizeKHR")
- set_proc_address(&CmdSetRepresentativeFragmentTestEnableNV, "vkCmdSetRepresentativeFragmentTestEnableNV")
- set_proc_address(&CmdSetSampleLocationsEXT, "vkCmdSetSampleLocationsEXT")
- set_proc_address(&CmdSetSampleLocationsEnableEXT, "vkCmdSetSampleLocationsEnableEXT")
- set_proc_address(&CmdSetSampleMaskEXT, "vkCmdSetSampleMaskEXT")
- set_proc_address(&CmdSetScissor, "vkCmdSetScissor")
- set_proc_address(&CmdSetScissorWithCount, "vkCmdSetScissorWithCount")
- set_proc_address(&CmdSetScissorWithCountEXT, "vkCmdSetScissorWithCountEXT")
- set_proc_address(&CmdSetShadingRateImageEnableNV, "vkCmdSetShadingRateImageEnableNV")
- set_proc_address(&CmdSetStencilCompareMask, "vkCmdSetStencilCompareMask")
- set_proc_address(&CmdSetStencilOp, "vkCmdSetStencilOp")
- set_proc_address(&CmdSetStencilOpEXT, "vkCmdSetStencilOpEXT")
- set_proc_address(&CmdSetStencilReference, "vkCmdSetStencilReference")
- set_proc_address(&CmdSetStencilTestEnable, "vkCmdSetStencilTestEnable")
- set_proc_address(&CmdSetStencilTestEnableEXT, "vkCmdSetStencilTestEnableEXT")
- set_proc_address(&CmdSetStencilWriteMask, "vkCmdSetStencilWriteMask")
- set_proc_address(&CmdSetTessellationDomainOriginEXT, "vkCmdSetTessellationDomainOriginEXT")
- set_proc_address(&CmdSetVertexInputEXT, "vkCmdSetVertexInputEXT")
- set_proc_address(&CmdSetViewport, "vkCmdSetViewport")
- set_proc_address(&CmdSetViewportShadingRatePaletteNV, "vkCmdSetViewportShadingRatePaletteNV")
- set_proc_address(&CmdSetViewportSwizzleNV, "vkCmdSetViewportSwizzleNV")
- set_proc_address(&CmdSetViewportWScalingEnableNV, "vkCmdSetViewportWScalingEnableNV")
- set_proc_address(&CmdSetViewportWScalingNV, "vkCmdSetViewportWScalingNV")
- set_proc_address(&CmdSetViewportWithCount, "vkCmdSetViewportWithCount")
- set_proc_address(&CmdSetViewportWithCountEXT, "vkCmdSetViewportWithCountEXT")
- set_proc_address(&CmdSubpassShadingHUAWEI, "vkCmdSubpassShadingHUAWEI")
- set_proc_address(&CmdTraceRaysIndirect2KHR, "vkCmdTraceRaysIndirect2KHR")
- set_proc_address(&CmdTraceRaysIndirectKHR, "vkCmdTraceRaysIndirectKHR")
- set_proc_address(&CmdTraceRaysKHR, "vkCmdTraceRaysKHR")
- set_proc_address(&CmdTraceRaysNV, "vkCmdTraceRaysNV")
- set_proc_address(&CmdUpdateBuffer, "vkCmdUpdateBuffer")
- set_proc_address(&CmdWaitEvents, "vkCmdWaitEvents")
- set_proc_address(&CmdWaitEvents2, "vkCmdWaitEvents2")
- set_proc_address(&CmdWaitEvents2KHR, "vkCmdWaitEvents2KHR")
- set_proc_address(&CmdWriteAccelerationStructuresPropertiesKHR, "vkCmdWriteAccelerationStructuresPropertiesKHR")
- set_proc_address(&CmdWriteAccelerationStructuresPropertiesNV, "vkCmdWriteAccelerationStructuresPropertiesNV")
- set_proc_address(&CmdWriteBufferMarker2AMD, "vkCmdWriteBufferMarker2AMD")
- set_proc_address(&CmdWriteBufferMarkerAMD, "vkCmdWriteBufferMarkerAMD")
- set_proc_address(&CmdWriteMicromapsPropertiesEXT, "vkCmdWriteMicromapsPropertiesEXT")
- set_proc_address(&CmdWriteTimestamp, "vkCmdWriteTimestamp")
- set_proc_address(&CmdWriteTimestamp2, "vkCmdWriteTimestamp2")
- set_proc_address(&CmdWriteTimestamp2KHR, "vkCmdWriteTimestamp2KHR")
- set_proc_address(&CompileDeferredNV, "vkCompileDeferredNV")
- set_proc_address(&CopyAccelerationStructureKHR, "vkCopyAccelerationStructureKHR")
- set_proc_address(&CopyAccelerationStructureToMemoryKHR, "vkCopyAccelerationStructureToMemoryKHR")
- set_proc_address(&CopyMemoryToAccelerationStructureKHR, "vkCopyMemoryToAccelerationStructureKHR")
- set_proc_address(&CopyMemoryToMicromapEXT, "vkCopyMemoryToMicromapEXT")
- set_proc_address(&CopyMicromapEXT, "vkCopyMicromapEXT")
- set_proc_address(&CopyMicromapToMemoryEXT, "vkCopyMicromapToMemoryEXT")
- set_proc_address(&CreateAccelerationStructureKHR, "vkCreateAccelerationStructureKHR")
- set_proc_address(&CreateAccelerationStructureNV, "vkCreateAccelerationStructureNV")
- set_proc_address(&CreateBuffer, "vkCreateBuffer")
- set_proc_address(&CreateBufferView, "vkCreateBufferView")
- set_proc_address(&CreateCommandPool, "vkCreateCommandPool")
- set_proc_address(&CreateComputePipelines, "vkCreateComputePipelines")
- set_proc_address(&CreateCuFunctionNVX, "vkCreateCuFunctionNVX")
- set_proc_address(&CreateCuModuleNVX, "vkCreateCuModuleNVX")
- set_proc_address(&CreateDeferredOperationKHR, "vkCreateDeferredOperationKHR")
- set_proc_address(&CreateDescriptorPool, "vkCreateDescriptorPool")
- set_proc_address(&CreateDescriptorSetLayout, "vkCreateDescriptorSetLayout")
- set_proc_address(&CreateDescriptorUpdateTemplate, "vkCreateDescriptorUpdateTemplate")
- set_proc_address(&CreateDescriptorUpdateTemplateKHR, "vkCreateDescriptorUpdateTemplateKHR")
- set_proc_address(&CreateEvent, "vkCreateEvent")
- set_proc_address(&CreateFence, "vkCreateFence")
- set_proc_address(&CreateFramebuffer, "vkCreateFramebuffer")
- set_proc_address(&CreateGraphicsPipelines, "vkCreateGraphicsPipelines")
- set_proc_address(&CreateImage, "vkCreateImage")
- set_proc_address(&CreateImageView, "vkCreateImageView")
- set_proc_address(&CreateIndirectCommandsLayoutNV, "vkCreateIndirectCommandsLayoutNV")
- set_proc_address(&CreateMicromapEXT, "vkCreateMicromapEXT")
- set_proc_address(&CreateOpticalFlowSessionNV, "vkCreateOpticalFlowSessionNV")
- set_proc_address(&CreatePipelineCache, "vkCreatePipelineCache")
- set_proc_address(&CreatePipelineLayout, "vkCreatePipelineLayout")
- set_proc_address(&CreatePrivateDataSlot, "vkCreatePrivateDataSlot")
- set_proc_address(&CreatePrivateDataSlotEXT, "vkCreatePrivateDataSlotEXT")
- set_proc_address(&CreateQueryPool, "vkCreateQueryPool")
- set_proc_address(&CreateRayTracingPipelinesKHR, "vkCreateRayTracingPipelinesKHR")
- set_proc_address(&CreateRayTracingPipelinesNV, "vkCreateRayTracingPipelinesNV")
- set_proc_address(&CreateRenderPass, "vkCreateRenderPass")
- set_proc_address(&CreateRenderPass2, "vkCreateRenderPass2")
- set_proc_address(&CreateRenderPass2KHR, "vkCreateRenderPass2KHR")
- set_proc_address(&CreateSampler, "vkCreateSampler")
- set_proc_address(&CreateSamplerYcbcrConversion, "vkCreateSamplerYcbcrConversion")
- set_proc_address(&CreateSamplerYcbcrConversionKHR, "vkCreateSamplerYcbcrConversionKHR")
- set_proc_address(&CreateSemaphore, "vkCreateSemaphore")
- set_proc_address(&CreateShaderModule, "vkCreateShaderModule")
- set_proc_address(&CreateShadersEXT, "vkCreateShadersEXT")
- set_proc_address(&CreateSharedSwapchainsKHR, "vkCreateSharedSwapchainsKHR")
- set_proc_address(&CreateSwapchainKHR, "vkCreateSwapchainKHR")
- set_proc_address(&CreateValidationCacheEXT, "vkCreateValidationCacheEXT")
- set_proc_address(&CreateVideoSessionKHR, "vkCreateVideoSessionKHR")
- set_proc_address(&CreateVideoSessionParametersKHR, "vkCreateVideoSessionParametersKHR")
- set_proc_address(&DebugMarkerSetObjectNameEXT, "vkDebugMarkerSetObjectNameEXT")
- set_proc_address(&DebugMarkerSetObjectTagEXT, "vkDebugMarkerSetObjectTagEXT")
- set_proc_address(&DeferredOperationJoinKHR, "vkDeferredOperationJoinKHR")
- set_proc_address(&DestroyAccelerationStructureKHR, "vkDestroyAccelerationStructureKHR")
- set_proc_address(&DestroyAccelerationStructureNV, "vkDestroyAccelerationStructureNV")
- set_proc_address(&DestroyBuffer, "vkDestroyBuffer")
- set_proc_address(&DestroyBufferView, "vkDestroyBufferView")
- set_proc_address(&DestroyCommandPool, "vkDestroyCommandPool")
- set_proc_address(&DestroyCuFunctionNVX, "vkDestroyCuFunctionNVX")
- set_proc_address(&DestroyCuModuleNVX, "vkDestroyCuModuleNVX")
- set_proc_address(&DestroyDeferredOperationKHR, "vkDestroyDeferredOperationKHR")
- set_proc_address(&DestroyDescriptorPool, "vkDestroyDescriptorPool")
- set_proc_address(&DestroyDescriptorSetLayout, "vkDestroyDescriptorSetLayout")
- set_proc_address(&DestroyDescriptorUpdateTemplate, "vkDestroyDescriptorUpdateTemplate")
- set_proc_address(&DestroyDescriptorUpdateTemplateKHR, "vkDestroyDescriptorUpdateTemplateKHR")
- set_proc_address(&DestroyDevice, "vkDestroyDevice")
- set_proc_address(&DestroyEvent, "vkDestroyEvent")
- set_proc_address(&DestroyFence, "vkDestroyFence")
- set_proc_address(&DestroyFramebuffer, "vkDestroyFramebuffer")
- set_proc_address(&DestroyImage, "vkDestroyImage")
- set_proc_address(&DestroyImageView, "vkDestroyImageView")
- set_proc_address(&DestroyIndirectCommandsLayoutNV, "vkDestroyIndirectCommandsLayoutNV")
- set_proc_address(&DestroyMicromapEXT, "vkDestroyMicromapEXT")
- set_proc_address(&DestroyOpticalFlowSessionNV, "vkDestroyOpticalFlowSessionNV")
- set_proc_address(&DestroyPipeline, "vkDestroyPipeline")
- set_proc_address(&DestroyPipelineCache, "vkDestroyPipelineCache")
- set_proc_address(&DestroyPipelineLayout, "vkDestroyPipelineLayout")
- set_proc_address(&DestroyPrivateDataSlot, "vkDestroyPrivateDataSlot")
- set_proc_address(&DestroyPrivateDataSlotEXT, "vkDestroyPrivateDataSlotEXT")
- set_proc_address(&DestroyQueryPool, "vkDestroyQueryPool")
- set_proc_address(&DestroyRenderPass, "vkDestroyRenderPass")
- set_proc_address(&DestroySampler, "vkDestroySampler")
- set_proc_address(&DestroySamplerYcbcrConversion, "vkDestroySamplerYcbcrConversion")
- set_proc_address(&DestroySamplerYcbcrConversionKHR, "vkDestroySamplerYcbcrConversionKHR")
- set_proc_address(&DestroySemaphore, "vkDestroySemaphore")
- set_proc_address(&DestroyShaderEXT, "vkDestroyShaderEXT")
- set_proc_address(&DestroyShaderModule, "vkDestroyShaderModule")
- set_proc_address(&DestroySwapchainKHR, "vkDestroySwapchainKHR")
- set_proc_address(&DestroyValidationCacheEXT, "vkDestroyValidationCacheEXT")
- set_proc_address(&DestroyVideoSessionKHR, "vkDestroyVideoSessionKHR")
- set_proc_address(&DestroyVideoSessionParametersKHR, "vkDestroyVideoSessionParametersKHR")
- set_proc_address(&DeviceWaitIdle, "vkDeviceWaitIdle")
- set_proc_address(&DisplayPowerControlEXT, "vkDisplayPowerControlEXT")
- set_proc_address(&EndCommandBuffer, "vkEndCommandBuffer")
- set_proc_address(&ExportMetalObjectsEXT, "vkExportMetalObjectsEXT")
- set_proc_address(&FlushMappedMemoryRanges, "vkFlushMappedMemoryRanges")
- set_proc_address(&FreeCommandBuffers, "vkFreeCommandBuffers")
- set_proc_address(&FreeDescriptorSets, "vkFreeDescriptorSets")
- set_proc_address(&FreeMemory, "vkFreeMemory")
- set_proc_address(&GetAccelerationStructureBuildSizesKHR, "vkGetAccelerationStructureBuildSizesKHR")
- set_proc_address(&GetAccelerationStructureDeviceAddressKHR, "vkGetAccelerationStructureDeviceAddressKHR")
- set_proc_address(&GetAccelerationStructureHandleNV, "vkGetAccelerationStructureHandleNV")
- set_proc_address(&GetAccelerationStructureMemoryRequirementsNV, "vkGetAccelerationStructureMemoryRequirementsNV")
- set_proc_address(&GetAccelerationStructureOpaqueCaptureDescriptorDataEXT, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT")
- set_proc_address(&GetBufferDeviceAddress, "vkGetBufferDeviceAddress")
- set_proc_address(&GetBufferDeviceAddressEXT, "vkGetBufferDeviceAddressEXT")
- set_proc_address(&GetBufferDeviceAddressKHR, "vkGetBufferDeviceAddressKHR")
- set_proc_address(&GetBufferMemoryRequirements, "vkGetBufferMemoryRequirements")
- set_proc_address(&GetBufferMemoryRequirements2, "vkGetBufferMemoryRequirements2")
- set_proc_address(&GetBufferMemoryRequirements2KHR, "vkGetBufferMemoryRequirements2KHR")
- set_proc_address(&GetBufferOpaqueCaptureAddress, "vkGetBufferOpaqueCaptureAddress")
- set_proc_address(&GetBufferOpaqueCaptureAddressKHR, "vkGetBufferOpaqueCaptureAddressKHR")
- set_proc_address(&GetBufferOpaqueCaptureDescriptorDataEXT, "vkGetBufferOpaqueCaptureDescriptorDataEXT")
- set_proc_address(&GetCalibratedTimestampsEXT, "vkGetCalibratedTimestampsEXT")
- set_proc_address(&GetDeferredOperationMaxConcurrencyKHR, "vkGetDeferredOperationMaxConcurrencyKHR")
- set_proc_address(&GetDeferredOperationResultKHR, "vkGetDeferredOperationResultKHR")
- set_proc_address(&GetDescriptorEXT, "vkGetDescriptorEXT")
- set_proc_address(&GetDescriptorSetHostMappingVALVE, "vkGetDescriptorSetHostMappingVALVE")
- set_proc_address(&GetDescriptorSetLayoutBindingOffsetEXT, "vkGetDescriptorSetLayoutBindingOffsetEXT")
- set_proc_address(&GetDescriptorSetLayoutHostMappingInfoVALVE, "vkGetDescriptorSetLayoutHostMappingInfoVALVE")
- set_proc_address(&GetDescriptorSetLayoutSizeEXT, "vkGetDescriptorSetLayoutSizeEXT")
- set_proc_address(&GetDescriptorSetLayoutSupport, "vkGetDescriptorSetLayoutSupport")
- set_proc_address(&GetDescriptorSetLayoutSupportKHR, "vkGetDescriptorSetLayoutSupportKHR")
- set_proc_address(&GetDeviceAccelerationStructureCompatibilityKHR, "vkGetDeviceAccelerationStructureCompatibilityKHR")
- set_proc_address(&GetDeviceBufferMemoryRequirements, "vkGetDeviceBufferMemoryRequirements")
- set_proc_address(&GetDeviceBufferMemoryRequirementsKHR, "vkGetDeviceBufferMemoryRequirementsKHR")
- set_proc_address(&GetDeviceFaultInfoEXT, "vkGetDeviceFaultInfoEXT")
- set_proc_address(&GetDeviceGroupPeerMemoryFeatures, "vkGetDeviceGroupPeerMemoryFeatures")
- set_proc_address(&GetDeviceGroupPeerMemoryFeaturesKHR, "vkGetDeviceGroupPeerMemoryFeaturesKHR")
- set_proc_address(&GetDeviceGroupPresentCapabilitiesKHR, "vkGetDeviceGroupPresentCapabilitiesKHR")
- set_proc_address(&GetDeviceGroupSurfacePresentModes2EXT, "vkGetDeviceGroupSurfacePresentModes2EXT")
- set_proc_address(&GetDeviceGroupSurfacePresentModesKHR, "vkGetDeviceGroupSurfacePresentModesKHR")
- set_proc_address(&GetDeviceImageMemoryRequirements, "vkGetDeviceImageMemoryRequirements")
- set_proc_address(&GetDeviceImageMemoryRequirementsKHR, "vkGetDeviceImageMemoryRequirementsKHR")
- set_proc_address(&GetDeviceImageSparseMemoryRequirements, "vkGetDeviceImageSparseMemoryRequirements")
- set_proc_address(&GetDeviceImageSparseMemoryRequirementsKHR, "vkGetDeviceImageSparseMemoryRequirementsKHR")
- set_proc_address(&GetDeviceMemoryCommitment, "vkGetDeviceMemoryCommitment")
- set_proc_address(&GetDeviceMemoryOpaqueCaptureAddress, "vkGetDeviceMemoryOpaqueCaptureAddress")
- set_proc_address(&GetDeviceMemoryOpaqueCaptureAddressKHR, "vkGetDeviceMemoryOpaqueCaptureAddressKHR")
- set_proc_address(&GetDeviceMicromapCompatibilityEXT, "vkGetDeviceMicromapCompatibilityEXT")
- set_proc_address(&GetDeviceProcAddr, "vkGetDeviceProcAddr")
- set_proc_address(&GetDeviceQueue, "vkGetDeviceQueue")
- set_proc_address(&GetDeviceQueue2, "vkGetDeviceQueue2")
- set_proc_address(&GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")
- set_proc_address(&GetDynamicRenderingTilePropertiesQCOM, "vkGetDynamicRenderingTilePropertiesQCOM")
- set_proc_address(&GetEventStatus, "vkGetEventStatus")
- set_proc_address(&GetFenceFdKHR, "vkGetFenceFdKHR")
- set_proc_address(&GetFenceStatus, "vkGetFenceStatus")
- set_proc_address(&GetFenceWin32HandleKHR, "vkGetFenceWin32HandleKHR")
- set_proc_address(&GetFramebufferTilePropertiesQCOM, "vkGetFramebufferTilePropertiesQCOM")
- set_proc_address(&GetGeneratedCommandsMemoryRequirementsNV, "vkGetGeneratedCommandsMemoryRequirementsNV")
- set_proc_address(&GetImageDrmFormatModifierPropertiesEXT, "vkGetImageDrmFormatModifierPropertiesEXT")
- set_proc_address(&GetImageMemoryRequirements, "vkGetImageMemoryRequirements")
- set_proc_address(&GetImageMemoryRequirements2, "vkGetImageMemoryRequirements2")
- set_proc_address(&GetImageMemoryRequirements2KHR, "vkGetImageMemoryRequirements2KHR")
- set_proc_address(&GetImageOpaqueCaptureDescriptorDataEXT, "vkGetImageOpaqueCaptureDescriptorDataEXT")
- set_proc_address(&GetImageSparseMemoryRequirements, "vkGetImageSparseMemoryRequirements")
- set_proc_address(&GetImageSparseMemoryRequirements2, "vkGetImageSparseMemoryRequirements2")
- set_proc_address(&GetImageSparseMemoryRequirements2KHR, "vkGetImageSparseMemoryRequirements2KHR")
- set_proc_address(&GetImageSubresourceLayout, "vkGetImageSubresourceLayout")
- set_proc_address(&GetImageSubresourceLayout2EXT, "vkGetImageSubresourceLayout2EXT")
- set_proc_address(&GetImageViewAddressNVX, "vkGetImageViewAddressNVX")
- set_proc_address(&GetImageViewHandleNVX, "vkGetImageViewHandleNVX")
- set_proc_address(&GetImageViewOpaqueCaptureDescriptorDataEXT, "vkGetImageViewOpaqueCaptureDescriptorDataEXT")
- set_proc_address(&GetMemoryFdKHR, "vkGetMemoryFdKHR")
- set_proc_address(&GetMemoryFdPropertiesKHR, "vkGetMemoryFdPropertiesKHR")
- set_proc_address(&GetMemoryHostPointerPropertiesEXT, "vkGetMemoryHostPointerPropertiesEXT")
- set_proc_address(&GetMemoryRemoteAddressNV, "vkGetMemoryRemoteAddressNV")
- set_proc_address(&GetMemoryWin32HandleKHR, "vkGetMemoryWin32HandleKHR")
- set_proc_address(&GetMemoryWin32HandleNV, "vkGetMemoryWin32HandleNV")
- set_proc_address(&GetMemoryWin32HandlePropertiesKHR, "vkGetMemoryWin32HandlePropertiesKHR")
- set_proc_address(&GetMicromapBuildSizesEXT, "vkGetMicromapBuildSizesEXT")
- set_proc_address(&GetPastPresentationTimingGOOGLE, "vkGetPastPresentationTimingGOOGLE")
- set_proc_address(&GetPerformanceParameterINTEL, "vkGetPerformanceParameterINTEL")
- set_proc_address(&GetPipelineCacheData, "vkGetPipelineCacheData")
- set_proc_address(&GetPipelineExecutableInternalRepresentationsKHR, "vkGetPipelineExecutableInternalRepresentationsKHR")
- set_proc_address(&GetPipelineExecutablePropertiesKHR, "vkGetPipelineExecutablePropertiesKHR")
- set_proc_address(&GetPipelineExecutableStatisticsKHR, "vkGetPipelineExecutableStatisticsKHR")
- set_proc_address(&GetPipelinePropertiesEXT, "vkGetPipelinePropertiesEXT")
- set_proc_address(&GetPrivateData, "vkGetPrivateData")
- set_proc_address(&GetPrivateDataEXT, "vkGetPrivateDataEXT")
- set_proc_address(&GetQueryPoolResults, "vkGetQueryPoolResults")
- set_proc_address(&GetQueueCheckpointData2NV, "vkGetQueueCheckpointData2NV")
- set_proc_address(&GetQueueCheckpointDataNV, "vkGetQueueCheckpointDataNV")
- set_proc_address(&GetRayTracingCaptureReplayShaderGroupHandlesKHR, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")
- set_proc_address(&GetRayTracingShaderGroupHandlesKHR, "vkGetRayTracingShaderGroupHandlesKHR")
- set_proc_address(&GetRayTracingShaderGroupHandlesNV, "vkGetRayTracingShaderGroupHandlesNV")
- set_proc_address(&GetRayTracingShaderGroupStackSizeKHR, "vkGetRayTracingShaderGroupStackSizeKHR")
- set_proc_address(&GetRefreshCycleDurationGOOGLE, "vkGetRefreshCycleDurationGOOGLE")
- set_proc_address(&GetRenderAreaGranularity, "vkGetRenderAreaGranularity")
- set_proc_address(&GetSamplerOpaqueCaptureDescriptorDataEXT, "vkGetSamplerOpaqueCaptureDescriptorDataEXT")
- set_proc_address(&GetSemaphoreCounterValue, "vkGetSemaphoreCounterValue")
- set_proc_address(&GetSemaphoreCounterValueKHR, "vkGetSemaphoreCounterValueKHR")
- set_proc_address(&GetSemaphoreFdKHR, "vkGetSemaphoreFdKHR")
- set_proc_address(&GetSemaphoreWin32HandleKHR, "vkGetSemaphoreWin32HandleKHR")
- set_proc_address(&GetShaderBinaryDataEXT, "vkGetShaderBinaryDataEXT")
- set_proc_address(&GetShaderInfoAMD, "vkGetShaderInfoAMD")
- set_proc_address(&GetShaderModuleCreateInfoIdentifierEXT, "vkGetShaderModuleCreateInfoIdentifierEXT")
- set_proc_address(&GetShaderModuleIdentifierEXT, "vkGetShaderModuleIdentifierEXT")
- set_proc_address(&GetSwapchainCounterEXT, "vkGetSwapchainCounterEXT")
- set_proc_address(&GetSwapchainImagesKHR, "vkGetSwapchainImagesKHR")
- set_proc_address(&GetSwapchainStatusKHR, "vkGetSwapchainStatusKHR")
- set_proc_address(&GetValidationCacheDataEXT, "vkGetValidationCacheDataEXT")
- set_proc_address(&GetVideoSessionMemoryRequirementsKHR, "vkGetVideoSessionMemoryRequirementsKHR")
- set_proc_address(&ImportFenceFdKHR, "vkImportFenceFdKHR")
- set_proc_address(&ImportFenceWin32HandleKHR, "vkImportFenceWin32HandleKHR")
- set_proc_address(&ImportSemaphoreFdKHR, "vkImportSemaphoreFdKHR")
- set_proc_address(&ImportSemaphoreWin32HandleKHR, "vkImportSemaphoreWin32HandleKHR")
- set_proc_address(&InitializePerformanceApiINTEL, "vkInitializePerformanceApiINTEL")
- set_proc_address(&InvalidateMappedMemoryRanges, "vkInvalidateMappedMemoryRanges")
- set_proc_address(&MapMemory, "vkMapMemory")
- set_proc_address(&MapMemory2KHR, "vkMapMemory2KHR")
- set_proc_address(&MergePipelineCaches, "vkMergePipelineCaches")
- set_proc_address(&MergeValidationCachesEXT, "vkMergeValidationCachesEXT")
- set_proc_address(&QueueBeginDebugUtilsLabelEXT, "vkQueueBeginDebugUtilsLabelEXT")
- set_proc_address(&QueueBindSparse, "vkQueueBindSparse")
- set_proc_address(&QueueEndDebugUtilsLabelEXT, "vkQueueEndDebugUtilsLabelEXT")
- set_proc_address(&QueueInsertDebugUtilsLabelEXT, "vkQueueInsertDebugUtilsLabelEXT")
- set_proc_address(&QueuePresentKHR, "vkQueuePresentKHR")
- set_proc_address(&QueueSetPerformanceConfigurationINTEL, "vkQueueSetPerformanceConfigurationINTEL")
- set_proc_address(&QueueSubmit, "vkQueueSubmit")
- set_proc_address(&QueueSubmit2, "vkQueueSubmit2")
- set_proc_address(&QueueSubmit2KHR, "vkQueueSubmit2KHR")
- set_proc_address(&QueueWaitIdle, "vkQueueWaitIdle")
- set_proc_address(&RegisterDeviceEventEXT, "vkRegisterDeviceEventEXT")
- set_proc_address(&RegisterDisplayEventEXT, "vkRegisterDisplayEventEXT")
- set_proc_address(&ReleaseFullScreenExclusiveModeEXT, "vkReleaseFullScreenExclusiveModeEXT")
- set_proc_address(&ReleasePerformanceConfigurationINTEL, "vkReleasePerformanceConfigurationINTEL")
- set_proc_address(&ReleaseProfilingLockKHR, "vkReleaseProfilingLockKHR")
- set_proc_address(&ReleaseSwapchainImagesEXT, "vkReleaseSwapchainImagesEXT")
- set_proc_address(&ResetCommandBuffer, "vkResetCommandBuffer")
- set_proc_address(&ResetCommandPool, "vkResetCommandPool")
- set_proc_address(&ResetDescriptorPool, "vkResetDescriptorPool")
- set_proc_address(&ResetEvent, "vkResetEvent")
- set_proc_address(&ResetFences, "vkResetFences")
- set_proc_address(&ResetQueryPool, "vkResetQueryPool")
- set_proc_address(&ResetQueryPoolEXT, "vkResetQueryPoolEXT")
- set_proc_address(&SetDebugUtilsObjectNameEXT, "vkSetDebugUtilsObjectNameEXT")
- set_proc_address(&SetDebugUtilsObjectTagEXT, "vkSetDebugUtilsObjectTagEXT")
- set_proc_address(&SetDeviceMemoryPriorityEXT, "vkSetDeviceMemoryPriorityEXT")
- set_proc_address(&SetEvent, "vkSetEvent")
- set_proc_address(&SetHdrMetadataEXT, "vkSetHdrMetadataEXT")
- set_proc_address(&SetLocalDimmingAMD, "vkSetLocalDimmingAMD")
- set_proc_address(&SetPrivateData, "vkSetPrivateData")
- set_proc_address(&SetPrivateDataEXT, "vkSetPrivateDataEXT")
- set_proc_address(&SignalSemaphore, "vkSignalSemaphore")
- set_proc_address(&SignalSemaphoreKHR, "vkSignalSemaphoreKHR")
- set_proc_address(&TrimCommandPool, "vkTrimCommandPool")
- set_proc_address(&TrimCommandPoolKHR, "vkTrimCommandPoolKHR")
- set_proc_address(&UninitializePerformanceApiINTEL, "vkUninitializePerformanceApiINTEL")
- set_proc_address(&UnmapMemory, "vkUnmapMemory")
- set_proc_address(&UnmapMemory2KHR, "vkUnmapMemory2KHR")
- set_proc_address(&UpdateDescriptorSetWithTemplate, "vkUpdateDescriptorSetWithTemplate")
- set_proc_address(&UpdateDescriptorSetWithTemplateKHR, "vkUpdateDescriptorSetWithTemplateKHR")
- set_proc_address(&UpdateDescriptorSets, "vkUpdateDescriptorSets")
- set_proc_address(&UpdateVideoSessionParametersKHR, "vkUpdateVideoSessionParametersKHR")
- set_proc_address(&WaitForFences, "vkWaitForFences")
- set_proc_address(&WaitForPresentKHR, "vkWaitForPresentKHR")
- set_proc_address(&WaitSemaphores, "vkWaitSemaphores")
- set_proc_address(&WaitSemaphoresKHR, "vkWaitSemaphoresKHR")
- set_proc_address(&WriteAccelerationStructuresPropertiesKHR, "vkWriteAccelerationStructuresPropertiesKHR")
- set_proc_address(&WriteMicromapsPropertiesEXT, "vkWriteMicromapsPropertiesEXT")
-
-}
-
-// Device Procedure VTable
-Device_VTable :: struct {
- AcquireFullScreenExclusiveModeEXT: ProcAcquireFullScreenExclusiveModeEXT,
- AcquireNextImage2KHR: ProcAcquireNextImage2KHR,
- AcquireNextImageKHR: ProcAcquireNextImageKHR,
- AcquirePerformanceConfigurationINTEL: ProcAcquirePerformanceConfigurationINTEL,
- AcquireProfilingLockKHR: ProcAcquireProfilingLockKHR,
- AllocateCommandBuffers: ProcAllocateCommandBuffers,
- AllocateDescriptorSets: ProcAllocateDescriptorSets,
- AllocateMemory: ProcAllocateMemory,
- BeginCommandBuffer: ProcBeginCommandBuffer,
- BindAccelerationStructureMemoryNV: ProcBindAccelerationStructureMemoryNV,
- BindBufferMemory: ProcBindBufferMemory,
- BindBufferMemory2: ProcBindBufferMemory2,
- BindBufferMemory2KHR: ProcBindBufferMemory2KHR,
- BindImageMemory: ProcBindImageMemory,
- BindImageMemory2: ProcBindImageMemory2,
- BindImageMemory2KHR: ProcBindImageMemory2KHR,
- BindOpticalFlowSessionImageNV: ProcBindOpticalFlowSessionImageNV,
- BindVideoSessionMemoryKHR: ProcBindVideoSessionMemoryKHR,
- BuildAccelerationStructuresKHR: ProcBuildAccelerationStructuresKHR,
- BuildMicromapsEXT: ProcBuildMicromapsEXT,
- CmdBeginConditionalRenderingEXT: ProcCmdBeginConditionalRenderingEXT,
- CmdBeginDebugUtilsLabelEXT: ProcCmdBeginDebugUtilsLabelEXT,
- CmdBeginQuery: ProcCmdBeginQuery,
- CmdBeginQueryIndexedEXT: ProcCmdBeginQueryIndexedEXT,
- CmdBeginRenderPass: ProcCmdBeginRenderPass,
- CmdBeginRenderPass2: ProcCmdBeginRenderPass2,
- CmdBeginRenderPass2KHR: ProcCmdBeginRenderPass2KHR,
- CmdBeginRendering: ProcCmdBeginRendering,
- CmdBeginRenderingKHR: ProcCmdBeginRenderingKHR,
- CmdBeginTransformFeedbackEXT: ProcCmdBeginTransformFeedbackEXT,
- CmdBeginVideoCodingKHR: ProcCmdBeginVideoCodingKHR,
- CmdBindDescriptorBufferEmbeddedSamplersEXT: ProcCmdBindDescriptorBufferEmbeddedSamplersEXT,
- CmdBindDescriptorBuffersEXT: ProcCmdBindDescriptorBuffersEXT,
- CmdBindDescriptorSets: ProcCmdBindDescriptorSets,
- CmdBindIndexBuffer: ProcCmdBindIndexBuffer,
- CmdBindInvocationMaskHUAWEI: ProcCmdBindInvocationMaskHUAWEI,
- CmdBindPipeline: ProcCmdBindPipeline,
- CmdBindPipelineShaderGroupNV: ProcCmdBindPipelineShaderGroupNV,
- CmdBindShadersEXT: ProcCmdBindShadersEXT,
- CmdBindShadingRateImageNV: ProcCmdBindShadingRateImageNV,
- CmdBindTransformFeedbackBuffersEXT: ProcCmdBindTransformFeedbackBuffersEXT,
- CmdBindVertexBuffers: ProcCmdBindVertexBuffers,
- CmdBindVertexBuffers2: ProcCmdBindVertexBuffers2,
- CmdBindVertexBuffers2EXT: ProcCmdBindVertexBuffers2EXT,
- CmdBlitImage: ProcCmdBlitImage,
- CmdBlitImage2: ProcCmdBlitImage2,
- CmdBlitImage2KHR: ProcCmdBlitImage2KHR,
- CmdBuildAccelerationStructureNV: ProcCmdBuildAccelerationStructureNV,
- CmdBuildAccelerationStructuresIndirectKHR: ProcCmdBuildAccelerationStructuresIndirectKHR,
- CmdBuildAccelerationStructuresKHR: ProcCmdBuildAccelerationStructuresKHR,
- CmdBuildMicromapsEXT: ProcCmdBuildMicromapsEXT,
- CmdClearAttachments: ProcCmdClearAttachments,
- CmdClearColorImage: ProcCmdClearColorImage,
- CmdClearDepthStencilImage: ProcCmdClearDepthStencilImage,
- CmdControlVideoCodingKHR: ProcCmdControlVideoCodingKHR,
- CmdCopyAccelerationStructureKHR: ProcCmdCopyAccelerationStructureKHR,
- CmdCopyAccelerationStructureNV: ProcCmdCopyAccelerationStructureNV,
- CmdCopyAccelerationStructureToMemoryKHR: ProcCmdCopyAccelerationStructureToMemoryKHR,
- CmdCopyBuffer: ProcCmdCopyBuffer,
- CmdCopyBuffer2: ProcCmdCopyBuffer2,
- CmdCopyBuffer2KHR: ProcCmdCopyBuffer2KHR,
- CmdCopyBufferToImage: ProcCmdCopyBufferToImage,
- CmdCopyBufferToImage2: ProcCmdCopyBufferToImage2,
- CmdCopyBufferToImage2KHR: ProcCmdCopyBufferToImage2KHR,
- CmdCopyImage: ProcCmdCopyImage,
- CmdCopyImage2: ProcCmdCopyImage2,
- CmdCopyImage2KHR: ProcCmdCopyImage2KHR,
- CmdCopyImageToBuffer: ProcCmdCopyImageToBuffer,
- CmdCopyImageToBuffer2: ProcCmdCopyImageToBuffer2,
- CmdCopyImageToBuffer2KHR: ProcCmdCopyImageToBuffer2KHR,
- CmdCopyMemoryIndirectNV: ProcCmdCopyMemoryIndirectNV,
- CmdCopyMemoryToAccelerationStructureKHR: ProcCmdCopyMemoryToAccelerationStructureKHR,
- CmdCopyMemoryToImageIndirectNV: ProcCmdCopyMemoryToImageIndirectNV,
- CmdCopyMemoryToMicromapEXT: ProcCmdCopyMemoryToMicromapEXT,
- CmdCopyMicromapEXT: ProcCmdCopyMicromapEXT,
- CmdCopyMicromapToMemoryEXT: ProcCmdCopyMicromapToMemoryEXT,
- CmdCopyQueryPoolResults: ProcCmdCopyQueryPoolResults,
- CmdCuLaunchKernelNVX: ProcCmdCuLaunchKernelNVX,
- CmdDebugMarkerBeginEXT: ProcCmdDebugMarkerBeginEXT,
- CmdDebugMarkerEndEXT: ProcCmdDebugMarkerEndEXT,
- CmdDebugMarkerInsertEXT: ProcCmdDebugMarkerInsertEXT,
- CmdDecodeVideoKHR: ProcCmdDecodeVideoKHR,
- CmdDecompressMemoryIndirectCountNV: ProcCmdDecompressMemoryIndirectCountNV,
- CmdDecompressMemoryNV: ProcCmdDecompressMemoryNV,
- CmdDispatch: ProcCmdDispatch,
- CmdDispatchBase: ProcCmdDispatchBase,
- CmdDispatchBaseKHR: ProcCmdDispatchBaseKHR,
- CmdDispatchIndirect: ProcCmdDispatchIndirect,
- CmdDraw: ProcCmdDraw,
- CmdDrawClusterHUAWEI: ProcCmdDrawClusterHUAWEI,
- CmdDrawClusterIndirectHUAWEI: ProcCmdDrawClusterIndirectHUAWEI,
- CmdDrawIndexed: ProcCmdDrawIndexed,
- CmdDrawIndexedIndirect: ProcCmdDrawIndexedIndirect,
- CmdDrawIndexedIndirectCount: ProcCmdDrawIndexedIndirectCount,
- CmdDrawIndexedIndirectCountAMD: ProcCmdDrawIndexedIndirectCountAMD,
- CmdDrawIndexedIndirectCountKHR: ProcCmdDrawIndexedIndirectCountKHR,
- CmdDrawIndirect: ProcCmdDrawIndirect,
- CmdDrawIndirectByteCountEXT: ProcCmdDrawIndirectByteCountEXT,
- CmdDrawIndirectCount: ProcCmdDrawIndirectCount,
- CmdDrawIndirectCountAMD: ProcCmdDrawIndirectCountAMD,
- CmdDrawIndirectCountKHR: ProcCmdDrawIndirectCountKHR,
- CmdDrawMeshTasksEXT: ProcCmdDrawMeshTasksEXT,
- CmdDrawMeshTasksIndirectCountEXT: ProcCmdDrawMeshTasksIndirectCountEXT,
- CmdDrawMeshTasksIndirectCountNV: ProcCmdDrawMeshTasksIndirectCountNV,
- CmdDrawMeshTasksIndirectEXT: ProcCmdDrawMeshTasksIndirectEXT,
- CmdDrawMeshTasksIndirectNV: ProcCmdDrawMeshTasksIndirectNV,
- CmdDrawMeshTasksNV: ProcCmdDrawMeshTasksNV,
- CmdDrawMultiEXT: ProcCmdDrawMultiEXT,
- CmdDrawMultiIndexedEXT: ProcCmdDrawMultiIndexedEXT,
- CmdEndConditionalRenderingEXT: ProcCmdEndConditionalRenderingEXT,
- CmdEndDebugUtilsLabelEXT: ProcCmdEndDebugUtilsLabelEXT,
- CmdEndQuery: ProcCmdEndQuery,
- CmdEndQueryIndexedEXT: ProcCmdEndQueryIndexedEXT,
- CmdEndRenderPass: ProcCmdEndRenderPass,
- CmdEndRenderPass2: ProcCmdEndRenderPass2,
- CmdEndRenderPass2KHR: ProcCmdEndRenderPass2KHR,
- CmdEndRendering: ProcCmdEndRendering,
- CmdEndRenderingKHR: ProcCmdEndRenderingKHR,
- CmdEndTransformFeedbackEXT: ProcCmdEndTransformFeedbackEXT,
- CmdEndVideoCodingKHR: ProcCmdEndVideoCodingKHR,
- CmdExecuteCommands: ProcCmdExecuteCommands,
- CmdExecuteGeneratedCommandsNV: ProcCmdExecuteGeneratedCommandsNV,
- CmdFillBuffer: ProcCmdFillBuffer,
- CmdInsertDebugUtilsLabelEXT: ProcCmdInsertDebugUtilsLabelEXT,
- CmdNextSubpass: ProcCmdNextSubpass,
- CmdNextSubpass2: ProcCmdNextSubpass2,
- CmdNextSubpass2KHR: ProcCmdNextSubpass2KHR,
- CmdOpticalFlowExecuteNV: ProcCmdOpticalFlowExecuteNV,
- CmdPipelineBarrier: ProcCmdPipelineBarrier,
- CmdPipelineBarrier2: ProcCmdPipelineBarrier2,
- CmdPipelineBarrier2KHR: ProcCmdPipelineBarrier2KHR,
- CmdPreprocessGeneratedCommandsNV: ProcCmdPreprocessGeneratedCommandsNV,
- CmdPushConstants: ProcCmdPushConstants,
- CmdPushDescriptorSetKHR: ProcCmdPushDescriptorSetKHR,
- CmdPushDescriptorSetWithTemplateKHR: ProcCmdPushDescriptorSetWithTemplateKHR,
- CmdResetEvent: ProcCmdResetEvent,
- CmdResetEvent2: ProcCmdResetEvent2,
- CmdResetEvent2KHR: ProcCmdResetEvent2KHR,
- CmdResetQueryPool: ProcCmdResetQueryPool,
- CmdResolveImage: ProcCmdResolveImage,
- CmdResolveImage2: ProcCmdResolveImage2,
- CmdResolveImage2KHR: ProcCmdResolveImage2KHR,
- CmdSetAlphaToCoverageEnableEXT: ProcCmdSetAlphaToCoverageEnableEXT,
- CmdSetAlphaToOneEnableEXT: ProcCmdSetAlphaToOneEnableEXT,
- CmdSetAttachmentFeedbackLoopEnableEXT: ProcCmdSetAttachmentFeedbackLoopEnableEXT,
- CmdSetBlendConstants: ProcCmdSetBlendConstants,
- CmdSetCheckpointNV: ProcCmdSetCheckpointNV,
- CmdSetCoarseSampleOrderNV: ProcCmdSetCoarseSampleOrderNV,
- CmdSetColorBlendAdvancedEXT: ProcCmdSetColorBlendAdvancedEXT,
- CmdSetColorBlendEnableEXT: ProcCmdSetColorBlendEnableEXT,
- CmdSetColorBlendEquationEXT: ProcCmdSetColorBlendEquationEXT,
- CmdSetColorWriteMaskEXT: ProcCmdSetColorWriteMaskEXT,
- CmdSetConservativeRasterizationModeEXT: ProcCmdSetConservativeRasterizationModeEXT,
- CmdSetCoverageModulationModeNV: ProcCmdSetCoverageModulationModeNV,
- CmdSetCoverageModulationTableEnableNV: ProcCmdSetCoverageModulationTableEnableNV,
- CmdSetCoverageModulationTableNV: ProcCmdSetCoverageModulationTableNV,
- CmdSetCoverageReductionModeNV: ProcCmdSetCoverageReductionModeNV,
- CmdSetCoverageToColorEnableNV: ProcCmdSetCoverageToColorEnableNV,
- CmdSetCoverageToColorLocationNV: ProcCmdSetCoverageToColorLocationNV,
- CmdSetCullMode: ProcCmdSetCullMode,
- CmdSetCullModeEXT: ProcCmdSetCullModeEXT,
- CmdSetDepthBias: ProcCmdSetDepthBias,
- CmdSetDepthBiasEnable: ProcCmdSetDepthBiasEnable,
- CmdSetDepthBiasEnableEXT: ProcCmdSetDepthBiasEnableEXT,
- CmdSetDepthBounds: ProcCmdSetDepthBounds,
- CmdSetDepthBoundsTestEnable: ProcCmdSetDepthBoundsTestEnable,
- CmdSetDepthBoundsTestEnableEXT: ProcCmdSetDepthBoundsTestEnableEXT,
- CmdSetDepthClampEnableEXT: ProcCmdSetDepthClampEnableEXT,
- CmdSetDepthClipEnableEXT: ProcCmdSetDepthClipEnableEXT,
- CmdSetDepthClipNegativeOneToOneEXT: ProcCmdSetDepthClipNegativeOneToOneEXT,
- CmdSetDepthCompareOp: ProcCmdSetDepthCompareOp,
- CmdSetDepthCompareOpEXT: ProcCmdSetDepthCompareOpEXT,
- CmdSetDepthTestEnable: ProcCmdSetDepthTestEnable,
- CmdSetDepthTestEnableEXT: ProcCmdSetDepthTestEnableEXT,
- CmdSetDepthWriteEnable: ProcCmdSetDepthWriteEnable,
- CmdSetDepthWriteEnableEXT: ProcCmdSetDepthWriteEnableEXT,
- CmdSetDescriptorBufferOffsetsEXT: ProcCmdSetDescriptorBufferOffsetsEXT,
- CmdSetDeviceMask: ProcCmdSetDeviceMask,
- CmdSetDeviceMaskKHR: ProcCmdSetDeviceMaskKHR,
- CmdSetDiscardRectangleEXT: ProcCmdSetDiscardRectangleEXT,
- CmdSetDiscardRectangleEnableEXT: ProcCmdSetDiscardRectangleEnableEXT,
- CmdSetDiscardRectangleModeEXT: ProcCmdSetDiscardRectangleModeEXT,
- CmdSetEvent: ProcCmdSetEvent,
- CmdSetEvent2: ProcCmdSetEvent2,
- CmdSetEvent2KHR: ProcCmdSetEvent2KHR,
- CmdSetExclusiveScissorEnableNV: ProcCmdSetExclusiveScissorEnableNV,
- CmdSetExclusiveScissorNV: ProcCmdSetExclusiveScissorNV,
- CmdSetExtraPrimitiveOverestimationSizeEXT: ProcCmdSetExtraPrimitiveOverestimationSizeEXT,
- CmdSetFragmentShadingRateEnumNV: ProcCmdSetFragmentShadingRateEnumNV,
- CmdSetFragmentShadingRateKHR: ProcCmdSetFragmentShadingRateKHR,
- CmdSetFrontFace: ProcCmdSetFrontFace,
- CmdSetFrontFaceEXT: ProcCmdSetFrontFaceEXT,
- CmdSetLineRasterizationModeEXT: ProcCmdSetLineRasterizationModeEXT,
- CmdSetLineStippleEXT: ProcCmdSetLineStippleEXT,
- CmdSetLineStippleEnableEXT: ProcCmdSetLineStippleEnableEXT,
- CmdSetLineWidth: ProcCmdSetLineWidth,
- CmdSetLogicOpEXT: ProcCmdSetLogicOpEXT,
- CmdSetLogicOpEnableEXT: ProcCmdSetLogicOpEnableEXT,
- CmdSetPatchControlPointsEXT: ProcCmdSetPatchControlPointsEXT,
- CmdSetPerformanceMarkerINTEL: ProcCmdSetPerformanceMarkerINTEL,
- CmdSetPerformanceOverrideINTEL: ProcCmdSetPerformanceOverrideINTEL,
- CmdSetPerformanceStreamMarkerINTEL: ProcCmdSetPerformanceStreamMarkerINTEL,
- CmdSetPolygonModeEXT: ProcCmdSetPolygonModeEXT,
- CmdSetPrimitiveRestartEnable: ProcCmdSetPrimitiveRestartEnable,
- CmdSetPrimitiveRestartEnableEXT: ProcCmdSetPrimitiveRestartEnableEXT,
- CmdSetPrimitiveTopology: ProcCmdSetPrimitiveTopology,
- CmdSetPrimitiveTopologyEXT: ProcCmdSetPrimitiveTopologyEXT,
- CmdSetProvokingVertexModeEXT: ProcCmdSetProvokingVertexModeEXT,
- CmdSetRasterizationSamplesEXT: ProcCmdSetRasterizationSamplesEXT,
- CmdSetRasterizationStreamEXT: ProcCmdSetRasterizationStreamEXT,
- CmdSetRasterizerDiscardEnable: ProcCmdSetRasterizerDiscardEnable,
- CmdSetRasterizerDiscardEnableEXT: ProcCmdSetRasterizerDiscardEnableEXT,
- CmdSetRayTracingPipelineStackSizeKHR: ProcCmdSetRayTracingPipelineStackSizeKHR,
- CmdSetRepresentativeFragmentTestEnableNV: ProcCmdSetRepresentativeFragmentTestEnableNV,
- CmdSetSampleLocationsEXT: ProcCmdSetSampleLocationsEXT,
- CmdSetSampleLocationsEnableEXT: ProcCmdSetSampleLocationsEnableEXT,
- CmdSetSampleMaskEXT: ProcCmdSetSampleMaskEXT,
- CmdSetScissor: ProcCmdSetScissor,
- CmdSetScissorWithCount: ProcCmdSetScissorWithCount,
- CmdSetScissorWithCountEXT: ProcCmdSetScissorWithCountEXT,
- CmdSetShadingRateImageEnableNV: ProcCmdSetShadingRateImageEnableNV,
- CmdSetStencilCompareMask: ProcCmdSetStencilCompareMask,
- CmdSetStencilOp: ProcCmdSetStencilOp,
- CmdSetStencilOpEXT: ProcCmdSetStencilOpEXT,
- CmdSetStencilReference: ProcCmdSetStencilReference,
- CmdSetStencilTestEnable: ProcCmdSetStencilTestEnable,
- CmdSetStencilTestEnableEXT: ProcCmdSetStencilTestEnableEXT,
- CmdSetStencilWriteMask: ProcCmdSetStencilWriteMask,
- CmdSetTessellationDomainOriginEXT: ProcCmdSetTessellationDomainOriginEXT,
- CmdSetVertexInputEXT: ProcCmdSetVertexInputEXT,
- CmdSetViewport: ProcCmdSetViewport,
- CmdSetViewportShadingRatePaletteNV: ProcCmdSetViewportShadingRatePaletteNV,
- CmdSetViewportSwizzleNV: ProcCmdSetViewportSwizzleNV,
- CmdSetViewportWScalingEnableNV: ProcCmdSetViewportWScalingEnableNV,
- CmdSetViewportWScalingNV: ProcCmdSetViewportWScalingNV,
- CmdSetViewportWithCount: ProcCmdSetViewportWithCount,
- CmdSetViewportWithCountEXT: ProcCmdSetViewportWithCountEXT,
- CmdSubpassShadingHUAWEI: ProcCmdSubpassShadingHUAWEI,
- CmdTraceRaysIndirect2KHR: ProcCmdTraceRaysIndirect2KHR,
- CmdTraceRaysIndirectKHR: ProcCmdTraceRaysIndirectKHR,
- CmdTraceRaysKHR: ProcCmdTraceRaysKHR,
- CmdTraceRaysNV: ProcCmdTraceRaysNV,
- CmdUpdateBuffer: ProcCmdUpdateBuffer,
- CmdWaitEvents: ProcCmdWaitEvents,
- CmdWaitEvents2: ProcCmdWaitEvents2,
- CmdWaitEvents2KHR: ProcCmdWaitEvents2KHR,
- CmdWriteAccelerationStructuresPropertiesKHR: ProcCmdWriteAccelerationStructuresPropertiesKHR,
- CmdWriteAccelerationStructuresPropertiesNV: ProcCmdWriteAccelerationStructuresPropertiesNV,
- CmdWriteBufferMarker2AMD: ProcCmdWriteBufferMarker2AMD,
- CmdWriteBufferMarkerAMD: ProcCmdWriteBufferMarkerAMD,
- CmdWriteMicromapsPropertiesEXT: ProcCmdWriteMicromapsPropertiesEXT,
- CmdWriteTimestamp: ProcCmdWriteTimestamp,
- CmdWriteTimestamp2: ProcCmdWriteTimestamp2,
- CmdWriteTimestamp2KHR: ProcCmdWriteTimestamp2KHR,
- CompileDeferredNV: ProcCompileDeferredNV,
- CopyAccelerationStructureKHR: ProcCopyAccelerationStructureKHR,
- CopyAccelerationStructureToMemoryKHR: ProcCopyAccelerationStructureToMemoryKHR,
- CopyMemoryToAccelerationStructureKHR: ProcCopyMemoryToAccelerationStructureKHR,
- CopyMemoryToMicromapEXT: ProcCopyMemoryToMicromapEXT,
- CopyMicromapEXT: ProcCopyMicromapEXT,
- CopyMicromapToMemoryEXT: ProcCopyMicromapToMemoryEXT,
- CreateAccelerationStructureKHR: ProcCreateAccelerationStructureKHR,
- CreateAccelerationStructureNV: ProcCreateAccelerationStructureNV,
- CreateBuffer: ProcCreateBuffer,
- CreateBufferView: ProcCreateBufferView,
- CreateCommandPool: ProcCreateCommandPool,
- CreateComputePipelines: ProcCreateComputePipelines,
- CreateCuFunctionNVX: ProcCreateCuFunctionNVX,
- CreateCuModuleNVX: ProcCreateCuModuleNVX,
- CreateDeferredOperationKHR: ProcCreateDeferredOperationKHR,
- CreateDescriptorPool: ProcCreateDescriptorPool,
- CreateDescriptorSetLayout: ProcCreateDescriptorSetLayout,
- CreateDescriptorUpdateTemplate: ProcCreateDescriptorUpdateTemplate,
- CreateDescriptorUpdateTemplateKHR: ProcCreateDescriptorUpdateTemplateKHR,
- CreateEvent: ProcCreateEvent,
- CreateFence: ProcCreateFence,
- CreateFramebuffer: ProcCreateFramebuffer,
- CreateGraphicsPipelines: ProcCreateGraphicsPipelines,
- CreateImage: ProcCreateImage,
- CreateImageView: ProcCreateImageView,
- CreateIndirectCommandsLayoutNV: ProcCreateIndirectCommandsLayoutNV,
- CreateMicromapEXT: ProcCreateMicromapEXT,
- CreateOpticalFlowSessionNV: ProcCreateOpticalFlowSessionNV,
- CreatePipelineCache: ProcCreatePipelineCache,
- CreatePipelineLayout: ProcCreatePipelineLayout,
- CreatePrivateDataSlot: ProcCreatePrivateDataSlot,
- CreatePrivateDataSlotEXT: ProcCreatePrivateDataSlotEXT,
- CreateQueryPool: ProcCreateQueryPool,
- CreateRayTracingPipelinesKHR: ProcCreateRayTracingPipelinesKHR,
- CreateRayTracingPipelinesNV: ProcCreateRayTracingPipelinesNV,
- CreateRenderPass: ProcCreateRenderPass,
- CreateRenderPass2: ProcCreateRenderPass2,
- CreateRenderPass2KHR: ProcCreateRenderPass2KHR,
- CreateSampler: ProcCreateSampler,
- CreateSamplerYcbcrConversion: ProcCreateSamplerYcbcrConversion,
- CreateSamplerYcbcrConversionKHR: ProcCreateSamplerYcbcrConversionKHR,
- CreateSemaphore: ProcCreateSemaphore,
- CreateShaderModule: ProcCreateShaderModule,
- CreateShadersEXT: ProcCreateShadersEXT,
- CreateSharedSwapchainsKHR: ProcCreateSharedSwapchainsKHR,
- CreateSwapchainKHR: ProcCreateSwapchainKHR,
- CreateValidationCacheEXT: ProcCreateValidationCacheEXT,
- CreateVideoSessionKHR: ProcCreateVideoSessionKHR,
- CreateVideoSessionParametersKHR: ProcCreateVideoSessionParametersKHR,
- DebugMarkerSetObjectNameEXT: ProcDebugMarkerSetObjectNameEXT,
- DebugMarkerSetObjectTagEXT: ProcDebugMarkerSetObjectTagEXT,
- DeferredOperationJoinKHR: ProcDeferredOperationJoinKHR,
- DestroyAccelerationStructureKHR: ProcDestroyAccelerationStructureKHR,
- DestroyAccelerationStructureNV: ProcDestroyAccelerationStructureNV,
- DestroyBuffer: ProcDestroyBuffer,
- DestroyBufferView: ProcDestroyBufferView,
- DestroyCommandPool: ProcDestroyCommandPool,
- DestroyCuFunctionNVX: ProcDestroyCuFunctionNVX,
- DestroyCuModuleNVX: ProcDestroyCuModuleNVX,
- DestroyDeferredOperationKHR: ProcDestroyDeferredOperationKHR,
- DestroyDescriptorPool: ProcDestroyDescriptorPool,
- DestroyDescriptorSetLayout: ProcDestroyDescriptorSetLayout,
- DestroyDescriptorUpdateTemplate: ProcDestroyDescriptorUpdateTemplate,
- DestroyDescriptorUpdateTemplateKHR: ProcDestroyDescriptorUpdateTemplateKHR,
- DestroyDevice: ProcDestroyDevice,
- DestroyEvent: ProcDestroyEvent,
- DestroyFence: ProcDestroyFence,
- DestroyFramebuffer: ProcDestroyFramebuffer,
- DestroyImage: ProcDestroyImage,
- DestroyImageView: ProcDestroyImageView,
- DestroyIndirectCommandsLayoutNV: ProcDestroyIndirectCommandsLayoutNV,
- DestroyMicromapEXT: ProcDestroyMicromapEXT,
- DestroyOpticalFlowSessionNV: ProcDestroyOpticalFlowSessionNV,
- DestroyPipeline: ProcDestroyPipeline,
- DestroyPipelineCache: ProcDestroyPipelineCache,
- DestroyPipelineLayout: ProcDestroyPipelineLayout,
- DestroyPrivateDataSlot: ProcDestroyPrivateDataSlot,
- DestroyPrivateDataSlotEXT: ProcDestroyPrivateDataSlotEXT,
- DestroyQueryPool: ProcDestroyQueryPool,
- DestroyRenderPass: ProcDestroyRenderPass,
- DestroySampler: ProcDestroySampler,
- DestroySamplerYcbcrConversion: ProcDestroySamplerYcbcrConversion,
- DestroySamplerYcbcrConversionKHR: ProcDestroySamplerYcbcrConversionKHR,
- DestroySemaphore: ProcDestroySemaphore,
- DestroyShaderEXT: ProcDestroyShaderEXT,
- DestroyShaderModule: ProcDestroyShaderModule,
- DestroySwapchainKHR: ProcDestroySwapchainKHR,
- DestroyValidationCacheEXT: ProcDestroyValidationCacheEXT,
- DestroyVideoSessionKHR: ProcDestroyVideoSessionKHR,
- DestroyVideoSessionParametersKHR: ProcDestroyVideoSessionParametersKHR,
- DeviceWaitIdle: ProcDeviceWaitIdle,
- DisplayPowerControlEXT: ProcDisplayPowerControlEXT,
- EndCommandBuffer: ProcEndCommandBuffer,
- ExportMetalObjectsEXT: ProcExportMetalObjectsEXT,
- FlushMappedMemoryRanges: ProcFlushMappedMemoryRanges,
- FreeCommandBuffers: ProcFreeCommandBuffers,
- FreeDescriptorSets: ProcFreeDescriptorSets,
- FreeMemory: ProcFreeMemory,
- GetAccelerationStructureBuildSizesKHR: ProcGetAccelerationStructureBuildSizesKHR,
- GetAccelerationStructureDeviceAddressKHR: ProcGetAccelerationStructureDeviceAddressKHR,
- GetAccelerationStructureHandleNV: ProcGetAccelerationStructureHandleNV,
- GetAccelerationStructureMemoryRequirementsNV: ProcGetAccelerationStructureMemoryRequirementsNV,
- GetAccelerationStructureOpaqueCaptureDescriptorDataEXT: ProcGetAccelerationStructureOpaqueCaptureDescriptorDataEXT,
- GetBufferDeviceAddress: ProcGetBufferDeviceAddress,
- GetBufferDeviceAddressEXT: ProcGetBufferDeviceAddressEXT,
- GetBufferDeviceAddressKHR: ProcGetBufferDeviceAddressKHR,
- GetBufferMemoryRequirements: ProcGetBufferMemoryRequirements,
- GetBufferMemoryRequirements2: ProcGetBufferMemoryRequirements2,
- GetBufferMemoryRequirements2KHR: ProcGetBufferMemoryRequirements2KHR,
- GetBufferOpaqueCaptureAddress: ProcGetBufferOpaqueCaptureAddress,
- GetBufferOpaqueCaptureAddressKHR: ProcGetBufferOpaqueCaptureAddressKHR,
- GetBufferOpaqueCaptureDescriptorDataEXT: ProcGetBufferOpaqueCaptureDescriptorDataEXT,
- GetCalibratedTimestampsEXT: ProcGetCalibratedTimestampsEXT,
- GetDeferredOperationMaxConcurrencyKHR: ProcGetDeferredOperationMaxConcurrencyKHR,
- GetDeferredOperationResultKHR: ProcGetDeferredOperationResultKHR,
- GetDescriptorEXT: ProcGetDescriptorEXT,
- GetDescriptorSetHostMappingVALVE: ProcGetDescriptorSetHostMappingVALVE,
- GetDescriptorSetLayoutBindingOffsetEXT: ProcGetDescriptorSetLayoutBindingOffsetEXT,
- GetDescriptorSetLayoutHostMappingInfoVALVE: ProcGetDescriptorSetLayoutHostMappingInfoVALVE,
- GetDescriptorSetLayoutSizeEXT: ProcGetDescriptorSetLayoutSizeEXT,
- GetDescriptorSetLayoutSupport: ProcGetDescriptorSetLayoutSupport,
- GetDescriptorSetLayoutSupportKHR: ProcGetDescriptorSetLayoutSupportKHR,
- GetDeviceAccelerationStructureCompatibilityKHR: ProcGetDeviceAccelerationStructureCompatibilityKHR,
- GetDeviceBufferMemoryRequirements: ProcGetDeviceBufferMemoryRequirements,
- GetDeviceBufferMemoryRequirementsKHR: ProcGetDeviceBufferMemoryRequirementsKHR,
- GetDeviceFaultInfoEXT: ProcGetDeviceFaultInfoEXT,
- GetDeviceGroupPeerMemoryFeatures: ProcGetDeviceGroupPeerMemoryFeatures,
- GetDeviceGroupPeerMemoryFeaturesKHR: ProcGetDeviceGroupPeerMemoryFeaturesKHR,
- GetDeviceGroupPresentCapabilitiesKHR: ProcGetDeviceGroupPresentCapabilitiesKHR,
- GetDeviceGroupSurfacePresentModes2EXT: ProcGetDeviceGroupSurfacePresentModes2EXT,
- GetDeviceGroupSurfacePresentModesKHR: ProcGetDeviceGroupSurfacePresentModesKHR,
- GetDeviceImageMemoryRequirements: ProcGetDeviceImageMemoryRequirements,
- GetDeviceImageMemoryRequirementsKHR: ProcGetDeviceImageMemoryRequirementsKHR,
- GetDeviceImageSparseMemoryRequirements: ProcGetDeviceImageSparseMemoryRequirements,
- GetDeviceImageSparseMemoryRequirementsKHR: ProcGetDeviceImageSparseMemoryRequirementsKHR,
- GetDeviceMemoryCommitment: ProcGetDeviceMemoryCommitment,
- GetDeviceMemoryOpaqueCaptureAddress: ProcGetDeviceMemoryOpaqueCaptureAddress,
- GetDeviceMemoryOpaqueCaptureAddressKHR: ProcGetDeviceMemoryOpaqueCaptureAddressKHR,
- GetDeviceMicromapCompatibilityEXT: ProcGetDeviceMicromapCompatibilityEXT,
- GetDeviceProcAddr: ProcGetDeviceProcAddr,
- GetDeviceQueue: ProcGetDeviceQueue,
- GetDeviceQueue2: ProcGetDeviceQueue2,
- GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI: ProcGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,
- GetDynamicRenderingTilePropertiesQCOM: ProcGetDynamicRenderingTilePropertiesQCOM,
- GetEventStatus: ProcGetEventStatus,
- GetFenceFdKHR: ProcGetFenceFdKHR,
- GetFenceStatus: ProcGetFenceStatus,
- GetFenceWin32HandleKHR: ProcGetFenceWin32HandleKHR,
- GetFramebufferTilePropertiesQCOM: ProcGetFramebufferTilePropertiesQCOM,
- GetGeneratedCommandsMemoryRequirementsNV: ProcGetGeneratedCommandsMemoryRequirementsNV,
- GetImageDrmFormatModifierPropertiesEXT: ProcGetImageDrmFormatModifierPropertiesEXT,
- GetImageMemoryRequirements: ProcGetImageMemoryRequirements,
- GetImageMemoryRequirements2: ProcGetImageMemoryRequirements2,
- GetImageMemoryRequirements2KHR: ProcGetImageMemoryRequirements2KHR,
- GetImageOpaqueCaptureDescriptorDataEXT: ProcGetImageOpaqueCaptureDescriptorDataEXT,
- GetImageSparseMemoryRequirements: ProcGetImageSparseMemoryRequirements,
- GetImageSparseMemoryRequirements2: ProcGetImageSparseMemoryRequirements2,
- GetImageSparseMemoryRequirements2KHR: ProcGetImageSparseMemoryRequirements2KHR,
- GetImageSubresourceLayout: ProcGetImageSubresourceLayout,
- GetImageSubresourceLayout2EXT: ProcGetImageSubresourceLayout2EXT,
- GetImageViewAddressNVX: ProcGetImageViewAddressNVX,
- GetImageViewHandleNVX: ProcGetImageViewHandleNVX,
- GetImageViewOpaqueCaptureDescriptorDataEXT: ProcGetImageViewOpaqueCaptureDescriptorDataEXT,
- GetMemoryFdKHR: ProcGetMemoryFdKHR,
- GetMemoryFdPropertiesKHR: ProcGetMemoryFdPropertiesKHR,
- GetMemoryHostPointerPropertiesEXT: ProcGetMemoryHostPointerPropertiesEXT,
- GetMemoryRemoteAddressNV: ProcGetMemoryRemoteAddressNV,
- GetMemoryWin32HandleKHR: ProcGetMemoryWin32HandleKHR,
- GetMemoryWin32HandleNV: ProcGetMemoryWin32HandleNV,
- GetMemoryWin32HandlePropertiesKHR: ProcGetMemoryWin32HandlePropertiesKHR,
- GetMicromapBuildSizesEXT: ProcGetMicromapBuildSizesEXT,
- GetPastPresentationTimingGOOGLE: ProcGetPastPresentationTimingGOOGLE,
- GetPerformanceParameterINTEL: ProcGetPerformanceParameterINTEL,
- GetPipelineCacheData: ProcGetPipelineCacheData,
- GetPipelineExecutableInternalRepresentationsKHR: ProcGetPipelineExecutableInternalRepresentationsKHR,
- GetPipelineExecutablePropertiesKHR: ProcGetPipelineExecutablePropertiesKHR,
- GetPipelineExecutableStatisticsKHR: ProcGetPipelineExecutableStatisticsKHR,
- GetPipelinePropertiesEXT: ProcGetPipelinePropertiesEXT,
- GetPrivateData: ProcGetPrivateData,
- GetPrivateDataEXT: ProcGetPrivateDataEXT,
- GetQueryPoolResults: ProcGetQueryPoolResults,
- GetQueueCheckpointData2NV: ProcGetQueueCheckpointData2NV,
- GetQueueCheckpointDataNV: ProcGetQueueCheckpointDataNV,
- GetRayTracingCaptureReplayShaderGroupHandlesKHR: ProcGetRayTracingCaptureReplayShaderGroupHandlesKHR,
- GetRayTracingShaderGroupHandlesKHR: ProcGetRayTracingShaderGroupHandlesKHR,
- GetRayTracingShaderGroupHandlesNV: ProcGetRayTracingShaderGroupHandlesNV,
- GetRayTracingShaderGroupStackSizeKHR: ProcGetRayTracingShaderGroupStackSizeKHR,
- GetRefreshCycleDurationGOOGLE: ProcGetRefreshCycleDurationGOOGLE,
- GetRenderAreaGranularity: ProcGetRenderAreaGranularity,
- GetSamplerOpaqueCaptureDescriptorDataEXT: ProcGetSamplerOpaqueCaptureDescriptorDataEXT,
- GetSemaphoreCounterValue: ProcGetSemaphoreCounterValue,
- GetSemaphoreCounterValueKHR: ProcGetSemaphoreCounterValueKHR,
- GetSemaphoreFdKHR: ProcGetSemaphoreFdKHR,
- GetSemaphoreWin32HandleKHR: ProcGetSemaphoreWin32HandleKHR,
- GetShaderBinaryDataEXT: ProcGetShaderBinaryDataEXT,
- GetShaderInfoAMD: ProcGetShaderInfoAMD,
- GetShaderModuleCreateInfoIdentifierEXT: ProcGetShaderModuleCreateInfoIdentifierEXT,
- GetShaderModuleIdentifierEXT: ProcGetShaderModuleIdentifierEXT,
- GetSwapchainCounterEXT: ProcGetSwapchainCounterEXT,
- GetSwapchainImagesKHR: ProcGetSwapchainImagesKHR,
- GetSwapchainStatusKHR: ProcGetSwapchainStatusKHR,
- GetValidationCacheDataEXT: ProcGetValidationCacheDataEXT,
- GetVideoSessionMemoryRequirementsKHR: ProcGetVideoSessionMemoryRequirementsKHR,
- ImportFenceFdKHR: ProcImportFenceFdKHR,
- ImportFenceWin32HandleKHR: ProcImportFenceWin32HandleKHR,
- ImportSemaphoreFdKHR: ProcImportSemaphoreFdKHR,
- ImportSemaphoreWin32HandleKHR: ProcImportSemaphoreWin32HandleKHR,
- InitializePerformanceApiINTEL: ProcInitializePerformanceApiINTEL,
- InvalidateMappedMemoryRanges: ProcInvalidateMappedMemoryRanges,
- MapMemory: ProcMapMemory,
- MapMemory2KHR: ProcMapMemory2KHR,
- MergePipelineCaches: ProcMergePipelineCaches,
- MergeValidationCachesEXT: ProcMergeValidationCachesEXT,
- QueueBeginDebugUtilsLabelEXT: ProcQueueBeginDebugUtilsLabelEXT,
- QueueBindSparse: ProcQueueBindSparse,
- QueueEndDebugUtilsLabelEXT: ProcQueueEndDebugUtilsLabelEXT,
- QueueInsertDebugUtilsLabelEXT: ProcQueueInsertDebugUtilsLabelEXT,
- QueuePresentKHR: ProcQueuePresentKHR,
- QueueSetPerformanceConfigurationINTEL: ProcQueueSetPerformanceConfigurationINTEL,
- QueueSubmit: ProcQueueSubmit,
- QueueSubmit2: ProcQueueSubmit2,
- QueueSubmit2KHR: ProcQueueSubmit2KHR,
- QueueWaitIdle: ProcQueueWaitIdle,
- RegisterDeviceEventEXT: ProcRegisterDeviceEventEXT,
- RegisterDisplayEventEXT: ProcRegisterDisplayEventEXT,
- ReleaseFullScreenExclusiveModeEXT: ProcReleaseFullScreenExclusiveModeEXT,
- ReleasePerformanceConfigurationINTEL: ProcReleasePerformanceConfigurationINTEL,
- ReleaseProfilingLockKHR: ProcReleaseProfilingLockKHR,
- ReleaseSwapchainImagesEXT: ProcReleaseSwapchainImagesEXT,
- ResetCommandBuffer: ProcResetCommandBuffer,
- ResetCommandPool: ProcResetCommandPool,
- ResetDescriptorPool: ProcResetDescriptorPool,
- ResetEvent: ProcResetEvent,
- ResetFences: ProcResetFences,
- ResetQueryPool: ProcResetQueryPool,
- ResetQueryPoolEXT: ProcResetQueryPoolEXT,
- SetDebugUtilsObjectNameEXT: ProcSetDebugUtilsObjectNameEXT,
- SetDebugUtilsObjectTagEXT: ProcSetDebugUtilsObjectTagEXT,
- SetDeviceMemoryPriorityEXT: ProcSetDeviceMemoryPriorityEXT,
- SetEvent: ProcSetEvent,
- SetHdrMetadataEXT: ProcSetHdrMetadataEXT,
- SetLocalDimmingAMD: ProcSetLocalDimmingAMD,
- SetPrivateData: ProcSetPrivateData,
- SetPrivateDataEXT: ProcSetPrivateDataEXT,
- SignalSemaphore: ProcSignalSemaphore,
- SignalSemaphoreKHR: ProcSignalSemaphoreKHR,
- TrimCommandPool: ProcTrimCommandPool,
- TrimCommandPoolKHR: ProcTrimCommandPoolKHR,
- UninitializePerformanceApiINTEL: ProcUninitializePerformanceApiINTEL,
- UnmapMemory: ProcUnmapMemory,
- UnmapMemory2KHR: ProcUnmapMemory2KHR,
- UpdateDescriptorSetWithTemplate: ProcUpdateDescriptorSetWithTemplate,
- UpdateDescriptorSetWithTemplateKHR: ProcUpdateDescriptorSetWithTemplateKHR,
- UpdateDescriptorSets: ProcUpdateDescriptorSets,
- UpdateVideoSessionParametersKHR: ProcUpdateVideoSessionParametersKHR,
- WaitForFences: ProcWaitForFences,
- WaitForPresentKHR: ProcWaitForPresentKHR,
- WaitSemaphores: ProcWaitSemaphores,
- WaitSemaphoresKHR: ProcWaitSemaphoresKHR,
- WriteAccelerationStructuresPropertiesKHR: ProcWriteAccelerationStructuresPropertiesKHR,
- WriteMicromapsPropertiesEXT: ProcWriteMicromapsPropertiesEXT,
-}
-
-load_proc_addresses_device_vtable :: proc(device: Device, vtable: ^Device_VTable) {
- vtable.AcquireFullScreenExclusiveModeEXT = auto_cast GetDeviceProcAddr(device, "vkAcquireFullScreenExclusiveModeEXT")
- vtable.AcquireNextImage2KHR = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImage2KHR")
- vtable.AcquireNextImageKHR = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImageKHR")
- vtable.AcquirePerformanceConfigurationINTEL = auto_cast GetDeviceProcAddr(device, "vkAcquirePerformanceConfigurationINTEL")
- vtable.AcquireProfilingLockKHR = auto_cast GetDeviceProcAddr(device, "vkAcquireProfilingLockKHR")
- vtable.AllocateCommandBuffers = auto_cast GetDeviceProcAddr(device, "vkAllocateCommandBuffers")
- vtable.AllocateDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkAllocateDescriptorSets")
- vtable.AllocateMemory = auto_cast GetDeviceProcAddr(device, "vkAllocateMemory")
- vtable.BeginCommandBuffer = auto_cast GetDeviceProcAddr(device, "vkBeginCommandBuffer")
- vtable.BindAccelerationStructureMemoryNV = auto_cast GetDeviceProcAddr(device, "vkBindAccelerationStructureMemoryNV")
- vtable.BindBufferMemory = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory")
- vtable.BindBufferMemory2 = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2")
- vtable.BindBufferMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2KHR")
- vtable.BindImageMemory = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory")
- vtable.BindImageMemory2 = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2")
- vtable.BindImageMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2KHR")
- vtable.BindOpticalFlowSessionImageNV = auto_cast GetDeviceProcAddr(device, "vkBindOpticalFlowSessionImageNV")
- vtable.BindVideoSessionMemoryKHR = auto_cast GetDeviceProcAddr(device, "vkBindVideoSessionMemoryKHR")
- vtable.BuildAccelerationStructuresKHR = auto_cast GetDeviceProcAddr(device, "vkBuildAccelerationStructuresKHR")
- vtable.BuildMicromapsEXT = auto_cast GetDeviceProcAddr(device, "vkBuildMicromapsEXT")
- vtable.CmdBeginConditionalRenderingEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginConditionalRenderingEXT")
- vtable.CmdBeginDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginDebugUtilsLabelEXT")
- vtable.CmdBeginQuery = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQuery")
- vtable.CmdBeginQueryIndexedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQueryIndexedEXT")
- vtable.CmdBeginRenderPass = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass")
- vtable.CmdBeginRenderPass2 = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2")
- vtable.CmdBeginRenderPass2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2KHR")
- vtable.CmdBeginRendering = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRendering")
- vtable.CmdBeginRenderingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderingKHR")
- vtable.CmdBeginTransformFeedbackEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginTransformFeedbackEXT")
- vtable.CmdBeginVideoCodingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBeginVideoCodingKHR")
- vtable.CmdBindDescriptorBufferEmbeddedSamplersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT")
- vtable.CmdBindDescriptorBuffersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorBuffersEXT")
- vtable.CmdBindDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorSets")
- vtable.CmdBindIndexBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdBindIndexBuffer")
- vtable.CmdBindInvocationMaskHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdBindInvocationMaskHUAWEI")
- vtable.CmdBindPipeline = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipeline")
- vtable.CmdBindPipelineShaderGroupNV = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipelineShaderGroupNV")
- vtable.CmdBindShadersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindShadersEXT")
- vtable.CmdBindShadingRateImageNV = auto_cast GetDeviceProcAddr(device, "vkCmdBindShadingRateImageNV")
- vtable.CmdBindTransformFeedbackBuffersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindTransformFeedbackBuffersEXT")
- vtable.CmdBindVertexBuffers = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers")
- vtable.CmdBindVertexBuffers2 = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2")
- vtable.CmdBindVertexBuffers2EXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2EXT")
- vtable.CmdBlitImage = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage")
- vtable.CmdBlitImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2")
- vtable.CmdBlitImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2KHR")
- vtable.CmdBuildAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructureNV")
- vtable.CmdBuildAccelerationStructuresIndirectKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresIndirectKHR")
- vtable.CmdBuildAccelerationStructuresKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresKHR")
- vtable.CmdBuildMicromapsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBuildMicromapsEXT")
- vtable.CmdClearAttachments = auto_cast GetDeviceProcAddr(device, "vkCmdClearAttachments")
- vtable.CmdClearColorImage = auto_cast GetDeviceProcAddr(device, "vkCmdClearColorImage")
- vtable.CmdClearDepthStencilImage = auto_cast GetDeviceProcAddr(device, "vkCmdClearDepthStencilImage")
- vtable.CmdControlVideoCodingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdControlVideoCodingKHR")
- vtable.CmdCopyAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureKHR")
- vtable.CmdCopyAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureNV")
- vtable.CmdCopyAccelerationStructureToMemoryKHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureToMemoryKHR")
- vtable.CmdCopyBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer")
- vtable.CmdCopyBuffer2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2")
- vtable.CmdCopyBuffer2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2KHR")
- vtable.CmdCopyBufferToImage = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage")
- vtable.CmdCopyBufferToImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2")
- vtable.CmdCopyBufferToImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2KHR")
- vtable.CmdCopyImage = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage")
- vtable.CmdCopyImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2")
- vtable.CmdCopyImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2KHR")
- vtable.CmdCopyImageToBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer")
- vtable.CmdCopyImageToBuffer2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2")
- vtable.CmdCopyImageToBuffer2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2KHR")
- vtable.CmdCopyMemoryIndirectNV = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryIndirectNV")
- vtable.CmdCopyMemoryToAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToAccelerationStructureKHR")
- vtable.CmdCopyMemoryToImageIndirectNV = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToImageIndirectNV")
- vtable.CmdCopyMemoryToMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToMicromapEXT")
- vtable.CmdCopyMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMicromapEXT")
- vtable.CmdCopyMicromapToMemoryEXT = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMicromapToMemoryEXT")
- vtable.CmdCopyQueryPoolResults = auto_cast GetDeviceProcAddr(device, "vkCmdCopyQueryPoolResults")
- vtable.CmdCuLaunchKernelNVX = auto_cast GetDeviceProcAddr(device, "vkCmdCuLaunchKernelNVX")
- vtable.CmdDebugMarkerBeginEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT")
- vtable.CmdDebugMarkerEndEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT")
- vtable.CmdDebugMarkerInsertEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerInsertEXT")
- vtable.CmdDecodeVideoKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDecodeVideoKHR")
- vtable.CmdDecompressMemoryIndirectCountNV = auto_cast GetDeviceProcAddr(device, "vkCmdDecompressMemoryIndirectCountNV")
- vtable.CmdDecompressMemoryNV = auto_cast GetDeviceProcAddr(device, "vkCmdDecompressMemoryNV")
- vtable.CmdDispatch = auto_cast GetDeviceProcAddr(device, "vkCmdDispatch")
- vtable.CmdDispatchBase = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBase")
- vtable.CmdDispatchBaseKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBaseKHR")
- vtable.CmdDispatchIndirect = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchIndirect")
- vtable.CmdDraw = auto_cast GetDeviceProcAddr(device, "vkCmdDraw")
- vtable.CmdDrawClusterHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdDrawClusterHUAWEI")
- vtable.CmdDrawClusterIndirectHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdDrawClusterIndirectHUAWEI")
- vtable.CmdDrawIndexed = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexed")
- vtable.CmdDrawIndexedIndirect = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirect")
- vtable.CmdDrawIndexedIndirectCount = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCount")
- vtable.CmdDrawIndexedIndirectCountAMD = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountAMD")
- vtable.CmdDrawIndexedIndirectCountKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountKHR")
- vtable.CmdDrawIndirect = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirect")
- vtable.CmdDrawIndirectByteCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectByteCountEXT")
- vtable.CmdDrawIndirectCount = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCount")
- vtable.CmdDrawIndirectCountAMD = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountAMD")
- vtable.CmdDrawIndirectCountKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountKHR")
- vtable.CmdDrawMeshTasksEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksEXT")
- vtable.CmdDrawMeshTasksIndirectCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountEXT")
- vtable.CmdDrawMeshTasksIndirectCountNV = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountNV")
- vtable.CmdDrawMeshTasksIndirectEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectEXT")
- vtable.CmdDrawMeshTasksIndirectNV = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectNV")
- vtable.CmdDrawMeshTasksNV = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksNV")
- vtable.CmdDrawMultiEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiEXT")
- vtable.CmdDrawMultiIndexedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiIndexedEXT")
- vtable.CmdEndConditionalRenderingEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndConditionalRenderingEXT")
- vtable.CmdEndDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndDebugUtilsLabelEXT")
- vtable.CmdEndQuery = auto_cast GetDeviceProcAddr(device, "vkCmdEndQuery")
- vtable.CmdEndQueryIndexedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndQueryIndexedEXT")
- vtable.CmdEndRenderPass = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass")
- vtable.CmdEndRenderPass2 = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2")
- vtable.CmdEndRenderPass2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2KHR")
- vtable.CmdEndRendering = auto_cast GetDeviceProcAddr(device, "vkCmdEndRendering")
- vtable.CmdEndRenderingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderingKHR")
- vtable.CmdEndTransformFeedbackEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndTransformFeedbackEXT")
- vtable.CmdEndVideoCodingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdEndVideoCodingKHR")
- vtable.CmdExecuteCommands = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteCommands")
- vtable.CmdExecuteGeneratedCommandsNV = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteGeneratedCommandsNV")
- vtable.CmdFillBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdFillBuffer")
- vtable.CmdInsertDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkCmdInsertDebugUtilsLabelEXT")
- vtable.CmdNextSubpass = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass")
- vtable.CmdNextSubpass2 = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2")
- vtable.CmdNextSubpass2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2KHR")
- vtable.CmdOpticalFlowExecuteNV = auto_cast GetDeviceProcAddr(device, "vkCmdOpticalFlowExecuteNV")
- vtable.CmdPipelineBarrier = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier")
- vtable.CmdPipelineBarrier2 = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2")
- vtable.CmdPipelineBarrier2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2KHR")
- vtable.CmdPreprocessGeneratedCommandsNV = auto_cast GetDeviceProcAddr(device, "vkCmdPreprocessGeneratedCommandsNV")
- vtable.CmdPushConstants = auto_cast GetDeviceProcAddr(device, "vkCmdPushConstants")
- vtable.CmdPushDescriptorSetKHR = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetKHR")
- vtable.CmdPushDescriptorSetWithTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetWithTemplateKHR")
- vtable.CmdResetEvent = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent")
- vtable.CmdResetEvent2 = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2")
- vtable.CmdResetEvent2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2KHR")
- vtable.CmdResetQueryPool = auto_cast GetDeviceProcAddr(device, "vkCmdResetQueryPool")
- vtable.CmdResolveImage = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage")
- vtable.CmdResolveImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2")
- vtable.CmdResolveImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2KHR")
- vtable.CmdSetAlphaToCoverageEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetAlphaToCoverageEnableEXT")
- vtable.CmdSetAlphaToOneEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetAlphaToOneEnableEXT")
- vtable.CmdSetAttachmentFeedbackLoopEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetAttachmentFeedbackLoopEnableEXT")
- vtable.CmdSetBlendConstants = auto_cast GetDeviceProcAddr(device, "vkCmdSetBlendConstants")
- vtable.CmdSetCheckpointNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCheckpointNV")
- vtable.CmdSetCoarseSampleOrderNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoarseSampleOrderNV")
- vtable.CmdSetColorBlendAdvancedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorBlendAdvancedEXT")
- vtable.CmdSetColorBlendEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorBlendEnableEXT")
- vtable.CmdSetColorBlendEquationEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorBlendEquationEXT")
- vtable.CmdSetColorWriteMaskEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorWriteMaskEXT")
- vtable.CmdSetConservativeRasterizationModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetConservativeRasterizationModeEXT")
- vtable.CmdSetCoverageModulationModeNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageModulationModeNV")
- vtable.CmdSetCoverageModulationTableEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageModulationTableEnableNV")
- vtable.CmdSetCoverageModulationTableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageModulationTableNV")
- vtable.CmdSetCoverageReductionModeNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageReductionModeNV")
- vtable.CmdSetCoverageToColorEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageToColorEnableNV")
- vtable.CmdSetCoverageToColorLocationNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageToColorLocationNV")
- vtable.CmdSetCullMode = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullMode")
- vtable.CmdSetCullModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullModeEXT")
- vtable.CmdSetDepthBias = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBias")
- vtable.CmdSetDepthBiasEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnable")
- vtable.CmdSetDepthBiasEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnableEXT")
- vtable.CmdSetDepthBounds = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBounds")
- vtable.CmdSetDepthBoundsTestEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnable")
- vtable.CmdSetDepthBoundsTestEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnableEXT")
- vtable.CmdSetDepthClampEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthClampEnableEXT")
- vtable.CmdSetDepthClipEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthClipEnableEXT")
- vtable.CmdSetDepthClipNegativeOneToOneEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthClipNegativeOneToOneEXT")
- vtable.CmdSetDepthCompareOp = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOp")
- vtable.CmdSetDepthCompareOpEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOpEXT")
- vtable.CmdSetDepthTestEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnable")
- vtable.CmdSetDepthTestEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnableEXT")
- vtable.CmdSetDepthWriteEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnable")
- vtable.CmdSetDepthWriteEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnableEXT")
- vtable.CmdSetDescriptorBufferOffsetsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDescriptorBufferOffsetsEXT")
- vtable.CmdSetDeviceMask = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMask")
- vtable.CmdSetDeviceMaskKHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMaskKHR")
- vtable.CmdSetDiscardRectangleEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEXT")
- vtable.CmdSetDiscardRectangleEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEnableEXT")
- vtable.CmdSetDiscardRectangleModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleModeEXT")
- vtable.CmdSetEvent = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent")
- vtable.CmdSetEvent2 = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2")
- vtable.CmdSetEvent2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2KHR")
- vtable.CmdSetExclusiveScissorEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetExclusiveScissorEnableNV")
- vtable.CmdSetExclusiveScissorNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetExclusiveScissorNV")
- vtable.CmdSetExtraPrimitiveOverestimationSizeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT")
- vtable.CmdSetFragmentShadingRateEnumNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateEnumNV")
- vtable.CmdSetFragmentShadingRateKHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateKHR")
- vtable.CmdSetFrontFace = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFace")
- vtable.CmdSetFrontFaceEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFaceEXT")
- vtable.CmdSetLineRasterizationModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineRasterizationModeEXT")
- vtable.CmdSetLineStippleEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineStippleEXT")
- vtable.CmdSetLineStippleEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineStippleEnableEXT")
- vtable.CmdSetLineWidth = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineWidth")
- vtable.CmdSetLogicOpEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLogicOpEXT")
- vtable.CmdSetLogicOpEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLogicOpEnableEXT")
- vtable.CmdSetPatchControlPointsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPatchControlPointsEXT")
- vtable.CmdSetPerformanceMarkerINTEL = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceMarkerINTEL")
- vtable.CmdSetPerformanceOverrideINTEL = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceOverrideINTEL")
- vtable.CmdSetPerformanceStreamMarkerINTEL = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceStreamMarkerINTEL")
- vtable.CmdSetPolygonModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPolygonModeEXT")
- vtable.CmdSetPrimitiveRestartEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnable")
- vtable.CmdSetPrimitiveRestartEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnableEXT")
- vtable.CmdSetPrimitiveTopology = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopology")
- vtable.CmdSetPrimitiveTopologyEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopologyEXT")
- vtable.CmdSetProvokingVertexModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetProvokingVertexModeEXT")
- vtable.CmdSetRasterizationSamplesEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizationSamplesEXT")
- vtable.CmdSetRasterizationStreamEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizationStreamEXT")
- vtable.CmdSetRasterizerDiscardEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnable")
- vtable.CmdSetRasterizerDiscardEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnableEXT")
- vtable.CmdSetRayTracingPipelineStackSizeKHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetRayTracingPipelineStackSizeKHR")
- vtable.CmdSetRepresentativeFragmentTestEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetRepresentativeFragmentTestEnableNV")
- vtable.CmdSetSampleLocationsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleLocationsEXT")
- vtable.CmdSetSampleLocationsEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleLocationsEnableEXT")
- vtable.CmdSetSampleMaskEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleMaskEXT")
- vtable.CmdSetScissor = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissor")
- vtable.CmdSetScissorWithCount = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCount")
- vtable.CmdSetScissorWithCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCountEXT")
- vtable.CmdSetShadingRateImageEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetShadingRateImageEnableNV")
- vtable.CmdSetStencilCompareMask = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilCompareMask")
- vtable.CmdSetStencilOp = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOp")
- vtable.CmdSetStencilOpEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOpEXT")
- vtable.CmdSetStencilReference = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilReference")
- vtable.CmdSetStencilTestEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnable")
- vtable.CmdSetStencilTestEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnableEXT")
- vtable.CmdSetStencilWriteMask = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilWriteMask")
- vtable.CmdSetTessellationDomainOriginEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetTessellationDomainOriginEXT")
- vtable.CmdSetVertexInputEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetVertexInputEXT")
- vtable.CmdSetViewport = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewport")
- vtable.CmdSetViewportShadingRatePaletteNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportShadingRatePaletteNV")
- vtable.CmdSetViewportSwizzleNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportSwizzleNV")
- vtable.CmdSetViewportWScalingEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWScalingEnableNV")
- vtable.CmdSetViewportWScalingNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWScalingNV")
- vtable.CmdSetViewportWithCount = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCount")
- vtable.CmdSetViewportWithCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCountEXT")
- vtable.CmdSubpassShadingHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdSubpassShadingHUAWEI")
- vtable.CmdTraceRaysIndirect2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysIndirect2KHR")
- vtable.CmdTraceRaysIndirectKHR = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysIndirectKHR")
- vtable.CmdTraceRaysKHR = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysKHR")
- vtable.CmdTraceRaysNV = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysNV")
- vtable.CmdUpdateBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdUpdateBuffer")
- vtable.CmdWaitEvents = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents")
- vtable.CmdWaitEvents2 = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2")
- vtable.CmdWaitEvents2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2KHR")
- vtable.CmdWriteAccelerationStructuresPropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesKHR")
- vtable.CmdWriteAccelerationStructuresPropertiesNV = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesNV")
- vtable.CmdWriteBufferMarker2AMD = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarker2AMD")
- vtable.CmdWriteBufferMarkerAMD = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarkerAMD")
- vtable.CmdWriteMicromapsPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkCmdWriteMicromapsPropertiesEXT")
- vtable.CmdWriteTimestamp = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp")
- vtable.CmdWriteTimestamp2 = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2")
- vtable.CmdWriteTimestamp2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2KHR")
- vtable.CompileDeferredNV = auto_cast GetDeviceProcAddr(device, "vkCompileDeferredNV")
- vtable.CopyAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureKHR")
- vtable.CopyAccelerationStructureToMemoryKHR = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureToMemoryKHR")
- vtable.CopyMemoryToAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCopyMemoryToAccelerationStructureKHR")
- vtable.CopyMemoryToMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCopyMemoryToMicromapEXT")
- vtable.CopyMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCopyMicromapEXT")
- vtable.CopyMicromapToMemoryEXT = auto_cast GetDeviceProcAddr(device, "vkCopyMicromapToMemoryEXT")
- vtable.CreateAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureKHR")
- vtable.CreateAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureNV")
- vtable.CreateBuffer = auto_cast GetDeviceProcAddr(device, "vkCreateBuffer")
- vtable.CreateBufferView = auto_cast GetDeviceProcAddr(device, "vkCreateBufferView")
- vtable.CreateCommandPool = auto_cast GetDeviceProcAddr(device, "vkCreateCommandPool")
- vtable.CreateComputePipelines = auto_cast GetDeviceProcAddr(device, "vkCreateComputePipelines")
- vtable.CreateCuFunctionNVX = auto_cast GetDeviceProcAddr(device, "vkCreateCuFunctionNVX")
- vtable.CreateCuModuleNVX = auto_cast GetDeviceProcAddr(device, "vkCreateCuModuleNVX")
- vtable.CreateDeferredOperationKHR = auto_cast GetDeviceProcAddr(device, "vkCreateDeferredOperationKHR")
- vtable.CreateDescriptorPool = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorPool")
- vtable.CreateDescriptorSetLayout = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorSetLayout")
- vtable.CreateDescriptorUpdateTemplate = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplate")
- vtable.CreateDescriptorUpdateTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplateKHR")
- vtable.CreateEvent = auto_cast GetDeviceProcAddr(device, "vkCreateEvent")
- vtable.CreateFence = auto_cast GetDeviceProcAddr(device, "vkCreateFence")
- vtable.CreateFramebuffer = auto_cast GetDeviceProcAddr(device, "vkCreateFramebuffer")
- vtable.CreateGraphicsPipelines = auto_cast GetDeviceProcAddr(device, "vkCreateGraphicsPipelines")
- vtable.CreateImage = auto_cast GetDeviceProcAddr(device, "vkCreateImage")
- vtable.CreateImageView = auto_cast GetDeviceProcAddr(device, "vkCreateImageView")
- vtable.CreateIndirectCommandsLayoutNV = auto_cast GetDeviceProcAddr(device, "vkCreateIndirectCommandsLayoutNV")
- vtable.CreateMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCreateMicromapEXT")
- vtable.CreateOpticalFlowSessionNV = auto_cast GetDeviceProcAddr(device, "vkCreateOpticalFlowSessionNV")
- vtable.CreatePipelineCache = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineCache")
- vtable.CreatePipelineLayout = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineLayout")
- vtable.CreatePrivateDataSlot = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlot")
- vtable.CreatePrivateDataSlotEXT = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlotEXT")
- vtable.CreateQueryPool = auto_cast GetDeviceProcAddr(device, "vkCreateQueryPool")
- vtable.CreateRayTracingPipelinesKHR = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesKHR")
- vtable.CreateRayTracingPipelinesNV = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesNV")
- vtable.CreateRenderPass = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass")
- vtable.CreateRenderPass2 = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2")
- vtable.CreateRenderPass2KHR = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2KHR")
- vtable.CreateSampler = auto_cast GetDeviceProcAddr(device, "vkCreateSampler")
- vtable.CreateSamplerYcbcrConversion = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversion")
- vtable.CreateSamplerYcbcrConversionKHR = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversionKHR")
- vtable.CreateSemaphore = auto_cast GetDeviceProcAddr(device, "vkCreateSemaphore")
- vtable.CreateShaderModule = auto_cast GetDeviceProcAddr(device, "vkCreateShaderModule")
- vtable.CreateShadersEXT = auto_cast GetDeviceProcAddr(device, "vkCreateShadersEXT")
- vtable.CreateSharedSwapchainsKHR = auto_cast GetDeviceProcAddr(device, "vkCreateSharedSwapchainsKHR")
- vtable.CreateSwapchainKHR = auto_cast GetDeviceProcAddr(device, "vkCreateSwapchainKHR")
- vtable.CreateValidationCacheEXT = auto_cast GetDeviceProcAddr(device, "vkCreateValidationCacheEXT")
- vtable.CreateVideoSessionKHR = auto_cast GetDeviceProcAddr(device, "vkCreateVideoSessionKHR")
- vtable.CreateVideoSessionParametersKHR = auto_cast GetDeviceProcAddr(device, "vkCreateVideoSessionParametersKHR")
- vtable.DebugMarkerSetObjectNameEXT = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT")
- vtable.DebugMarkerSetObjectTagEXT = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectTagEXT")
- vtable.DeferredOperationJoinKHR = auto_cast GetDeviceProcAddr(device, "vkDeferredOperationJoinKHR")
- vtable.DestroyAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureKHR")
- vtable.DestroyAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureNV")
- vtable.DestroyBuffer = auto_cast GetDeviceProcAddr(device, "vkDestroyBuffer")
- vtable.DestroyBufferView = auto_cast GetDeviceProcAddr(device, "vkDestroyBufferView")
- vtable.DestroyCommandPool = auto_cast GetDeviceProcAddr(device, "vkDestroyCommandPool")
- vtable.DestroyCuFunctionNVX = auto_cast GetDeviceProcAddr(device, "vkDestroyCuFunctionNVX")
- vtable.DestroyCuModuleNVX = auto_cast GetDeviceProcAddr(device, "vkDestroyCuModuleNVX")
- vtable.DestroyDeferredOperationKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyDeferredOperationKHR")
- vtable.DestroyDescriptorPool = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorPool")
- vtable.DestroyDescriptorSetLayout = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorSetLayout")
- vtable.DestroyDescriptorUpdateTemplate = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplate")
- vtable.DestroyDescriptorUpdateTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplateKHR")
- vtable.DestroyDevice = auto_cast GetDeviceProcAddr(device, "vkDestroyDevice")
- vtable.DestroyEvent = auto_cast GetDeviceProcAddr(device, "vkDestroyEvent")
- vtable.DestroyFence = auto_cast GetDeviceProcAddr(device, "vkDestroyFence")
- vtable.DestroyFramebuffer = auto_cast GetDeviceProcAddr(device, "vkDestroyFramebuffer")
- vtable.DestroyImage = auto_cast GetDeviceProcAddr(device, "vkDestroyImage")
- vtable.DestroyImageView = auto_cast GetDeviceProcAddr(device, "vkDestroyImageView")
- vtable.DestroyIndirectCommandsLayoutNV = auto_cast GetDeviceProcAddr(device, "vkDestroyIndirectCommandsLayoutNV")
- vtable.DestroyMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyMicromapEXT")
- vtable.DestroyOpticalFlowSessionNV = auto_cast GetDeviceProcAddr(device, "vkDestroyOpticalFlowSessionNV")
- vtable.DestroyPipeline = auto_cast GetDeviceProcAddr(device, "vkDestroyPipeline")
- vtable.DestroyPipelineCache = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineCache")
- vtable.DestroyPipelineLayout = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineLayout")
- vtable.DestroyPrivateDataSlot = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlot")
- vtable.DestroyPrivateDataSlotEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlotEXT")
- vtable.DestroyQueryPool = auto_cast GetDeviceProcAddr(device, "vkDestroyQueryPool")
- vtable.DestroyRenderPass = auto_cast GetDeviceProcAddr(device, "vkDestroyRenderPass")
- vtable.DestroySampler = auto_cast GetDeviceProcAddr(device, "vkDestroySampler")
- vtable.DestroySamplerYcbcrConversion = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversion")
- vtable.DestroySamplerYcbcrConversionKHR = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversionKHR")
- vtable.DestroySemaphore = auto_cast GetDeviceProcAddr(device, "vkDestroySemaphore")
- vtable.DestroyShaderEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyShaderEXT")
- vtable.DestroyShaderModule = auto_cast GetDeviceProcAddr(device, "vkDestroyShaderModule")
- vtable.DestroySwapchainKHR = auto_cast GetDeviceProcAddr(device, "vkDestroySwapchainKHR")
- vtable.DestroyValidationCacheEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyValidationCacheEXT")
- vtable.DestroyVideoSessionKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyVideoSessionKHR")
- vtable.DestroyVideoSessionParametersKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyVideoSessionParametersKHR")
- vtable.DeviceWaitIdle = auto_cast GetDeviceProcAddr(device, "vkDeviceWaitIdle")
- vtable.DisplayPowerControlEXT = auto_cast GetDeviceProcAddr(device, "vkDisplayPowerControlEXT")
- vtable.EndCommandBuffer = auto_cast GetDeviceProcAddr(device, "vkEndCommandBuffer")
- vtable.ExportMetalObjectsEXT = auto_cast GetDeviceProcAddr(device, "vkExportMetalObjectsEXT")
- vtable.FlushMappedMemoryRanges = auto_cast GetDeviceProcAddr(device, "vkFlushMappedMemoryRanges")
- vtable.FreeCommandBuffers = auto_cast GetDeviceProcAddr(device, "vkFreeCommandBuffers")
- vtable.FreeDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkFreeDescriptorSets")
- vtable.FreeMemory = auto_cast GetDeviceProcAddr(device, "vkFreeMemory")
- vtable.GetAccelerationStructureBuildSizesKHR = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureBuildSizesKHR")
- vtable.GetAccelerationStructureDeviceAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureDeviceAddressKHR")
- vtable.GetAccelerationStructureHandleNV = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureHandleNV")
- vtable.GetAccelerationStructureMemoryRequirementsNV = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureMemoryRequirementsNV")
- vtable.GetAccelerationStructureOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT")
- vtable.GetBufferDeviceAddress = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddress")
- vtable.GetBufferDeviceAddressEXT = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressEXT")
- vtable.GetBufferDeviceAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressKHR")
- vtable.GetBufferMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements")
- vtable.GetBufferMemoryRequirements2 = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2")
- vtable.GetBufferMemoryRequirements2KHR = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2KHR")
- vtable.GetBufferOpaqueCaptureAddress = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddress")
- vtable.GetBufferOpaqueCaptureAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddressKHR")
- vtable.GetBufferOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureDescriptorDataEXT")
- vtable.GetCalibratedTimestampsEXT = auto_cast GetDeviceProcAddr(device, "vkGetCalibratedTimestampsEXT")
- vtable.GetDeferredOperationMaxConcurrencyKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationMaxConcurrencyKHR")
- vtable.GetDeferredOperationResultKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationResultKHR")
- vtable.GetDescriptorEXT = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorEXT")
- vtable.GetDescriptorSetHostMappingVALVE = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetHostMappingVALVE")
- vtable.GetDescriptorSetLayoutBindingOffsetEXT = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutBindingOffsetEXT")
- vtable.GetDescriptorSetLayoutHostMappingInfoVALVE = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE")
- vtable.GetDescriptorSetLayoutSizeEXT = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSizeEXT")
- vtable.GetDescriptorSetLayoutSupport = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupport")
- vtable.GetDescriptorSetLayoutSupportKHR = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupportKHR")
- vtable.GetDeviceAccelerationStructureCompatibilityKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceAccelerationStructureCompatibilityKHR")
- vtable.GetDeviceBufferMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirements")
- vtable.GetDeviceBufferMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirementsKHR")
- vtable.GetDeviceFaultInfoEXT = auto_cast GetDeviceProcAddr(device, "vkGetDeviceFaultInfoEXT")
- vtable.GetDeviceGroupPeerMemoryFeatures = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeatures")
- vtable.GetDeviceGroupPeerMemoryFeaturesKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeaturesKHR")
- vtable.GetDeviceGroupPresentCapabilitiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPresentCapabilitiesKHR")
- vtable.GetDeviceGroupSurfacePresentModes2EXT = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModes2EXT")
- vtable.GetDeviceGroupSurfacePresentModesKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModesKHR")
- vtable.GetDeviceImageMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirements")
- vtable.GetDeviceImageMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirementsKHR")
- vtable.GetDeviceImageSparseMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirements")
- vtable.GetDeviceImageSparseMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirementsKHR")
- vtable.GetDeviceMemoryCommitment = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryCommitment")
- vtable.GetDeviceMemoryOpaqueCaptureAddress = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddress")
- vtable.GetDeviceMemoryOpaqueCaptureAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR")
- vtable.GetDeviceMicromapCompatibilityEXT = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMicromapCompatibilityEXT")
- vtable.GetDeviceProcAddr = auto_cast GetDeviceProcAddr(device, "vkGetDeviceProcAddr")
- vtable.GetDeviceQueue = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue")
- vtable.GetDeviceQueue2 = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue2")
- vtable.GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = auto_cast GetDeviceProcAddr(device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")
- vtable.GetDynamicRenderingTilePropertiesQCOM = auto_cast GetDeviceProcAddr(device, "vkGetDynamicRenderingTilePropertiesQCOM")
- vtable.GetEventStatus = auto_cast GetDeviceProcAddr(device, "vkGetEventStatus")
- vtable.GetFenceFdKHR = auto_cast GetDeviceProcAddr(device, "vkGetFenceFdKHR")
- vtable.GetFenceStatus = auto_cast GetDeviceProcAddr(device, "vkGetFenceStatus")
- vtable.GetFenceWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkGetFenceWin32HandleKHR")
- vtable.GetFramebufferTilePropertiesQCOM = auto_cast GetDeviceProcAddr(device, "vkGetFramebufferTilePropertiesQCOM")
- vtable.GetGeneratedCommandsMemoryRequirementsNV = auto_cast GetDeviceProcAddr(device, "vkGetGeneratedCommandsMemoryRequirementsNV")
- vtable.GetImageDrmFormatModifierPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkGetImageDrmFormatModifierPropertiesEXT")
- vtable.GetImageMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements")
- vtable.GetImageMemoryRequirements2 = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2")
- vtable.GetImageMemoryRequirements2KHR = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2KHR")
- vtable.GetImageOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetImageOpaqueCaptureDescriptorDataEXT")
- vtable.GetImageSparseMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements")
- vtable.GetImageSparseMemoryRequirements2 = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2")
- vtable.GetImageSparseMemoryRequirements2KHR = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2KHR")
- vtable.GetImageSubresourceLayout = auto_cast GetDeviceProcAddr(device, "vkGetImageSubresourceLayout")
- vtable.GetImageSubresourceLayout2EXT = auto_cast GetDeviceProcAddr(device, "vkGetImageSubresourceLayout2EXT")
- vtable.GetImageViewAddressNVX = auto_cast GetDeviceProcAddr(device, "vkGetImageViewAddressNVX")
- vtable.GetImageViewHandleNVX = auto_cast GetDeviceProcAddr(device, "vkGetImageViewHandleNVX")
- vtable.GetImageViewOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT")
- vtable.GetMemoryFdKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdKHR")
- vtable.GetMemoryFdPropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdPropertiesKHR")
- vtable.GetMemoryHostPointerPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkGetMemoryHostPointerPropertiesEXT")
- vtable.GetMemoryRemoteAddressNV = auto_cast GetDeviceProcAddr(device, "vkGetMemoryRemoteAddressNV")
- vtable.GetMemoryWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleKHR")
- vtable.GetMemoryWin32HandleNV = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleNV")
- vtable.GetMemoryWin32HandlePropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandlePropertiesKHR")
- vtable.GetMicromapBuildSizesEXT = auto_cast GetDeviceProcAddr(device, "vkGetMicromapBuildSizesEXT")
- vtable.GetPastPresentationTimingGOOGLE = auto_cast GetDeviceProcAddr(device, "vkGetPastPresentationTimingGOOGLE")
- vtable.GetPerformanceParameterINTEL = auto_cast GetDeviceProcAddr(device, "vkGetPerformanceParameterINTEL")
- vtable.GetPipelineCacheData = auto_cast GetDeviceProcAddr(device, "vkGetPipelineCacheData")
- vtable.GetPipelineExecutableInternalRepresentationsKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableInternalRepresentationsKHR")
- vtable.GetPipelineExecutablePropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutablePropertiesKHR")
- vtable.GetPipelineExecutableStatisticsKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableStatisticsKHR")
- vtable.GetPipelinePropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkGetPipelinePropertiesEXT")
- vtable.GetPrivateData = auto_cast GetDeviceProcAddr(device, "vkGetPrivateData")
- vtable.GetPrivateDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetPrivateDataEXT")
- vtable.GetQueryPoolResults = auto_cast GetDeviceProcAddr(device, "vkGetQueryPoolResults")
- vtable.GetQueueCheckpointData2NV = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointData2NV")
- vtable.GetQueueCheckpointDataNV = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointDataNV")
- vtable.GetRayTracingCaptureReplayShaderGroupHandlesKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")
- vtable.GetRayTracingShaderGroupHandlesKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesKHR")
- vtable.GetRayTracingShaderGroupHandlesNV = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesNV")
- vtable.GetRayTracingShaderGroupStackSizeKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupStackSizeKHR")
- vtable.GetRefreshCycleDurationGOOGLE = auto_cast GetDeviceProcAddr(device, "vkGetRefreshCycleDurationGOOGLE")
- vtable.GetRenderAreaGranularity = auto_cast GetDeviceProcAddr(device, "vkGetRenderAreaGranularity")
- vtable.GetSamplerOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT")
- vtable.GetSemaphoreCounterValue = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValue")
- vtable.GetSemaphoreCounterValueKHR = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValueKHR")
- vtable.GetSemaphoreFdKHR = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreFdKHR")
- vtable.GetSemaphoreWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreWin32HandleKHR")
- vtable.GetShaderBinaryDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetShaderBinaryDataEXT")
- vtable.GetShaderInfoAMD = auto_cast GetDeviceProcAddr(device, "vkGetShaderInfoAMD")
- vtable.GetShaderModuleCreateInfoIdentifierEXT = auto_cast GetDeviceProcAddr(device, "vkGetShaderModuleCreateInfoIdentifierEXT")
- vtable.GetShaderModuleIdentifierEXT = auto_cast GetDeviceProcAddr(device, "vkGetShaderModuleIdentifierEXT")
- vtable.GetSwapchainCounterEXT = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainCounterEXT")
- vtable.GetSwapchainImagesKHR = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainImagesKHR")
- vtable.GetSwapchainStatusKHR = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainStatusKHR")
- vtable.GetValidationCacheDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetValidationCacheDataEXT")
- vtable.GetVideoSessionMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetVideoSessionMemoryRequirementsKHR")
- vtable.ImportFenceFdKHR = auto_cast GetDeviceProcAddr(device, "vkImportFenceFdKHR")
- vtable.ImportFenceWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkImportFenceWin32HandleKHR")
- vtable.ImportSemaphoreFdKHR = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreFdKHR")
- vtable.ImportSemaphoreWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreWin32HandleKHR")
- vtable.InitializePerformanceApiINTEL = auto_cast GetDeviceProcAddr(device, "vkInitializePerformanceApiINTEL")
- vtable.InvalidateMappedMemoryRanges = auto_cast GetDeviceProcAddr(device, "vkInvalidateMappedMemoryRanges")
- vtable.MapMemory = auto_cast GetDeviceProcAddr(device, "vkMapMemory")
- vtable.MapMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkMapMemory2KHR")
- vtable.MergePipelineCaches = auto_cast GetDeviceProcAddr(device, "vkMergePipelineCaches")
- vtable.MergeValidationCachesEXT = auto_cast GetDeviceProcAddr(device, "vkMergeValidationCachesEXT")
- vtable.QueueBeginDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkQueueBeginDebugUtilsLabelEXT")
- vtable.QueueBindSparse = auto_cast GetDeviceProcAddr(device, "vkQueueBindSparse")
- vtable.QueueEndDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkQueueEndDebugUtilsLabelEXT")
- vtable.QueueInsertDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkQueueInsertDebugUtilsLabelEXT")
- vtable.QueuePresentKHR = auto_cast GetDeviceProcAddr(device, "vkQueuePresentKHR")
- vtable.QueueSetPerformanceConfigurationINTEL = auto_cast GetDeviceProcAddr(device, "vkQueueSetPerformanceConfigurationINTEL")
- vtable.QueueSubmit = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit")
- vtable.QueueSubmit2 = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2")
- vtable.QueueSubmit2KHR = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2KHR")
- vtable.QueueWaitIdle = auto_cast GetDeviceProcAddr(device, "vkQueueWaitIdle")
- vtable.RegisterDeviceEventEXT = auto_cast GetDeviceProcAddr(device, "vkRegisterDeviceEventEXT")
- vtable.RegisterDisplayEventEXT = auto_cast GetDeviceProcAddr(device, "vkRegisterDisplayEventEXT")
- vtable.ReleaseFullScreenExclusiveModeEXT = auto_cast GetDeviceProcAddr(device, "vkReleaseFullScreenExclusiveModeEXT")
- vtable.ReleasePerformanceConfigurationINTEL = auto_cast GetDeviceProcAddr(device, "vkReleasePerformanceConfigurationINTEL")
- vtable.ReleaseProfilingLockKHR = auto_cast GetDeviceProcAddr(device, "vkReleaseProfilingLockKHR")
- vtable.ReleaseSwapchainImagesEXT = auto_cast GetDeviceProcAddr(device, "vkReleaseSwapchainImagesEXT")
- vtable.ResetCommandBuffer = auto_cast GetDeviceProcAddr(device, "vkResetCommandBuffer")
- vtable.ResetCommandPool = auto_cast GetDeviceProcAddr(device, "vkResetCommandPool")
- vtable.ResetDescriptorPool = auto_cast GetDeviceProcAddr(device, "vkResetDescriptorPool")
- vtable.ResetEvent = auto_cast GetDeviceProcAddr(device, "vkResetEvent")
- vtable.ResetFences = auto_cast GetDeviceProcAddr(device, "vkResetFences")
- vtable.ResetQueryPool = auto_cast GetDeviceProcAddr(device, "vkResetQueryPool")
- vtable.ResetQueryPoolEXT = auto_cast GetDeviceProcAddr(device, "vkResetQueryPoolEXT")
- vtable.SetDebugUtilsObjectNameEXT = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectNameEXT")
- vtable.SetDebugUtilsObjectTagEXT = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectTagEXT")
- vtable.SetDeviceMemoryPriorityEXT = auto_cast GetDeviceProcAddr(device, "vkSetDeviceMemoryPriorityEXT")
- vtable.SetEvent = auto_cast GetDeviceProcAddr(device, "vkSetEvent")
- vtable.SetHdrMetadataEXT = auto_cast GetDeviceProcAddr(device, "vkSetHdrMetadataEXT")
- vtable.SetLocalDimmingAMD = auto_cast GetDeviceProcAddr(device, "vkSetLocalDimmingAMD")
- vtable.SetPrivateData = auto_cast GetDeviceProcAddr(device, "vkSetPrivateData")
- vtable.SetPrivateDataEXT = auto_cast GetDeviceProcAddr(device, "vkSetPrivateDataEXT")
- vtable.SignalSemaphore = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphore")
- vtable.SignalSemaphoreKHR = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphoreKHR")
- vtable.TrimCommandPool = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPool")
- vtable.TrimCommandPoolKHR = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPoolKHR")
- vtable.UninitializePerformanceApiINTEL = auto_cast GetDeviceProcAddr(device, "vkUninitializePerformanceApiINTEL")
- vtable.UnmapMemory = auto_cast GetDeviceProcAddr(device, "vkUnmapMemory")
- vtable.UnmapMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkUnmapMemory2KHR")
- vtable.UpdateDescriptorSetWithTemplate = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplate")
- vtable.UpdateDescriptorSetWithTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplateKHR")
- vtable.UpdateDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSets")
- vtable.UpdateVideoSessionParametersKHR = auto_cast GetDeviceProcAddr(device, "vkUpdateVideoSessionParametersKHR")
- vtable.WaitForFences = auto_cast GetDeviceProcAddr(device, "vkWaitForFences")
- vtable.WaitForPresentKHR = auto_cast GetDeviceProcAddr(device, "vkWaitForPresentKHR")
- vtable.WaitSemaphores = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphores")
- vtable.WaitSemaphoresKHR = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphoresKHR")
- vtable.WriteAccelerationStructuresPropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkWriteAccelerationStructuresPropertiesKHR")
- vtable.WriteMicromapsPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkWriteMicromapsPropertiesEXT")
-}
-
-load_proc_addresses_device :: proc(device: Device) {
- AcquireFullScreenExclusiveModeEXT = auto_cast GetDeviceProcAddr(device, "vkAcquireFullScreenExclusiveModeEXT")
- AcquireNextImage2KHR = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImage2KHR")
- AcquireNextImageKHR = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImageKHR")
- AcquirePerformanceConfigurationINTEL = auto_cast GetDeviceProcAddr(device, "vkAcquirePerformanceConfigurationINTEL")
- AcquireProfilingLockKHR = auto_cast GetDeviceProcAddr(device, "vkAcquireProfilingLockKHR")
- AllocateCommandBuffers = auto_cast GetDeviceProcAddr(device, "vkAllocateCommandBuffers")
- AllocateDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkAllocateDescriptorSets")
- AllocateMemory = auto_cast GetDeviceProcAddr(device, "vkAllocateMemory")
- BeginCommandBuffer = auto_cast GetDeviceProcAddr(device, "vkBeginCommandBuffer")
- BindAccelerationStructureMemoryNV = auto_cast GetDeviceProcAddr(device, "vkBindAccelerationStructureMemoryNV")
- BindBufferMemory = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory")
- BindBufferMemory2 = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2")
- BindBufferMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2KHR")
- BindImageMemory = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory")
- BindImageMemory2 = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2")
- BindImageMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2KHR")
- BindOpticalFlowSessionImageNV = auto_cast GetDeviceProcAddr(device, "vkBindOpticalFlowSessionImageNV")
- BindVideoSessionMemoryKHR = auto_cast GetDeviceProcAddr(device, "vkBindVideoSessionMemoryKHR")
- BuildAccelerationStructuresKHR = auto_cast GetDeviceProcAddr(device, "vkBuildAccelerationStructuresKHR")
- BuildMicromapsEXT = auto_cast GetDeviceProcAddr(device, "vkBuildMicromapsEXT")
- CmdBeginConditionalRenderingEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginConditionalRenderingEXT")
- CmdBeginDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginDebugUtilsLabelEXT")
- CmdBeginQuery = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQuery")
- CmdBeginQueryIndexedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQueryIndexedEXT")
- CmdBeginRenderPass = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass")
- CmdBeginRenderPass2 = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2")
- CmdBeginRenderPass2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2KHR")
- CmdBeginRendering = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRendering")
- CmdBeginRenderingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderingKHR")
- CmdBeginTransformFeedbackEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginTransformFeedbackEXT")
- CmdBeginVideoCodingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBeginVideoCodingKHR")
- CmdBindDescriptorBufferEmbeddedSamplersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT")
- CmdBindDescriptorBuffersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorBuffersEXT")
- CmdBindDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorSets")
- CmdBindIndexBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdBindIndexBuffer")
- CmdBindInvocationMaskHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdBindInvocationMaskHUAWEI")
- CmdBindPipeline = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipeline")
- CmdBindPipelineShaderGroupNV = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipelineShaderGroupNV")
- CmdBindShadersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindShadersEXT")
- CmdBindShadingRateImageNV = auto_cast GetDeviceProcAddr(device, "vkCmdBindShadingRateImageNV")
- CmdBindTransformFeedbackBuffersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindTransformFeedbackBuffersEXT")
- CmdBindVertexBuffers = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers")
- CmdBindVertexBuffers2 = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2")
- CmdBindVertexBuffers2EXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2EXT")
- CmdBlitImage = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage")
- CmdBlitImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2")
- CmdBlitImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2KHR")
- CmdBuildAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructureNV")
- CmdBuildAccelerationStructuresIndirectKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresIndirectKHR")
- CmdBuildAccelerationStructuresKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresKHR")
- CmdBuildMicromapsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBuildMicromapsEXT")
- CmdClearAttachments = auto_cast GetDeviceProcAddr(device, "vkCmdClearAttachments")
- CmdClearColorImage = auto_cast GetDeviceProcAddr(device, "vkCmdClearColorImage")
- CmdClearDepthStencilImage = auto_cast GetDeviceProcAddr(device, "vkCmdClearDepthStencilImage")
- CmdControlVideoCodingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdControlVideoCodingKHR")
- CmdCopyAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureKHR")
- CmdCopyAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureNV")
- CmdCopyAccelerationStructureToMemoryKHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureToMemoryKHR")
- CmdCopyBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer")
- CmdCopyBuffer2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2")
- CmdCopyBuffer2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2KHR")
- CmdCopyBufferToImage = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage")
- CmdCopyBufferToImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2")
- CmdCopyBufferToImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2KHR")
- CmdCopyImage = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage")
- CmdCopyImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2")
- CmdCopyImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2KHR")
- CmdCopyImageToBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer")
- CmdCopyImageToBuffer2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2")
- CmdCopyImageToBuffer2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2KHR")
- CmdCopyMemoryIndirectNV = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryIndirectNV")
- CmdCopyMemoryToAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToAccelerationStructureKHR")
- CmdCopyMemoryToImageIndirectNV = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToImageIndirectNV")
- CmdCopyMemoryToMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToMicromapEXT")
- CmdCopyMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMicromapEXT")
- CmdCopyMicromapToMemoryEXT = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMicromapToMemoryEXT")
- CmdCopyQueryPoolResults = auto_cast GetDeviceProcAddr(device, "vkCmdCopyQueryPoolResults")
- CmdCuLaunchKernelNVX = auto_cast GetDeviceProcAddr(device, "vkCmdCuLaunchKernelNVX")
- CmdDebugMarkerBeginEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT")
- CmdDebugMarkerEndEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT")
- CmdDebugMarkerInsertEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerInsertEXT")
- CmdDecodeVideoKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDecodeVideoKHR")
- CmdDecompressMemoryIndirectCountNV = auto_cast GetDeviceProcAddr(device, "vkCmdDecompressMemoryIndirectCountNV")
- CmdDecompressMemoryNV = auto_cast GetDeviceProcAddr(device, "vkCmdDecompressMemoryNV")
- CmdDispatch = auto_cast GetDeviceProcAddr(device, "vkCmdDispatch")
- CmdDispatchBase = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBase")
- CmdDispatchBaseKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBaseKHR")
- CmdDispatchIndirect = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchIndirect")
- CmdDraw = auto_cast GetDeviceProcAddr(device, "vkCmdDraw")
- CmdDrawClusterHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdDrawClusterHUAWEI")
- CmdDrawClusterIndirectHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdDrawClusterIndirectHUAWEI")
- CmdDrawIndexed = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexed")
- CmdDrawIndexedIndirect = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirect")
- CmdDrawIndexedIndirectCount = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCount")
- CmdDrawIndexedIndirectCountAMD = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountAMD")
- CmdDrawIndexedIndirectCountKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountKHR")
- CmdDrawIndirect = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirect")
- CmdDrawIndirectByteCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectByteCountEXT")
- CmdDrawIndirectCount = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCount")
- CmdDrawIndirectCountAMD = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountAMD")
- CmdDrawIndirectCountKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountKHR")
- CmdDrawMeshTasksEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksEXT")
- CmdDrawMeshTasksIndirectCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountEXT")
- CmdDrawMeshTasksIndirectCountNV = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountNV")
- CmdDrawMeshTasksIndirectEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectEXT")
- CmdDrawMeshTasksIndirectNV = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectNV")
- CmdDrawMeshTasksNV = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksNV")
- CmdDrawMultiEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiEXT")
- CmdDrawMultiIndexedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiIndexedEXT")
- CmdEndConditionalRenderingEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndConditionalRenderingEXT")
- CmdEndDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndDebugUtilsLabelEXT")
- CmdEndQuery = auto_cast GetDeviceProcAddr(device, "vkCmdEndQuery")
- CmdEndQueryIndexedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndQueryIndexedEXT")
- CmdEndRenderPass = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass")
- CmdEndRenderPass2 = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2")
- CmdEndRenderPass2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2KHR")
- CmdEndRendering = auto_cast GetDeviceProcAddr(device, "vkCmdEndRendering")
- CmdEndRenderingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderingKHR")
- CmdEndTransformFeedbackEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndTransformFeedbackEXT")
- CmdEndVideoCodingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdEndVideoCodingKHR")
- CmdExecuteCommands = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteCommands")
- CmdExecuteGeneratedCommandsNV = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteGeneratedCommandsNV")
- CmdFillBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdFillBuffer")
- CmdInsertDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkCmdInsertDebugUtilsLabelEXT")
- CmdNextSubpass = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass")
- CmdNextSubpass2 = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2")
- CmdNextSubpass2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2KHR")
- CmdOpticalFlowExecuteNV = auto_cast GetDeviceProcAddr(device, "vkCmdOpticalFlowExecuteNV")
- CmdPipelineBarrier = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier")
- CmdPipelineBarrier2 = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2")
- CmdPipelineBarrier2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2KHR")
- CmdPreprocessGeneratedCommandsNV = auto_cast GetDeviceProcAddr(device, "vkCmdPreprocessGeneratedCommandsNV")
- CmdPushConstants = auto_cast GetDeviceProcAddr(device, "vkCmdPushConstants")
- CmdPushDescriptorSetKHR = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetKHR")
- CmdPushDescriptorSetWithTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetWithTemplateKHR")
- CmdResetEvent = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent")
- CmdResetEvent2 = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2")
- CmdResetEvent2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2KHR")
- CmdResetQueryPool = auto_cast GetDeviceProcAddr(device, "vkCmdResetQueryPool")
- CmdResolveImage = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage")
- CmdResolveImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2")
- CmdResolveImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2KHR")
- CmdSetAlphaToCoverageEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetAlphaToCoverageEnableEXT")
- CmdSetAlphaToOneEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetAlphaToOneEnableEXT")
- CmdSetAttachmentFeedbackLoopEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetAttachmentFeedbackLoopEnableEXT")
- CmdSetBlendConstants = auto_cast GetDeviceProcAddr(device, "vkCmdSetBlendConstants")
- CmdSetCheckpointNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCheckpointNV")
- CmdSetCoarseSampleOrderNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoarseSampleOrderNV")
- CmdSetColorBlendAdvancedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorBlendAdvancedEXT")
- CmdSetColorBlendEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorBlendEnableEXT")
- CmdSetColorBlendEquationEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorBlendEquationEXT")
- CmdSetColorWriteMaskEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorWriteMaskEXT")
- CmdSetConservativeRasterizationModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetConservativeRasterizationModeEXT")
- CmdSetCoverageModulationModeNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageModulationModeNV")
- CmdSetCoverageModulationTableEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageModulationTableEnableNV")
- CmdSetCoverageModulationTableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageModulationTableNV")
- CmdSetCoverageReductionModeNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageReductionModeNV")
- CmdSetCoverageToColorEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageToColorEnableNV")
- CmdSetCoverageToColorLocationNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageToColorLocationNV")
- CmdSetCullMode = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullMode")
- CmdSetCullModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullModeEXT")
- CmdSetDepthBias = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBias")
- CmdSetDepthBiasEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnable")
- CmdSetDepthBiasEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnableEXT")
- CmdSetDepthBounds = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBounds")
- CmdSetDepthBoundsTestEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnable")
- CmdSetDepthBoundsTestEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnableEXT")
- CmdSetDepthClampEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthClampEnableEXT")
- CmdSetDepthClipEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthClipEnableEXT")
- CmdSetDepthClipNegativeOneToOneEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthClipNegativeOneToOneEXT")
- CmdSetDepthCompareOp = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOp")
- CmdSetDepthCompareOpEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOpEXT")
- CmdSetDepthTestEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnable")
- CmdSetDepthTestEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnableEXT")
- CmdSetDepthWriteEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnable")
- CmdSetDepthWriteEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnableEXT")
- CmdSetDescriptorBufferOffsetsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDescriptorBufferOffsetsEXT")
- CmdSetDeviceMask = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMask")
- CmdSetDeviceMaskKHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMaskKHR")
- CmdSetDiscardRectangleEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEXT")
- CmdSetDiscardRectangleEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEnableEXT")
- CmdSetDiscardRectangleModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleModeEXT")
- CmdSetEvent = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent")
- CmdSetEvent2 = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2")
- CmdSetEvent2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2KHR")
- CmdSetExclusiveScissorEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetExclusiveScissorEnableNV")
- CmdSetExclusiveScissorNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetExclusiveScissorNV")
- CmdSetExtraPrimitiveOverestimationSizeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT")
- CmdSetFragmentShadingRateEnumNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateEnumNV")
- CmdSetFragmentShadingRateKHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateKHR")
- CmdSetFrontFace = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFace")
- CmdSetFrontFaceEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFaceEXT")
- CmdSetLineRasterizationModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineRasterizationModeEXT")
- CmdSetLineStippleEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineStippleEXT")
- CmdSetLineStippleEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineStippleEnableEXT")
- CmdSetLineWidth = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineWidth")
- CmdSetLogicOpEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLogicOpEXT")
- CmdSetLogicOpEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLogicOpEnableEXT")
- CmdSetPatchControlPointsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPatchControlPointsEXT")
- CmdSetPerformanceMarkerINTEL = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceMarkerINTEL")
- CmdSetPerformanceOverrideINTEL = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceOverrideINTEL")
- CmdSetPerformanceStreamMarkerINTEL = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceStreamMarkerINTEL")
- CmdSetPolygonModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPolygonModeEXT")
- CmdSetPrimitiveRestartEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnable")
- CmdSetPrimitiveRestartEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnableEXT")
- CmdSetPrimitiveTopology = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopology")
- CmdSetPrimitiveTopologyEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopologyEXT")
- CmdSetProvokingVertexModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetProvokingVertexModeEXT")
- CmdSetRasterizationSamplesEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizationSamplesEXT")
- CmdSetRasterizationStreamEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizationStreamEXT")
- CmdSetRasterizerDiscardEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnable")
- CmdSetRasterizerDiscardEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnableEXT")
- CmdSetRayTracingPipelineStackSizeKHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetRayTracingPipelineStackSizeKHR")
- CmdSetRepresentativeFragmentTestEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetRepresentativeFragmentTestEnableNV")
- CmdSetSampleLocationsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleLocationsEXT")
- CmdSetSampleLocationsEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleLocationsEnableEXT")
- CmdSetSampleMaskEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleMaskEXT")
- CmdSetScissor = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissor")
- CmdSetScissorWithCount = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCount")
- CmdSetScissorWithCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCountEXT")
- CmdSetShadingRateImageEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetShadingRateImageEnableNV")
- CmdSetStencilCompareMask = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilCompareMask")
- CmdSetStencilOp = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOp")
- CmdSetStencilOpEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOpEXT")
- CmdSetStencilReference = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilReference")
- CmdSetStencilTestEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnable")
- CmdSetStencilTestEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnableEXT")
- CmdSetStencilWriteMask = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilWriteMask")
- CmdSetTessellationDomainOriginEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetTessellationDomainOriginEXT")
- CmdSetVertexInputEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetVertexInputEXT")
- CmdSetViewport = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewport")
- CmdSetViewportShadingRatePaletteNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportShadingRatePaletteNV")
- CmdSetViewportSwizzleNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportSwizzleNV")
- CmdSetViewportWScalingEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWScalingEnableNV")
- CmdSetViewportWScalingNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWScalingNV")
- CmdSetViewportWithCount = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCount")
- CmdSetViewportWithCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCountEXT")
- CmdSubpassShadingHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdSubpassShadingHUAWEI")
- CmdTraceRaysIndirect2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysIndirect2KHR")
- CmdTraceRaysIndirectKHR = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysIndirectKHR")
- CmdTraceRaysKHR = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysKHR")
- CmdTraceRaysNV = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysNV")
- CmdUpdateBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdUpdateBuffer")
- CmdWaitEvents = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents")
- CmdWaitEvents2 = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2")
- CmdWaitEvents2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2KHR")
- CmdWriteAccelerationStructuresPropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesKHR")
- CmdWriteAccelerationStructuresPropertiesNV = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesNV")
- CmdWriteBufferMarker2AMD = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarker2AMD")
- CmdWriteBufferMarkerAMD = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarkerAMD")
- CmdWriteMicromapsPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkCmdWriteMicromapsPropertiesEXT")
- CmdWriteTimestamp = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp")
- CmdWriteTimestamp2 = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2")
- CmdWriteTimestamp2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2KHR")
- CompileDeferredNV = auto_cast GetDeviceProcAddr(device, "vkCompileDeferredNV")
- CopyAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureKHR")
- CopyAccelerationStructureToMemoryKHR = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureToMemoryKHR")
- CopyMemoryToAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCopyMemoryToAccelerationStructureKHR")
- CopyMemoryToMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCopyMemoryToMicromapEXT")
- CopyMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCopyMicromapEXT")
- CopyMicromapToMemoryEXT = auto_cast GetDeviceProcAddr(device, "vkCopyMicromapToMemoryEXT")
- CreateAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureKHR")
- CreateAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureNV")
- CreateBuffer = auto_cast GetDeviceProcAddr(device, "vkCreateBuffer")
- CreateBufferView = auto_cast GetDeviceProcAddr(device, "vkCreateBufferView")
- CreateCommandPool = auto_cast GetDeviceProcAddr(device, "vkCreateCommandPool")
- CreateComputePipelines = auto_cast GetDeviceProcAddr(device, "vkCreateComputePipelines")
- CreateCuFunctionNVX = auto_cast GetDeviceProcAddr(device, "vkCreateCuFunctionNVX")
- CreateCuModuleNVX = auto_cast GetDeviceProcAddr(device, "vkCreateCuModuleNVX")
- CreateDeferredOperationKHR = auto_cast GetDeviceProcAddr(device, "vkCreateDeferredOperationKHR")
- CreateDescriptorPool = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorPool")
- CreateDescriptorSetLayout = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorSetLayout")
- CreateDescriptorUpdateTemplate = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplate")
- CreateDescriptorUpdateTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplateKHR")
- CreateEvent = auto_cast GetDeviceProcAddr(device, "vkCreateEvent")
- CreateFence = auto_cast GetDeviceProcAddr(device, "vkCreateFence")
- CreateFramebuffer = auto_cast GetDeviceProcAddr(device, "vkCreateFramebuffer")
- CreateGraphicsPipelines = auto_cast GetDeviceProcAddr(device, "vkCreateGraphicsPipelines")
- CreateImage = auto_cast GetDeviceProcAddr(device, "vkCreateImage")
- CreateImageView = auto_cast GetDeviceProcAddr(device, "vkCreateImageView")
- CreateIndirectCommandsLayoutNV = auto_cast GetDeviceProcAddr(device, "vkCreateIndirectCommandsLayoutNV")
- CreateMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCreateMicromapEXT")
- CreateOpticalFlowSessionNV = auto_cast GetDeviceProcAddr(device, "vkCreateOpticalFlowSessionNV")
- CreatePipelineCache = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineCache")
- CreatePipelineLayout = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineLayout")
- CreatePrivateDataSlot = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlot")
- CreatePrivateDataSlotEXT = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlotEXT")
- CreateQueryPool = auto_cast GetDeviceProcAddr(device, "vkCreateQueryPool")
- CreateRayTracingPipelinesKHR = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesKHR")
- CreateRayTracingPipelinesNV = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesNV")
- CreateRenderPass = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass")
- CreateRenderPass2 = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2")
- CreateRenderPass2KHR = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2KHR")
- CreateSampler = auto_cast GetDeviceProcAddr(device, "vkCreateSampler")
- CreateSamplerYcbcrConversion = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversion")
- CreateSamplerYcbcrConversionKHR = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversionKHR")
- CreateSemaphore = auto_cast GetDeviceProcAddr(device, "vkCreateSemaphore")
- CreateShaderModule = auto_cast GetDeviceProcAddr(device, "vkCreateShaderModule")
- CreateShadersEXT = auto_cast GetDeviceProcAddr(device, "vkCreateShadersEXT")
- CreateSharedSwapchainsKHR = auto_cast GetDeviceProcAddr(device, "vkCreateSharedSwapchainsKHR")
- CreateSwapchainKHR = auto_cast GetDeviceProcAddr(device, "vkCreateSwapchainKHR")
- CreateValidationCacheEXT = auto_cast GetDeviceProcAddr(device, "vkCreateValidationCacheEXT")
- CreateVideoSessionKHR = auto_cast GetDeviceProcAddr(device, "vkCreateVideoSessionKHR")
- CreateVideoSessionParametersKHR = auto_cast GetDeviceProcAddr(device, "vkCreateVideoSessionParametersKHR")
- DebugMarkerSetObjectNameEXT = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT")
- DebugMarkerSetObjectTagEXT = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectTagEXT")
- DeferredOperationJoinKHR = auto_cast GetDeviceProcAddr(device, "vkDeferredOperationJoinKHR")
- DestroyAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureKHR")
- DestroyAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureNV")
- DestroyBuffer = auto_cast GetDeviceProcAddr(device, "vkDestroyBuffer")
- DestroyBufferView = auto_cast GetDeviceProcAddr(device, "vkDestroyBufferView")
- DestroyCommandPool = auto_cast GetDeviceProcAddr(device, "vkDestroyCommandPool")
- DestroyCuFunctionNVX = auto_cast GetDeviceProcAddr(device, "vkDestroyCuFunctionNVX")
- DestroyCuModuleNVX = auto_cast GetDeviceProcAddr(device, "vkDestroyCuModuleNVX")
- DestroyDeferredOperationKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyDeferredOperationKHR")
- DestroyDescriptorPool = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorPool")
- DestroyDescriptorSetLayout = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorSetLayout")
- DestroyDescriptorUpdateTemplate = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplate")
- DestroyDescriptorUpdateTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplateKHR")
- DestroyDevice = auto_cast GetDeviceProcAddr(device, "vkDestroyDevice")
- DestroyEvent = auto_cast GetDeviceProcAddr(device, "vkDestroyEvent")
- DestroyFence = auto_cast GetDeviceProcAddr(device, "vkDestroyFence")
- DestroyFramebuffer = auto_cast GetDeviceProcAddr(device, "vkDestroyFramebuffer")
- DestroyImage = auto_cast GetDeviceProcAddr(device, "vkDestroyImage")
- DestroyImageView = auto_cast GetDeviceProcAddr(device, "vkDestroyImageView")
- DestroyIndirectCommandsLayoutNV = auto_cast GetDeviceProcAddr(device, "vkDestroyIndirectCommandsLayoutNV")
- DestroyMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyMicromapEXT")
- DestroyOpticalFlowSessionNV = auto_cast GetDeviceProcAddr(device, "vkDestroyOpticalFlowSessionNV")
- DestroyPipeline = auto_cast GetDeviceProcAddr(device, "vkDestroyPipeline")
- DestroyPipelineCache = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineCache")
- DestroyPipelineLayout = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineLayout")
- DestroyPrivateDataSlot = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlot")
- DestroyPrivateDataSlotEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlotEXT")
- DestroyQueryPool = auto_cast GetDeviceProcAddr(device, "vkDestroyQueryPool")
- DestroyRenderPass = auto_cast GetDeviceProcAddr(device, "vkDestroyRenderPass")
- DestroySampler = auto_cast GetDeviceProcAddr(device, "vkDestroySampler")
- DestroySamplerYcbcrConversion = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversion")
- DestroySamplerYcbcrConversionKHR = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversionKHR")
- DestroySemaphore = auto_cast GetDeviceProcAddr(device, "vkDestroySemaphore")
- DestroyShaderEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyShaderEXT")
- DestroyShaderModule = auto_cast GetDeviceProcAddr(device, "vkDestroyShaderModule")
- DestroySwapchainKHR = auto_cast GetDeviceProcAddr(device, "vkDestroySwapchainKHR")
- DestroyValidationCacheEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyValidationCacheEXT")
- DestroyVideoSessionKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyVideoSessionKHR")
- DestroyVideoSessionParametersKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyVideoSessionParametersKHR")
- DeviceWaitIdle = auto_cast GetDeviceProcAddr(device, "vkDeviceWaitIdle")
- DisplayPowerControlEXT = auto_cast GetDeviceProcAddr(device, "vkDisplayPowerControlEXT")
- EndCommandBuffer = auto_cast GetDeviceProcAddr(device, "vkEndCommandBuffer")
- ExportMetalObjectsEXT = auto_cast GetDeviceProcAddr(device, "vkExportMetalObjectsEXT")
- FlushMappedMemoryRanges = auto_cast GetDeviceProcAddr(device, "vkFlushMappedMemoryRanges")
- FreeCommandBuffers = auto_cast GetDeviceProcAddr(device, "vkFreeCommandBuffers")
- FreeDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkFreeDescriptorSets")
- FreeMemory = auto_cast GetDeviceProcAddr(device, "vkFreeMemory")
- GetAccelerationStructureBuildSizesKHR = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureBuildSizesKHR")
- GetAccelerationStructureDeviceAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureDeviceAddressKHR")
- GetAccelerationStructureHandleNV = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureHandleNV")
- GetAccelerationStructureMemoryRequirementsNV = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureMemoryRequirementsNV")
- GetAccelerationStructureOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT")
- GetBufferDeviceAddress = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddress")
- GetBufferDeviceAddressEXT = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressEXT")
- GetBufferDeviceAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressKHR")
- GetBufferMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements")
- GetBufferMemoryRequirements2 = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2")
- GetBufferMemoryRequirements2KHR = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2KHR")
- GetBufferOpaqueCaptureAddress = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddress")
- GetBufferOpaqueCaptureAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddressKHR")
- GetBufferOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureDescriptorDataEXT")
- GetCalibratedTimestampsEXT = auto_cast GetDeviceProcAddr(device, "vkGetCalibratedTimestampsEXT")
- GetDeferredOperationMaxConcurrencyKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationMaxConcurrencyKHR")
- GetDeferredOperationResultKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationResultKHR")
- GetDescriptorEXT = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorEXT")
- GetDescriptorSetHostMappingVALVE = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetHostMappingVALVE")
- GetDescriptorSetLayoutBindingOffsetEXT = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutBindingOffsetEXT")
- GetDescriptorSetLayoutHostMappingInfoVALVE = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE")
- GetDescriptorSetLayoutSizeEXT = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSizeEXT")
- GetDescriptorSetLayoutSupport = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupport")
- GetDescriptorSetLayoutSupportKHR = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupportKHR")
- GetDeviceAccelerationStructureCompatibilityKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceAccelerationStructureCompatibilityKHR")
- GetDeviceBufferMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirements")
- GetDeviceBufferMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirementsKHR")
- GetDeviceFaultInfoEXT = auto_cast GetDeviceProcAddr(device, "vkGetDeviceFaultInfoEXT")
- GetDeviceGroupPeerMemoryFeatures = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeatures")
- GetDeviceGroupPeerMemoryFeaturesKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeaturesKHR")
- GetDeviceGroupPresentCapabilitiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPresentCapabilitiesKHR")
- GetDeviceGroupSurfacePresentModes2EXT = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModes2EXT")
- GetDeviceGroupSurfacePresentModesKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModesKHR")
- GetDeviceImageMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirements")
- GetDeviceImageMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirementsKHR")
- GetDeviceImageSparseMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirements")
- GetDeviceImageSparseMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirementsKHR")
- GetDeviceMemoryCommitment = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryCommitment")
- GetDeviceMemoryOpaqueCaptureAddress = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddress")
- GetDeviceMemoryOpaqueCaptureAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR")
- GetDeviceMicromapCompatibilityEXT = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMicromapCompatibilityEXT")
- GetDeviceProcAddr = auto_cast GetDeviceProcAddr(device, "vkGetDeviceProcAddr")
- GetDeviceQueue = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue")
- GetDeviceQueue2 = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue2")
- GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = auto_cast GetDeviceProcAddr(device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")
- GetDynamicRenderingTilePropertiesQCOM = auto_cast GetDeviceProcAddr(device, "vkGetDynamicRenderingTilePropertiesQCOM")
- GetEventStatus = auto_cast GetDeviceProcAddr(device, "vkGetEventStatus")
- GetFenceFdKHR = auto_cast GetDeviceProcAddr(device, "vkGetFenceFdKHR")
- GetFenceStatus = auto_cast GetDeviceProcAddr(device, "vkGetFenceStatus")
- GetFenceWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkGetFenceWin32HandleKHR")
- GetFramebufferTilePropertiesQCOM = auto_cast GetDeviceProcAddr(device, "vkGetFramebufferTilePropertiesQCOM")
- GetGeneratedCommandsMemoryRequirementsNV = auto_cast GetDeviceProcAddr(device, "vkGetGeneratedCommandsMemoryRequirementsNV")
- GetImageDrmFormatModifierPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkGetImageDrmFormatModifierPropertiesEXT")
- GetImageMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements")
- GetImageMemoryRequirements2 = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2")
- GetImageMemoryRequirements2KHR = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2KHR")
- GetImageOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetImageOpaqueCaptureDescriptorDataEXT")
- GetImageSparseMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements")
- GetImageSparseMemoryRequirements2 = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2")
- GetImageSparseMemoryRequirements2KHR = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2KHR")
- GetImageSubresourceLayout = auto_cast GetDeviceProcAddr(device, "vkGetImageSubresourceLayout")
- GetImageSubresourceLayout2EXT = auto_cast GetDeviceProcAddr(device, "vkGetImageSubresourceLayout2EXT")
- GetImageViewAddressNVX = auto_cast GetDeviceProcAddr(device, "vkGetImageViewAddressNVX")
- GetImageViewHandleNVX = auto_cast GetDeviceProcAddr(device, "vkGetImageViewHandleNVX")
- GetImageViewOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT")
- GetMemoryFdKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdKHR")
- GetMemoryFdPropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdPropertiesKHR")
- GetMemoryHostPointerPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkGetMemoryHostPointerPropertiesEXT")
- GetMemoryRemoteAddressNV = auto_cast GetDeviceProcAddr(device, "vkGetMemoryRemoteAddressNV")
- GetMemoryWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleKHR")
- GetMemoryWin32HandleNV = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleNV")
- GetMemoryWin32HandlePropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandlePropertiesKHR")
- GetMicromapBuildSizesEXT = auto_cast GetDeviceProcAddr(device, "vkGetMicromapBuildSizesEXT")
- GetPastPresentationTimingGOOGLE = auto_cast GetDeviceProcAddr(device, "vkGetPastPresentationTimingGOOGLE")
- GetPerformanceParameterINTEL = auto_cast GetDeviceProcAddr(device, "vkGetPerformanceParameterINTEL")
- GetPipelineCacheData = auto_cast GetDeviceProcAddr(device, "vkGetPipelineCacheData")
- GetPipelineExecutableInternalRepresentationsKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableInternalRepresentationsKHR")
- GetPipelineExecutablePropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutablePropertiesKHR")
- GetPipelineExecutableStatisticsKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableStatisticsKHR")
- GetPipelinePropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkGetPipelinePropertiesEXT")
- GetPrivateData = auto_cast GetDeviceProcAddr(device, "vkGetPrivateData")
- GetPrivateDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetPrivateDataEXT")
- GetQueryPoolResults = auto_cast GetDeviceProcAddr(device, "vkGetQueryPoolResults")
- GetQueueCheckpointData2NV = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointData2NV")
- GetQueueCheckpointDataNV = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointDataNV")
- GetRayTracingCaptureReplayShaderGroupHandlesKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")
- GetRayTracingShaderGroupHandlesKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesKHR")
- GetRayTracingShaderGroupHandlesNV = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesNV")
- GetRayTracingShaderGroupStackSizeKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupStackSizeKHR")
- GetRefreshCycleDurationGOOGLE = auto_cast GetDeviceProcAddr(device, "vkGetRefreshCycleDurationGOOGLE")
- GetRenderAreaGranularity = auto_cast GetDeviceProcAddr(device, "vkGetRenderAreaGranularity")
- GetSamplerOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT")
- GetSemaphoreCounterValue = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValue")
- GetSemaphoreCounterValueKHR = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValueKHR")
- GetSemaphoreFdKHR = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreFdKHR")
- GetSemaphoreWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreWin32HandleKHR")
- GetShaderBinaryDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetShaderBinaryDataEXT")
- GetShaderInfoAMD = auto_cast GetDeviceProcAddr(device, "vkGetShaderInfoAMD")
- GetShaderModuleCreateInfoIdentifierEXT = auto_cast GetDeviceProcAddr(device, "vkGetShaderModuleCreateInfoIdentifierEXT")
- GetShaderModuleIdentifierEXT = auto_cast GetDeviceProcAddr(device, "vkGetShaderModuleIdentifierEXT")
- GetSwapchainCounterEXT = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainCounterEXT")
- GetSwapchainImagesKHR = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainImagesKHR")
- GetSwapchainStatusKHR = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainStatusKHR")
- GetValidationCacheDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetValidationCacheDataEXT")
- GetVideoSessionMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetVideoSessionMemoryRequirementsKHR")
- ImportFenceFdKHR = auto_cast GetDeviceProcAddr(device, "vkImportFenceFdKHR")
- ImportFenceWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkImportFenceWin32HandleKHR")
- ImportSemaphoreFdKHR = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreFdKHR")
- ImportSemaphoreWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreWin32HandleKHR")
- InitializePerformanceApiINTEL = auto_cast GetDeviceProcAddr(device, "vkInitializePerformanceApiINTEL")
- InvalidateMappedMemoryRanges = auto_cast GetDeviceProcAddr(device, "vkInvalidateMappedMemoryRanges")
- MapMemory = auto_cast GetDeviceProcAddr(device, "vkMapMemory")
- MapMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkMapMemory2KHR")
- MergePipelineCaches = auto_cast GetDeviceProcAddr(device, "vkMergePipelineCaches")
- MergeValidationCachesEXT = auto_cast GetDeviceProcAddr(device, "vkMergeValidationCachesEXT")
- QueueBeginDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkQueueBeginDebugUtilsLabelEXT")
- QueueBindSparse = auto_cast GetDeviceProcAddr(device, "vkQueueBindSparse")
- QueueEndDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkQueueEndDebugUtilsLabelEXT")
- QueueInsertDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkQueueInsertDebugUtilsLabelEXT")
- QueuePresentKHR = auto_cast GetDeviceProcAddr(device, "vkQueuePresentKHR")
- QueueSetPerformanceConfigurationINTEL = auto_cast GetDeviceProcAddr(device, "vkQueueSetPerformanceConfigurationINTEL")
- QueueSubmit = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit")
- QueueSubmit2 = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2")
- QueueSubmit2KHR = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2KHR")
- QueueWaitIdle = auto_cast GetDeviceProcAddr(device, "vkQueueWaitIdle")
- RegisterDeviceEventEXT = auto_cast GetDeviceProcAddr(device, "vkRegisterDeviceEventEXT")
- RegisterDisplayEventEXT = auto_cast GetDeviceProcAddr(device, "vkRegisterDisplayEventEXT")
- ReleaseFullScreenExclusiveModeEXT = auto_cast GetDeviceProcAddr(device, "vkReleaseFullScreenExclusiveModeEXT")
- ReleasePerformanceConfigurationINTEL = auto_cast GetDeviceProcAddr(device, "vkReleasePerformanceConfigurationINTEL")
- ReleaseProfilingLockKHR = auto_cast GetDeviceProcAddr(device, "vkReleaseProfilingLockKHR")
- ReleaseSwapchainImagesEXT = auto_cast GetDeviceProcAddr(device, "vkReleaseSwapchainImagesEXT")
- ResetCommandBuffer = auto_cast GetDeviceProcAddr(device, "vkResetCommandBuffer")
- ResetCommandPool = auto_cast GetDeviceProcAddr(device, "vkResetCommandPool")
- ResetDescriptorPool = auto_cast GetDeviceProcAddr(device, "vkResetDescriptorPool")
- ResetEvent = auto_cast GetDeviceProcAddr(device, "vkResetEvent")
- ResetFences = auto_cast GetDeviceProcAddr(device, "vkResetFences")
- ResetQueryPool = auto_cast GetDeviceProcAddr(device, "vkResetQueryPool")
- ResetQueryPoolEXT = auto_cast GetDeviceProcAddr(device, "vkResetQueryPoolEXT")
- SetDebugUtilsObjectNameEXT = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectNameEXT")
- SetDebugUtilsObjectTagEXT = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectTagEXT")
- SetDeviceMemoryPriorityEXT = auto_cast GetDeviceProcAddr(device, "vkSetDeviceMemoryPriorityEXT")
- SetEvent = auto_cast GetDeviceProcAddr(device, "vkSetEvent")
- SetHdrMetadataEXT = auto_cast GetDeviceProcAddr(device, "vkSetHdrMetadataEXT")
- SetLocalDimmingAMD = auto_cast GetDeviceProcAddr(device, "vkSetLocalDimmingAMD")
- SetPrivateData = auto_cast GetDeviceProcAddr(device, "vkSetPrivateData")
- SetPrivateDataEXT = auto_cast GetDeviceProcAddr(device, "vkSetPrivateDataEXT")
- SignalSemaphore = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphore")
- SignalSemaphoreKHR = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphoreKHR")
- TrimCommandPool = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPool")
- TrimCommandPoolKHR = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPoolKHR")
- UninitializePerformanceApiINTEL = auto_cast GetDeviceProcAddr(device, "vkUninitializePerformanceApiINTEL")
- UnmapMemory = auto_cast GetDeviceProcAddr(device, "vkUnmapMemory")
- UnmapMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkUnmapMemory2KHR")
- UpdateDescriptorSetWithTemplate = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplate")
- UpdateDescriptorSetWithTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplateKHR")
- UpdateDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSets")
- UpdateVideoSessionParametersKHR = auto_cast GetDeviceProcAddr(device, "vkUpdateVideoSessionParametersKHR")
- WaitForFences = auto_cast GetDeviceProcAddr(device, "vkWaitForFences")
- WaitForPresentKHR = auto_cast GetDeviceProcAddr(device, "vkWaitForPresentKHR")
- WaitSemaphores = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphores")
- WaitSemaphoresKHR = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphoresKHR")
- WriteAccelerationStructuresPropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkWriteAccelerationStructuresPropertiesKHR")
- WriteMicromapsPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkWriteMicromapsPropertiesEXT")
-}
-
-load_proc_addresses_instance :: proc(instance: Instance) {
- AcquireDrmDisplayEXT = auto_cast GetInstanceProcAddr(instance, "vkAcquireDrmDisplayEXT")
- AcquireWinrtDisplayNV = auto_cast GetInstanceProcAddr(instance, "vkAcquireWinrtDisplayNV")
- CreateDebugReportCallbackEXT = auto_cast GetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT")
- CreateDebugUtilsMessengerEXT = auto_cast GetInstanceProcAddr(instance, "vkCreateDebugUtilsMessengerEXT")
- CreateDevice = auto_cast GetInstanceProcAddr(instance, "vkCreateDevice")
- CreateDisplayModeKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateDisplayModeKHR")
- CreateDisplayPlaneSurfaceKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateDisplayPlaneSurfaceKHR")
- CreateHeadlessSurfaceEXT = auto_cast GetInstanceProcAddr(instance, "vkCreateHeadlessSurfaceEXT")
- CreateIOSSurfaceMVK = auto_cast GetInstanceProcAddr(instance, "vkCreateIOSSurfaceMVK")
- CreateMacOSSurfaceMVK = auto_cast GetInstanceProcAddr(instance, "vkCreateMacOSSurfaceMVK")
- CreateMetalSurfaceEXT = auto_cast GetInstanceProcAddr(instance, "vkCreateMetalSurfaceEXT")
- CreateWaylandSurfaceKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateWaylandSurfaceKHR")
- CreateWin32SurfaceKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR")
- DebugReportMessageEXT = auto_cast GetInstanceProcAddr(instance, "vkDebugReportMessageEXT")
- DestroyDebugReportCallbackEXT = auto_cast GetInstanceProcAddr(instance, "vkDestroyDebugReportCallbackEXT")
- DestroyDebugUtilsMessengerEXT = auto_cast GetInstanceProcAddr(instance, "vkDestroyDebugUtilsMessengerEXT")
- DestroyInstance = auto_cast GetInstanceProcAddr(instance, "vkDestroyInstance")
- DestroySurfaceKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroySurfaceKHR")
- EnumerateDeviceExtensionProperties = auto_cast GetInstanceProcAddr(instance, "vkEnumerateDeviceExtensionProperties")
- EnumerateDeviceLayerProperties = auto_cast GetInstanceProcAddr(instance, "vkEnumerateDeviceLayerProperties")
- EnumeratePhysicalDeviceGroups = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceGroups")
- EnumeratePhysicalDeviceGroupsKHR = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceGroupsKHR")
- EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR")
- EnumeratePhysicalDevices = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDevices")
- GetDisplayModeProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayModeProperties2KHR")
- GetDisplayModePropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayModePropertiesKHR")
- GetDisplayPlaneCapabilities2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilities2KHR")
- GetDisplayPlaneCapabilitiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilitiesKHR")
- GetDisplayPlaneSupportedDisplaysKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayPlaneSupportedDisplaysKHR")
- GetDrmDisplayEXT = auto_cast GetInstanceProcAddr(instance, "vkGetDrmDisplayEXT")
- GetInstanceProcAddrLUNARG = auto_cast GetInstanceProcAddr(instance, "vkGetInstanceProcAddrLUNARG")
- GetPhysicalDeviceCalibrateableTimeDomainsEXT = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT")
- GetPhysicalDeviceCooperativeMatrixPropertiesNV = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV")
- GetPhysicalDeviceDisplayPlaneProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")
- GetPhysicalDeviceDisplayPlanePropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR")
- GetPhysicalDeviceDisplayProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayProperties2KHR")
- GetPhysicalDeviceDisplayPropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR")
- GetPhysicalDeviceExternalBufferProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalBufferProperties")
- GetPhysicalDeviceExternalBufferPropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR")
- GetPhysicalDeviceExternalFenceProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalFenceProperties")
- GetPhysicalDeviceExternalFencePropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR")
- GetPhysicalDeviceExternalImageFormatPropertiesNV = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV")
- GetPhysicalDeviceExternalSemaphoreProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalSemaphoreProperties")
- GetPhysicalDeviceExternalSemaphorePropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR")
- GetPhysicalDeviceFeatures = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures")
- GetPhysicalDeviceFeatures2 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures2")
- GetPhysicalDeviceFeatures2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures2KHR")
- GetPhysicalDeviceFormatProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties")
- GetPhysicalDeviceFormatProperties2 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties2")
- GetPhysicalDeviceFormatProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties2KHR")
- GetPhysicalDeviceFragmentShadingRatesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR")
- GetPhysicalDeviceImageFormatProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties")
- GetPhysicalDeviceImageFormatProperties2 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties2")
- GetPhysicalDeviceImageFormatProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties2KHR")
- GetPhysicalDeviceMemoryProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties")
- GetPhysicalDeviceMemoryProperties2 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties2")
- GetPhysicalDeviceMemoryProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties2KHR")
- GetPhysicalDeviceMultisamplePropertiesEXT = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT")
- GetPhysicalDeviceOpticalFlowImageFormatsNV = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV")
- GetPhysicalDevicePresentRectanglesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDevicePresentRectanglesKHR")
- GetPhysicalDeviceProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties")
- GetPhysicalDeviceProperties2 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2")
- GetPhysicalDeviceProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2KHR")
- GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR")
- GetPhysicalDeviceQueueFamilyProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties")
- GetPhysicalDeviceQueueFamilyProperties2 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties2")
- GetPhysicalDeviceQueueFamilyProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR")
- GetPhysicalDeviceSparseImageFormatProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties")
- GetPhysicalDeviceSparseImageFormatProperties2 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties2")
- GetPhysicalDeviceSparseImageFormatProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR")
- GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV")
- GetPhysicalDeviceSurfaceCapabilities2EXT = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT")
- GetPhysicalDeviceSurfaceCapabilities2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR")
- GetPhysicalDeviceSurfaceCapabilitiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR")
- GetPhysicalDeviceSurfaceFormats2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormats2KHR")
- GetPhysicalDeviceSurfaceFormatsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR")
- GetPhysicalDeviceSurfacePresentModes2EXT = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT")
- GetPhysicalDeviceSurfacePresentModesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR")
- GetPhysicalDeviceSurfaceSupportKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceSupportKHR")
- GetPhysicalDeviceToolProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceToolProperties")
- GetPhysicalDeviceToolPropertiesEXT = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceToolPropertiesEXT")
- GetPhysicalDeviceVideoCapabilitiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR")
- GetPhysicalDeviceVideoFormatPropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR")
- GetPhysicalDeviceWaylandPresentationSupportKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR")
- GetPhysicalDeviceWin32PresentationSupportKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR")
- GetWinrtDisplayNV = auto_cast GetInstanceProcAddr(instance, "vkGetWinrtDisplayNV")
- ReleaseDisplayEXT = auto_cast GetInstanceProcAddr(instance, "vkReleaseDisplayEXT")
- SubmitDebugUtilsMessageEXT = auto_cast GetInstanceProcAddr(instance, "vkSubmitDebugUtilsMessageEXT")
-
- // Device Procedures (may call into dispatch)
- AcquireFullScreenExclusiveModeEXT = auto_cast GetInstanceProcAddr(instance, "vkAcquireFullScreenExclusiveModeEXT")
- AcquireNextImage2KHR = auto_cast GetInstanceProcAddr(instance, "vkAcquireNextImage2KHR")
- AcquireNextImageKHR = auto_cast GetInstanceProcAddr(instance, "vkAcquireNextImageKHR")
- AcquirePerformanceConfigurationINTEL = auto_cast GetInstanceProcAddr(instance, "vkAcquirePerformanceConfigurationINTEL")
- AcquireProfilingLockKHR = auto_cast GetInstanceProcAddr(instance, "vkAcquireProfilingLockKHR")
- AllocateCommandBuffers = auto_cast GetInstanceProcAddr(instance, "vkAllocateCommandBuffers")
- AllocateDescriptorSets = auto_cast GetInstanceProcAddr(instance, "vkAllocateDescriptorSets")
- AllocateMemory = auto_cast GetInstanceProcAddr(instance, "vkAllocateMemory")
- BeginCommandBuffer = auto_cast GetInstanceProcAddr(instance, "vkBeginCommandBuffer")
- BindAccelerationStructureMemoryNV = auto_cast GetInstanceProcAddr(instance, "vkBindAccelerationStructureMemoryNV")
- BindBufferMemory = auto_cast GetInstanceProcAddr(instance, "vkBindBufferMemory")
- BindBufferMemory2 = auto_cast GetInstanceProcAddr(instance, "vkBindBufferMemory2")
- BindBufferMemory2KHR = auto_cast GetInstanceProcAddr(instance, "vkBindBufferMemory2KHR")
- BindImageMemory = auto_cast GetInstanceProcAddr(instance, "vkBindImageMemory")
- BindImageMemory2 = auto_cast GetInstanceProcAddr(instance, "vkBindImageMemory2")
- BindImageMemory2KHR = auto_cast GetInstanceProcAddr(instance, "vkBindImageMemory2KHR")
- BindOpticalFlowSessionImageNV = auto_cast GetInstanceProcAddr(instance, "vkBindOpticalFlowSessionImageNV")
- BindVideoSessionMemoryKHR = auto_cast GetInstanceProcAddr(instance, "vkBindVideoSessionMemoryKHR")
- BuildAccelerationStructuresKHR = auto_cast GetInstanceProcAddr(instance, "vkBuildAccelerationStructuresKHR")
- BuildMicromapsEXT = auto_cast GetInstanceProcAddr(instance, "vkBuildMicromapsEXT")
- CmdBeginConditionalRenderingEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginConditionalRenderingEXT")
- CmdBeginDebugUtilsLabelEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginDebugUtilsLabelEXT")
- CmdBeginQuery = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginQuery")
- CmdBeginQueryIndexedEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginQueryIndexedEXT")
- CmdBeginRenderPass = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderPass")
- CmdBeginRenderPass2 = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderPass2")
- CmdBeginRenderPass2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderPass2KHR")
- CmdBeginRendering = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRendering")
- CmdBeginRenderingKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderingKHR")
- CmdBeginTransformFeedbackEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginTransformFeedbackEXT")
- CmdBeginVideoCodingKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginVideoCodingKHR")
- CmdBindDescriptorBufferEmbeddedSamplersEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT")
- CmdBindDescriptorBuffersEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBindDescriptorBuffersEXT")
- CmdBindDescriptorSets = auto_cast GetInstanceProcAddr(instance, "vkCmdBindDescriptorSets")
- CmdBindIndexBuffer = auto_cast GetInstanceProcAddr(instance, "vkCmdBindIndexBuffer")
- CmdBindInvocationMaskHUAWEI = auto_cast GetInstanceProcAddr(instance, "vkCmdBindInvocationMaskHUAWEI")
- CmdBindPipeline = auto_cast GetInstanceProcAddr(instance, "vkCmdBindPipeline")
- CmdBindPipelineShaderGroupNV = auto_cast GetInstanceProcAddr(instance, "vkCmdBindPipelineShaderGroupNV")
- CmdBindShadersEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBindShadersEXT")
- CmdBindShadingRateImageNV = auto_cast GetInstanceProcAddr(instance, "vkCmdBindShadingRateImageNV")
- CmdBindTransformFeedbackBuffersEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBindTransformFeedbackBuffersEXT")
- CmdBindVertexBuffers = auto_cast GetInstanceProcAddr(instance, "vkCmdBindVertexBuffers")
- CmdBindVertexBuffers2 = auto_cast GetInstanceProcAddr(instance, "vkCmdBindVertexBuffers2")
- CmdBindVertexBuffers2EXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBindVertexBuffers2EXT")
- CmdBlitImage = auto_cast GetInstanceProcAddr(instance, "vkCmdBlitImage")
- CmdBlitImage2 = auto_cast GetInstanceProcAddr(instance, "vkCmdBlitImage2")
- CmdBlitImage2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdBlitImage2KHR")
- CmdBuildAccelerationStructureNV = auto_cast GetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructureNV")
- CmdBuildAccelerationStructuresIndirectKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructuresIndirectKHR")
- CmdBuildAccelerationStructuresKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructuresKHR")
- CmdBuildMicromapsEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBuildMicromapsEXT")
- CmdClearAttachments = auto_cast GetInstanceProcAddr(instance, "vkCmdClearAttachments")
- CmdClearColorImage = auto_cast GetInstanceProcAddr(instance, "vkCmdClearColorImage")
- CmdClearDepthStencilImage = auto_cast GetInstanceProcAddr(instance, "vkCmdClearDepthStencilImage")
- CmdControlVideoCodingKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdControlVideoCodingKHR")
- CmdCopyAccelerationStructureKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureKHR")
- CmdCopyAccelerationStructureNV = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureNV")
- CmdCopyAccelerationStructureToMemoryKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureToMemoryKHR")
- CmdCopyBuffer = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBuffer")
- CmdCopyBuffer2 = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBuffer2")
- CmdCopyBuffer2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBuffer2KHR")
- CmdCopyBufferToImage = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBufferToImage")
- CmdCopyBufferToImage2 = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBufferToImage2")
- CmdCopyBufferToImage2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBufferToImage2KHR")
- CmdCopyImage = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImage")
- CmdCopyImage2 = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImage2")
- CmdCopyImage2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImage2KHR")
- CmdCopyImageToBuffer = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer")
- CmdCopyImageToBuffer2 = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer2")
- CmdCopyImageToBuffer2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer2KHR")
- CmdCopyMemoryIndirectNV = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyMemoryIndirectNV")
- CmdCopyMemoryToAccelerationStructureKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyMemoryToAccelerationStructureKHR")
- CmdCopyMemoryToImageIndirectNV = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyMemoryToImageIndirectNV")
- CmdCopyMemoryToMicromapEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyMemoryToMicromapEXT")
- CmdCopyMicromapEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyMicromapEXT")
- CmdCopyMicromapToMemoryEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyMicromapToMemoryEXT")
- CmdCopyQueryPoolResults = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyQueryPoolResults")
- CmdCuLaunchKernelNVX = auto_cast GetInstanceProcAddr(instance, "vkCmdCuLaunchKernelNVX")
- CmdDebugMarkerBeginEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDebugMarkerBeginEXT")
- CmdDebugMarkerEndEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDebugMarkerEndEXT")
- CmdDebugMarkerInsertEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDebugMarkerInsertEXT")
- CmdDecodeVideoKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdDecodeVideoKHR")
- CmdDecompressMemoryIndirectCountNV = auto_cast GetInstanceProcAddr(instance, "vkCmdDecompressMemoryIndirectCountNV")
- CmdDecompressMemoryNV = auto_cast GetInstanceProcAddr(instance, "vkCmdDecompressMemoryNV")
- CmdDispatch = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatch")
- CmdDispatchBase = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatchBase")
- CmdDispatchBaseKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatchBaseKHR")
- CmdDispatchIndirect = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatchIndirect")
- CmdDraw = auto_cast GetInstanceProcAddr(instance, "vkCmdDraw")
- CmdDrawClusterHUAWEI = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawClusterHUAWEI")
- CmdDrawClusterIndirectHUAWEI = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawClusterIndirectHUAWEI")
- CmdDrawIndexed = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexed")
- CmdDrawIndexedIndirect = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirect")
- CmdDrawIndexedIndirectCount = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCount")
- CmdDrawIndexedIndirectCountAMD = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCountAMD")
- CmdDrawIndexedIndirectCountKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCountKHR")
- CmdDrawIndirect = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirect")
- CmdDrawIndirectByteCountEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectByteCountEXT")
- CmdDrawIndirectCount = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectCount")
- CmdDrawIndirectCountAMD = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectCountAMD")
- CmdDrawIndirectCountKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectCountKHR")
- CmdDrawMeshTasksEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksEXT")
- CmdDrawMeshTasksIndirectCountEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectCountEXT")
- CmdDrawMeshTasksIndirectCountNV = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectCountNV")
- CmdDrawMeshTasksIndirectEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectEXT")
- CmdDrawMeshTasksIndirectNV = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectNV")
- CmdDrawMeshTasksNV = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksNV")
- CmdDrawMultiEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMultiEXT")
- CmdDrawMultiIndexedEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMultiIndexedEXT")
- CmdEndConditionalRenderingEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdEndConditionalRenderingEXT")
- CmdEndDebugUtilsLabelEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdEndDebugUtilsLabelEXT")
- CmdEndQuery = auto_cast GetInstanceProcAddr(instance, "vkCmdEndQuery")
- CmdEndQueryIndexedEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdEndQueryIndexedEXT")
- CmdEndRenderPass = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderPass")
- CmdEndRenderPass2 = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderPass2")
- CmdEndRenderPass2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderPass2KHR")
- CmdEndRendering = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRendering")
- CmdEndRenderingKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderingKHR")
- CmdEndTransformFeedbackEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdEndTransformFeedbackEXT")
- CmdEndVideoCodingKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdEndVideoCodingKHR")
- CmdExecuteCommands = auto_cast GetInstanceProcAddr(instance, "vkCmdExecuteCommands")
- CmdExecuteGeneratedCommandsNV = auto_cast GetInstanceProcAddr(instance, "vkCmdExecuteGeneratedCommandsNV")
- CmdFillBuffer = auto_cast GetInstanceProcAddr(instance, "vkCmdFillBuffer")
- CmdInsertDebugUtilsLabelEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdInsertDebugUtilsLabelEXT")
- CmdNextSubpass = auto_cast GetInstanceProcAddr(instance, "vkCmdNextSubpass")
- CmdNextSubpass2 = auto_cast GetInstanceProcAddr(instance, "vkCmdNextSubpass2")
- CmdNextSubpass2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdNextSubpass2KHR")
- CmdOpticalFlowExecuteNV = auto_cast GetInstanceProcAddr(instance, "vkCmdOpticalFlowExecuteNV")
- CmdPipelineBarrier = auto_cast GetInstanceProcAddr(instance, "vkCmdPipelineBarrier")
- CmdPipelineBarrier2 = auto_cast GetInstanceProcAddr(instance, "vkCmdPipelineBarrier2")
- CmdPipelineBarrier2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdPipelineBarrier2KHR")
- CmdPreprocessGeneratedCommandsNV = auto_cast GetInstanceProcAddr(instance, "vkCmdPreprocessGeneratedCommandsNV")
- CmdPushConstants = auto_cast GetInstanceProcAddr(instance, "vkCmdPushConstants")
- CmdPushDescriptorSetKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdPushDescriptorSetKHR")
- CmdPushDescriptorSetWithTemplateKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdPushDescriptorSetWithTemplateKHR")
- CmdResetEvent = auto_cast GetInstanceProcAddr(instance, "vkCmdResetEvent")
- CmdResetEvent2 = auto_cast GetInstanceProcAddr(instance, "vkCmdResetEvent2")
- CmdResetEvent2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdResetEvent2KHR")
- CmdResetQueryPool = auto_cast GetInstanceProcAddr(instance, "vkCmdResetQueryPool")
- CmdResolveImage = auto_cast GetInstanceProcAddr(instance, "vkCmdResolveImage")
- CmdResolveImage2 = auto_cast GetInstanceProcAddr(instance, "vkCmdResolveImage2")
- CmdResolveImage2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdResolveImage2KHR")
- CmdSetAlphaToCoverageEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetAlphaToCoverageEnableEXT")
- CmdSetAlphaToOneEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetAlphaToOneEnableEXT")
- CmdSetAttachmentFeedbackLoopEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetAttachmentFeedbackLoopEnableEXT")
- CmdSetBlendConstants = auto_cast GetInstanceProcAddr(instance, "vkCmdSetBlendConstants")
- CmdSetCheckpointNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCheckpointNV")
- CmdSetCoarseSampleOrderNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoarseSampleOrderNV")
- CmdSetColorBlendAdvancedEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetColorBlendAdvancedEXT")
- CmdSetColorBlendEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetColorBlendEnableEXT")
- CmdSetColorBlendEquationEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetColorBlendEquationEXT")
- CmdSetColorWriteMaskEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetColorWriteMaskEXT")
- CmdSetConservativeRasterizationModeEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetConservativeRasterizationModeEXT")
- CmdSetCoverageModulationModeNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoverageModulationModeNV")
- CmdSetCoverageModulationTableEnableNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoverageModulationTableEnableNV")
- CmdSetCoverageModulationTableNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoverageModulationTableNV")
- CmdSetCoverageReductionModeNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoverageReductionModeNV")
- CmdSetCoverageToColorEnableNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoverageToColorEnableNV")
- CmdSetCoverageToColorLocationNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoverageToColorLocationNV")
- CmdSetCullMode = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCullMode")
- CmdSetCullModeEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCullModeEXT")
- CmdSetDepthBias = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBias")
- CmdSetDepthBiasEnable = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBiasEnable")
- CmdSetDepthBiasEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBiasEnableEXT")
- CmdSetDepthBounds = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBounds")
- CmdSetDepthBoundsTestEnable = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBoundsTestEnable")
- CmdSetDepthBoundsTestEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBoundsTestEnableEXT")
- CmdSetDepthClampEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthClampEnableEXT")
- CmdSetDepthClipEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthClipEnableEXT")
- CmdSetDepthClipNegativeOneToOneEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthClipNegativeOneToOneEXT")
- CmdSetDepthCompareOp = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthCompareOp")
- CmdSetDepthCompareOpEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthCompareOpEXT")
- CmdSetDepthTestEnable = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthTestEnable")
- CmdSetDepthTestEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthTestEnableEXT")
- CmdSetDepthWriteEnable = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthWriteEnable")
- CmdSetDepthWriteEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthWriteEnableEXT")
- CmdSetDescriptorBufferOffsetsEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDescriptorBufferOffsetsEXT")
- CmdSetDeviceMask = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDeviceMask")
- CmdSetDeviceMaskKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDeviceMaskKHR")
- CmdSetDiscardRectangleEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDiscardRectangleEXT")
- CmdSetDiscardRectangleEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDiscardRectangleEnableEXT")
- CmdSetDiscardRectangleModeEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDiscardRectangleModeEXT")
- CmdSetEvent = auto_cast GetInstanceProcAddr(instance, "vkCmdSetEvent")
- CmdSetEvent2 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetEvent2")
- CmdSetEvent2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdSetEvent2KHR")
- CmdSetExclusiveScissorEnableNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetExclusiveScissorEnableNV")
- CmdSetExclusiveScissorNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetExclusiveScissorNV")
- CmdSetExtraPrimitiveOverestimationSizeEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetExtraPrimitiveOverestimationSizeEXT")
- CmdSetFragmentShadingRateEnumNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFragmentShadingRateEnumNV")
- CmdSetFragmentShadingRateKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFragmentShadingRateKHR")
- CmdSetFrontFace = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFrontFace")
- CmdSetFrontFaceEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFrontFaceEXT")
- CmdSetLineRasterizationModeEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLineRasterizationModeEXT")
- CmdSetLineStippleEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLineStippleEXT")
- CmdSetLineStippleEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLineStippleEnableEXT")
- CmdSetLineWidth = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLineWidth")
- CmdSetLogicOpEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLogicOpEXT")
- CmdSetLogicOpEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLogicOpEnableEXT")
- CmdSetPatchControlPointsEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPatchControlPointsEXT")
- CmdSetPerformanceMarkerINTEL = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPerformanceMarkerINTEL")
- CmdSetPerformanceOverrideINTEL = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPerformanceOverrideINTEL")
- CmdSetPerformanceStreamMarkerINTEL = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPerformanceStreamMarkerINTEL")
- CmdSetPolygonModeEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPolygonModeEXT")
- CmdSetPrimitiveRestartEnable = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveRestartEnable")
- CmdSetPrimitiveRestartEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveRestartEnableEXT")
- CmdSetPrimitiveTopology = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveTopology")
- CmdSetPrimitiveTopologyEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveTopologyEXT")
- CmdSetProvokingVertexModeEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetProvokingVertexModeEXT")
- CmdSetRasterizationSamplesEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRasterizationSamplesEXT")
- CmdSetRasterizationStreamEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRasterizationStreamEXT")
- CmdSetRasterizerDiscardEnable = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRasterizerDiscardEnable")
- CmdSetRasterizerDiscardEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRasterizerDiscardEnableEXT")
- CmdSetRayTracingPipelineStackSizeKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRayTracingPipelineStackSizeKHR")
- CmdSetRepresentativeFragmentTestEnableNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRepresentativeFragmentTestEnableNV")
- CmdSetSampleLocationsEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetSampleLocationsEXT")
- CmdSetSampleLocationsEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetSampleLocationsEnableEXT")
- CmdSetSampleMaskEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetSampleMaskEXT")
- CmdSetScissor = auto_cast GetInstanceProcAddr(instance, "vkCmdSetScissor")
- CmdSetScissorWithCount = auto_cast GetInstanceProcAddr(instance, "vkCmdSetScissorWithCount")
- CmdSetScissorWithCountEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetScissorWithCountEXT")
- CmdSetShadingRateImageEnableNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetShadingRateImageEnableNV")
- CmdSetStencilCompareMask = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilCompareMask")
- CmdSetStencilOp = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilOp")
- CmdSetStencilOpEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilOpEXT")
- CmdSetStencilReference = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilReference")
- CmdSetStencilTestEnable = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilTestEnable")
- CmdSetStencilTestEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilTestEnableEXT")
- CmdSetStencilWriteMask = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilWriteMask")
- CmdSetTessellationDomainOriginEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetTessellationDomainOriginEXT")
- CmdSetVertexInputEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetVertexInputEXT")
- CmdSetViewport = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewport")
- CmdSetViewportShadingRatePaletteNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportShadingRatePaletteNV")
- CmdSetViewportSwizzleNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportSwizzleNV")
- CmdSetViewportWScalingEnableNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportWScalingEnableNV")
- CmdSetViewportWScalingNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportWScalingNV")
- CmdSetViewportWithCount = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportWithCount")
- CmdSetViewportWithCountEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportWithCountEXT")
- CmdSubpassShadingHUAWEI = auto_cast GetInstanceProcAddr(instance, "vkCmdSubpassShadingHUAWEI")
- CmdTraceRaysIndirect2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdTraceRaysIndirect2KHR")
- CmdTraceRaysIndirectKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdTraceRaysIndirectKHR")
- CmdTraceRaysKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdTraceRaysKHR")
- CmdTraceRaysNV = auto_cast GetInstanceProcAddr(instance, "vkCmdTraceRaysNV")
- CmdUpdateBuffer = auto_cast GetInstanceProcAddr(instance, "vkCmdUpdateBuffer")
- CmdWaitEvents = auto_cast GetInstanceProcAddr(instance, "vkCmdWaitEvents")
- CmdWaitEvents2 = auto_cast GetInstanceProcAddr(instance, "vkCmdWaitEvents2")
- CmdWaitEvents2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdWaitEvents2KHR")
- CmdWriteAccelerationStructuresPropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteAccelerationStructuresPropertiesKHR")
- CmdWriteAccelerationStructuresPropertiesNV = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteAccelerationStructuresPropertiesNV")
- CmdWriteBufferMarker2AMD = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteBufferMarker2AMD")
- CmdWriteBufferMarkerAMD = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteBufferMarkerAMD")
- CmdWriteMicromapsPropertiesEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteMicromapsPropertiesEXT")
- CmdWriteTimestamp = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteTimestamp")
- CmdWriteTimestamp2 = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteTimestamp2")
- CmdWriteTimestamp2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteTimestamp2KHR")
- CompileDeferredNV = auto_cast GetInstanceProcAddr(instance, "vkCompileDeferredNV")
- CopyAccelerationStructureKHR = auto_cast GetInstanceProcAddr(instance, "vkCopyAccelerationStructureKHR")
- CopyAccelerationStructureToMemoryKHR = auto_cast GetInstanceProcAddr(instance, "vkCopyAccelerationStructureToMemoryKHR")
- CopyMemoryToAccelerationStructureKHR = auto_cast GetInstanceProcAddr(instance, "vkCopyMemoryToAccelerationStructureKHR")
- CopyMemoryToMicromapEXT = auto_cast GetInstanceProcAddr(instance, "vkCopyMemoryToMicromapEXT")
- CopyMicromapEXT = auto_cast GetInstanceProcAddr(instance, "vkCopyMicromapEXT")
- CopyMicromapToMemoryEXT = auto_cast GetInstanceProcAddr(instance, "vkCopyMicromapToMemoryEXT")
- CreateAccelerationStructureKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateAccelerationStructureKHR")
- CreateAccelerationStructureNV = auto_cast GetInstanceProcAddr(instance, "vkCreateAccelerationStructureNV")
- CreateBuffer = auto_cast GetInstanceProcAddr(instance, "vkCreateBuffer")
- CreateBufferView = auto_cast GetInstanceProcAddr(instance, "vkCreateBufferView")
- CreateCommandPool = auto_cast GetInstanceProcAddr(instance, "vkCreateCommandPool")
- CreateComputePipelines = auto_cast GetInstanceProcAddr(instance, "vkCreateComputePipelines")
- CreateCuFunctionNVX = auto_cast GetInstanceProcAddr(instance, "vkCreateCuFunctionNVX")
- CreateCuModuleNVX = auto_cast GetInstanceProcAddr(instance, "vkCreateCuModuleNVX")
- CreateDeferredOperationKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateDeferredOperationKHR")
- CreateDescriptorPool = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorPool")
- CreateDescriptorSetLayout = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorSetLayout")
- CreateDescriptorUpdateTemplate = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorUpdateTemplate")
- CreateDescriptorUpdateTemplateKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorUpdateTemplateKHR")
- CreateEvent = auto_cast GetInstanceProcAddr(instance, "vkCreateEvent")
- CreateFence = auto_cast GetInstanceProcAddr(instance, "vkCreateFence")
- CreateFramebuffer = auto_cast GetInstanceProcAddr(instance, "vkCreateFramebuffer")
- CreateGraphicsPipelines = auto_cast GetInstanceProcAddr(instance, "vkCreateGraphicsPipelines")
- CreateImage = auto_cast GetInstanceProcAddr(instance, "vkCreateImage")
- CreateImageView = auto_cast GetInstanceProcAddr(instance, "vkCreateImageView")
- CreateIndirectCommandsLayoutNV = auto_cast GetInstanceProcAddr(instance, "vkCreateIndirectCommandsLayoutNV")
- CreateMicromapEXT = auto_cast GetInstanceProcAddr(instance, "vkCreateMicromapEXT")
- CreateOpticalFlowSessionNV = auto_cast GetInstanceProcAddr(instance, "vkCreateOpticalFlowSessionNV")
- CreatePipelineCache = auto_cast GetInstanceProcAddr(instance, "vkCreatePipelineCache")
- CreatePipelineLayout = auto_cast GetInstanceProcAddr(instance, "vkCreatePipelineLayout")
- CreatePrivateDataSlot = auto_cast GetInstanceProcAddr(instance, "vkCreatePrivateDataSlot")
- CreatePrivateDataSlotEXT = auto_cast GetInstanceProcAddr(instance, "vkCreatePrivateDataSlotEXT")
- CreateQueryPool = auto_cast GetInstanceProcAddr(instance, "vkCreateQueryPool")
- CreateRayTracingPipelinesKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateRayTracingPipelinesKHR")
- CreateRayTracingPipelinesNV = auto_cast GetInstanceProcAddr(instance, "vkCreateRayTracingPipelinesNV")
- CreateRenderPass = auto_cast GetInstanceProcAddr(instance, "vkCreateRenderPass")
- CreateRenderPass2 = auto_cast GetInstanceProcAddr(instance, "vkCreateRenderPass2")
- CreateRenderPass2KHR = auto_cast GetInstanceProcAddr(instance, "vkCreateRenderPass2KHR")
- CreateSampler = auto_cast GetInstanceProcAddr(instance, "vkCreateSampler")
- CreateSamplerYcbcrConversion = auto_cast GetInstanceProcAddr(instance, "vkCreateSamplerYcbcrConversion")
- CreateSamplerYcbcrConversionKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateSamplerYcbcrConversionKHR")
- CreateSemaphore = auto_cast GetInstanceProcAddr(instance, "vkCreateSemaphore")
- CreateShaderModule = auto_cast GetInstanceProcAddr(instance, "vkCreateShaderModule")
- CreateShadersEXT = auto_cast GetInstanceProcAddr(instance, "vkCreateShadersEXT")
- CreateSharedSwapchainsKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateSharedSwapchainsKHR")
- CreateSwapchainKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateSwapchainKHR")
- CreateValidationCacheEXT = auto_cast GetInstanceProcAddr(instance, "vkCreateValidationCacheEXT")
- CreateVideoSessionKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateVideoSessionKHR")
- CreateVideoSessionParametersKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateVideoSessionParametersKHR")
- DebugMarkerSetObjectNameEXT = auto_cast GetInstanceProcAddr(instance, "vkDebugMarkerSetObjectNameEXT")
- DebugMarkerSetObjectTagEXT = auto_cast GetInstanceProcAddr(instance, "vkDebugMarkerSetObjectTagEXT")
- DeferredOperationJoinKHR = auto_cast GetInstanceProcAddr(instance, "vkDeferredOperationJoinKHR")
- DestroyAccelerationStructureKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroyAccelerationStructureKHR")
- DestroyAccelerationStructureNV = auto_cast GetInstanceProcAddr(instance, "vkDestroyAccelerationStructureNV")
- DestroyBuffer = auto_cast GetInstanceProcAddr(instance, "vkDestroyBuffer")
- DestroyBufferView = auto_cast GetInstanceProcAddr(instance, "vkDestroyBufferView")
- DestroyCommandPool = auto_cast GetInstanceProcAddr(instance, "vkDestroyCommandPool")
- DestroyCuFunctionNVX = auto_cast GetInstanceProcAddr(instance, "vkDestroyCuFunctionNVX")
- DestroyCuModuleNVX = auto_cast GetInstanceProcAddr(instance, "vkDestroyCuModuleNVX")
- DestroyDeferredOperationKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroyDeferredOperationKHR")
- DestroyDescriptorPool = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorPool")
- DestroyDescriptorSetLayout = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorSetLayout")
- DestroyDescriptorUpdateTemplate = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorUpdateTemplate")
- DestroyDescriptorUpdateTemplateKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorUpdateTemplateKHR")
- DestroyDevice = auto_cast GetInstanceProcAddr(instance, "vkDestroyDevice")
- DestroyEvent = auto_cast GetInstanceProcAddr(instance, "vkDestroyEvent")
- DestroyFence = auto_cast GetInstanceProcAddr(instance, "vkDestroyFence")
- DestroyFramebuffer = auto_cast GetInstanceProcAddr(instance, "vkDestroyFramebuffer")
- DestroyImage = auto_cast GetInstanceProcAddr(instance, "vkDestroyImage")
- DestroyImageView = auto_cast GetInstanceProcAddr(instance, "vkDestroyImageView")
- DestroyIndirectCommandsLayoutNV = auto_cast GetInstanceProcAddr(instance, "vkDestroyIndirectCommandsLayoutNV")
- DestroyMicromapEXT = auto_cast GetInstanceProcAddr(instance, "vkDestroyMicromapEXT")
- DestroyOpticalFlowSessionNV = auto_cast GetInstanceProcAddr(instance, "vkDestroyOpticalFlowSessionNV")
- DestroyPipeline = auto_cast GetInstanceProcAddr(instance, "vkDestroyPipeline")
- DestroyPipelineCache = auto_cast GetInstanceProcAddr(instance, "vkDestroyPipelineCache")
- DestroyPipelineLayout = auto_cast GetInstanceProcAddr(instance, "vkDestroyPipelineLayout")
- DestroyPrivateDataSlot = auto_cast GetInstanceProcAddr(instance, "vkDestroyPrivateDataSlot")
- DestroyPrivateDataSlotEXT = auto_cast GetInstanceProcAddr(instance, "vkDestroyPrivateDataSlotEXT")
- DestroyQueryPool = auto_cast GetInstanceProcAddr(instance, "vkDestroyQueryPool")
- DestroyRenderPass = auto_cast GetInstanceProcAddr(instance, "vkDestroyRenderPass")
- DestroySampler = auto_cast GetInstanceProcAddr(instance, "vkDestroySampler")
- DestroySamplerYcbcrConversion = auto_cast GetInstanceProcAddr(instance, "vkDestroySamplerYcbcrConversion")
- DestroySamplerYcbcrConversionKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroySamplerYcbcrConversionKHR")
- DestroySemaphore = auto_cast GetInstanceProcAddr(instance, "vkDestroySemaphore")
- DestroyShaderEXT = auto_cast GetInstanceProcAddr(instance, "vkDestroyShaderEXT")
- DestroyShaderModule = auto_cast GetInstanceProcAddr(instance, "vkDestroyShaderModule")
- DestroySwapchainKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroySwapchainKHR")
- DestroyValidationCacheEXT = auto_cast GetInstanceProcAddr(instance, "vkDestroyValidationCacheEXT")
- DestroyVideoSessionKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroyVideoSessionKHR")
- DestroyVideoSessionParametersKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroyVideoSessionParametersKHR")
- DeviceWaitIdle = auto_cast GetInstanceProcAddr(instance, "vkDeviceWaitIdle")
- DisplayPowerControlEXT = auto_cast GetInstanceProcAddr(instance, "vkDisplayPowerControlEXT")
- EndCommandBuffer = auto_cast GetInstanceProcAddr(instance, "vkEndCommandBuffer")
- ExportMetalObjectsEXT = auto_cast GetInstanceProcAddr(instance, "vkExportMetalObjectsEXT")
- FlushMappedMemoryRanges = auto_cast GetInstanceProcAddr(instance, "vkFlushMappedMemoryRanges")
- FreeCommandBuffers = auto_cast GetInstanceProcAddr(instance, "vkFreeCommandBuffers")
- FreeDescriptorSets = auto_cast GetInstanceProcAddr(instance, "vkFreeDescriptorSets")
- FreeMemory = auto_cast GetInstanceProcAddr(instance, "vkFreeMemory")
- GetAccelerationStructureBuildSizesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureBuildSizesKHR")
- GetAccelerationStructureDeviceAddressKHR = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureDeviceAddressKHR")
- GetAccelerationStructureHandleNV = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureHandleNV")
- GetAccelerationStructureMemoryRequirementsNV = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureMemoryRequirementsNV")
- GetAccelerationStructureOpaqueCaptureDescriptorDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT")
- GetBufferDeviceAddress = auto_cast GetInstanceProcAddr(instance, "vkGetBufferDeviceAddress")
- GetBufferDeviceAddressEXT = auto_cast GetInstanceProcAddr(instance, "vkGetBufferDeviceAddressEXT")
- GetBufferDeviceAddressKHR = auto_cast GetInstanceProcAddr(instance, "vkGetBufferDeviceAddressKHR")
- GetBufferMemoryRequirements = auto_cast GetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements")
- GetBufferMemoryRequirements2 = auto_cast GetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements2")
- GetBufferMemoryRequirements2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements2KHR")
- GetBufferOpaqueCaptureAddress = auto_cast GetInstanceProcAddr(instance, "vkGetBufferOpaqueCaptureAddress")
- GetBufferOpaqueCaptureAddressKHR = auto_cast GetInstanceProcAddr(instance, "vkGetBufferOpaqueCaptureAddressKHR")
- GetBufferOpaqueCaptureDescriptorDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetBufferOpaqueCaptureDescriptorDataEXT")
- GetCalibratedTimestampsEXT = auto_cast GetInstanceProcAddr(instance, "vkGetCalibratedTimestampsEXT")
- GetDeferredOperationMaxConcurrencyKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeferredOperationMaxConcurrencyKHR")
- GetDeferredOperationResultKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeferredOperationResultKHR")
- GetDescriptorEXT = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorEXT")
- GetDescriptorSetHostMappingVALVE = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetHostMappingVALVE")
- GetDescriptorSetLayoutBindingOffsetEXT = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutBindingOffsetEXT")
- GetDescriptorSetLayoutHostMappingInfoVALVE = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutHostMappingInfoVALVE")
- GetDescriptorSetLayoutSizeEXT = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutSizeEXT")
- GetDescriptorSetLayoutSupport = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutSupport")
- GetDescriptorSetLayoutSupportKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutSupportKHR")
- GetDeviceAccelerationStructureCompatibilityKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceAccelerationStructureCompatibilityKHR")
- GetDeviceBufferMemoryRequirements = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceBufferMemoryRequirements")
- GetDeviceBufferMemoryRequirementsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceBufferMemoryRequirementsKHR")
- GetDeviceFaultInfoEXT = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceFaultInfoEXT")
- GetDeviceGroupPeerMemoryFeatures = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupPeerMemoryFeatures")
- GetDeviceGroupPeerMemoryFeaturesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR")
- GetDeviceGroupPresentCapabilitiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupPresentCapabilitiesKHR")
- GetDeviceGroupSurfacePresentModes2EXT = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupSurfacePresentModes2EXT")
- GetDeviceGroupSurfacePresentModesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupSurfacePresentModesKHR")
- GetDeviceImageMemoryRequirements = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageMemoryRequirements")
- GetDeviceImageMemoryRequirementsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageMemoryRequirementsKHR")
- GetDeviceImageSparseMemoryRequirements = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageSparseMemoryRequirements")
- GetDeviceImageSparseMemoryRequirementsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageSparseMemoryRequirementsKHR")
- GetDeviceMemoryCommitment = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceMemoryCommitment")
- GetDeviceMemoryOpaqueCaptureAddress = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceMemoryOpaqueCaptureAddress")
- GetDeviceMemoryOpaqueCaptureAddressKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR")
- GetDeviceMicromapCompatibilityEXT = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceMicromapCompatibilityEXT")
- GetDeviceProcAddr = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceProcAddr")
- GetDeviceQueue = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceQueue")
- GetDeviceQueue2 = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceQueue2")
- GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")
- GetDynamicRenderingTilePropertiesQCOM = auto_cast GetInstanceProcAddr(instance, "vkGetDynamicRenderingTilePropertiesQCOM")
- GetEventStatus = auto_cast GetInstanceProcAddr(instance, "vkGetEventStatus")
- GetFenceFdKHR = auto_cast GetInstanceProcAddr(instance, "vkGetFenceFdKHR")
- GetFenceStatus = auto_cast GetInstanceProcAddr(instance, "vkGetFenceStatus")
- GetFenceWin32HandleKHR = auto_cast GetInstanceProcAddr(instance, "vkGetFenceWin32HandleKHR")
- GetFramebufferTilePropertiesQCOM = auto_cast GetInstanceProcAddr(instance, "vkGetFramebufferTilePropertiesQCOM")
- GetGeneratedCommandsMemoryRequirementsNV = auto_cast GetInstanceProcAddr(instance, "vkGetGeneratedCommandsMemoryRequirementsNV")
- GetImageDrmFormatModifierPropertiesEXT = auto_cast GetInstanceProcAddr(instance, "vkGetImageDrmFormatModifierPropertiesEXT")
- GetImageMemoryRequirements = auto_cast GetInstanceProcAddr(instance, "vkGetImageMemoryRequirements")
- GetImageMemoryRequirements2 = auto_cast GetInstanceProcAddr(instance, "vkGetImageMemoryRequirements2")
- GetImageMemoryRequirements2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetImageMemoryRequirements2KHR")
- GetImageOpaqueCaptureDescriptorDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetImageOpaqueCaptureDescriptorDataEXT")
- GetImageSparseMemoryRequirements = auto_cast GetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements")
- GetImageSparseMemoryRequirements2 = auto_cast GetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements2")
- GetImageSparseMemoryRequirements2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements2KHR")
- GetImageSubresourceLayout = auto_cast GetInstanceProcAddr(instance, "vkGetImageSubresourceLayout")
- GetImageSubresourceLayout2EXT = auto_cast GetInstanceProcAddr(instance, "vkGetImageSubresourceLayout2EXT")
- GetImageViewAddressNVX = auto_cast GetInstanceProcAddr(instance, "vkGetImageViewAddressNVX")
- GetImageViewHandleNVX = auto_cast GetInstanceProcAddr(instance, "vkGetImageViewHandleNVX")
- GetImageViewOpaqueCaptureDescriptorDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetImageViewOpaqueCaptureDescriptorDataEXT")
- GetMemoryFdKHR = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryFdKHR")
- GetMemoryFdPropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryFdPropertiesKHR")
- GetMemoryHostPointerPropertiesEXT = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryHostPointerPropertiesEXT")
- GetMemoryRemoteAddressNV = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryRemoteAddressNV")
- GetMemoryWin32HandleKHR = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryWin32HandleKHR")
- GetMemoryWin32HandleNV = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryWin32HandleNV")
- GetMemoryWin32HandlePropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryWin32HandlePropertiesKHR")
- GetMicromapBuildSizesEXT = auto_cast GetInstanceProcAddr(instance, "vkGetMicromapBuildSizesEXT")
- GetPastPresentationTimingGOOGLE = auto_cast GetInstanceProcAddr(instance, "vkGetPastPresentationTimingGOOGLE")
- GetPerformanceParameterINTEL = auto_cast GetInstanceProcAddr(instance, "vkGetPerformanceParameterINTEL")
- GetPipelineCacheData = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineCacheData")
- GetPipelineExecutableInternalRepresentationsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineExecutableInternalRepresentationsKHR")
- GetPipelineExecutablePropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineExecutablePropertiesKHR")
- GetPipelineExecutableStatisticsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineExecutableStatisticsKHR")
- GetPipelinePropertiesEXT = auto_cast GetInstanceProcAddr(instance, "vkGetPipelinePropertiesEXT")
- GetPrivateData = auto_cast GetInstanceProcAddr(instance, "vkGetPrivateData")
- GetPrivateDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetPrivateDataEXT")
- GetQueryPoolResults = auto_cast GetInstanceProcAddr(instance, "vkGetQueryPoolResults")
- GetQueueCheckpointData2NV = auto_cast GetInstanceProcAddr(instance, "vkGetQueueCheckpointData2NV")
- GetQueueCheckpointDataNV = auto_cast GetInstanceProcAddr(instance, "vkGetQueueCheckpointDataNV")
- GetRayTracingCaptureReplayShaderGroupHandlesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")
- GetRayTracingShaderGroupHandlesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingShaderGroupHandlesKHR")
- GetRayTracingShaderGroupHandlesNV = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingShaderGroupHandlesNV")
- GetRayTracingShaderGroupStackSizeKHR = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingShaderGroupStackSizeKHR")
- GetRefreshCycleDurationGOOGLE = auto_cast GetInstanceProcAddr(instance, "vkGetRefreshCycleDurationGOOGLE")
- GetRenderAreaGranularity = auto_cast GetInstanceProcAddr(instance, "vkGetRenderAreaGranularity")
- GetSamplerOpaqueCaptureDescriptorDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetSamplerOpaqueCaptureDescriptorDataEXT")
- GetSemaphoreCounterValue = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreCounterValue")
- GetSemaphoreCounterValueKHR = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreCounterValueKHR")
- GetSemaphoreFdKHR = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreFdKHR")
- GetSemaphoreWin32HandleKHR = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreWin32HandleKHR")
- GetShaderBinaryDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetShaderBinaryDataEXT")
- GetShaderInfoAMD = auto_cast GetInstanceProcAddr(instance, "vkGetShaderInfoAMD")
- GetShaderModuleCreateInfoIdentifierEXT = auto_cast GetInstanceProcAddr(instance, "vkGetShaderModuleCreateInfoIdentifierEXT")
- GetShaderModuleIdentifierEXT = auto_cast GetInstanceProcAddr(instance, "vkGetShaderModuleIdentifierEXT")
- GetSwapchainCounterEXT = auto_cast GetInstanceProcAddr(instance, "vkGetSwapchainCounterEXT")
- GetSwapchainImagesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetSwapchainImagesKHR")
- GetSwapchainStatusKHR = auto_cast GetInstanceProcAddr(instance, "vkGetSwapchainStatusKHR")
- GetValidationCacheDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetValidationCacheDataEXT")
- GetVideoSessionMemoryRequirementsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetVideoSessionMemoryRequirementsKHR")
- ImportFenceFdKHR = auto_cast GetInstanceProcAddr(instance, "vkImportFenceFdKHR")
- ImportFenceWin32HandleKHR = auto_cast GetInstanceProcAddr(instance, "vkImportFenceWin32HandleKHR")
- ImportSemaphoreFdKHR = auto_cast GetInstanceProcAddr(instance, "vkImportSemaphoreFdKHR")
- ImportSemaphoreWin32HandleKHR = auto_cast GetInstanceProcAddr(instance, "vkImportSemaphoreWin32HandleKHR")
- InitializePerformanceApiINTEL = auto_cast GetInstanceProcAddr(instance, "vkInitializePerformanceApiINTEL")
- InvalidateMappedMemoryRanges = auto_cast GetInstanceProcAddr(instance, "vkInvalidateMappedMemoryRanges")
- MapMemory = auto_cast GetInstanceProcAddr(instance, "vkMapMemory")
- MapMemory2KHR = auto_cast GetInstanceProcAddr(instance, "vkMapMemory2KHR")
- MergePipelineCaches = auto_cast GetInstanceProcAddr(instance, "vkMergePipelineCaches")
- MergeValidationCachesEXT = auto_cast GetInstanceProcAddr(instance, "vkMergeValidationCachesEXT")
- QueueBeginDebugUtilsLabelEXT = auto_cast GetInstanceProcAddr(instance, "vkQueueBeginDebugUtilsLabelEXT")
- QueueBindSparse = auto_cast GetInstanceProcAddr(instance, "vkQueueBindSparse")
- QueueEndDebugUtilsLabelEXT = auto_cast GetInstanceProcAddr(instance, "vkQueueEndDebugUtilsLabelEXT")
- QueueInsertDebugUtilsLabelEXT = auto_cast GetInstanceProcAddr(instance, "vkQueueInsertDebugUtilsLabelEXT")
- QueuePresentKHR = auto_cast GetInstanceProcAddr(instance, "vkQueuePresentKHR")
- QueueSetPerformanceConfigurationINTEL = auto_cast GetInstanceProcAddr(instance, "vkQueueSetPerformanceConfigurationINTEL")
- QueueSubmit = auto_cast GetInstanceProcAddr(instance, "vkQueueSubmit")
- QueueSubmit2 = auto_cast GetInstanceProcAddr(instance, "vkQueueSubmit2")
- QueueSubmit2KHR = auto_cast GetInstanceProcAddr(instance, "vkQueueSubmit2KHR")
- QueueWaitIdle = auto_cast GetInstanceProcAddr(instance, "vkQueueWaitIdle")
- RegisterDeviceEventEXT = auto_cast GetInstanceProcAddr(instance, "vkRegisterDeviceEventEXT")
- RegisterDisplayEventEXT = auto_cast GetInstanceProcAddr(instance, "vkRegisterDisplayEventEXT")
- ReleaseFullScreenExclusiveModeEXT = auto_cast GetInstanceProcAddr(instance, "vkReleaseFullScreenExclusiveModeEXT")
- ReleasePerformanceConfigurationINTEL = auto_cast GetInstanceProcAddr(instance, "vkReleasePerformanceConfigurationINTEL")
- ReleaseProfilingLockKHR = auto_cast GetInstanceProcAddr(instance, "vkReleaseProfilingLockKHR")
- ReleaseSwapchainImagesEXT = auto_cast GetInstanceProcAddr(instance, "vkReleaseSwapchainImagesEXT")
- ResetCommandBuffer = auto_cast GetInstanceProcAddr(instance, "vkResetCommandBuffer")
- ResetCommandPool = auto_cast GetInstanceProcAddr(instance, "vkResetCommandPool")
- ResetDescriptorPool = auto_cast GetInstanceProcAddr(instance, "vkResetDescriptorPool")
- ResetEvent = auto_cast GetInstanceProcAddr(instance, "vkResetEvent")
- ResetFences = auto_cast GetInstanceProcAddr(instance, "vkResetFences")
- ResetQueryPool = auto_cast GetInstanceProcAddr(instance, "vkResetQueryPool")
- ResetQueryPoolEXT = auto_cast GetInstanceProcAddr(instance, "vkResetQueryPoolEXT")
- SetDebugUtilsObjectNameEXT = auto_cast GetInstanceProcAddr(instance, "vkSetDebugUtilsObjectNameEXT")
- SetDebugUtilsObjectTagEXT = auto_cast GetInstanceProcAddr(instance, "vkSetDebugUtilsObjectTagEXT")
- SetDeviceMemoryPriorityEXT = auto_cast GetInstanceProcAddr(instance, "vkSetDeviceMemoryPriorityEXT")
- SetEvent = auto_cast GetInstanceProcAddr(instance, "vkSetEvent")
- SetHdrMetadataEXT = auto_cast GetInstanceProcAddr(instance, "vkSetHdrMetadataEXT")
- SetLocalDimmingAMD = auto_cast GetInstanceProcAddr(instance, "vkSetLocalDimmingAMD")
- SetPrivateData = auto_cast GetInstanceProcAddr(instance, "vkSetPrivateData")
- SetPrivateDataEXT = auto_cast GetInstanceProcAddr(instance, "vkSetPrivateDataEXT")
- SignalSemaphore = auto_cast GetInstanceProcAddr(instance, "vkSignalSemaphore")
- SignalSemaphoreKHR = auto_cast GetInstanceProcAddr(instance, "vkSignalSemaphoreKHR")
- TrimCommandPool = auto_cast GetInstanceProcAddr(instance, "vkTrimCommandPool")
- TrimCommandPoolKHR = auto_cast GetInstanceProcAddr(instance, "vkTrimCommandPoolKHR")
- UninitializePerformanceApiINTEL = auto_cast GetInstanceProcAddr(instance, "vkUninitializePerformanceApiINTEL")
- UnmapMemory = auto_cast GetInstanceProcAddr(instance, "vkUnmapMemory")
- UnmapMemory2KHR = auto_cast GetInstanceProcAddr(instance, "vkUnmapMemory2KHR")
- UpdateDescriptorSetWithTemplate = auto_cast GetInstanceProcAddr(instance, "vkUpdateDescriptorSetWithTemplate")
- UpdateDescriptorSetWithTemplateKHR = auto_cast GetInstanceProcAddr(instance, "vkUpdateDescriptorSetWithTemplateKHR")
- UpdateDescriptorSets = auto_cast GetInstanceProcAddr(instance, "vkUpdateDescriptorSets")
- UpdateVideoSessionParametersKHR = auto_cast GetInstanceProcAddr(instance, "vkUpdateVideoSessionParametersKHR")
- WaitForFences = auto_cast GetInstanceProcAddr(instance, "vkWaitForFences")
- WaitForPresentKHR = auto_cast GetInstanceProcAddr(instance, "vkWaitForPresentKHR")
- WaitSemaphores = auto_cast GetInstanceProcAddr(instance, "vkWaitSemaphores")
- WaitSemaphoresKHR = auto_cast GetInstanceProcAddr(instance, "vkWaitSemaphoresKHR")
- WriteAccelerationStructuresPropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkWriteAccelerationStructuresPropertiesKHR")
- WriteMicromapsPropertiesEXT = auto_cast GetInstanceProcAddr(instance, "vkWriteMicromapsPropertiesEXT")
-}
-
-load_proc_addresses_global :: proc(vk_get_instance_proc_addr: rawptr) {
- GetInstanceProcAddr = auto_cast vk_get_instance_proc_addr
-
- CreateInstance = auto_cast GetInstanceProcAddr(nil, "vkCreateInstance")
- DebugUtilsMessengerCallbackEXT = auto_cast GetInstanceProcAddr(nil, "vkDebugUtilsMessengerCallbackEXT")
- DeviceMemoryReportCallbackEXT = auto_cast GetInstanceProcAddr(nil, "vkDeviceMemoryReportCallbackEXT")
- EnumerateInstanceExtensionProperties = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceExtensionProperties")
- EnumerateInstanceLayerProperties = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceLayerProperties")
- EnumerateInstanceVersion = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceVersion")
- GetInstanceProcAddr = auto_cast GetInstanceProcAddr(nil, "vkGetInstanceProcAddr")
-}
-
-load_proc_addresses :: proc{
- load_proc_addresses_global,
- load_proc_addresses_instance,
- load_proc_addresses_device,
- load_proc_addresses_device_vtable,
- load_proc_addresses_custom,
-}
-
+// +// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h" +// +package vulkan + +import "core:c" + +// Loader Procedure Types +ProcCreateInstance :: #type proc "system" (pCreateInfo: ^InstanceCreateInfo, pAllocator: ^AllocationCallbacks, pInstance: ^Instance) -> Result +ProcDebugUtilsMessengerCallbackEXT :: #type proc "system" (messageSeverity: DebugUtilsMessageSeverityFlagsEXT, messageTypes: DebugUtilsMessageTypeFlagsEXT, pCallbackData: ^DebugUtilsMessengerCallbackDataEXT, pUserData: rawptr) -> b32 +ProcDeviceMemoryReportCallbackEXT :: #type proc "system" (pCallbackData: ^DeviceMemoryReportCallbackDataEXT, pUserData: rawptr) +ProcEnumerateInstanceExtensionProperties :: #type proc "system" (pLayerName: cstring, pPropertyCount: ^u32, pProperties: [^]ExtensionProperties) -> Result +ProcEnumerateInstanceLayerProperties :: #type proc "system" (pPropertyCount: ^u32, pProperties: [^]LayerProperties) -> Result +ProcEnumerateInstanceVersion :: #type proc "system" (pApiVersion: ^u32) -> Result + +// Misc Procedure Types +ProcAllocationFunction :: #type proc "system" (pUserData: rawptr, size: int, alignment: int, allocationScope: SystemAllocationScope) -> rawptr +ProcDebugReportCallbackEXT :: #type proc "system" (flags: DebugReportFlagsEXT, objectType: DebugReportObjectTypeEXT, object: u64, location: int, messageCode: i32, pLayerPrefix: cstring, pMessage: cstring, pUserData: rawptr) -> b32 +ProcFreeFunction :: #type proc "system" (pUserData: rawptr, pMemory: rawptr) +ProcInternalAllocationNotification :: #type proc "system" (pUserData: rawptr, size: int, allocationType: InternalAllocationType, allocationScope: SystemAllocationScope) +ProcInternalFreeNotification :: #type proc "system" (pUserData: rawptr, size: int, allocationType: InternalAllocationType, allocationScope: SystemAllocationScope) +ProcReallocationFunction :: #type proc "system" (pUserData: rawptr, pOriginal: rawptr, size: int, alignment: int, allocationScope: SystemAllocationScope) -> rawptr +ProcVoidFunction :: #type proc "system" () + +// Instance Procedure Types +ProcAcquireDrmDisplayEXT :: #type proc "system" (physicalDevice: PhysicalDevice, drmFd: i32, display: DisplayKHR) -> Result +ProcAcquireWinrtDisplayNV :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR) -> Result +ProcCreateDebugReportCallbackEXT :: #type proc "system" (instance: Instance, pCreateInfo: ^DebugReportCallbackCreateInfoEXT, pAllocator: ^AllocationCallbacks, pCallback: ^DebugReportCallbackEXT) -> Result +ProcCreateDebugUtilsMessengerEXT :: #type proc "system" (instance: Instance, pCreateInfo: ^DebugUtilsMessengerCreateInfoEXT, pAllocator: ^AllocationCallbacks, pMessenger: ^DebugUtilsMessengerEXT) -> Result +ProcCreateDevice :: #type proc "system" (physicalDevice: PhysicalDevice, pCreateInfo: ^DeviceCreateInfo, pAllocator: ^AllocationCallbacks, pDevice: ^Device) -> Result +ProcCreateDisplayModeKHR :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR, pCreateInfo: ^DisplayModeCreateInfoKHR, pAllocator: ^AllocationCallbacks, pMode: ^DisplayModeKHR) -> Result +ProcCreateDisplayPlaneSurfaceKHR :: #type proc "system" (instance: Instance, pCreateInfo: ^DisplaySurfaceCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result +ProcCreateHeadlessSurfaceEXT :: #type proc "system" (instance: Instance, pCreateInfo: ^HeadlessSurfaceCreateInfoEXT, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result +ProcCreateIOSSurfaceMVK :: #type proc "system" (instance: Instance, pCreateInfo: ^IOSSurfaceCreateInfoMVK, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result +ProcCreateMacOSSurfaceMVK :: #type proc "system" (instance: Instance, pCreateInfo: ^MacOSSurfaceCreateInfoMVK, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result +ProcCreateMetalSurfaceEXT :: #type proc "system" (instance: Instance, pCreateInfo: ^MetalSurfaceCreateInfoEXT, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result +ProcCreateWaylandSurfaceKHR :: #type proc "system" (instance: Instance, pCreateInfo: ^WaylandSurfaceCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result +ProcCreateWin32SurfaceKHR :: #type proc "system" (instance: Instance, pCreateInfo: ^Win32SurfaceCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSurface: ^SurfaceKHR) -> Result +ProcDebugReportMessageEXT :: #type proc "system" (instance: Instance, flags: DebugReportFlagsEXT, objectType: DebugReportObjectTypeEXT, object: u64, location: int, messageCode: i32, pLayerPrefix: cstring, pMessage: cstring) +ProcDestroyDebugReportCallbackEXT :: #type proc "system" (instance: Instance, callback: DebugReportCallbackEXT, pAllocator: ^AllocationCallbacks) +ProcDestroyDebugUtilsMessengerEXT :: #type proc "system" (instance: Instance, messenger: DebugUtilsMessengerEXT, pAllocator: ^AllocationCallbacks) +ProcDestroyInstance :: #type proc "system" (instance: Instance, pAllocator: ^AllocationCallbacks) +ProcDestroySurfaceKHR :: #type proc "system" (instance: Instance, surface: SurfaceKHR, pAllocator: ^AllocationCallbacks) +ProcEnumerateDeviceExtensionProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pLayerName: cstring, pPropertyCount: ^u32, pProperties: [^]ExtensionProperties) -> Result +ProcEnumerateDeviceLayerProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]LayerProperties) -> Result +ProcEnumeratePhysicalDeviceGroups :: #type proc "system" (instance: Instance, pPhysicalDeviceGroupCount: ^u32, pPhysicalDeviceGroupProperties: [^]PhysicalDeviceGroupProperties) -> Result +ProcEnumeratePhysicalDeviceGroupsKHR :: #type proc "system" (instance: Instance, pPhysicalDeviceGroupCount: ^u32, pPhysicalDeviceGroupProperties: [^]PhysicalDeviceGroupProperties) -> Result +ProcEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, pCounterCount: ^u32, pCounters: [^]PerformanceCounterKHR, pCounterDescriptions: [^]PerformanceCounterDescriptionKHR) -> Result +ProcEnumeratePhysicalDevices :: #type proc "system" (instance: Instance, pPhysicalDeviceCount: ^u32, pPhysicalDevices: [^]PhysicalDevice) -> Result +ProcGetDisplayModeProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: ^u32, pProperties: [^]DisplayModeProperties2KHR) -> Result +ProcGetDisplayModePropertiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: ^u32, pProperties: [^]DisplayModePropertiesKHR) -> Result +ProcGetDisplayPlaneCapabilities2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pDisplayPlaneInfo: ^DisplayPlaneInfo2KHR, pCapabilities: [^]DisplayPlaneCapabilities2KHR) -> Result +ProcGetDisplayPlaneCapabilitiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, mode: DisplayModeKHR, planeIndex: u32, pCapabilities: [^]DisplayPlaneCapabilitiesKHR) -> Result +ProcGetDisplayPlaneSupportedDisplaysKHR :: #type proc "system" (physicalDevice: PhysicalDevice, planeIndex: u32, pDisplayCount: ^u32, pDisplays: [^]DisplayKHR) -> Result +ProcGetDrmDisplayEXT :: #type proc "system" (physicalDevice: PhysicalDevice, drmFd: i32, connectorId: u32, display: ^DisplayKHR) -> Result +ProcGetInstanceProcAddr :: #type proc "system" (instance: Instance, pName: cstring) -> ProcVoidFunction +ProcGetInstanceProcAddrLUNARG :: #type proc "system" (instance: Instance, pName: cstring) -> ProcVoidFunction +ProcGetPhysicalDeviceCalibrateableTimeDomainsEXT :: #type proc "system" (physicalDevice: PhysicalDevice, pTimeDomainCount: ^u32, pTimeDomains: [^]TimeDomainEXT) -> Result +ProcGetPhysicalDeviceCooperativeMatrixPropertiesNV :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]CooperativeMatrixPropertiesNV) -> Result +ProcGetPhysicalDeviceDisplayPlaneProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayPlaneProperties2KHR) -> Result +ProcGetPhysicalDeviceDisplayPlanePropertiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayPlanePropertiesKHR) -> Result +ProcGetPhysicalDeviceDisplayProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayProperties2KHR) -> Result +ProcGetPhysicalDeviceDisplayPropertiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pPropertyCount: ^u32, pProperties: [^]DisplayPropertiesKHR) -> Result +ProcGetPhysicalDeviceExternalBufferProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalBufferInfo: ^PhysicalDeviceExternalBufferInfo, pExternalBufferProperties: [^]ExternalBufferProperties) +ProcGetPhysicalDeviceExternalBufferPropertiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalBufferInfo: ^PhysicalDeviceExternalBufferInfo, pExternalBufferProperties: [^]ExternalBufferProperties) +ProcGetPhysicalDeviceExternalFenceProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalFenceInfo: ^PhysicalDeviceExternalFenceInfo, pExternalFenceProperties: [^]ExternalFenceProperties) +ProcGetPhysicalDeviceExternalFencePropertiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalFenceInfo: ^PhysicalDeviceExternalFenceInfo, pExternalFenceProperties: [^]ExternalFenceProperties) +ProcGetPhysicalDeviceExternalImageFormatPropertiesNV :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, type: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, externalHandleType: ExternalMemoryHandleTypeFlagsNV, pExternalImageFormatProperties: [^]ExternalImageFormatPropertiesNV) -> Result +ProcGetPhysicalDeviceExternalSemaphoreProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalSemaphoreInfo: ^PhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties: [^]ExternalSemaphoreProperties) +ProcGetPhysicalDeviceExternalSemaphorePropertiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pExternalSemaphoreInfo: ^PhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties: [^]ExternalSemaphoreProperties) +ProcGetPhysicalDeviceFeatures :: #type proc "system" (physicalDevice: PhysicalDevice, pFeatures: [^]PhysicalDeviceFeatures) +ProcGetPhysicalDeviceFeatures2 :: #type proc "system" (physicalDevice: PhysicalDevice, pFeatures: [^]PhysicalDeviceFeatures2) +ProcGetPhysicalDeviceFeatures2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pFeatures: [^]PhysicalDeviceFeatures2) +ProcGetPhysicalDeviceFormatProperties :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: [^]FormatProperties) +ProcGetPhysicalDeviceFormatProperties2 :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: [^]FormatProperties2) +ProcGetPhysicalDeviceFormatProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: [^]FormatProperties2) +ProcGetPhysicalDeviceFragmentShadingRatesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pFragmentShadingRateCount: ^u32, pFragmentShadingRates: [^]PhysicalDeviceFragmentShadingRateKHR) -> Result +ProcGetPhysicalDeviceImageFormatProperties :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, type: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, pImageFormatProperties: [^]ImageFormatProperties) -> Result +ProcGetPhysicalDeviceImageFormatProperties2 :: #type proc "system" (physicalDevice: PhysicalDevice, pImageFormatInfo: ^PhysicalDeviceImageFormatInfo2, pImageFormatProperties: [^]ImageFormatProperties2) -> Result +ProcGetPhysicalDeviceImageFormatProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pImageFormatInfo: ^PhysicalDeviceImageFormatInfo2, pImageFormatProperties: [^]ImageFormatProperties2) -> Result +ProcGetPhysicalDeviceMemoryProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pMemoryProperties: [^]PhysicalDeviceMemoryProperties) +ProcGetPhysicalDeviceMemoryProperties2 :: #type proc "system" (physicalDevice: PhysicalDevice, pMemoryProperties: [^]PhysicalDeviceMemoryProperties2) +ProcGetPhysicalDeviceMemoryProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pMemoryProperties: [^]PhysicalDeviceMemoryProperties2) +ProcGetPhysicalDeviceMultisamplePropertiesEXT :: #type proc "system" (physicalDevice: PhysicalDevice, samples: SampleCountFlags, pMultisampleProperties: [^]MultisamplePropertiesEXT) +ProcGetPhysicalDeviceOpticalFlowImageFormatsNV :: #type proc "system" (physicalDevice: PhysicalDevice, pOpticalFlowImageFormatInfo: ^OpticalFlowImageFormatInfoNV, pFormatCount: ^u32, pImageFormatProperties: [^]OpticalFlowImageFormatPropertiesNV) -> Result +ProcGetPhysicalDevicePresentRectanglesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pRectCount: ^u32, pRects: [^]Rect2D) -> Result +ProcGetPhysicalDeviceProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pProperties: [^]PhysicalDeviceProperties) +ProcGetPhysicalDeviceProperties2 :: #type proc "system" (physicalDevice: PhysicalDevice, pProperties: [^]PhysicalDeviceProperties2) +ProcGetPhysicalDeviceProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pProperties: [^]PhysicalDeviceProperties2) +ProcGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pPerformanceQueryCreateInfo: ^QueryPoolPerformanceCreateInfoKHR, pNumPasses: [^]u32) +ProcGetPhysicalDeviceQueueFamilyProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: ^u32, pQueueFamilyProperties: [^]QueueFamilyProperties) +ProcGetPhysicalDeviceQueueFamilyProperties2 :: #type proc "system" (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: ^u32, pQueueFamilyProperties: [^]QueueFamilyProperties2) +ProcGetPhysicalDeviceQueueFamilyProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: ^u32, pQueueFamilyProperties: [^]QueueFamilyProperties2) +ProcGetPhysicalDeviceSparseImageFormatProperties :: #type proc "system" (physicalDevice: PhysicalDevice, format: Format, type: ImageType, samples: SampleCountFlags, usage: ImageUsageFlags, tiling: ImageTiling, pPropertyCount: ^u32, pProperties: [^]SparseImageFormatProperties) +ProcGetPhysicalDeviceSparseImageFormatProperties2 :: #type proc "system" (physicalDevice: PhysicalDevice, pFormatInfo: ^PhysicalDeviceSparseImageFormatInfo2, pPropertyCount: ^u32, pProperties: [^]SparseImageFormatProperties2) +ProcGetPhysicalDeviceSparseImageFormatProperties2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pFormatInfo: ^PhysicalDeviceSparseImageFormatInfo2, pPropertyCount: ^u32, pProperties: [^]SparseImageFormatProperties2) +ProcGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV :: #type proc "system" (physicalDevice: PhysicalDevice, pCombinationCount: ^u32, pCombinations: [^]FramebufferMixedSamplesCombinationNV) -> Result +ProcGetPhysicalDeviceSurfaceCapabilities2EXT :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: [^]SurfaceCapabilities2EXT) -> Result +ProcGetPhysicalDeviceSurfaceCapabilities2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pSurfaceCapabilities: [^]SurfaceCapabilities2KHR) -> Result +ProcGetPhysicalDeviceSurfaceCapabilitiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: [^]SurfaceCapabilitiesKHR) -> Result +ProcGetPhysicalDeviceSurfaceFormats2KHR :: #type proc "system" (physicalDevice: PhysicalDevice, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pSurfaceFormatCount: ^u32, pSurfaceFormats: [^]SurfaceFormat2KHR) -> Result +ProcGetPhysicalDeviceSurfaceFormatsKHR :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceFormatCount: ^u32, pSurfaceFormats: [^]SurfaceFormatKHR) -> Result +ProcGetPhysicalDeviceSurfacePresentModes2EXT :: #type proc "system" (physicalDevice: PhysicalDevice, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pPresentModeCount: ^u32, pPresentModes: [^]PresentModeKHR) -> Result +ProcGetPhysicalDeviceSurfacePresentModesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pPresentModeCount: ^u32, pPresentModes: [^]PresentModeKHR) -> Result +ProcGetPhysicalDeviceSurfaceSupportKHR :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, surface: SurfaceKHR, pSupported: ^b32) -> Result +ProcGetPhysicalDeviceToolProperties :: #type proc "system" (physicalDevice: PhysicalDevice, pToolCount: ^u32, pToolProperties: [^]PhysicalDeviceToolProperties) -> Result +ProcGetPhysicalDeviceToolPropertiesEXT :: #type proc "system" (physicalDevice: PhysicalDevice, pToolCount: ^u32, pToolProperties: [^]PhysicalDeviceToolProperties) -> Result +ProcGetPhysicalDeviceVideoCapabilitiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pVideoProfile: ^VideoProfileInfoKHR, pCapabilities: [^]VideoCapabilitiesKHR) -> Result +ProcGetPhysicalDeviceVideoFormatPropertiesKHR :: #type proc "system" (physicalDevice: PhysicalDevice, pVideoFormatInfo: ^PhysicalDeviceVideoFormatInfoKHR, pVideoFormatPropertyCount: ^u32, pVideoFormatProperties: [^]VideoFormatPropertiesKHR) -> Result +ProcGetPhysicalDeviceWaylandPresentationSupportKHR :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, display: ^wl_display) -> b32 +ProcGetPhysicalDeviceWin32PresentationSupportKHR :: #type proc "system" (physicalDevice: PhysicalDevice, queueFamilyIndex: u32) -> b32 +ProcGetWinrtDisplayNV :: #type proc "system" (physicalDevice: PhysicalDevice, deviceRelativeId: u32, pDisplay: ^DisplayKHR) -> Result +ProcReleaseDisplayEXT :: #type proc "system" (physicalDevice: PhysicalDevice, display: DisplayKHR) -> Result +ProcSubmitDebugUtilsMessageEXT :: #type proc "system" (instance: Instance, messageSeverity: DebugUtilsMessageSeverityFlagsEXT, messageTypes: DebugUtilsMessageTypeFlagsEXT, pCallbackData: ^DebugUtilsMessengerCallbackDataEXT) + +// Device Procedure Types +ProcAcquireFullScreenExclusiveModeEXT :: #type proc "system" (device: Device, swapchain: SwapchainKHR) -> Result +ProcAcquireNextImage2KHR :: #type proc "system" (device: Device, pAcquireInfo: ^AcquireNextImageInfoKHR, pImageIndex: ^u32) -> Result +ProcAcquireNextImageKHR :: #type proc "system" (device: Device, swapchain: SwapchainKHR, timeout: u64, semaphore: Semaphore, fence: Fence, pImageIndex: ^u32) -> Result +ProcAcquirePerformanceConfigurationINTEL :: #type proc "system" (device: Device, pAcquireInfo: ^PerformanceConfigurationAcquireInfoINTEL, pConfiguration: ^PerformanceConfigurationINTEL) -> Result +ProcAcquireProfilingLockKHR :: #type proc "system" (device: Device, pInfo: ^AcquireProfilingLockInfoKHR) -> Result +ProcAllocateCommandBuffers :: #type proc "system" (device: Device, pAllocateInfo: ^CommandBufferAllocateInfo, pCommandBuffers: [^]CommandBuffer) -> Result +ProcAllocateDescriptorSets :: #type proc "system" (device: Device, pAllocateInfo: ^DescriptorSetAllocateInfo, pDescriptorSets: [^]DescriptorSet) -> Result +ProcAllocateMemory :: #type proc "system" (device: Device, pAllocateInfo: ^MemoryAllocateInfo, pAllocator: ^AllocationCallbacks, pMemory: ^DeviceMemory) -> Result +ProcBeginCommandBuffer :: #type proc "system" (commandBuffer: CommandBuffer, pBeginInfo: ^CommandBufferBeginInfo) -> Result +ProcBindAccelerationStructureMemoryNV :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindAccelerationStructureMemoryInfoNV) -> Result +ProcBindBufferMemory :: #type proc "system" (device: Device, buffer: Buffer, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result +ProcBindBufferMemory2 :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindBufferMemoryInfo) -> Result +ProcBindBufferMemory2KHR :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindBufferMemoryInfo) -> Result +ProcBindImageMemory :: #type proc "system" (device: Device, image: Image, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result +ProcBindImageMemory2 :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindImageMemoryInfo) -> Result +ProcBindImageMemory2KHR :: #type proc "system" (device: Device, bindInfoCount: u32, pBindInfos: [^]BindImageMemoryInfo) -> Result +ProcBindOpticalFlowSessionImageNV :: #type proc "system" (device: Device, session: OpticalFlowSessionNV, bindingPoint: OpticalFlowSessionBindingPointNV, view: ImageView, layout: ImageLayout) -> Result +ProcBindVideoSessionMemoryKHR :: #type proc "system" (device: Device, videoSession: VideoSessionKHR, bindSessionMemoryInfoCount: u32, pBindSessionMemoryInfos: [^]BindVideoSessionMemoryInfoKHR) -> Result +ProcBuildAccelerationStructuresKHR :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, infoCount: u32, pInfos: [^]AccelerationStructureBuildGeometryInfoKHR, ppBuildRangeInfos: ^[^]AccelerationStructureBuildRangeInfoKHR) -> Result +ProcBuildMicromapsEXT :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, infoCount: u32, pInfos: [^]MicromapBuildInfoEXT) -> Result +ProcCmdBeginConditionalRenderingEXT :: #type proc "system" (commandBuffer: CommandBuffer, pConditionalRenderingBegin: ^ConditionalRenderingBeginInfoEXT) +ProcCmdBeginDebugUtilsLabelEXT :: #type proc "system" (commandBuffer: CommandBuffer, pLabelInfo: ^DebugUtilsLabelEXT) +ProcCmdBeginQuery :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags) +ProcCmdBeginQueryIndexedEXT :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags, index: u32) +ProcCmdBeginRenderPass :: #type proc "system" (commandBuffer: CommandBuffer, pRenderPassBegin: ^RenderPassBeginInfo, contents: SubpassContents) +ProcCmdBeginRenderPass2 :: #type proc "system" (commandBuffer: CommandBuffer, pRenderPassBegin: ^RenderPassBeginInfo, pSubpassBeginInfo: ^SubpassBeginInfo) +ProcCmdBeginRenderPass2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pRenderPassBegin: ^RenderPassBeginInfo, pSubpassBeginInfo: ^SubpassBeginInfo) +ProcCmdBeginRendering :: #type proc "system" (commandBuffer: CommandBuffer, pRenderingInfo: ^RenderingInfo) +ProcCmdBeginRenderingKHR :: #type proc "system" (commandBuffer: CommandBuffer, pRenderingInfo: ^RenderingInfo) +ProcCmdBeginTransformFeedbackEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: [^]Buffer, pCounterBufferOffsets: [^]DeviceSize) +ProcCmdBeginVideoCodingKHR :: #type proc "system" (commandBuffer: CommandBuffer, pBeginInfo: ^VideoBeginCodingInfoKHR) +ProcCmdBindDescriptorBufferEmbeddedSamplersEXT :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, set: u32) +ProcCmdBindDescriptorBuffersEXT :: #type proc "system" (commandBuffer: CommandBuffer, bufferCount: u32, pBindingInfos: [^]DescriptorBufferBindingInfoEXT) +ProcCmdBindDescriptorSets :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, firstSet: u32, descriptorSetCount: u32, pDescriptorSets: [^]DescriptorSet, dynamicOffsetCount: u32, pDynamicOffsets: [^]u32) +ProcCmdBindIndexBuffer :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, indexType: IndexType) +ProcCmdBindInvocationMaskHUAWEI :: #type proc "system" (commandBuffer: CommandBuffer, imageView: ImageView, imageLayout: ImageLayout) +ProcCmdBindPipeline :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, pipeline: Pipeline) +ProcCmdBindPipelineShaderGroupNV :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, pipeline: Pipeline, groupIndex: u32) +ProcCmdBindShadersEXT :: #type proc "system" (commandBuffer: CommandBuffer, stageCount: u32, pStages: [^]ShaderStageFlags, pShaders: [^]ShaderEXT) +ProcCmdBindShadingRateImageNV :: #type proc "system" (commandBuffer: CommandBuffer, imageView: ImageView, imageLayout: ImageLayout) +ProcCmdBindTransformFeedbackBuffersEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize, pSizes: [^]DeviceSize) +ProcCmdBindVertexBuffers :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize) +ProcCmdBindVertexBuffers2 :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize, pSizes: [^]DeviceSize, pStrides: [^]DeviceSize) +ProcCmdBindVertexBuffers2EXT :: #type proc "system" (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: [^]Buffer, pOffsets: [^]DeviceSize, pSizes: [^]DeviceSize, pStrides: [^]DeviceSize) +ProcCmdBlitImage :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]ImageBlit, filter: Filter) +ProcCmdBlitImage2 :: #type proc "system" (commandBuffer: CommandBuffer, pBlitImageInfo: ^BlitImageInfo2) +ProcCmdBlitImage2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pBlitImageInfo: ^BlitImageInfo2) +ProcCmdBuildAccelerationStructureNV :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^AccelerationStructureInfoNV, instanceData: Buffer, instanceOffset: DeviceSize, update: b32, dst: AccelerationStructureNV, src: AccelerationStructureNV, scratch: Buffer, scratchOffset: DeviceSize) +ProcCmdBuildAccelerationStructuresIndirectKHR :: #type proc "system" (commandBuffer: CommandBuffer, infoCount: u32, pInfos: [^]AccelerationStructureBuildGeometryInfoKHR, pIndirectDeviceAddresses: [^]DeviceAddress, pIndirectStrides: [^]u32, ppMaxPrimitiveCounts: ^[^]u32) +ProcCmdBuildAccelerationStructuresKHR :: #type proc "system" (commandBuffer: CommandBuffer, infoCount: u32, pInfos: [^]AccelerationStructureBuildGeometryInfoKHR, ppBuildRangeInfos: ^[^]AccelerationStructureBuildRangeInfoKHR) +ProcCmdBuildMicromapsEXT :: #type proc "system" (commandBuffer: CommandBuffer, infoCount: u32, pInfos: [^]MicromapBuildInfoEXT) +ProcCmdClearAttachments :: #type proc "system" (commandBuffer: CommandBuffer, attachmentCount: u32, pAttachments: [^]ClearAttachment, rectCount: u32, pRects: [^]ClearRect) +ProcCmdClearColorImage :: #type proc "system" (commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pColor: ^ClearColorValue, rangeCount: u32, pRanges: [^]ImageSubresourceRange) +ProcCmdClearDepthStencilImage :: #type proc "system" (commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pDepthStencil: ^ClearDepthStencilValue, rangeCount: u32, pRanges: [^]ImageSubresourceRange) +ProcCmdControlVideoCodingKHR :: #type proc "system" (commandBuffer: CommandBuffer, pCodingControlInfo: ^VideoCodingControlInfoKHR) +ProcCmdCopyAccelerationStructureKHR :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyAccelerationStructureInfoKHR) +ProcCmdCopyAccelerationStructureNV :: #type proc "system" (commandBuffer: CommandBuffer, dst: AccelerationStructureNV, src: AccelerationStructureNV, mode: CopyAccelerationStructureModeKHR) +ProcCmdCopyAccelerationStructureToMemoryKHR :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyAccelerationStructureToMemoryInfoKHR) +ProcCmdCopyBuffer :: #type proc "system" (commandBuffer: CommandBuffer, srcBuffer: Buffer, dstBuffer: Buffer, regionCount: u32, pRegions: [^]BufferCopy) +ProcCmdCopyBuffer2 :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferInfo: ^CopyBufferInfo2) +ProcCmdCopyBuffer2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferInfo: ^CopyBufferInfo2) +ProcCmdCopyBufferToImage :: #type proc "system" (commandBuffer: CommandBuffer, srcBuffer: Buffer, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]BufferImageCopy) +ProcCmdCopyBufferToImage2 :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferToImageInfo: ^CopyBufferToImageInfo2) +ProcCmdCopyBufferToImage2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pCopyBufferToImageInfo: ^CopyBufferToImageInfo2) +ProcCmdCopyImage :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]ImageCopy) +ProcCmdCopyImage2 :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageInfo: ^CopyImageInfo2) +ProcCmdCopyImage2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageInfo: ^CopyImageInfo2) +ProcCmdCopyImageToBuffer :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstBuffer: Buffer, regionCount: u32, pRegions: [^]BufferImageCopy) +ProcCmdCopyImageToBuffer2 :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageToBufferInfo: ^CopyImageToBufferInfo2) +ProcCmdCopyImageToBuffer2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pCopyImageToBufferInfo: ^CopyImageToBufferInfo2) +ProcCmdCopyMemoryIndirectNV :: #type proc "system" (commandBuffer: CommandBuffer, copyBufferAddress: DeviceAddress, copyCount: u32, stride: u32) +ProcCmdCopyMemoryToAccelerationStructureKHR :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyMemoryToAccelerationStructureInfoKHR) +ProcCmdCopyMemoryToImageIndirectNV :: #type proc "system" (commandBuffer: CommandBuffer, copyBufferAddress: DeviceAddress, copyCount: u32, stride: u32, dstImage: Image, dstImageLayout: ImageLayout, pImageSubresources: [^]ImageSubresourceLayers) +ProcCmdCopyMemoryToMicromapEXT :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyMemoryToMicromapInfoEXT) +ProcCmdCopyMicromapEXT :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyMicromapInfoEXT) +ProcCmdCopyMicromapToMemoryEXT :: #type proc "system" (commandBuffer: CommandBuffer, pInfo: ^CopyMicromapToMemoryInfoEXT) +ProcCmdCopyQueryPoolResults :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dstBuffer: Buffer, dstOffset: DeviceSize, stride: DeviceSize, flags: QueryResultFlags) +ProcCmdCuLaunchKernelNVX :: #type proc "system" (commandBuffer: CommandBuffer, pLaunchInfo: ^CuLaunchInfoNVX) +ProcCmdDebugMarkerBeginEXT :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^DebugMarkerMarkerInfoEXT) +ProcCmdDebugMarkerEndEXT :: #type proc "system" (commandBuffer: CommandBuffer) +ProcCmdDebugMarkerInsertEXT :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^DebugMarkerMarkerInfoEXT) +ProcCmdDecodeVideoKHR :: #type proc "system" (commandBuffer: CommandBuffer, pDecodeInfo: ^VideoDecodeInfoKHR) +ProcCmdDecompressMemoryIndirectCountNV :: #type proc "system" (commandBuffer: CommandBuffer, indirectCommandsAddress: DeviceAddress, indirectCommandsCountAddress: DeviceAddress, stride: u32) +ProcCmdDecompressMemoryNV :: #type proc "system" (commandBuffer: CommandBuffer, decompressRegionCount: u32, pDecompressMemoryRegions: [^]DecompressMemoryRegionNV) +ProcCmdDispatch :: #type proc "system" (commandBuffer: CommandBuffer, groupCountX: u32, groupCountY: u32, groupCountZ: u32) +ProcCmdDispatchBase :: #type proc "system" (commandBuffer: CommandBuffer, baseGroupX: u32, baseGroupY: u32, baseGroupZ: u32, groupCountX: u32, groupCountY: u32, groupCountZ: u32) +ProcCmdDispatchBaseKHR :: #type proc "system" (commandBuffer: CommandBuffer, baseGroupX: u32, baseGroupY: u32, baseGroupZ: u32, groupCountX: u32, groupCountY: u32, groupCountZ: u32) +ProcCmdDispatchIndirect :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize) +ProcCmdDraw :: #type proc "system" (commandBuffer: CommandBuffer, vertexCount: u32, instanceCount: u32, firstVertex: u32, firstInstance: u32) +ProcCmdDrawClusterHUAWEI :: #type proc "system" (commandBuffer: CommandBuffer, groupCountX: u32, groupCountY: u32, groupCountZ: u32) +ProcCmdDrawClusterIndirectHUAWEI :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize) +ProcCmdDrawIndexed :: #type proc "system" (commandBuffer: CommandBuffer, indexCount: u32, instanceCount: u32, firstIndex: u32, vertexOffset: i32, firstInstance: u32) +ProcCmdDrawIndexedIndirect :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32) +ProcCmdDrawIndexedIndirectCount :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32) +ProcCmdDrawIndexedIndirectCountAMD :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32) +ProcCmdDrawIndexedIndirectCountKHR :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32) +ProcCmdDrawIndirect :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32) +ProcCmdDrawIndirectByteCountEXT :: #type proc "system" (commandBuffer: CommandBuffer, instanceCount: u32, firstInstance: u32, counterBuffer: Buffer, counterBufferOffset: DeviceSize, counterOffset: u32, vertexStride: u32) +ProcCmdDrawIndirectCount :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32) +ProcCmdDrawIndirectCountAMD :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32) +ProcCmdDrawIndirectCountKHR :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32) +ProcCmdDrawMeshTasksEXT :: #type proc "system" (commandBuffer: CommandBuffer, groupCountX: u32, groupCountY: u32, groupCountZ: u32) +ProcCmdDrawMeshTasksIndirectCountEXT :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32) +ProcCmdDrawMeshTasksIndirectCountNV :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, countBuffer: Buffer, countBufferOffset: DeviceSize, maxDrawCount: u32, stride: u32) +ProcCmdDrawMeshTasksIndirectEXT :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32) +ProcCmdDrawMeshTasksIndirectNV :: #type proc "system" (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32) +ProcCmdDrawMeshTasksNV :: #type proc "system" (commandBuffer: CommandBuffer, taskCount: u32, firstTask: u32) +ProcCmdDrawMultiEXT :: #type proc "system" (commandBuffer: CommandBuffer, drawCount: u32, pVertexInfo: ^MultiDrawInfoEXT, instanceCount: u32, firstInstance: u32, stride: u32) +ProcCmdDrawMultiIndexedEXT :: #type proc "system" (commandBuffer: CommandBuffer, drawCount: u32, pIndexInfo: ^MultiDrawIndexedInfoEXT, instanceCount: u32, firstInstance: u32, stride: u32, pVertexOffset: ^i32) +ProcCmdEndConditionalRenderingEXT :: #type proc "system" (commandBuffer: CommandBuffer) +ProcCmdEndDebugUtilsLabelEXT :: #type proc "system" (commandBuffer: CommandBuffer) +ProcCmdEndQuery :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32) +ProcCmdEndQueryIndexedEXT :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, index: u32) +ProcCmdEndRenderPass :: #type proc "system" (commandBuffer: CommandBuffer) +ProcCmdEndRenderPass2 :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassEndInfo: ^SubpassEndInfo) +ProcCmdEndRenderPass2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassEndInfo: ^SubpassEndInfo) +ProcCmdEndRendering :: #type proc "system" (commandBuffer: CommandBuffer) +ProcCmdEndRenderingKHR :: #type proc "system" (commandBuffer: CommandBuffer) +ProcCmdEndTransformFeedbackEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstCounterBuffer: u32, counterBufferCount: u32, pCounterBuffers: [^]Buffer, pCounterBufferOffsets: [^]DeviceSize) +ProcCmdEndVideoCodingKHR :: #type proc "system" (commandBuffer: CommandBuffer, pEndCodingInfo: ^VideoEndCodingInfoKHR) +ProcCmdExecuteCommands :: #type proc "system" (commandBuffer: CommandBuffer, commandBufferCount: u32, pCommandBuffers: [^]CommandBuffer) +ProcCmdExecuteGeneratedCommandsNV :: #type proc "system" (commandBuffer: CommandBuffer, isPreprocessed: b32, pGeneratedCommandsInfo: ^GeneratedCommandsInfoNV) +ProcCmdFillBuffer :: #type proc "system" (commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, size: DeviceSize, data: u32) +ProcCmdInsertDebugUtilsLabelEXT :: #type proc "system" (commandBuffer: CommandBuffer, pLabelInfo: ^DebugUtilsLabelEXT) +ProcCmdNextSubpass :: #type proc "system" (commandBuffer: CommandBuffer, contents: SubpassContents) +ProcCmdNextSubpass2 :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassBeginInfo: ^SubpassBeginInfo, pSubpassEndInfo: ^SubpassEndInfo) +ProcCmdNextSubpass2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pSubpassBeginInfo: ^SubpassBeginInfo, pSubpassEndInfo: ^SubpassEndInfo) +ProcCmdOpticalFlowExecuteNV :: #type proc "system" (commandBuffer: CommandBuffer, session: OpticalFlowSessionNV, pExecuteInfo: ^OpticalFlowExecuteInfoNV) +ProcCmdPipelineBarrier :: #type proc "system" (commandBuffer: CommandBuffer, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, dependencyFlags: DependencyFlags, memoryBarrierCount: u32, pMemoryBarriers: [^]MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: [^]BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: [^]ImageMemoryBarrier) +ProcCmdPipelineBarrier2 :: #type proc "system" (commandBuffer: CommandBuffer, pDependencyInfo: ^DependencyInfo) +ProcCmdPipelineBarrier2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pDependencyInfo: ^DependencyInfo) +ProcCmdPreprocessGeneratedCommandsNV :: #type proc "system" (commandBuffer: CommandBuffer, pGeneratedCommandsInfo: ^GeneratedCommandsInfoNV) +ProcCmdPushConstants :: #type proc "system" (commandBuffer: CommandBuffer, layout: PipelineLayout, stageFlags: ShaderStageFlags, offset: u32, size: u32, pValues: rawptr) +ProcCmdPushDescriptorSetKHR :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, set: u32, descriptorWriteCount: u32, pDescriptorWrites: [^]WriteDescriptorSet) +ProcCmdPushDescriptorSetWithTemplateKHR :: #type proc "system" (commandBuffer: CommandBuffer, descriptorUpdateTemplate: DescriptorUpdateTemplate, layout: PipelineLayout, set: u32, pData: rawptr) +ProcCmdResetEvent :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags) +ProcCmdResetEvent2 :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags2) +ProcCmdResetEvent2KHR :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags2) +ProcCmdResetQueryPool :: #type proc "system" (commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32) +ProcCmdResolveImage :: #type proc "system" (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: [^]ImageResolve) +ProcCmdResolveImage2 :: #type proc "system" (commandBuffer: CommandBuffer, pResolveImageInfo: ^ResolveImageInfo2) +ProcCmdResolveImage2KHR :: #type proc "system" (commandBuffer: CommandBuffer, pResolveImageInfo: ^ResolveImageInfo2) +ProcCmdSetAlphaToCoverageEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, alphaToCoverageEnable: b32) +ProcCmdSetAlphaToOneEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, alphaToOneEnable: b32) +ProcCmdSetAttachmentFeedbackLoopEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, aspectMask: ImageAspectFlags) +ProcCmdSetBlendConstants :: #type proc "system" (commandBuffer: CommandBuffer) +ProcCmdSetCheckpointNV :: #type proc "system" (commandBuffer: CommandBuffer, pCheckpointMarker: rawptr) +ProcCmdSetCoarseSampleOrderNV :: #type proc "system" (commandBuffer: CommandBuffer, sampleOrderType: CoarseSampleOrderTypeNV, customSampleOrderCount: u32, pCustomSampleOrders: [^]CoarseSampleOrderCustomNV) +ProcCmdSetColorBlendAdvancedEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstAttachment: u32, attachmentCount: u32, pColorBlendAdvanced: ^ColorBlendAdvancedEXT) +ProcCmdSetColorBlendEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstAttachment: u32, attachmentCount: u32, pColorBlendEnables: [^]b32) +ProcCmdSetColorBlendEquationEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstAttachment: u32, attachmentCount: u32, pColorBlendEquations: [^]ColorBlendEquationEXT) +ProcCmdSetColorWriteMaskEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstAttachment: u32, attachmentCount: u32, pColorWriteMasks: [^]ColorComponentFlags) +ProcCmdSetConservativeRasterizationModeEXT :: #type proc "system" (commandBuffer: CommandBuffer, conservativeRasterizationMode: ConservativeRasterizationModeEXT) +ProcCmdSetCoverageModulationModeNV :: #type proc "system" (commandBuffer: CommandBuffer, coverageModulationMode: CoverageModulationModeNV) +ProcCmdSetCoverageModulationTableEnableNV :: #type proc "system" (commandBuffer: CommandBuffer, coverageModulationTableEnable: b32) +ProcCmdSetCoverageModulationTableNV :: #type proc "system" (commandBuffer: CommandBuffer, coverageModulationTableCount: u32, pCoverageModulationTable: [^]f32) +ProcCmdSetCoverageReductionModeNV :: #type proc "system" (commandBuffer: CommandBuffer, coverageReductionMode: CoverageReductionModeNV) +ProcCmdSetCoverageToColorEnableNV :: #type proc "system" (commandBuffer: CommandBuffer, coverageToColorEnable: b32) +ProcCmdSetCoverageToColorLocationNV :: #type proc "system" (commandBuffer: CommandBuffer, coverageToColorLocation: u32) +ProcCmdSetCullMode :: #type proc "system" (commandBuffer: CommandBuffer, cullMode: CullModeFlags) +ProcCmdSetCullModeEXT :: #type proc "system" (commandBuffer: CommandBuffer, cullMode: CullModeFlags) +ProcCmdSetDepthBias :: #type proc "system" (commandBuffer: CommandBuffer, depthBiasConstantFactor: f32, depthBiasClamp: f32, depthBiasSlopeFactor: f32) +ProcCmdSetDepthBiasEnable :: #type proc "system" (commandBuffer: CommandBuffer, depthBiasEnable: b32) +ProcCmdSetDepthBiasEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, depthBiasEnable: b32) +ProcCmdSetDepthBounds :: #type proc "system" (commandBuffer: CommandBuffer, minDepthBounds: f32, maxDepthBounds: f32) +ProcCmdSetDepthBoundsTestEnable :: #type proc "system" (commandBuffer: CommandBuffer, depthBoundsTestEnable: b32) +ProcCmdSetDepthBoundsTestEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, depthBoundsTestEnable: b32) +ProcCmdSetDepthClampEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, depthClampEnable: b32) +ProcCmdSetDepthClipEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, depthClipEnable: b32) +ProcCmdSetDepthClipNegativeOneToOneEXT :: #type proc "system" (commandBuffer: CommandBuffer, negativeOneToOne: b32) +ProcCmdSetDepthCompareOp :: #type proc "system" (commandBuffer: CommandBuffer, depthCompareOp: CompareOp) +ProcCmdSetDepthCompareOpEXT :: #type proc "system" (commandBuffer: CommandBuffer, depthCompareOp: CompareOp) +ProcCmdSetDepthTestEnable :: #type proc "system" (commandBuffer: CommandBuffer, depthTestEnable: b32) +ProcCmdSetDepthTestEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, depthTestEnable: b32) +ProcCmdSetDepthWriteEnable :: #type proc "system" (commandBuffer: CommandBuffer, depthWriteEnable: b32) +ProcCmdSetDepthWriteEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, depthWriteEnable: b32) +ProcCmdSetDescriptorBufferOffsetsEXT :: #type proc "system" (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, firstSet: u32, setCount: u32, pBufferIndices: [^]u32, pOffsets: [^]DeviceSize) +ProcCmdSetDeviceMask :: #type proc "system" (commandBuffer: CommandBuffer, deviceMask: u32) +ProcCmdSetDeviceMaskKHR :: #type proc "system" (commandBuffer: CommandBuffer, deviceMask: u32) +ProcCmdSetDiscardRectangleEXT :: #type proc "system" (commandBuffer: CommandBuffer, firstDiscardRectangle: u32, discardRectangleCount: u32, pDiscardRectangles: [^]Rect2D) +ProcCmdSetDiscardRectangleEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, discardRectangleEnable: b32) +ProcCmdSetDiscardRectangleModeEXT :: #type proc "system" (commandBuffer: CommandBuffer, discardRectangleMode: DiscardRectangleModeEXT) +ProcCmdSetEvent :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags) +ProcCmdSetEvent2 :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, pDependencyInfo: ^DependencyInfo) +ProcCmdSetEvent2KHR :: #type proc "system" (commandBuffer: CommandBuffer, event: Event, pDependencyInfo: ^DependencyInfo) +ProcCmdSetExclusiveScissorEnableNV :: #type proc "system" (commandBuffer: CommandBuffer, firstExclusiveScissor: u32, exclusiveScissorCount: u32, pExclusiveScissorEnables: [^]b32) +ProcCmdSetExclusiveScissorNV :: #type proc "system" (commandBuffer: CommandBuffer, firstExclusiveScissor: u32, exclusiveScissorCount: u32, pExclusiveScissors: [^]Rect2D) +ProcCmdSetExtraPrimitiveOverestimationSizeEXT :: #type proc "system" (commandBuffer: CommandBuffer, extraPrimitiveOverestimationSize: f32) +ProcCmdSetFragmentShadingRateEnumNV :: #type proc "system" (commandBuffer: CommandBuffer, shadingRate: FragmentShadingRateNV) +ProcCmdSetFragmentShadingRateKHR :: #type proc "system" (commandBuffer: CommandBuffer, pFragmentSize: ^Extent2D) +ProcCmdSetFrontFace :: #type proc "system" (commandBuffer: CommandBuffer, frontFace: FrontFace) +ProcCmdSetFrontFaceEXT :: #type proc "system" (commandBuffer: CommandBuffer, frontFace: FrontFace) +ProcCmdSetLineRasterizationModeEXT :: #type proc "system" (commandBuffer: CommandBuffer, lineRasterizationMode: LineRasterizationModeEXT) +ProcCmdSetLineStippleEXT :: #type proc "system" (commandBuffer: CommandBuffer, lineStippleFactor: u32, lineStipplePattern: u16) +ProcCmdSetLineStippleEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, stippledLineEnable: b32) +ProcCmdSetLineWidth :: #type proc "system" (commandBuffer: CommandBuffer, lineWidth: f32) +ProcCmdSetLogicOpEXT :: #type proc "system" (commandBuffer: CommandBuffer, logicOp: LogicOp) +ProcCmdSetLogicOpEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, logicOpEnable: b32) +ProcCmdSetPatchControlPointsEXT :: #type proc "system" (commandBuffer: CommandBuffer, patchControlPoints: u32) +ProcCmdSetPerformanceMarkerINTEL :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^PerformanceMarkerInfoINTEL) -> Result +ProcCmdSetPerformanceOverrideINTEL :: #type proc "system" (commandBuffer: CommandBuffer, pOverrideInfo: ^PerformanceOverrideInfoINTEL) -> Result +ProcCmdSetPerformanceStreamMarkerINTEL :: #type proc "system" (commandBuffer: CommandBuffer, pMarkerInfo: ^PerformanceStreamMarkerInfoINTEL) -> Result +ProcCmdSetPolygonModeEXT :: #type proc "system" (commandBuffer: CommandBuffer, polygonMode: PolygonMode) +ProcCmdSetPrimitiveRestartEnable :: #type proc "system" (commandBuffer: CommandBuffer, primitiveRestartEnable: b32) +ProcCmdSetPrimitiveRestartEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, primitiveRestartEnable: b32) +ProcCmdSetPrimitiveTopology :: #type proc "system" (commandBuffer: CommandBuffer, primitiveTopology: PrimitiveTopology) +ProcCmdSetPrimitiveTopologyEXT :: #type proc "system" (commandBuffer: CommandBuffer, primitiveTopology: PrimitiveTopology) +ProcCmdSetProvokingVertexModeEXT :: #type proc "system" (commandBuffer: CommandBuffer, provokingVertexMode: ProvokingVertexModeEXT) +ProcCmdSetRasterizationSamplesEXT :: #type proc "system" (commandBuffer: CommandBuffer, rasterizationSamples: SampleCountFlags) +ProcCmdSetRasterizationStreamEXT :: #type proc "system" (commandBuffer: CommandBuffer, rasterizationStream: u32) +ProcCmdSetRasterizerDiscardEnable :: #type proc "system" (commandBuffer: CommandBuffer, rasterizerDiscardEnable: b32) +ProcCmdSetRasterizerDiscardEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, rasterizerDiscardEnable: b32) +ProcCmdSetRayTracingPipelineStackSizeKHR :: #type proc "system" (commandBuffer: CommandBuffer, pipelineStackSize: u32) +ProcCmdSetRepresentativeFragmentTestEnableNV :: #type proc "system" (commandBuffer: CommandBuffer, representativeFragmentTestEnable: b32) +ProcCmdSetSampleLocationsEXT :: #type proc "system" (commandBuffer: CommandBuffer, pSampleLocationsInfo: ^SampleLocationsInfoEXT) +ProcCmdSetSampleLocationsEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, sampleLocationsEnable: b32) +ProcCmdSetSampleMaskEXT :: #type proc "system" (commandBuffer: CommandBuffer, samples: SampleCountFlags, pSampleMask: ^SampleMask) +ProcCmdSetScissor :: #type proc "system" (commandBuffer: CommandBuffer, firstScissor: u32, scissorCount: u32, pScissors: [^]Rect2D) +ProcCmdSetScissorWithCount :: #type proc "system" (commandBuffer: CommandBuffer, scissorCount: u32, pScissors: [^]Rect2D) +ProcCmdSetScissorWithCountEXT :: #type proc "system" (commandBuffer: CommandBuffer, scissorCount: u32, pScissors: [^]Rect2D) +ProcCmdSetShadingRateImageEnableNV :: #type proc "system" (commandBuffer: CommandBuffer, shadingRateImageEnable: b32) +ProcCmdSetStencilCompareMask :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, compareMask: u32) +ProcCmdSetStencilOp :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, failOp: StencilOp, passOp: StencilOp, depthFailOp: StencilOp, compareOp: CompareOp) +ProcCmdSetStencilOpEXT :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, failOp: StencilOp, passOp: StencilOp, depthFailOp: StencilOp, compareOp: CompareOp) +ProcCmdSetStencilReference :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, reference: u32) +ProcCmdSetStencilTestEnable :: #type proc "system" (commandBuffer: CommandBuffer, stencilTestEnable: b32) +ProcCmdSetStencilTestEnableEXT :: #type proc "system" (commandBuffer: CommandBuffer, stencilTestEnable: b32) +ProcCmdSetStencilWriteMask :: #type proc "system" (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, writeMask: u32) +ProcCmdSetTessellationDomainOriginEXT :: #type proc "system" (commandBuffer: CommandBuffer, domainOrigin: TessellationDomainOrigin) +ProcCmdSetVertexInputEXT :: #type proc "system" (commandBuffer: CommandBuffer, vertexBindingDescriptionCount: u32, pVertexBindingDescriptions: [^]VertexInputBindingDescription2EXT, vertexAttributeDescriptionCount: u32, pVertexAttributeDescriptions: [^]VertexInputAttributeDescription2EXT) +ProcCmdSetViewport :: #type proc "system" (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewports: [^]Viewport) +ProcCmdSetViewportShadingRatePaletteNV :: #type proc "system" (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pShadingRatePalettes: [^]ShadingRatePaletteNV) +ProcCmdSetViewportSwizzleNV :: #type proc "system" (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewportSwizzles: [^]ViewportSwizzleNV) +ProcCmdSetViewportWScalingEnableNV :: #type proc "system" (commandBuffer: CommandBuffer, viewportWScalingEnable: b32) +ProcCmdSetViewportWScalingNV :: #type proc "system" (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewportWScalings: [^]ViewportWScalingNV) +ProcCmdSetViewportWithCount :: #type proc "system" (commandBuffer: CommandBuffer, viewportCount: u32, pViewports: [^]Viewport) +ProcCmdSetViewportWithCountEXT :: #type proc "system" (commandBuffer: CommandBuffer, viewportCount: u32, pViewports: [^]Viewport) +ProcCmdSubpassShadingHUAWEI :: #type proc "system" (commandBuffer: CommandBuffer) +ProcCmdTraceRaysIndirect2KHR :: #type proc "system" (commandBuffer: CommandBuffer, indirectDeviceAddress: DeviceAddress) +ProcCmdTraceRaysIndirectKHR :: #type proc "system" (commandBuffer: CommandBuffer, pRaygenShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pMissShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pHitShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pCallableShaderBindingTable: [^]StridedDeviceAddressRegionKHR, indirectDeviceAddress: DeviceAddress) +ProcCmdTraceRaysKHR :: #type proc "system" (commandBuffer: CommandBuffer, pRaygenShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pMissShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pHitShaderBindingTable: [^]StridedDeviceAddressRegionKHR, pCallableShaderBindingTable: [^]StridedDeviceAddressRegionKHR, width: u32, height: u32, depth: u32) +ProcCmdTraceRaysNV :: #type proc "system" (commandBuffer: CommandBuffer, raygenShaderBindingTableBuffer: Buffer, raygenShaderBindingOffset: DeviceSize, missShaderBindingTableBuffer: Buffer, missShaderBindingOffset: DeviceSize, missShaderBindingStride: DeviceSize, hitShaderBindingTableBuffer: Buffer, hitShaderBindingOffset: DeviceSize, hitShaderBindingStride: DeviceSize, callableShaderBindingTableBuffer: Buffer, callableShaderBindingOffset: DeviceSize, callableShaderBindingStride: DeviceSize, width: u32, height: u32, depth: u32) +ProcCmdUpdateBuffer :: #type proc "system" (commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, dataSize: DeviceSize, pData: rawptr) +ProcCmdWaitEvents :: #type proc "system" (commandBuffer: CommandBuffer, eventCount: u32, pEvents: [^]Event, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, memoryBarrierCount: u32, pMemoryBarriers: [^]MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: [^]BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: [^]ImageMemoryBarrier) +ProcCmdWaitEvents2 :: #type proc "system" (commandBuffer: CommandBuffer, eventCount: u32, pEvents: [^]Event, pDependencyInfos: [^]DependencyInfo) +ProcCmdWaitEvents2KHR :: #type proc "system" (commandBuffer: CommandBuffer, eventCount: u32, pEvents: [^]Event, pDependencyInfos: [^]DependencyInfo) +ProcCmdWriteAccelerationStructuresPropertiesKHR :: #type proc "system" (commandBuffer: CommandBuffer, accelerationStructureCount: u32, pAccelerationStructures: [^]AccelerationStructureKHR, queryType: QueryType, queryPool: QueryPool, firstQuery: u32) +ProcCmdWriteAccelerationStructuresPropertiesNV :: #type proc "system" (commandBuffer: CommandBuffer, accelerationStructureCount: u32, pAccelerationStructures: [^]AccelerationStructureNV, queryType: QueryType, queryPool: QueryPool, firstQuery: u32) +ProcCmdWriteBufferMarker2AMD :: #type proc "system" (commandBuffer: CommandBuffer, stage: PipelineStageFlags2, dstBuffer: Buffer, dstOffset: DeviceSize, marker: u32) +ProcCmdWriteBufferMarkerAMD :: #type proc "system" (commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlags, dstBuffer: Buffer, dstOffset: DeviceSize, marker: u32) +ProcCmdWriteMicromapsPropertiesEXT :: #type proc "system" (commandBuffer: CommandBuffer, micromapCount: u32, pMicromaps: [^]MicromapEXT, queryType: QueryType, queryPool: QueryPool, firstQuery: u32) +ProcCmdWriteTimestamp :: #type proc "system" (commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlags, queryPool: QueryPool, query: u32) +ProcCmdWriteTimestamp2 :: #type proc "system" (commandBuffer: CommandBuffer, stage: PipelineStageFlags2, queryPool: QueryPool, query: u32) +ProcCmdWriteTimestamp2KHR :: #type proc "system" (commandBuffer: CommandBuffer, stage: PipelineStageFlags2, queryPool: QueryPool, query: u32) +ProcCompileDeferredNV :: #type proc "system" (device: Device, pipeline: Pipeline, shader: u32) -> Result +ProcCopyAccelerationStructureKHR :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyAccelerationStructureInfoKHR) -> Result +ProcCopyAccelerationStructureToMemoryKHR :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyAccelerationStructureToMemoryInfoKHR) -> Result +ProcCopyMemoryToAccelerationStructureKHR :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyMemoryToAccelerationStructureInfoKHR) -> Result +ProcCopyMemoryToMicromapEXT :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyMemoryToMicromapInfoEXT) -> Result +ProcCopyMicromapEXT :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyMicromapInfoEXT) -> Result +ProcCopyMicromapToMemoryEXT :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pInfo: ^CopyMicromapToMemoryInfoEXT) -> Result +ProcCreateAccelerationStructureKHR :: #type proc "system" (device: Device, pCreateInfo: ^AccelerationStructureCreateInfoKHR, pAllocator: ^AllocationCallbacks, pAccelerationStructure: ^AccelerationStructureKHR) -> Result +ProcCreateAccelerationStructureNV :: #type proc "system" (device: Device, pCreateInfo: ^AccelerationStructureCreateInfoNV, pAllocator: ^AllocationCallbacks, pAccelerationStructure: ^AccelerationStructureNV) -> Result +ProcCreateBuffer :: #type proc "system" (device: Device, pCreateInfo: ^BufferCreateInfo, pAllocator: ^AllocationCallbacks, pBuffer: ^Buffer) -> Result +ProcCreateBufferView :: #type proc "system" (device: Device, pCreateInfo: ^BufferViewCreateInfo, pAllocator: ^AllocationCallbacks, pView: ^BufferView) -> Result +ProcCreateCommandPool :: #type proc "system" (device: Device, pCreateInfo: ^CommandPoolCreateInfo, pAllocator: ^AllocationCallbacks, pCommandPool: ^CommandPool) -> Result +ProcCreateComputePipelines :: #type proc "system" (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]ComputePipelineCreateInfo, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result +ProcCreateCuFunctionNVX :: #type proc "system" (device: Device, pCreateInfo: ^CuFunctionCreateInfoNVX, pAllocator: ^AllocationCallbacks, pFunction: ^CuFunctionNVX) -> Result +ProcCreateCuModuleNVX :: #type proc "system" (device: Device, pCreateInfo: ^CuModuleCreateInfoNVX, pAllocator: ^AllocationCallbacks, pModule: ^CuModuleNVX) -> Result +ProcCreateDeferredOperationKHR :: #type proc "system" (device: Device, pAllocator: ^AllocationCallbacks, pDeferredOperation: ^DeferredOperationKHR) -> Result +ProcCreateDescriptorPool :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorPoolCreateInfo, pAllocator: ^AllocationCallbacks, pDescriptorPool: ^DescriptorPool) -> Result +ProcCreateDescriptorSetLayout :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorSetLayoutCreateInfo, pAllocator: ^AllocationCallbacks, pSetLayout: ^DescriptorSetLayout) -> Result +ProcCreateDescriptorUpdateTemplate :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorUpdateTemplateCreateInfo, pAllocator: ^AllocationCallbacks, pDescriptorUpdateTemplate: ^DescriptorUpdateTemplate) -> Result +ProcCreateDescriptorUpdateTemplateKHR :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorUpdateTemplateCreateInfo, pAllocator: ^AllocationCallbacks, pDescriptorUpdateTemplate: ^DescriptorUpdateTemplate) -> Result +ProcCreateEvent :: #type proc "system" (device: Device, pCreateInfo: ^EventCreateInfo, pAllocator: ^AllocationCallbacks, pEvent: ^Event) -> Result +ProcCreateFence :: #type proc "system" (device: Device, pCreateInfo: ^FenceCreateInfo, pAllocator: ^AllocationCallbacks, pFence: ^Fence) -> Result +ProcCreateFramebuffer :: #type proc "system" (device: Device, pCreateInfo: ^FramebufferCreateInfo, pAllocator: ^AllocationCallbacks, pFramebuffer: ^Framebuffer) -> Result +ProcCreateGraphicsPipelines :: #type proc "system" (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]GraphicsPipelineCreateInfo, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result +ProcCreateImage :: #type proc "system" (device: Device, pCreateInfo: ^ImageCreateInfo, pAllocator: ^AllocationCallbacks, pImage: ^Image) -> Result +ProcCreateImageView :: #type proc "system" (device: Device, pCreateInfo: ^ImageViewCreateInfo, pAllocator: ^AllocationCallbacks, pView: ^ImageView) -> Result +ProcCreateIndirectCommandsLayoutNV :: #type proc "system" (device: Device, pCreateInfo: ^IndirectCommandsLayoutCreateInfoNV, pAllocator: ^AllocationCallbacks, pIndirectCommandsLayout: ^IndirectCommandsLayoutNV) -> Result +ProcCreateMicromapEXT :: #type proc "system" (device: Device, pCreateInfo: ^MicromapCreateInfoEXT, pAllocator: ^AllocationCallbacks, pMicromap: ^MicromapEXT) -> Result +ProcCreateOpticalFlowSessionNV :: #type proc "system" (device: Device, pCreateInfo: ^OpticalFlowSessionCreateInfoNV, pAllocator: ^AllocationCallbacks, pSession: ^OpticalFlowSessionNV) -> Result +ProcCreatePipelineCache :: #type proc "system" (device: Device, pCreateInfo: ^PipelineCacheCreateInfo, pAllocator: ^AllocationCallbacks, pPipelineCache: ^PipelineCache) -> Result +ProcCreatePipelineLayout :: #type proc "system" (device: Device, pCreateInfo: ^PipelineLayoutCreateInfo, pAllocator: ^AllocationCallbacks, pPipelineLayout: ^PipelineLayout) -> Result +ProcCreatePrivateDataSlot :: #type proc "system" (device: Device, pCreateInfo: ^PrivateDataSlotCreateInfo, pAllocator: ^AllocationCallbacks, pPrivateDataSlot: ^PrivateDataSlot) -> Result +ProcCreatePrivateDataSlotEXT :: #type proc "system" (device: Device, pCreateInfo: ^PrivateDataSlotCreateInfo, pAllocator: ^AllocationCallbacks, pPrivateDataSlot: ^PrivateDataSlot) -> Result +ProcCreateQueryPool :: #type proc "system" (device: Device, pCreateInfo: ^QueryPoolCreateInfo, pAllocator: ^AllocationCallbacks, pQueryPool: ^QueryPool) -> Result +ProcCreateRayTracingPipelinesKHR :: #type proc "system" (device: Device, deferredOperation: DeferredOperationKHR, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]RayTracingPipelineCreateInfoKHR, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result +ProcCreateRayTracingPipelinesNV :: #type proc "system" (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: [^]RayTracingPipelineCreateInfoNV, pAllocator: ^AllocationCallbacks, pPipelines: [^]Pipeline) -> Result +ProcCreateRenderPass :: #type proc "system" (device: Device, pCreateInfo: ^RenderPassCreateInfo, pAllocator: ^AllocationCallbacks, pRenderPass: [^]RenderPass) -> Result +ProcCreateRenderPass2 :: #type proc "system" (device: Device, pCreateInfo: ^RenderPassCreateInfo2, pAllocator: ^AllocationCallbacks, pRenderPass: [^]RenderPass) -> Result +ProcCreateRenderPass2KHR :: #type proc "system" (device: Device, pCreateInfo: ^RenderPassCreateInfo2, pAllocator: ^AllocationCallbacks, pRenderPass: [^]RenderPass) -> Result +ProcCreateSampler :: #type proc "system" (device: Device, pCreateInfo: ^SamplerCreateInfo, pAllocator: ^AllocationCallbacks, pSampler: ^Sampler) -> Result +ProcCreateSamplerYcbcrConversion :: #type proc "system" (device: Device, pCreateInfo: ^SamplerYcbcrConversionCreateInfo, pAllocator: ^AllocationCallbacks, pYcbcrConversion: ^SamplerYcbcrConversion) -> Result +ProcCreateSamplerYcbcrConversionKHR :: #type proc "system" (device: Device, pCreateInfo: ^SamplerYcbcrConversionCreateInfo, pAllocator: ^AllocationCallbacks, pYcbcrConversion: ^SamplerYcbcrConversion) -> Result +ProcCreateSemaphore :: #type proc "system" (device: Device, pCreateInfo: ^SemaphoreCreateInfo, pAllocator: ^AllocationCallbacks, pSemaphore: ^Semaphore) -> Result +ProcCreateShaderModule :: #type proc "system" (device: Device, pCreateInfo: ^ShaderModuleCreateInfo, pAllocator: ^AllocationCallbacks, pShaderModule: ^ShaderModule) -> Result +ProcCreateShadersEXT :: #type proc "system" (device: Device, createInfoCount: u32, pCreateInfos: [^]ShaderCreateInfoEXT, pAllocator: ^AllocationCallbacks, pShaders: [^]ShaderEXT) -> Result +ProcCreateSharedSwapchainsKHR :: #type proc "system" (device: Device, swapchainCount: u32, pCreateInfos: [^]SwapchainCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSwapchains: [^]SwapchainKHR) -> Result +ProcCreateSwapchainKHR :: #type proc "system" (device: Device, pCreateInfo: ^SwapchainCreateInfoKHR, pAllocator: ^AllocationCallbacks, pSwapchain: ^SwapchainKHR) -> Result +ProcCreateValidationCacheEXT :: #type proc "system" (device: Device, pCreateInfo: ^ValidationCacheCreateInfoEXT, pAllocator: ^AllocationCallbacks, pValidationCache: ^ValidationCacheEXT) -> Result +ProcCreateVideoSessionKHR :: #type proc "system" (device: Device, pCreateInfo: ^VideoSessionCreateInfoKHR, pAllocator: ^AllocationCallbacks, pVideoSession: ^VideoSessionKHR) -> Result +ProcCreateVideoSessionParametersKHR :: #type proc "system" (device: Device, pCreateInfo: ^VideoSessionParametersCreateInfoKHR, pAllocator: ^AllocationCallbacks, pVideoSessionParameters: [^]VideoSessionParametersKHR) -> Result +ProcDebugMarkerSetObjectNameEXT :: #type proc "system" (device: Device, pNameInfo: ^DebugMarkerObjectNameInfoEXT) -> Result +ProcDebugMarkerSetObjectTagEXT :: #type proc "system" (device: Device, pTagInfo: ^DebugMarkerObjectTagInfoEXT) -> Result +ProcDeferredOperationJoinKHR :: #type proc "system" (device: Device, operation: DeferredOperationKHR) -> Result +ProcDestroyAccelerationStructureKHR :: #type proc "system" (device: Device, accelerationStructure: AccelerationStructureKHR, pAllocator: ^AllocationCallbacks) +ProcDestroyAccelerationStructureNV :: #type proc "system" (device: Device, accelerationStructure: AccelerationStructureNV, pAllocator: ^AllocationCallbacks) +ProcDestroyBuffer :: #type proc "system" (device: Device, buffer: Buffer, pAllocator: ^AllocationCallbacks) +ProcDestroyBufferView :: #type proc "system" (device: Device, bufferView: BufferView, pAllocator: ^AllocationCallbacks) +ProcDestroyCommandPool :: #type proc "system" (device: Device, commandPool: CommandPool, pAllocator: ^AllocationCallbacks) +ProcDestroyCuFunctionNVX :: #type proc "system" (device: Device, function: CuFunctionNVX, pAllocator: ^AllocationCallbacks) +ProcDestroyCuModuleNVX :: #type proc "system" (device: Device, module: CuModuleNVX, pAllocator: ^AllocationCallbacks) +ProcDestroyDeferredOperationKHR :: #type proc "system" (device: Device, operation: DeferredOperationKHR, pAllocator: ^AllocationCallbacks) +ProcDestroyDescriptorPool :: #type proc "system" (device: Device, descriptorPool: DescriptorPool, pAllocator: ^AllocationCallbacks) +ProcDestroyDescriptorSetLayout :: #type proc "system" (device: Device, descriptorSetLayout: DescriptorSetLayout, pAllocator: ^AllocationCallbacks) +ProcDestroyDescriptorUpdateTemplate :: #type proc "system" (device: Device, descriptorUpdateTemplate: DescriptorUpdateTemplate, pAllocator: ^AllocationCallbacks) +ProcDestroyDescriptorUpdateTemplateKHR :: #type proc "system" (device: Device, descriptorUpdateTemplate: DescriptorUpdateTemplate, pAllocator: ^AllocationCallbacks) +ProcDestroyDevice :: #type proc "system" (device: Device, pAllocator: ^AllocationCallbacks) +ProcDestroyEvent :: #type proc "system" (device: Device, event: Event, pAllocator: ^AllocationCallbacks) +ProcDestroyFence :: #type proc "system" (device: Device, fence: Fence, pAllocator: ^AllocationCallbacks) +ProcDestroyFramebuffer :: #type proc "system" (device: Device, framebuffer: Framebuffer, pAllocator: ^AllocationCallbacks) +ProcDestroyImage :: #type proc "system" (device: Device, image: Image, pAllocator: ^AllocationCallbacks) +ProcDestroyImageView :: #type proc "system" (device: Device, imageView: ImageView, pAllocator: ^AllocationCallbacks) +ProcDestroyIndirectCommandsLayoutNV :: #type proc "system" (device: Device, indirectCommandsLayout: IndirectCommandsLayoutNV, pAllocator: ^AllocationCallbacks) +ProcDestroyMicromapEXT :: #type proc "system" (device: Device, micromap: MicromapEXT, pAllocator: ^AllocationCallbacks) +ProcDestroyOpticalFlowSessionNV :: #type proc "system" (device: Device, session: OpticalFlowSessionNV, pAllocator: ^AllocationCallbacks) +ProcDestroyPipeline :: #type proc "system" (device: Device, pipeline: Pipeline, pAllocator: ^AllocationCallbacks) +ProcDestroyPipelineCache :: #type proc "system" (device: Device, pipelineCache: PipelineCache, pAllocator: ^AllocationCallbacks) +ProcDestroyPipelineLayout :: #type proc "system" (device: Device, pipelineLayout: PipelineLayout, pAllocator: ^AllocationCallbacks) +ProcDestroyPrivateDataSlot :: #type proc "system" (device: Device, privateDataSlot: PrivateDataSlot, pAllocator: ^AllocationCallbacks) +ProcDestroyPrivateDataSlotEXT :: #type proc "system" (device: Device, privateDataSlot: PrivateDataSlot, pAllocator: ^AllocationCallbacks) +ProcDestroyQueryPool :: #type proc "system" (device: Device, queryPool: QueryPool, pAllocator: ^AllocationCallbacks) +ProcDestroyRenderPass :: #type proc "system" (device: Device, renderPass: RenderPass, pAllocator: ^AllocationCallbacks) +ProcDestroySampler :: #type proc "system" (device: Device, sampler: Sampler, pAllocator: ^AllocationCallbacks) +ProcDestroySamplerYcbcrConversion :: #type proc "system" (device: Device, ycbcrConversion: SamplerYcbcrConversion, pAllocator: ^AllocationCallbacks) +ProcDestroySamplerYcbcrConversionKHR :: #type proc "system" (device: Device, ycbcrConversion: SamplerYcbcrConversion, pAllocator: ^AllocationCallbacks) +ProcDestroySemaphore :: #type proc "system" (device: Device, semaphore: Semaphore, pAllocator: ^AllocationCallbacks) +ProcDestroyShaderEXT :: #type proc "system" (device: Device, shader: ShaderEXT, pAllocator: ^AllocationCallbacks) +ProcDestroyShaderModule :: #type proc "system" (device: Device, shaderModule: ShaderModule, pAllocator: ^AllocationCallbacks) +ProcDestroySwapchainKHR :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pAllocator: ^AllocationCallbacks) +ProcDestroyValidationCacheEXT :: #type proc "system" (device: Device, validationCache: ValidationCacheEXT, pAllocator: ^AllocationCallbacks) +ProcDestroyVideoSessionKHR :: #type proc "system" (device: Device, videoSession: VideoSessionKHR, pAllocator: ^AllocationCallbacks) +ProcDestroyVideoSessionParametersKHR :: #type proc "system" (device: Device, videoSessionParameters: VideoSessionParametersKHR, pAllocator: ^AllocationCallbacks) +ProcDeviceWaitIdle :: #type proc "system" (device: Device) -> Result +ProcDisplayPowerControlEXT :: #type proc "system" (device: Device, display: DisplayKHR, pDisplayPowerInfo: ^DisplayPowerInfoEXT) -> Result +ProcEndCommandBuffer :: #type proc "system" (commandBuffer: CommandBuffer) -> Result +ProcExportMetalObjectsEXT :: #type proc "system" (device: Device, pMetalObjectsInfo: ^ExportMetalObjectsInfoEXT) +ProcFlushMappedMemoryRanges :: #type proc "system" (device: Device, memoryRangeCount: u32, pMemoryRanges: [^]MappedMemoryRange) -> Result +ProcFreeCommandBuffers :: #type proc "system" (device: Device, commandPool: CommandPool, commandBufferCount: u32, pCommandBuffers: [^]CommandBuffer) +ProcFreeDescriptorSets :: #type proc "system" (device: Device, descriptorPool: DescriptorPool, descriptorSetCount: u32, pDescriptorSets: [^]DescriptorSet) -> Result +ProcFreeMemory :: #type proc "system" (device: Device, memory: DeviceMemory, pAllocator: ^AllocationCallbacks) +ProcGetAccelerationStructureBuildSizesKHR :: #type proc "system" (device: Device, buildType: AccelerationStructureBuildTypeKHR, pBuildInfo: ^AccelerationStructureBuildGeometryInfoKHR, pMaxPrimitiveCounts: [^]u32, pSizeInfo: ^AccelerationStructureBuildSizesInfoKHR) +ProcGetAccelerationStructureDeviceAddressKHR :: #type proc "system" (device: Device, pInfo: ^AccelerationStructureDeviceAddressInfoKHR) -> DeviceAddress +ProcGetAccelerationStructureHandleNV :: #type proc "system" (device: Device, accelerationStructure: AccelerationStructureNV, dataSize: int, pData: rawptr) -> Result +ProcGetAccelerationStructureMemoryRequirementsNV :: #type proc "system" (device: Device, pInfo: ^AccelerationStructureMemoryRequirementsInfoNV, pMemoryRequirements: [^]MemoryRequirements2KHR) +ProcGetAccelerationStructureOpaqueCaptureDescriptorDataEXT :: #type proc "system" (device: Device, pInfo: ^AccelerationStructureCaptureDescriptorDataInfoEXT, pData: rawptr) -> Result +ProcGetBufferDeviceAddress :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> DeviceAddress +ProcGetBufferDeviceAddressEXT :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> DeviceAddress +ProcGetBufferDeviceAddressKHR :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> DeviceAddress +ProcGetBufferMemoryRequirements :: #type proc "system" (device: Device, buffer: Buffer, pMemoryRequirements: [^]MemoryRequirements) +ProcGetBufferMemoryRequirements2 :: #type proc "system" (device: Device, pInfo: ^BufferMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2) +ProcGetBufferMemoryRequirements2KHR :: #type proc "system" (device: Device, pInfo: ^BufferMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2) +ProcGetBufferOpaqueCaptureAddress :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> u64 +ProcGetBufferOpaqueCaptureAddressKHR :: #type proc "system" (device: Device, pInfo: ^BufferDeviceAddressInfo) -> u64 +ProcGetBufferOpaqueCaptureDescriptorDataEXT :: #type proc "system" (device: Device, pInfo: ^BufferCaptureDescriptorDataInfoEXT, pData: rawptr) -> Result +ProcGetCalibratedTimestampsEXT :: #type proc "system" (device: Device, timestampCount: u32, pTimestampInfos: [^]CalibratedTimestampInfoEXT, pTimestamps: [^]u64, pMaxDeviation: ^u64) -> Result +ProcGetDeferredOperationMaxConcurrencyKHR :: #type proc "system" (device: Device, operation: DeferredOperationKHR) -> u32 +ProcGetDeferredOperationResultKHR :: #type proc "system" (device: Device, operation: DeferredOperationKHR) -> Result +ProcGetDescriptorEXT :: #type proc "system" (device: Device, pDescriptorInfo: ^DescriptorGetInfoEXT, dataSize: int, pDescriptor: rawptr) +ProcGetDescriptorSetHostMappingVALVE :: #type proc "system" (device: Device, descriptorSet: DescriptorSet, ppData: ^rawptr) +ProcGetDescriptorSetLayoutBindingOffsetEXT :: #type proc "system" (device: Device, layout: DescriptorSetLayout, binding: u32, pOffset: ^DeviceSize) +ProcGetDescriptorSetLayoutHostMappingInfoVALVE :: #type proc "system" (device: Device, pBindingReference: ^DescriptorSetBindingReferenceVALVE, pHostMapping: ^DescriptorSetLayoutHostMappingInfoVALVE) +ProcGetDescriptorSetLayoutSizeEXT :: #type proc "system" (device: Device, layout: DescriptorSetLayout, pLayoutSizeInBytes: [^]DeviceSize) +ProcGetDescriptorSetLayoutSupport :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorSetLayoutCreateInfo, pSupport: ^DescriptorSetLayoutSupport) +ProcGetDescriptorSetLayoutSupportKHR :: #type proc "system" (device: Device, pCreateInfo: ^DescriptorSetLayoutCreateInfo, pSupport: ^DescriptorSetLayoutSupport) +ProcGetDeviceAccelerationStructureCompatibilityKHR :: #type proc "system" (device: Device, pVersionInfo: ^AccelerationStructureVersionInfoKHR, pCompatibility: ^AccelerationStructureCompatibilityKHR) +ProcGetDeviceBufferMemoryRequirements :: #type proc "system" (device: Device, pInfo: ^DeviceBufferMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2) +ProcGetDeviceBufferMemoryRequirementsKHR :: #type proc "system" (device: Device, pInfo: ^DeviceBufferMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2) +ProcGetDeviceFaultInfoEXT :: #type proc "system" (device: Device, pFaultCounts: [^]DeviceFaultCountsEXT, pFaultInfo: ^DeviceFaultInfoEXT) -> Result +ProcGetDeviceGroupPeerMemoryFeatures :: #type proc "system" (device: Device, heapIndex: u32, localDeviceIndex: u32, remoteDeviceIndex: u32, pPeerMemoryFeatures: [^]PeerMemoryFeatureFlags) +ProcGetDeviceGroupPeerMemoryFeaturesKHR :: #type proc "system" (device: Device, heapIndex: u32, localDeviceIndex: u32, remoteDeviceIndex: u32, pPeerMemoryFeatures: [^]PeerMemoryFeatureFlags) +ProcGetDeviceGroupPresentCapabilitiesKHR :: #type proc "system" (device: Device, pDeviceGroupPresentCapabilities: [^]DeviceGroupPresentCapabilitiesKHR) -> Result +ProcGetDeviceGroupSurfacePresentModes2EXT :: #type proc "system" (device: Device, pSurfaceInfo: ^PhysicalDeviceSurfaceInfo2KHR, pModes: [^]DeviceGroupPresentModeFlagsKHR) -> Result +ProcGetDeviceGroupSurfacePresentModesKHR :: #type proc "system" (device: Device, surface: SurfaceKHR, pModes: [^]DeviceGroupPresentModeFlagsKHR) -> Result +ProcGetDeviceImageMemoryRequirements :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2) +ProcGetDeviceImageMemoryRequirementsKHR :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pMemoryRequirements: [^]MemoryRequirements2) +ProcGetDeviceImageSparseMemoryRequirements :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2) +ProcGetDeviceImageSparseMemoryRequirementsKHR :: #type proc "system" (device: Device, pInfo: ^DeviceImageMemoryRequirements, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2) +ProcGetDeviceMemoryCommitment :: #type proc "system" (device: Device, memory: DeviceMemory, pCommittedMemoryInBytes: [^]DeviceSize) +ProcGetDeviceMemoryOpaqueCaptureAddress :: #type proc "system" (device: Device, pInfo: ^DeviceMemoryOpaqueCaptureAddressInfo) -> u64 +ProcGetDeviceMemoryOpaqueCaptureAddressKHR :: #type proc "system" (device: Device, pInfo: ^DeviceMemoryOpaqueCaptureAddressInfo) -> u64 +ProcGetDeviceMicromapCompatibilityEXT :: #type proc "system" (device: Device, pVersionInfo: ^MicromapVersionInfoEXT, pCompatibility: ^AccelerationStructureCompatibilityKHR) +ProcGetDeviceProcAddr :: #type proc "system" (device: Device, pName: cstring) -> ProcVoidFunction +ProcGetDeviceQueue :: #type proc "system" (device: Device, queueFamilyIndex: u32, queueIndex: u32, pQueue: ^Queue) +ProcGetDeviceQueue2 :: #type proc "system" (device: Device, pQueueInfo: ^DeviceQueueInfo2, pQueue: ^Queue) +ProcGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI :: #type proc "system" (device: Device, renderpass: RenderPass, pMaxWorkgroupSize: ^Extent2D) -> Result +ProcGetDynamicRenderingTilePropertiesQCOM :: #type proc "system" (device: Device, pRenderingInfo: ^RenderingInfo, pProperties: [^]TilePropertiesQCOM) -> Result +ProcGetEventStatus :: #type proc "system" (device: Device, event: Event) -> Result +ProcGetFenceFdKHR :: #type proc "system" (device: Device, pGetFdInfo: ^FenceGetFdInfoKHR, pFd: ^c.int) -> Result +ProcGetFenceStatus :: #type proc "system" (device: Device, fence: Fence) -> Result +ProcGetFenceWin32HandleKHR :: #type proc "system" (device: Device, pGetWin32HandleInfo: ^FenceGetWin32HandleInfoKHR, pHandle: ^HANDLE) -> Result +ProcGetFramebufferTilePropertiesQCOM :: #type proc "system" (device: Device, framebuffer: Framebuffer, pPropertiesCount: ^u32, pProperties: [^]TilePropertiesQCOM) -> Result +ProcGetGeneratedCommandsMemoryRequirementsNV :: #type proc "system" (device: Device, pInfo: ^GeneratedCommandsMemoryRequirementsInfoNV, pMemoryRequirements: [^]MemoryRequirements2) +ProcGetImageDrmFormatModifierPropertiesEXT :: #type proc "system" (device: Device, image: Image, pProperties: [^]ImageDrmFormatModifierPropertiesEXT) -> Result +ProcGetImageMemoryRequirements :: #type proc "system" (device: Device, image: Image, pMemoryRequirements: [^]MemoryRequirements) +ProcGetImageMemoryRequirements2 :: #type proc "system" (device: Device, pInfo: ^ImageMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2) +ProcGetImageMemoryRequirements2KHR :: #type proc "system" (device: Device, pInfo: ^ImageMemoryRequirementsInfo2, pMemoryRequirements: [^]MemoryRequirements2) +ProcGetImageOpaqueCaptureDescriptorDataEXT :: #type proc "system" (device: Device, pInfo: ^ImageCaptureDescriptorDataInfoEXT, pData: rawptr) -> Result +ProcGetImageSparseMemoryRequirements :: #type proc "system" (device: Device, image: Image, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements) +ProcGetImageSparseMemoryRequirements2 :: #type proc "system" (device: Device, pInfo: ^ImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2) +ProcGetImageSparseMemoryRequirements2KHR :: #type proc "system" (device: Device, pInfo: ^ImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount: ^u32, pSparseMemoryRequirements: [^]SparseImageMemoryRequirements2) +ProcGetImageSubresourceLayout :: #type proc "system" (device: Device, image: Image, pSubresource: ^ImageSubresource, pLayout: ^SubresourceLayout) +ProcGetImageSubresourceLayout2EXT :: #type proc "system" (device: Device, image: Image, pSubresource: ^ImageSubresource2EXT, pLayout: ^SubresourceLayout2EXT) +ProcGetImageViewAddressNVX :: #type proc "system" (device: Device, imageView: ImageView, pProperties: [^]ImageViewAddressPropertiesNVX) -> Result +ProcGetImageViewHandleNVX :: #type proc "system" (device: Device, pInfo: ^ImageViewHandleInfoNVX) -> u32 +ProcGetImageViewOpaqueCaptureDescriptorDataEXT :: #type proc "system" (device: Device, pInfo: ^ImageViewCaptureDescriptorDataInfoEXT, pData: rawptr) -> Result +ProcGetMemoryFdKHR :: #type proc "system" (device: Device, pGetFdInfo: ^MemoryGetFdInfoKHR, pFd: ^c.int) -> Result +ProcGetMemoryFdPropertiesKHR :: #type proc "system" (device: Device, handleType: ExternalMemoryHandleTypeFlags, fd: c.int, pMemoryFdProperties: [^]MemoryFdPropertiesKHR) -> Result +ProcGetMemoryHostPointerPropertiesEXT :: #type proc "system" (device: Device, handleType: ExternalMemoryHandleTypeFlags, pHostPointer: rawptr, pMemoryHostPointerProperties: [^]MemoryHostPointerPropertiesEXT) -> Result +ProcGetMemoryRemoteAddressNV :: #type proc "system" (device: Device, pMemoryGetRemoteAddressInfo: ^MemoryGetRemoteAddressInfoNV, pAddress: [^]RemoteAddressNV) -> Result +ProcGetMemoryWin32HandleKHR :: #type proc "system" (device: Device, pGetWin32HandleInfo: ^MemoryGetWin32HandleInfoKHR, pHandle: ^HANDLE) -> Result +ProcGetMemoryWin32HandleNV :: #type proc "system" (device: Device, memory: DeviceMemory, handleType: ExternalMemoryHandleTypeFlagsNV, pHandle: ^HANDLE) -> Result +ProcGetMemoryWin32HandlePropertiesKHR :: #type proc "system" (device: Device, handleType: ExternalMemoryHandleTypeFlags, handle: HANDLE, pMemoryWin32HandleProperties: [^]MemoryWin32HandlePropertiesKHR) -> Result +ProcGetMicromapBuildSizesEXT :: #type proc "system" (device: Device, buildType: AccelerationStructureBuildTypeKHR, pBuildInfo: ^MicromapBuildInfoEXT, pSizeInfo: ^MicromapBuildSizesInfoEXT) +ProcGetPastPresentationTimingGOOGLE :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pPresentationTimingCount: ^u32, pPresentationTimings: [^]PastPresentationTimingGOOGLE) -> Result +ProcGetPerformanceParameterINTEL :: #type proc "system" (device: Device, parameter: PerformanceParameterTypeINTEL, pValue: ^PerformanceValueINTEL) -> Result +ProcGetPipelineCacheData :: #type proc "system" (device: Device, pipelineCache: PipelineCache, pDataSize: ^int, pData: rawptr) -> Result +ProcGetPipelineExecutableInternalRepresentationsKHR :: #type proc "system" (device: Device, pExecutableInfo: ^PipelineExecutableInfoKHR, pInternalRepresentationCount: ^u32, pInternalRepresentations: [^]PipelineExecutableInternalRepresentationKHR) -> Result +ProcGetPipelineExecutablePropertiesKHR :: #type proc "system" (device: Device, pPipelineInfo: ^PipelineInfoKHR, pExecutableCount: ^u32, pProperties: [^]PipelineExecutablePropertiesKHR) -> Result +ProcGetPipelineExecutableStatisticsKHR :: #type proc "system" (device: Device, pExecutableInfo: ^PipelineExecutableInfoKHR, pStatisticCount: ^u32, pStatistics: [^]PipelineExecutableStatisticKHR) -> Result +ProcGetPipelinePropertiesEXT :: #type proc "system" (device: Device, pPipelineInfo: ^PipelineInfoEXT, pPipelineProperties: [^]BaseOutStructure) -> Result +ProcGetPrivateData :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, pData: ^u64) +ProcGetPrivateDataEXT :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, pData: ^u64) +ProcGetQueryPoolResults :: #type proc "system" (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dataSize: int, pData: rawptr, stride: DeviceSize, flags: QueryResultFlags) -> Result +ProcGetQueueCheckpointData2NV :: #type proc "system" (queue: Queue, pCheckpointDataCount: ^u32, pCheckpointData: ^CheckpointData2NV) +ProcGetQueueCheckpointDataNV :: #type proc "system" (queue: Queue, pCheckpointDataCount: ^u32, pCheckpointData: ^CheckpointDataNV) +ProcGetRayTracingCaptureReplayShaderGroupHandlesKHR :: #type proc "system" (device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: int, pData: rawptr) -> Result +ProcGetRayTracingShaderGroupHandlesKHR :: #type proc "system" (device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: int, pData: rawptr) -> Result +ProcGetRayTracingShaderGroupHandlesNV :: #type proc "system" (device: Device, pipeline: Pipeline, firstGroup: u32, groupCount: u32, dataSize: int, pData: rawptr) -> Result +ProcGetRayTracingShaderGroupStackSizeKHR :: #type proc "system" (device: Device, pipeline: Pipeline, group: u32, groupShader: ShaderGroupShaderKHR) -> DeviceSize +ProcGetRefreshCycleDurationGOOGLE :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pDisplayTimingProperties: [^]RefreshCycleDurationGOOGLE) -> Result +ProcGetRenderAreaGranularity :: #type proc "system" (device: Device, renderPass: RenderPass, pGranularity: ^Extent2D) +ProcGetSamplerOpaqueCaptureDescriptorDataEXT :: #type proc "system" (device: Device, pInfo: ^SamplerCaptureDescriptorDataInfoEXT, pData: rawptr) -> Result +ProcGetSemaphoreCounterValue :: #type proc "system" (device: Device, semaphore: Semaphore, pValue: ^u64) -> Result +ProcGetSemaphoreCounterValueKHR :: #type proc "system" (device: Device, semaphore: Semaphore, pValue: ^u64) -> Result +ProcGetSemaphoreFdKHR :: #type proc "system" (device: Device, pGetFdInfo: ^SemaphoreGetFdInfoKHR, pFd: ^c.int) -> Result +ProcGetSemaphoreWin32HandleKHR :: #type proc "system" (device: Device, pGetWin32HandleInfo: ^SemaphoreGetWin32HandleInfoKHR, pHandle: ^HANDLE) -> Result +ProcGetShaderBinaryDataEXT :: #type proc "system" (device: Device, shader: ShaderEXT, pDataSize: ^int, pData: rawptr) -> Result +ProcGetShaderInfoAMD :: #type proc "system" (device: Device, pipeline: Pipeline, shaderStage: ShaderStageFlags, infoType: ShaderInfoTypeAMD, pInfoSize: ^int, pInfo: rawptr) -> Result +ProcGetShaderModuleCreateInfoIdentifierEXT :: #type proc "system" (device: Device, pCreateInfo: ^ShaderModuleCreateInfo, pIdentifier: ^ShaderModuleIdentifierEXT) +ProcGetShaderModuleIdentifierEXT :: #type proc "system" (device: Device, shaderModule: ShaderModule, pIdentifier: ^ShaderModuleIdentifierEXT) +ProcGetSwapchainCounterEXT :: #type proc "system" (device: Device, swapchain: SwapchainKHR, counter: SurfaceCounterFlagsEXT, pCounterValue: ^u64) -> Result +ProcGetSwapchainImagesKHR :: #type proc "system" (device: Device, swapchain: SwapchainKHR, pSwapchainImageCount: ^u32, pSwapchainImages: [^]Image) -> Result +ProcGetSwapchainStatusKHR :: #type proc "system" (device: Device, swapchain: SwapchainKHR) -> Result +ProcGetValidationCacheDataEXT :: #type proc "system" (device: Device, validationCache: ValidationCacheEXT, pDataSize: ^int, pData: rawptr) -> Result +ProcGetVideoSessionMemoryRequirementsKHR :: #type proc "system" (device: Device, videoSession: VideoSessionKHR, pMemoryRequirementsCount: ^u32, pMemoryRequirements: [^]VideoSessionMemoryRequirementsKHR) -> Result +ProcImportFenceFdKHR :: #type proc "system" (device: Device, pImportFenceFdInfo: ^ImportFenceFdInfoKHR) -> Result +ProcImportFenceWin32HandleKHR :: #type proc "system" (device: Device, pImportFenceWin32HandleInfo: ^ImportFenceWin32HandleInfoKHR) -> Result +ProcImportSemaphoreFdKHR :: #type proc "system" (device: Device, pImportSemaphoreFdInfo: ^ImportSemaphoreFdInfoKHR) -> Result +ProcImportSemaphoreWin32HandleKHR :: #type proc "system" (device: Device, pImportSemaphoreWin32HandleInfo: ^ImportSemaphoreWin32HandleInfoKHR) -> Result +ProcInitializePerformanceApiINTEL :: #type proc "system" (device: Device, pInitializeInfo: ^InitializePerformanceApiInfoINTEL) -> Result +ProcInvalidateMappedMemoryRanges :: #type proc "system" (device: Device, memoryRangeCount: u32, pMemoryRanges: [^]MappedMemoryRange) -> Result +ProcMapMemory :: #type proc "system" (device: Device, memory: DeviceMemory, offset: DeviceSize, size: DeviceSize, flags: MemoryMapFlags, ppData: ^rawptr) -> Result +ProcMapMemory2KHR :: #type proc "system" (device: Device, pMemoryMapInfo: ^MemoryMapInfoKHR, ppData: ^rawptr) -> Result +ProcMergePipelineCaches :: #type proc "system" (device: Device, dstCache: PipelineCache, srcCacheCount: u32, pSrcCaches: [^]PipelineCache) -> Result +ProcMergeValidationCachesEXT :: #type proc "system" (device: Device, dstCache: ValidationCacheEXT, srcCacheCount: u32, pSrcCaches: [^]ValidationCacheEXT) -> Result +ProcQueueBeginDebugUtilsLabelEXT :: #type proc "system" (queue: Queue, pLabelInfo: ^DebugUtilsLabelEXT) +ProcQueueBindSparse :: #type proc "system" (queue: Queue, bindInfoCount: u32, pBindInfo: ^BindSparseInfo, fence: Fence) -> Result +ProcQueueEndDebugUtilsLabelEXT :: #type proc "system" (queue: Queue) +ProcQueueInsertDebugUtilsLabelEXT :: #type proc "system" (queue: Queue, pLabelInfo: ^DebugUtilsLabelEXT) +ProcQueuePresentKHR :: #type proc "system" (queue: Queue, pPresentInfo: ^PresentInfoKHR) -> Result +ProcQueueSetPerformanceConfigurationINTEL :: #type proc "system" (queue: Queue, configuration: PerformanceConfigurationINTEL) -> Result +ProcQueueSubmit :: #type proc "system" (queue: Queue, submitCount: u32, pSubmits: [^]SubmitInfo, fence: Fence) -> Result +ProcQueueSubmit2 :: #type proc "system" (queue: Queue, submitCount: u32, pSubmits: [^]SubmitInfo2, fence: Fence) -> Result +ProcQueueSubmit2KHR :: #type proc "system" (queue: Queue, submitCount: u32, pSubmits: [^]SubmitInfo2, fence: Fence) -> Result +ProcQueueWaitIdle :: #type proc "system" (queue: Queue) -> Result +ProcRegisterDeviceEventEXT :: #type proc "system" (device: Device, pDeviceEventInfo: ^DeviceEventInfoEXT, pAllocator: ^AllocationCallbacks, pFence: ^Fence) -> Result +ProcRegisterDisplayEventEXT :: #type proc "system" (device: Device, display: DisplayKHR, pDisplayEventInfo: ^DisplayEventInfoEXT, pAllocator: ^AllocationCallbacks, pFence: ^Fence) -> Result +ProcReleaseFullScreenExclusiveModeEXT :: #type proc "system" (device: Device, swapchain: SwapchainKHR) -> Result +ProcReleasePerformanceConfigurationINTEL :: #type proc "system" (device: Device, configuration: PerformanceConfigurationINTEL) -> Result +ProcReleaseProfilingLockKHR :: #type proc "system" (device: Device) +ProcReleaseSwapchainImagesEXT :: #type proc "system" (device: Device, pReleaseInfo: ^ReleaseSwapchainImagesInfoEXT) -> Result +ProcResetCommandBuffer :: #type proc "system" (commandBuffer: CommandBuffer, flags: CommandBufferResetFlags) -> Result +ProcResetCommandPool :: #type proc "system" (device: Device, commandPool: CommandPool, flags: CommandPoolResetFlags) -> Result +ProcResetDescriptorPool :: #type proc "system" (device: Device, descriptorPool: DescriptorPool, flags: DescriptorPoolResetFlags) -> Result +ProcResetEvent :: #type proc "system" (device: Device, event: Event) -> Result +ProcResetFences :: #type proc "system" (device: Device, fenceCount: u32, pFences: [^]Fence) -> Result +ProcResetQueryPool :: #type proc "system" (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32) +ProcResetQueryPoolEXT :: #type proc "system" (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32) +ProcSetDebugUtilsObjectNameEXT :: #type proc "system" (device: Device, pNameInfo: ^DebugUtilsObjectNameInfoEXT) -> Result +ProcSetDebugUtilsObjectTagEXT :: #type proc "system" (device: Device, pTagInfo: ^DebugUtilsObjectTagInfoEXT) -> Result +ProcSetDeviceMemoryPriorityEXT :: #type proc "system" (device: Device, memory: DeviceMemory, priority: f32) +ProcSetEvent :: #type proc "system" (device: Device, event: Event) -> Result +ProcSetHdrMetadataEXT :: #type proc "system" (device: Device, swapchainCount: u32, pSwapchains: [^]SwapchainKHR, pMetadata: ^HdrMetadataEXT) +ProcSetLocalDimmingAMD :: #type proc "system" (device: Device, swapChain: SwapchainKHR, localDimmingEnable: b32) +ProcSetPrivateData :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, data: u64) -> Result +ProcSetPrivateDataEXT :: #type proc "system" (device: Device, objectType: ObjectType, objectHandle: u64, privateDataSlot: PrivateDataSlot, data: u64) -> Result +ProcSignalSemaphore :: #type proc "system" (device: Device, pSignalInfo: ^SemaphoreSignalInfo) -> Result +ProcSignalSemaphoreKHR :: #type proc "system" (device: Device, pSignalInfo: ^SemaphoreSignalInfo) -> Result +ProcTrimCommandPool :: #type proc "system" (device: Device, commandPool: CommandPool, flags: CommandPoolTrimFlags) +ProcTrimCommandPoolKHR :: #type proc "system" (device: Device, commandPool: CommandPool, flags: CommandPoolTrimFlags) +ProcUninitializePerformanceApiINTEL :: #type proc "system" (device: Device) +ProcUnmapMemory :: #type proc "system" (device: Device, memory: DeviceMemory) +ProcUnmapMemory2KHR :: #type proc "system" (device: Device, pMemoryUnmapInfo: ^MemoryUnmapInfoKHR) -> Result +ProcUpdateDescriptorSetWithTemplate :: #type proc "system" (device: Device, descriptorSet: DescriptorSet, descriptorUpdateTemplate: DescriptorUpdateTemplate, pData: rawptr) +ProcUpdateDescriptorSetWithTemplateKHR :: #type proc "system" (device: Device, descriptorSet: DescriptorSet, descriptorUpdateTemplate: DescriptorUpdateTemplate, pData: rawptr) +ProcUpdateDescriptorSets :: #type proc "system" (device: Device, descriptorWriteCount: u32, pDescriptorWrites: [^]WriteDescriptorSet, descriptorCopyCount: u32, pDescriptorCopies: [^]CopyDescriptorSet) +ProcUpdateVideoSessionParametersKHR :: #type proc "system" (device: Device, videoSessionParameters: VideoSessionParametersKHR, pUpdateInfo: ^VideoSessionParametersUpdateInfoKHR) -> Result +ProcWaitForFences :: #type proc "system" (device: Device, fenceCount: u32, pFences: [^]Fence, waitAll: b32, timeout: u64) -> Result +ProcWaitForPresentKHR :: #type proc "system" (device: Device, swapchain: SwapchainKHR, presentId: u64, timeout: u64) -> Result +ProcWaitSemaphores :: #type proc "system" (device: Device, pWaitInfo: ^SemaphoreWaitInfo, timeout: u64) -> Result +ProcWaitSemaphoresKHR :: #type proc "system" (device: Device, pWaitInfo: ^SemaphoreWaitInfo, timeout: u64) -> Result +ProcWriteAccelerationStructuresPropertiesKHR :: #type proc "system" (device: Device, accelerationStructureCount: u32, pAccelerationStructures: [^]AccelerationStructureKHR, queryType: QueryType, dataSize: int, pData: rawptr, stride: int) -> Result +ProcWriteMicromapsPropertiesEXT :: #type proc "system" (device: Device, micromapCount: u32, pMicromaps: [^]MicromapEXT, queryType: QueryType, dataSize: int, pData: rawptr, stride: int) -> Result + + +// Loader Procedures +CreateInstance: ProcCreateInstance +DebugUtilsMessengerCallbackEXT: ProcDebugUtilsMessengerCallbackEXT +DeviceMemoryReportCallbackEXT: ProcDeviceMemoryReportCallbackEXT +EnumerateInstanceExtensionProperties: ProcEnumerateInstanceExtensionProperties +EnumerateInstanceLayerProperties: ProcEnumerateInstanceLayerProperties +EnumerateInstanceVersion: ProcEnumerateInstanceVersion +GetInstanceProcAddr: ProcGetInstanceProcAddr + +// Instance Procedures +AcquireDrmDisplayEXT: ProcAcquireDrmDisplayEXT +AcquireWinrtDisplayNV: ProcAcquireWinrtDisplayNV +CreateDebugReportCallbackEXT: ProcCreateDebugReportCallbackEXT +CreateDebugUtilsMessengerEXT: ProcCreateDebugUtilsMessengerEXT +CreateDevice: ProcCreateDevice +CreateDisplayModeKHR: ProcCreateDisplayModeKHR +CreateDisplayPlaneSurfaceKHR: ProcCreateDisplayPlaneSurfaceKHR +CreateHeadlessSurfaceEXT: ProcCreateHeadlessSurfaceEXT +CreateIOSSurfaceMVK: ProcCreateIOSSurfaceMVK +CreateMacOSSurfaceMVK: ProcCreateMacOSSurfaceMVK +CreateMetalSurfaceEXT: ProcCreateMetalSurfaceEXT +CreateWaylandSurfaceKHR: ProcCreateWaylandSurfaceKHR +CreateWin32SurfaceKHR: ProcCreateWin32SurfaceKHR +DebugReportMessageEXT: ProcDebugReportMessageEXT +DestroyDebugReportCallbackEXT: ProcDestroyDebugReportCallbackEXT +DestroyDebugUtilsMessengerEXT: ProcDestroyDebugUtilsMessengerEXT +DestroyInstance: ProcDestroyInstance +DestroySurfaceKHR: ProcDestroySurfaceKHR +EnumerateDeviceExtensionProperties: ProcEnumerateDeviceExtensionProperties +EnumerateDeviceLayerProperties: ProcEnumerateDeviceLayerProperties +EnumeratePhysicalDeviceGroups: ProcEnumeratePhysicalDeviceGroups +EnumeratePhysicalDeviceGroupsKHR: ProcEnumeratePhysicalDeviceGroupsKHR +EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR: ProcEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR +EnumeratePhysicalDevices: ProcEnumeratePhysicalDevices +GetDisplayModeProperties2KHR: ProcGetDisplayModeProperties2KHR +GetDisplayModePropertiesKHR: ProcGetDisplayModePropertiesKHR +GetDisplayPlaneCapabilities2KHR: ProcGetDisplayPlaneCapabilities2KHR +GetDisplayPlaneCapabilitiesKHR: ProcGetDisplayPlaneCapabilitiesKHR +GetDisplayPlaneSupportedDisplaysKHR: ProcGetDisplayPlaneSupportedDisplaysKHR +GetDrmDisplayEXT: ProcGetDrmDisplayEXT +GetInstanceProcAddrLUNARG: ProcGetInstanceProcAddrLUNARG +GetPhysicalDeviceCalibrateableTimeDomainsEXT: ProcGetPhysicalDeviceCalibrateableTimeDomainsEXT +GetPhysicalDeviceCooperativeMatrixPropertiesNV: ProcGetPhysicalDeviceCooperativeMatrixPropertiesNV +GetPhysicalDeviceDisplayPlaneProperties2KHR: ProcGetPhysicalDeviceDisplayPlaneProperties2KHR +GetPhysicalDeviceDisplayPlanePropertiesKHR: ProcGetPhysicalDeviceDisplayPlanePropertiesKHR +GetPhysicalDeviceDisplayProperties2KHR: ProcGetPhysicalDeviceDisplayProperties2KHR +GetPhysicalDeviceDisplayPropertiesKHR: ProcGetPhysicalDeviceDisplayPropertiesKHR +GetPhysicalDeviceExternalBufferProperties: ProcGetPhysicalDeviceExternalBufferProperties +GetPhysicalDeviceExternalBufferPropertiesKHR: ProcGetPhysicalDeviceExternalBufferPropertiesKHR +GetPhysicalDeviceExternalFenceProperties: ProcGetPhysicalDeviceExternalFenceProperties +GetPhysicalDeviceExternalFencePropertiesKHR: ProcGetPhysicalDeviceExternalFencePropertiesKHR +GetPhysicalDeviceExternalImageFormatPropertiesNV: ProcGetPhysicalDeviceExternalImageFormatPropertiesNV +GetPhysicalDeviceExternalSemaphoreProperties: ProcGetPhysicalDeviceExternalSemaphoreProperties +GetPhysicalDeviceExternalSemaphorePropertiesKHR: ProcGetPhysicalDeviceExternalSemaphorePropertiesKHR +GetPhysicalDeviceFeatures: ProcGetPhysicalDeviceFeatures +GetPhysicalDeviceFeatures2: ProcGetPhysicalDeviceFeatures2 +GetPhysicalDeviceFeatures2KHR: ProcGetPhysicalDeviceFeatures2KHR +GetPhysicalDeviceFormatProperties: ProcGetPhysicalDeviceFormatProperties +GetPhysicalDeviceFormatProperties2: ProcGetPhysicalDeviceFormatProperties2 +GetPhysicalDeviceFormatProperties2KHR: ProcGetPhysicalDeviceFormatProperties2KHR +GetPhysicalDeviceFragmentShadingRatesKHR: ProcGetPhysicalDeviceFragmentShadingRatesKHR +GetPhysicalDeviceImageFormatProperties: ProcGetPhysicalDeviceImageFormatProperties +GetPhysicalDeviceImageFormatProperties2: ProcGetPhysicalDeviceImageFormatProperties2 +GetPhysicalDeviceImageFormatProperties2KHR: ProcGetPhysicalDeviceImageFormatProperties2KHR +GetPhysicalDeviceMemoryProperties: ProcGetPhysicalDeviceMemoryProperties +GetPhysicalDeviceMemoryProperties2: ProcGetPhysicalDeviceMemoryProperties2 +GetPhysicalDeviceMemoryProperties2KHR: ProcGetPhysicalDeviceMemoryProperties2KHR +GetPhysicalDeviceMultisamplePropertiesEXT: ProcGetPhysicalDeviceMultisamplePropertiesEXT +GetPhysicalDeviceOpticalFlowImageFormatsNV: ProcGetPhysicalDeviceOpticalFlowImageFormatsNV +GetPhysicalDevicePresentRectanglesKHR: ProcGetPhysicalDevicePresentRectanglesKHR +GetPhysicalDeviceProperties: ProcGetPhysicalDeviceProperties +GetPhysicalDeviceProperties2: ProcGetPhysicalDeviceProperties2 +GetPhysicalDeviceProperties2KHR: ProcGetPhysicalDeviceProperties2KHR +GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR: ProcGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR +GetPhysicalDeviceQueueFamilyProperties: ProcGetPhysicalDeviceQueueFamilyProperties +GetPhysicalDeviceQueueFamilyProperties2: ProcGetPhysicalDeviceQueueFamilyProperties2 +GetPhysicalDeviceQueueFamilyProperties2KHR: ProcGetPhysicalDeviceQueueFamilyProperties2KHR +GetPhysicalDeviceSparseImageFormatProperties: ProcGetPhysicalDeviceSparseImageFormatProperties +GetPhysicalDeviceSparseImageFormatProperties2: ProcGetPhysicalDeviceSparseImageFormatProperties2 +GetPhysicalDeviceSparseImageFormatProperties2KHR: ProcGetPhysicalDeviceSparseImageFormatProperties2KHR +GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV: ProcGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV +GetPhysicalDeviceSurfaceCapabilities2EXT: ProcGetPhysicalDeviceSurfaceCapabilities2EXT +GetPhysicalDeviceSurfaceCapabilities2KHR: ProcGetPhysicalDeviceSurfaceCapabilities2KHR +GetPhysicalDeviceSurfaceCapabilitiesKHR: ProcGetPhysicalDeviceSurfaceCapabilitiesKHR +GetPhysicalDeviceSurfaceFormats2KHR: ProcGetPhysicalDeviceSurfaceFormats2KHR +GetPhysicalDeviceSurfaceFormatsKHR: ProcGetPhysicalDeviceSurfaceFormatsKHR +GetPhysicalDeviceSurfacePresentModes2EXT: ProcGetPhysicalDeviceSurfacePresentModes2EXT +GetPhysicalDeviceSurfacePresentModesKHR: ProcGetPhysicalDeviceSurfacePresentModesKHR +GetPhysicalDeviceSurfaceSupportKHR: ProcGetPhysicalDeviceSurfaceSupportKHR +GetPhysicalDeviceToolProperties: ProcGetPhysicalDeviceToolProperties +GetPhysicalDeviceToolPropertiesEXT: ProcGetPhysicalDeviceToolPropertiesEXT +GetPhysicalDeviceVideoCapabilitiesKHR: ProcGetPhysicalDeviceVideoCapabilitiesKHR +GetPhysicalDeviceVideoFormatPropertiesKHR: ProcGetPhysicalDeviceVideoFormatPropertiesKHR +GetPhysicalDeviceWaylandPresentationSupportKHR: ProcGetPhysicalDeviceWaylandPresentationSupportKHR +GetPhysicalDeviceWin32PresentationSupportKHR: ProcGetPhysicalDeviceWin32PresentationSupportKHR +GetWinrtDisplayNV: ProcGetWinrtDisplayNV +ReleaseDisplayEXT: ProcReleaseDisplayEXT +SubmitDebugUtilsMessageEXT: ProcSubmitDebugUtilsMessageEXT + +// Device Procedures +AcquireFullScreenExclusiveModeEXT: ProcAcquireFullScreenExclusiveModeEXT +AcquireNextImage2KHR: ProcAcquireNextImage2KHR +AcquireNextImageKHR: ProcAcquireNextImageKHR +AcquirePerformanceConfigurationINTEL: ProcAcquirePerformanceConfigurationINTEL +AcquireProfilingLockKHR: ProcAcquireProfilingLockKHR +AllocateCommandBuffers: ProcAllocateCommandBuffers +AllocateDescriptorSets: ProcAllocateDescriptorSets +AllocateMemory: ProcAllocateMemory +BeginCommandBuffer: ProcBeginCommandBuffer +BindAccelerationStructureMemoryNV: ProcBindAccelerationStructureMemoryNV +BindBufferMemory: ProcBindBufferMemory +BindBufferMemory2: ProcBindBufferMemory2 +BindBufferMemory2KHR: ProcBindBufferMemory2KHR +BindImageMemory: ProcBindImageMemory +BindImageMemory2: ProcBindImageMemory2 +BindImageMemory2KHR: ProcBindImageMemory2KHR +BindOpticalFlowSessionImageNV: ProcBindOpticalFlowSessionImageNV +BindVideoSessionMemoryKHR: ProcBindVideoSessionMemoryKHR +BuildAccelerationStructuresKHR: ProcBuildAccelerationStructuresKHR +BuildMicromapsEXT: ProcBuildMicromapsEXT +CmdBeginConditionalRenderingEXT: ProcCmdBeginConditionalRenderingEXT +CmdBeginDebugUtilsLabelEXT: ProcCmdBeginDebugUtilsLabelEXT +CmdBeginQuery: ProcCmdBeginQuery +CmdBeginQueryIndexedEXT: ProcCmdBeginQueryIndexedEXT +CmdBeginRenderPass: ProcCmdBeginRenderPass +CmdBeginRenderPass2: ProcCmdBeginRenderPass2 +CmdBeginRenderPass2KHR: ProcCmdBeginRenderPass2KHR +CmdBeginRendering: ProcCmdBeginRendering +CmdBeginRenderingKHR: ProcCmdBeginRenderingKHR +CmdBeginTransformFeedbackEXT: ProcCmdBeginTransformFeedbackEXT +CmdBeginVideoCodingKHR: ProcCmdBeginVideoCodingKHR +CmdBindDescriptorBufferEmbeddedSamplersEXT: ProcCmdBindDescriptorBufferEmbeddedSamplersEXT +CmdBindDescriptorBuffersEXT: ProcCmdBindDescriptorBuffersEXT +CmdBindDescriptorSets: ProcCmdBindDescriptorSets +CmdBindIndexBuffer: ProcCmdBindIndexBuffer +CmdBindInvocationMaskHUAWEI: ProcCmdBindInvocationMaskHUAWEI +CmdBindPipeline: ProcCmdBindPipeline +CmdBindPipelineShaderGroupNV: ProcCmdBindPipelineShaderGroupNV +CmdBindShadersEXT: ProcCmdBindShadersEXT +CmdBindShadingRateImageNV: ProcCmdBindShadingRateImageNV +CmdBindTransformFeedbackBuffersEXT: ProcCmdBindTransformFeedbackBuffersEXT +CmdBindVertexBuffers: ProcCmdBindVertexBuffers +CmdBindVertexBuffers2: ProcCmdBindVertexBuffers2 +CmdBindVertexBuffers2EXT: ProcCmdBindVertexBuffers2EXT +CmdBlitImage: ProcCmdBlitImage +CmdBlitImage2: ProcCmdBlitImage2 +CmdBlitImage2KHR: ProcCmdBlitImage2KHR +CmdBuildAccelerationStructureNV: ProcCmdBuildAccelerationStructureNV +CmdBuildAccelerationStructuresIndirectKHR: ProcCmdBuildAccelerationStructuresIndirectKHR +CmdBuildAccelerationStructuresKHR: ProcCmdBuildAccelerationStructuresKHR +CmdBuildMicromapsEXT: ProcCmdBuildMicromapsEXT +CmdClearAttachments: ProcCmdClearAttachments +CmdClearColorImage: ProcCmdClearColorImage +CmdClearDepthStencilImage: ProcCmdClearDepthStencilImage +CmdControlVideoCodingKHR: ProcCmdControlVideoCodingKHR +CmdCopyAccelerationStructureKHR: ProcCmdCopyAccelerationStructureKHR +CmdCopyAccelerationStructureNV: ProcCmdCopyAccelerationStructureNV +CmdCopyAccelerationStructureToMemoryKHR: ProcCmdCopyAccelerationStructureToMemoryKHR +CmdCopyBuffer: ProcCmdCopyBuffer +CmdCopyBuffer2: ProcCmdCopyBuffer2 +CmdCopyBuffer2KHR: ProcCmdCopyBuffer2KHR +CmdCopyBufferToImage: ProcCmdCopyBufferToImage +CmdCopyBufferToImage2: ProcCmdCopyBufferToImage2 +CmdCopyBufferToImage2KHR: ProcCmdCopyBufferToImage2KHR +CmdCopyImage: ProcCmdCopyImage +CmdCopyImage2: ProcCmdCopyImage2 +CmdCopyImage2KHR: ProcCmdCopyImage2KHR +CmdCopyImageToBuffer: ProcCmdCopyImageToBuffer +CmdCopyImageToBuffer2: ProcCmdCopyImageToBuffer2 +CmdCopyImageToBuffer2KHR: ProcCmdCopyImageToBuffer2KHR +CmdCopyMemoryIndirectNV: ProcCmdCopyMemoryIndirectNV +CmdCopyMemoryToAccelerationStructureKHR: ProcCmdCopyMemoryToAccelerationStructureKHR +CmdCopyMemoryToImageIndirectNV: ProcCmdCopyMemoryToImageIndirectNV +CmdCopyMemoryToMicromapEXT: ProcCmdCopyMemoryToMicromapEXT +CmdCopyMicromapEXT: ProcCmdCopyMicromapEXT +CmdCopyMicromapToMemoryEXT: ProcCmdCopyMicromapToMemoryEXT +CmdCopyQueryPoolResults: ProcCmdCopyQueryPoolResults +CmdCuLaunchKernelNVX: ProcCmdCuLaunchKernelNVX +CmdDebugMarkerBeginEXT: ProcCmdDebugMarkerBeginEXT +CmdDebugMarkerEndEXT: ProcCmdDebugMarkerEndEXT +CmdDebugMarkerInsertEXT: ProcCmdDebugMarkerInsertEXT +CmdDecodeVideoKHR: ProcCmdDecodeVideoKHR +CmdDecompressMemoryIndirectCountNV: ProcCmdDecompressMemoryIndirectCountNV +CmdDecompressMemoryNV: ProcCmdDecompressMemoryNV +CmdDispatch: ProcCmdDispatch +CmdDispatchBase: ProcCmdDispatchBase +CmdDispatchBaseKHR: ProcCmdDispatchBaseKHR +CmdDispatchIndirect: ProcCmdDispatchIndirect +CmdDraw: ProcCmdDraw +CmdDrawClusterHUAWEI: ProcCmdDrawClusterHUAWEI +CmdDrawClusterIndirectHUAWEI: ProcCmdDrawClusterIndirectHUAWEI +CmdDrawIndexed: ProcCmdDrawIndexed +CmdDrawIndexedIndirect: ProcCmdDrawIndexedIndirect +CmdDrawIndexedIndirectCount: ProcCmdDrawIndexedIndirectCount +CmdDrawIndexedIndirectCountAMD: ProcCmdDrawIndexedIndirectCountAMD +CmdDrawIndexedIndirectCountKHR: ProcCmdDrawIndexedIndirectCountKHR +CmdDrawIndirect: ProcCmdDrawIndirect +CmdDrawIndirectByteCountEXT: ProcCmdDrawIndirectByteCountEXT +CmdDrawIndirectCount: ProcCmdDrawIndirectCount +CmdDrawIndirectCountAMD: ProcCmdDrawIndirectCountAMD +CmdDrawIndirectCountKHR: ProcCmdDrawIndirectCountKHR +CmdDrawMeshTasksEXT: ProcCmdDrawMeshTasksEXT +CmdDrawMeshTasksIndirectCountEXT: ProcCmdDrawMeshTasksIndirectCountEXT +CmdDrawMeshTasksIndirectCountNV: ProcCmdDrawMeshTasksIndirectCountNV +CmdDrawMeshTasksIndirectEXT: ProcCmdDrawMeshTasksIndirectEXT +CmdDrawMeshTasksIndirectNV: ProcCmdDrawMeshTasksIndirectNV +CmdDrawMeshTasksNV: ProcCmdDrawMeshTasksNV +CmdDrawMultiEXT: ProcCmdDrawMultiEXT +CmdDrawMultiIndexedEXT: ProcCmdDrawMultiIndexedEXT +CmdEndConditionalRenderingEXT: ProcCmdEndConditionalRenderingEXT +CmdEndDebugUtilsLabelEXT: ProcCmdEndDebugUtilsLabelEXT +CmdEndQuery: ProcCmdEndQuery +CmdEndQueryIndexedEXT: ProcCmdEndQueryIndexedEXT +CmdEndRenderPass: ProcCmdEndRenderPass +CmdEndRenderPass2: ProcCmdEndRenderPass2 +CmdEndRenderPass2KHR: ProcCmdEndRenderPass2KHR +CmdEndRendering: ProcCmdEndRendering +CmdEndRenderingKHR: ProcCmdEndRenderingKHR +CmdEndTransformFeedbackEXT: ProcCmdEndTransformFeedbackEXT +CmdEndVideoCodingKHR: ProcCmdEndVideoCodingKHR +CmdExecuteCommands: ProcCmdExecuteCommands +CmdExecuteGeneratedCommandsNV: ProcCmdExecuteGeneratedCommandsNV +CmdFillBuffer: ProcCmdFillBuffer +CmdInsertDebugUtilsLabelEXT: ProcCmdInsertDebugUtilsLabelEXT +CmdNextSubpass: ProcCmdNextSubpass +CmdNextSubpass2: ProcCmdNextSubpass2 +CmdNextSubpass2KHR: ProcCmdNextSubpass2KHR +CmdOpticalFlowExecuteNV: ProcCmdOpticalFlowExecuteNV +CmdPipelineBarrier: ProcCmdPipelineBarrier +CmdPipelineBarrier2: ProcCmdPipelineBarrier2 +CmdPipelineBarrier2KHR: ProcCmdPipelineBarrier2KHR +CmdPreprocessGeneratedCommandsNV: ProcCmdPreprocessGeneratedCommandsNV +CmdPushConstants: ProcCmdPushConstants +CmdPushDescriptorSetKHR: ProcCmdPushDescriptorSetKHR +CmdPushDescriptorSetWithTemplateKHR: ProcCmdPushDescriptorSetWithTemplateKHR +CmdResetEvent: ProcCmdResetEvent +CmdResetEvent2: ProcCmdResetEvent2 +CmdResetEvent2KHR: ProcCmdResetEvent2KHR +CmdResetQueryPool: ProcCmdResetQueryPool +CmdResolveImage: ProcCmdResolveImage +CmdResolveImage2: ProcCmdResolveImage2 +CmdResolveImage2KHR: ProcCmdResolveImage2KHR +CmdSetAlphaToCoverageEnableEXT: ProcCmdSetAlphaToCoverageEnableEXT +CmdSetAlphaToOneEnableEXT: ProcCmdSetAlphaToOneEnableEXT +CmdSetAttachmentFeedbackLoopEnableEXT: ProcCmdSetAttachmentFeedbackLoopEnableEXT +CmdSetBlendConstants: ProcCmdSetBlendConstants +CmdSetCheckpointNV: ProcCmdSetCheckpointNV +CmdSetCoarseSampleOrderNV: ProcCmdSetCoarseSampleOrderNV +CmdSetColorBlendAdvancedEXT: ProcCmdSetColorBlendAdvancedEXT +CmdSetColorBlendEnableEXT: ProcCmdSetColorBlendEnableEXT +CmdSetColorBlendEquationEXT: ProcCmdSetColorBlendEquationEXT +CmdSetColorWriteMaskEXT: ProcCmdSetColorWriteMaskEXT +CmdSetConservativeRasterizationModeEXT: ProcCmdSetConservativeRasterizationModeEXT +CmdSetCoverageModulationModeNV: ProcCmdSetCoverageModulationModeNV +CmdSetCoverageModulationTableEnableNV: ProcCmdSetCoverageModulationTableEnableNV +CmdSetCoverageModulationTableNV: ProcCmdSetCoverageModulationTableNV +CmdSetCoverageReductionModeNV: ProcCmdSetCoverageReductionModeNV +CmdSetCoverageToColorEnableNV: ProcCmdSetCoverageToColorEnableNV +CmdSetCoverageToColorLocationNV: ProcCmdSetCoverageToColorLocationNV +CmdSetCullMode: ProcCmdSetCullMode +CmdSetCullModeEXT: ProcCmdSetCullModeEXT +CmdSetDepthBias: ProcCmdSetDepthBias +CmdSetDepthBiasEnable: ProcCmdSetDepthBiasEnable +CmdSetDepthBiasEnableEXT: ProcCmdSetDepthBiasEnableEXT +CmdSetDepthBounds: ProcCmdSetDepthBounds +CmdSetDepthBoundsTestEnable: ProcCmdSetDepthBoundsTestEnable +CmdSetDepthBoundsTestEnableEXT: ProcCmdSetDepthBoundsTestEnableEXT +CmdSetDepthClampEnableEXT: ProcCmdSetDepthClampEnableEXT +CmdSetDepthClipEnableEXT: ProcCmdSetDepthClipEnableEXT +CmdSetDepthClipNegativeOneToOneEXT: ProcCmdSetDepthClipNegativeOneToOneEXT +CmdSetDepthCompareOp: ProcCmdSetDepthCompareOp +CmdSetDepthCompareOpEXT: ProcCmdSetDepthCompareOpEXT +CmdSetDepthTestEnable: ProcCmdSetDepthTestEnable +CmdSetDepthTestEnableEXT: ProcCmdSetDepthTestEnableEXT +CmdSetDepthWriteEnable: ProcCmdSetDepthWriteEnable +CmdSetDepthWriteEnableEXT: ProcCmdSetDepthWriteEnableEXT +CmdSetDescriptorBufferOffsetsEXT: ProcCmdSetDescriptorBufferOffsetsEXT +CmdSetDeviceMask: ProcCmdSetDeviceMask +CmdSetDeviceMaskKHR: ProcCmdSetDeviceMaskKHR +CmdSetDiscardRectangleEXT: ProcCmdSetDiscardRectangleEXT +CmdSetDiscardRectangleEnableEXT: ProcCmdSetDiscardRectangleEnableEXT +CmdSetDiscardRectangleModeEXT: ProcCmdSetDiscardRectangleModeEXT +CmdSetEvent: ProcCmdSetEvent +CmdSetEvent2: ProcCmdSetEvent2 +CmdSetEvent2KHR: ProcCmdSetEvent2KHR +CmdSetExclusiveScissorEnableNV: ProcCmdSetExclusiveScissorEnableNV +CmdSetExclusiveScissorNV: ProcCmdSetExclusiveScissorNV +CmdSetExtraPrimitiveOverestimationSizeEXT: ProcCmdSetExtraPrimitiveOverestimationSizeEXT +CmdSetFragmentShadingRateEnumNV: ProcCmdSetFragmentShadingRateEnumNV +CmdSetFragmentShadingRateKHR: ProcCmdSetFragmentShadingRateKHR +CmdSetFrontFace: ProcCmdSetFrontFace +CmdSetFrontFaceEXT: ProcCmdSetFrontFaceEXT +CmdSetLineRasterizationModeEXT: ProcCmdSetLineRasterizationModeEXT +CmdSetLineStippleEXT: ProcCmdSetLineStippleEXT +CmdSetLineStippleEnableEXT: ProcCmdSetLineStippleEnableEXT +CmdSetLineWidth: ProcCmdSetLineWidth +CmdSetLogicOpEXT: ProcCmdSetLogicOpEXT +CmdSetLogicOpEnableEXT: ProcCmdSetLogicOpEnableEXT +CmdSetPatchControlPointsEXT: ProcCmdSetPatchControlPointsEXT +CmdSetPerformanceMarkerINTEL: ProcCmdSetPerformanceMarkerINTEL +CmdSetPerformanceOverrideINTEL: ProcCmdSetPerformanceOverrideINTEL +CmdSetPerformanceStreamMarkerINTEL: ProcCmdSetPerformanceStreamMarkerINTEL +CmdSetPolygonModeEXT: ProcCmdSetPolygonModeEXT +CmdSetPrimitiveRestartEnable: ProcCmdSetPrimitiveRestartEnable +CmdSetPrimitiveRestartEnableEXT: ProcCmdSetPrimitiveRestartEnableEXT +CmdSetPrimitiveTopology: ProcCmdSetPrimitiveTopology +CmdSetPrimitiveTopologyEXT: ProcCmdSetPrimitiveTopologyEXT +CmdSetProvokingVertexModeEXT: ProcCmdSetProvokingVertexModeEXT +CmdSetRasterizationSamplesEXT: ProcCmdSetRasterizationSamplesEXT +CmdSetRasterizationStreamEXT: ProcCmdSetRasterizationStreamEXT +CmdSetRasterizerDiscardEnable: ProcCmdSetRasterizerDiscardEnable +CmdSetRasterizerDiscardEnableEXT: ProcCmdSetRasterizerDiscardEnableEXT +CmdSetRayTracingPipelineStackSizeKHR: ProcCmdSetRayTracingPipelineStackSizeKHR +CmdSetRepresentativeFragmentTestEnableNV: ProcCmdSetRepresentativeFragmentTestEnableNV +CmdSetSampleLocationsEXT: ProcCmdSetSampleLocationsEXT +CmdSetSampleLocationsEnableEXT: ProcCmdSetSampleLocationsEnableEXT +CmdSetSampleMaskEXT: ProcCmdSetSampleMaskEXT +CmdSetScissor: ProcCmdSetScissor +CmdSetScissorWithCount: ProcCmdSetScissorWithCount +CmdSetScissorWithCountEXT: ProcCmdSetScissorWithCountEXT +CmdSetShadingRateImageEnableNV: ProcCmdSetShadingRateImageEnableNV +CmdSetStencilCompareMask: ProcCmdSetStencilCompareMask +CmdSetStencilOp: ProcCmdSetStencilOp +CmdSetStencilOpEXT: ProcCmdSetStencilOpEXT +CmdSetStencilReference: ProcCmdSetStencilReference +CmdSetStencilTestEnable: ProcCmdSetStencilTestEnable +CmdSetStencilTestEnableEXT: ProcCmdSetStencilTestEnableEXT +CmdSetStencilWriteMask: ProcCmdSetStencilWriteMask +CmdSetTessellationDomainOriginEXT: ProcCmdSetTessellationDomainOriginEXT +CmdSetVertexInputEXT: ProcCmdSetVertexInputEXT +CmdSetViewport: ProcCmdSetViewport +CmdSetViewportShadingRatePaletteNV: ProcCmdSetViewportShadingRatePaletteNV +CmdSetViewportSwizzleNV: ProcCmdSetViewportSwizzleNV +CmdSetViewportWScalingEnableNV: ProcCmdSetViewportWScalingEnableNV +CmdSetViewportWScalingNV: ProcCmdSetViewportWScalingNV +CmdSetViewportWithCount: ProcCmdSetViewportWithCount +CmdSetViewportWithCountEXT: ProcCmdSetViewportWithCountEXT +CmdSubpassShadingHUAWEI: ProcCmdSubpassShadingHUAWEI +CmdTraceRaysIndirect2KHR: ProcCmdTraceRaysIndirect2KHR +CmdTraceRaysIndirectKHR: ProcCmdTraceRaysIndirectKHR +CmdTraceRaysKHR: ProcCmdTraceRaysKHR +CmdTraceRaysNV: ProcCmdTraceRaysNV +CmdUpdateBuffer: ProcCmdUpdateBuffer +CmdWaitEvents: ProcCmdWaitEvents +CmdWaitEvents2: ProcCmdWaitEvents2 +CmdWaitEvents2KHR: ProcCmdWaitEvents2KHR +CmdWriteAccelerationStructuresPropertiesKHR: ProcCmdWriteAccelerationStructuresPropertiesKHR +CmdWriteAccelerationStructuresPropertiesNV: ProcCmdWriteAccelerationStructuresPropertiesNV +CmdWriteBufferMarker2AMD: ProcCmdWriteBufferMarker2AMD +CmdWriteBufferMarkerAMD: ProcCmdWriteBufferMarkerAMD +CmdWriteMicromapsPropertiesEXT: ProcCmdWriteMicromapsPropertiesEXT +CmdWriteTimestamp: ProcCmdWriteTimestamp +CmdWriteTimestamp2: ProcCmdWriteTimestamp2 +CmdWriteTimestamp2KHR: ProcCmdWriteTimestamp2KHR +CompileDeferredNV: ProcCompileDeferredNV +CopyAccelerationStructureKHR: ProcCopyAccelerationStructureKHR +CopyAccelerationStructureToMemoryKHR: ProcCopyAccelerationStructureToMemoryKHR +CopyMemoryToAccelerationStructureKHR: ProcCopyMemoryToAccelerationStructureKHR +CopyMemoryToMicromapEXT: ProcCopyMemoryToMicromapEXT +CopyMicromapEXT: ProcCopyMicromapEXT +CopyMicromapToMemoryEXT: ProcCopyMicromapToMemoryEXT +CreateAccelerationStructureKHR: ProcCreateAccelerationStructureKHR +CreateAccelerationStructureNV: ProcCreateAccelerationStructureNV +CreateBuffer: ProcCreateBuffer +CreateBufferView: ProcCreateBufferView +CreateCommandPool: ProcCreateCommandPool +CreateComputePipelines: ProcCreateComputePipelines +CreateCuFunctionNVX: ProcCreateCuFunctionNVX +CreateCuModuleNVX: ProcCreateCuModuleNVX +CreateDeferredOperationKHR: ProcCreateDeferredOperationKHR +CreateDescriptorPool: ProcCreateDescriptorPool +CreateDescriptorSetLayout: ProcCreateDescriptorSetLayout +CreateDescriptorUpdateTemplate: ProcCreateDescriptorUpdateTemplate +CreateDescriptorUpdateTemplateKHR: ProcCreateDescriptorUpdateTemplateKHR +CreateEvent: ProcCreateEvent +CreateFence: ProcCreateFence +CreateFramebuffer: ProcCreateFramebuffer +CreateGraphicsPipelines: ProcCreateGraphicsPipelines +CreateImage: ProcCreateImage +CreateImageView: ProcCreateImageView +CreateIndirectCommandsLayoutNV: ProcCreateIndirectCommandsLayoutNV +CreateMicromapEXT: ProcCreateMicromapEXT +CreateOpticalFlowSessionNV: ProcCreateOpticalFlowSessionNV +CreatePipelineCache: ProcCreatePipelineCache +CreatePipelineLayout: ProcCreatePipelineLayout +CreatePrivateDataSlot: ProcCreatePrivateDataSlot +CreatePrivateDataSlotEXT: ProcCreatePrivateDataSlotEXT +CreateQueryPool: ProcCreateQueryPool +CreateRayTracingPipelinesKHR: ProcCreateRayTracingPipelinesKHR +CreateRayTracingPipelinesNV: ProcCreateRayTracingPipelinesNV +CreateRenderPass: ProcCreateRenderPass +CreateRenderPass2: ProcCreateRenderPass2 +CreateRenderPass2KHR: ProcCreateRenderPass2KHR +CreateSampler: ProcCreateSampler +CreateSamplerYcbcrConversion: ProcCreateSamplerYcbcrConversion +CreateSamplerYcbcrConversionKHR: ProcCreateSamplerYcbcrConversionKHR +CreateSemaphore: ProcCreateSemaphore +CreateShaderModule: ProcCreateShaderModule +CreateShadersEXT: ProcCreateShadersEXT +CreateSharedSwapchainsKHR: ProcCreateSharedSwapchainsKHR +CreateSwapchainKHR: ProcCreateSwapchainKHR +CreateValidationCacheEXT: ProcCreateValidationCacheEXT +CreateVideoSessionKHR: ProcCreateVideoSessionKHR +CreateVideoSessionParametersKHR: ProcCreateVideoSessionParametersKHR +DebugMarkerSetObjectNameEXT: ProcDebugMarkerSetObjectNameEXT +DebugMarkerSetObjectTagEXT: ProcDebugMarkerSetObjectTagEXT +DeferredOperationJoinKHR: ProcDeferredOperationJoinKHR +DestroyAccelerationStructureKHR: ProcDestroyAccelerationStructureKHR +DestroyAccelerationStructureNV: ProcDestroyAccelerationStructureNV +DestroyBuffer: ProcDestroyBuffer +DestroyBufferView: ProcDestroyBufferView +DestroyCommandPool: ProcDestroyCommandPool +DestroyCuFunctionNVX: ProcDestroyCuFunctionNVX +DestroyCuModuleNVX: ProcDestroyCuModuleNVX +DestroyDeferredOperationKHR: ProcDestroyDeferredOperationKHR +DestroyDescriptorPool: ProcDestroyDescriptorPool +DestroyDescriptorSetLayout: ProcDestroyDescriptorSetLayout +DestroyDescriptorUpdateTemplate: ProcDestroyDescriptorUpdateTemplate +DestroyDescriptorUpdateTemplateKHR: ProcDestroyDescriptorUpdateTemplateKHR +DestroyDevice: ProcDestroyDevice +DestroyEvent: ProcDestroyEvent +DestroyFence: ProcDestroyFence +DestroyFramebuffer: ProcDestroyFramebuffer +DestroyImage: ProcDestroyImage +DestroyImageView: ProcDestroyImageView +DestroyIndirectCommandsLayoutNV: ProcDestroyIndirectCommandsLayoutNV +DestroyMicromapEXT: ProcDestroyMicromapEXT +DestroyOpticalFlowSessionNV: ProcDestroyOpticalFlowSessionNV +DestroyPipeline: ProcDestroyPipeline +DestroyPipelineCache: ProcDestroyPipelineCache +DestroyPipelineLayout: ProcDestroyPipelineLayout +DestroyPrivateDataSlot: ProcDestroyPrivateDataSlot +DestroyPrivateDataSlotEXT: ProcDestroyPrivateDataSlotEXT +DestroyQueryPool: ProcDestroyQueryPool +DestroyRenderPass: ProcDestroyRenderPass +DestroySampler: ProcDestroySampler +DestroySamplerYcbcrConversion: ProcDestroySamplerYcbcrConversion +DestroySamplerYcbcrConversionKHR: ProcDestroySamplerYcbcrConversionKHR +DestroySemaphore: ProcDestroySemaphore +DestroyShaderEXT: ProcDestroyShaderEXT +DestroyShaderModule: ProcDestroyShaderModule +DestroySwapchainKHR: ProcDestroySwapchainKHR +DestroyValidationCacheEXT: ProcDestroyValidationCacheEXT +DestroyVideoSessionKHR: ProcDestroyVideoSessionKHR +DestroyVideoSessionParametersKHR: ProcDestroyVideoSessionParametersKHR +DeviceWaitIdle: ProcDeviceWaitIdle +DisplayPowerControlEXT: ProcDisplayPowerControlEXT +EndCommandBuffer: ProcEndCommandBuffer +ExportMetalObjectsEXT: ProcExportMetalObjectsEXT +FlushMappedMemoryRanges: ProcFlushMappedMemoryRanges +FreeCommandBuffers: ProcFreeCommandBuffers +FreeDescriptorSets: ProcFreeDescriptorSets +FreeMemory: ProcFreeMemory +GetAccelerationStructureBuildSizesKHR: ProcGetAccelerationStructureBuildSizesKHR +GetAccelerationStructureDeviceAddressKHR: ProcGetAccelerationStructureDeviceAddressKHR +GetAccelerationStructureHandleNV: ProcGetAccelerationStructureHandleNV +GetAccelerationStructureMemoryRequirementsNV: ProcGetAccelerationStructureMemoryRequirementsNV +GetAccelerationStructureOpaqueCaptureDescriptorDataEXT: ProcGetAccelerationStructureOpaqueCaptureDescriptorDataEXT +GetBufferDeviceAddress: ProcGetBufferDeviceAddress +GetBufferDeviceAddressEXT: ProcGetBufferDeviceAddressEXT +GetBufferDeviceAddressKHR: ProcGetBufferDeviceAddressKHR +GetBufferMemoryRequirements: ProcGetBufferMemoryRequirements +GetBufferMemoryRequirements2: ProcGetBufferMemoryRequirements2 +GetBufferMemoryRequirements2KHR: ProcGetBufferMemoryRequirements2KHR +GetBufferOpaqueCaptureAddress: ProcGetBufferOpaqueCaptureAddress +GetBufferOpaqueCaptureAddressKHR: ProcGetBufferOpaqueCaptureAddressKHR +GetBufferOpaqueCaptureDescriptorDataEXT: ProcGetBufferOpaqueCaptureDescriptorDataEXT +GetCalibratedTimestampsEXT: ProcGetCalibratedTimestampsEXT +GetDeferredOperationMaxConcurrencyKHR: ProcGetDeferredOperationMaxConcurrencyKHR +GetDeferredOperationResultKHR: ProcGetDeferredOperationResultKHR +GetDescriptorEXT: ProcGetDescriptorEXT +GetDescriptorSetHostMappingVALVE: ProcGetDescriptorSetHostMappingVALVE +GetDescriptorSetLayoutBindingOffsetEXT: ProcGetDescriptorSetLayoutBindingOffsetEXT +GetDescriptorSetLayoutHostMappingInfoVALVE: ProcGetDescriptorSetLayoutHostMappingInfoVALVE +GetDescriptorSetLayoutSizeEXT: ProcGetDescriptorSetLayoutSizeEXT +GetDescriptorSetLayoutSupport: ProcGetDescriptorSetLayoutSupport +GetDescriptorSetLayoutSupportKHR: ProcGetDescriptorSetLayoutSupportKHR +GetDeviceAccelerationStructureCompatibilityKHR: ProcGetDeviceAccelerationStructureCompatibilityKHR +GetDeviceBufferMemoryRequirements: ProcGetDeviceBufferMemoryRequirements +GetDeviceBufferMemoryRequirementsKHR: ProcGetDeviceBufferMemoryRequirementsKHR +GetDeviceFaultInfoEXT: ProcGetDeviceFaultInfoEXT +GetDeviceGroupPeerMemoryFeatures: ProcGetDeviceGroupPeerMemoryFeatures +GetDeviceGroupPeerMemoryFeaturesKHR: ProcGetDeviceGroupPeerMemoryFeaturesKHR +GetDeviceGroupPresentCapabilitiesKHR: ProcGetDeviceGroupPresentCapabilitiesKHR +GetDeviceGroupSurfacePresentModes2EXT: ProcGetDeviceGroupSurfacePresentModes2EXT +GetDeviceGroupSurfacePresentModesKHR: ProcGetDeviceGroupSurfacePresentModesKHR +GetDeviceImageMemoryRequirements: ProcGetDeviceImageMemoryRequirements +GetDeviceImageMemoryRequirementsKHR: ProcGetDeviceImageMemoryRequirementsKHR +GetDeviceImageSparseMemoryRequirements: ProcGetDeviceImageSparseMemoryRequirements +GetDeviceImageSparseMemoryRequirementsKHR: ProcGetDeviceImageSparseMemoryRequirementsKHR +GetDeviceMemoryCommitment: ProcGetDeviceMemoryCommitment +GetDeviceMemoryOpaqueCaptureAddress: ProcGetDeviceMemoryOpaqueCaptureAddress +GetDeviceMemoryOpaqueCaptureAddressKHR: ProcGetDeviceMemoryOpaqueCaptureAddressKHR +GetDeviceMicromapCompatibilityEXT: ProcGetDeviceMicromapCompatibilityEXT +GetDeviceProcAddr: ProcGetDeviceProcAddr +GetDeviceQueue: ProcGetDeviceQueue +GetDeviceQueue2: ProcGetDeviceQueue2 +GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI: ProcGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI +GetDynamicRenderingTilePropertiesQCOM: ProcGetDynamicRenderingTilePropertiesQCOM +GetEventStatus: ProcGetEventStatus +GetFenceFdKHR: ProcGetFenceFdKHR +GetFenceStatus: ProcGetFenceStatus +GetFenceWin32HandleKHR: ProcGetFenceWin32HandleKHR +GetFramebufferTilePropertiesQCOM: ProcGetFramebufferTilePropertiesQCOM +GetGeneratedCommandsMemoryRequirementsNV: ProcGetGeneratedCommandsMemoryRequirementsNV +GetImageDrmFormatModifierPropertiesEXT: ProcGetImageDrmFormatModifierPropertiesEXT +GetImageMemoryRequirements: ProcGetImageMemoryRequirements +GetImageMemoryRequirements2: ProcGetImageMemoryRequirements2 +GetImageMemoryRequirements2KHR: ProcGetImageMemoryRequirements2KHR +GetImageOpaqueCaptureDescriptorDataEXT: ProcGetImageOpaqueCaptureDescriptorDataEXT +GetImageSparseMemoryRequirements: ProcGetImageSparseMemoryRequirements +GetImageSparseMemoryRequirements2: ProcGetImageSparseMemoryRequirements2 +GetImageSparseMemoryRequirements2KHR: ProcGetImageSparseMemoryRequirements2KHR +GetImageSubresourceLayout: ProcGetImageSubresourceLayout +GetImageSubresourceLayout2EXT: ProcGetImageSubresourceLayout2EXT +GetImageViewAddressNVX: ProcGetImageViewAddressNVX +GetImageViewHandleNVX: ProcGetImageViewHandleNVX +GetImageViewOpaqueCaptureDescriptorDataEXT: ProcGetImageViewOpaqueCaptureDescriptorDataEXT +GetMemoryFdKHR: ProcGetMemoryFdKHR +GetMemoryFdPropertiesKHR: ProcGetMemoryFdPropertiesKHR +GetMemoryHostPointerPropertiesEXT: ProcGetMemoryHostPointerPropertiesEXT +GetMemoryRemoteAddressNV: ProcGetMemoryRemoteAddressNV +GetMemoryWin32HandleKHR: ProcGetMemoryWin32HandleKHR +GetMemoryWin32HandleNV: ProcGetMemoryWin32HandleNV +GetMemoryWin32HandlePropertiesKHR: ProcGetMemoryWin32HandlePropertiesKHR +GetMicromapBuildSizesEXT: ProcGetMicromapBuildSizesEXT +GetPastPresentationTimingGOOGLE: ProcGetPastPresentationTimingGOOGLE +GetPerformanceParameterINTEL: ProcGetPerformanceParameterINTEL +GetPipelineCacheData: ProcGetPipelineCacheData +GetPipelineExecutableInternalRepresentationsKHR: ProcGetPipelineExecutableInternalRepresentationsKHR +GetPipelineExecutablePropertiesKHR: ProcGetPipelineExecutablePropertiesKHR +GetPipelineExecutableStatisticsKHR: ProcGetPipelineExecutableStatisticsKHR +GetPipelinePropertiesEXT: ProcGetPipelinePropertiesEXT +GetPrivateData: ProcGetPrivateData +GetPrivateDataEXT: ProcGetPrivateDataEXT +GetQueryPoolResults: ProcGetQueryPoolResults +GetQueueCheckpointData2NV: ProcGetQueueCheckpointData2NV +GetQueueCheckpointDataNV: ProcGetQueueCheckpointDataNV +GetRayTracingCaptureReplayShaderGroupHandlesKHR: ProcGetRayTracingCaptureReplayShaderGroupHandlesKHR +GetRayTracingShaderGroupHandlesKHR: ProcGetRayTracingShaderGroupHandlesKHR +GetRayTracingShaderGroupHandlesNV: ProcGetRayTracingShaderGroupHandlesNV +GetRayTracingShaderGroupStackSizeKHR: ProcGetRayTracingShaderGroupStackSizeKHR +GetRefreshCycleDurationGOOGLE: ProcGetRefreshCycleDurationGOOGLE +GetRenderAreaGranularity: ProcGetRenderAreaGranularity +GetSamplerOpaqueCaptureDescriptorDataEXT: ProcGetSamplerOpaqueCaptureDescriptorDataEXT +GetSemaphoreCounterValue: ProcGetSemaphoreCounterValue +GetSemaphoreCounterValueKHR: ProcGetSemaphoreCounterValueKHR +GetSemaphoreFdKHR: ProcGetSemaphoreFdKHR +GetSemaphoreWin32HandleKHR: ProcGetSemaphoreWin32HandleKHR +GetShaderBinaryDataEXT: ProcGetShaderBinaryDataEXT +GetShaderInfoAMD: ProcGetShaderInfoAMD +GetShaderModuleCreateInfoIdentifierEXT: ProcGetShaderModuleCreateInfoIdentifierEXT +GetShaderModuleIdentifierEXT: ProcGetShaderModuleIdentifierEXT +GetSwapchainCounterEXT: ProcGetSwapchainCounterEXT +GetSwapchainImagesKHR: ProcGetSwapchainImagesKHR +GetSwapchainStatusKHR: ProcGetSwapchainStatusKHR +GetValidationCacheDataEXT: ProcGetValidationCacheDataEXT +GetVideoSessionMemoryRequirementsKHR: ProcGetVideoSessionMemoryRequirementsKHR +ImportFenceFdKHR: ProcImportFenceFdKHR +ImportFenceWin32HandleKHR: ProcImportFenceWin32HandleKHR +ImportSemaphoreFdKHR: ProcImportSemaphoreFdKHR +ImportSemaphoreWin32HandleKHR: ProcImportSemaphoreWin32HandleKHR +InitializePerformanceApiINTEL: ProcInitializePerformanceApiINTEL +InvalidateMappedMemoryRanges: ProcInvalidateMappedMemoryRanges +MapMemory: ProcMapMemory +MapMemory2KHR: ProcMapMemory2KHR +MergePipelineCaches: ProcMergePipelineCaches +MergeValidationCachesEXT: ProcMergeValidationCachesEXT +QueueBeginDebugUtilsLabelEXT: ProcQueueBeginDebugUtilsLabelEXT +QueueBindSparse: ProcQueueBindSparse +QueueEndDebugUtilsLabelEXT: ProcQueueEndDebugUtilsLabelEXT +QueueInsertDebugUtilsLabelEXT: ProcQueueInsertDebugUtilsLabelEXT +QueuePresentKHR: ProcQueuePresentKHR +QueueSetPerformanceConfigurationINTEL: ProcQueueSetPerformanceConfigurationINTEL +QueueSubmit: ProcQueueSubmit +QueueSubmit2: ProcQueueSubmit2 +QueueSubmit2KHR: ProcQueueSubmit2KHR +QueueWaitIdle: ProcQueueWaitIdle +RegisterDeviceEventEXT: ProcRegisterDeviceEventEXT +RegisterDisplayEventEXT: ProcRegisterDisplayEventEXT +ReleaseFullScreenExclusiveModeEXT: ProcReleaseFullScreenExclusiveModeEXT +ReleasePerformanceConfigurationINTEL: ProcReleasePerformanceConfigurationINTEL +ReleaseProfilingLockKHR: ProcReleaseProfilingLockKHR +ReleaseSwapchainImagesEXT: ProcReleaseSwapchainImagesEXT +ResetCommandBuffer: ProcResetCommandBuffer +ResetCommandPool: ProcResetCommandPool +ResetDescriptorPool: ProcResetDescriptorPool +ResetEvent: ProcResetEvent +ResetFences: ProcResetFences +ResetQueryPool: ProcResetQueryPool +ResetQueryPoolEXT: ProcResetQueryPoolEXT +SetDebugUtilsObjectNameEXT: ProcSetDebugUtilsObjectNameEXT +SetDebugUtilsObjectTagEXT: ProcSetDebugUtilsObjectTagEXT +SetDeviceMemoryPriorityEXT: ProcSetDeviceMemoryPriorityEXT +SetEvent: ProcSetEvent +SetHdrMetadataEXT: ProcSetHdrMetadataEXT +SetLocalDimmingAMD: ProcSetLocalDimmingAMD +SetPrivateData: ProcSetPrivateData +SetPrivateDataEXT: ProcSetPrivateDataEXT +SignalSemaphore: ProcSignalSemaphore +SignalSemaphoreKHR: ProcSignalSemaphoreKHR +TrimCommandPool: ProcTrimCommandPool +TrimCommandPoolKHR: ProcTrimCommandPoolKHR +UninitializePerformanceApiINTEL: ProcUninitializePerformanceApiINTEL +UnmapMemory: ProcUnmapMemory +UnmapMemory2KHR: ProcUnmapMemory2KHR +UpdateDescriptorSetWithTemplate: ProcUpdateDescriptorSetWithTemplate +UpdateDescriptorSetWithTemplateKHR: ProcUpdateDescriptorSetWithTemplateKHR +UpdateDescriptorSets: ProcUpdateDescriptorSets +UpdateVideoSessionParametersKHR: ProcUpdateVideoSessionParametersKHR +WaitForFences: ProcWaitForFences +WaitForPresentKHR: ProcWaitForPresentKHR +WaitSemaphores: ProcWaitSemaphores +WaitSemaphoresKHR: ProcWaitSemaphoresKHR +WriteAccelerationStructuresPropertiesKHR: ProcWriteAccelerationStructuresPropertiesKHR +WriteMicromapsPropertiesEXT: ProcWriteMicromapsPropertiesEXT + +load_proc_addresses_custom :: proc(set_proc_address: SetProcAddressType) { + // Loader Procedures + set_proc_address(&CreateInstance, "vkCreateInstance") + set_proc_address(&DebugUtilsMessengerCallbackEXT, "vkDebugUtilsMessengerCallbackEXT") + set_proc_address(&DeviceMemoryReportCallbackEXT, "vkDeviceMemoryReportCallbackEXT") + set_proc_address(&EnumerateInstanceExtensionProperties, "vkEnumerateInstanceExtensionProperties") + set_proc_address(&EnumerateInstanceLayerProperties, "vkEnumerateInstanceLayerProperties") + set_proc_address(&EnumerateInstanceVersion, "vkEnumerateInstanceVersion") + set_proc_address(&GetInstanceProcAddr, "vkGetInstanceProcAddr") + + // Instance Procedures + set_proc_address(&AcquireDrmDisplayEXT, "vkAcquireDrmDisplayEXT") + set_proc_address(&AcquireWinrtDisplayNV, "vkAcquireWinrtDisplayNV") + set_proc_address(&CreateDebugReportCallbackEXT, "vkCreateDebugReportCallbackEXT") + set_proc_address(&CreateDebugUtilsMessengerEXT, "vkCreateDebugUtilsMessengerEXT") + set_proc_address(&CreateDevice, "vkCreateDevice") + set_proc_address(&CreateDisplayModeKHR, "vkCreateDisplayModeKHR") + set_proc_address(&CreateDisplayPlaneSurfaceKHR, "vkCreateDisplayPlaneSurfaceKHR") + set_proc_address(&CreateHeadlessSurfaceEXT, "vkCreateHeadlessSurfaceEXT") + set_proc_address(&CreateIOSSurfaceMVK, "vkCreateIOSSurfaceMVK") + set_proc_address(&CreateMacOSSurfaceMVK, "vkCreateMacOSSurfaceMVK") + set_proc_address(&CreateMetalSurfaceEXT, "vkCreateMetalSurfaceEXT") + set_proc_address(&CreateWaylandSurfaceKHR, "vkCreateWaylandSurfaceKHR") + set_proc_address(&CreateWin32SurfaceKHR, "vkCreateWin32SurfaceKHR") + set_proc_address(&DebugReportMessageEXT, "vkDebugReportMessageEXT") + set_proc_address(&DestroyDebugReportCallbackEXT, "vkDestroyDebugReportCallbackEXT") + set_proc_address(&DestroyDebugUtilsMessengerEXT, "vkDestroyDebugUtilsMessengerEXT") + set_proc_address(&DestroyInstance, "vkDestroyInstance") + set_proc_address(&DestroySurfaceKHR, "vkDestroySurfaceKHR") + set_proc_address(&EnumerateDeviceExtensionProperties, "vkEnumerateDeviceExtensionProperties") + set_proc_address(&EnumerateDeviceLayerProperties, "vkEnumerateDeviceLayerProperties") + set_proc_address(&EnumeratePhysicalDeviceGroups, "vkEnumeratePhysicalDeviceGroups") + set_proc_address(&EnumeratePhysicalDeviceGroupsKHR, "vkEnumeratePhysicalDeviceGroupsKHR") + set_proc_address(&EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR") + set_proc_address(&EnumeratePhysicalDevices, "vkEnumeratePhysicalDevices") + set_proc_address(&GetDisplayModeProperties2KHR, "vkGetDisplayModeProperties2KHR") + set_proc_address(&GetDisplayModePropertiesKHR, "vkGetDisplayModePropertiesKHR") + set_proc_address(&GetDisplayPlaneCapabilities2KHR, "vkGetDisplayPlaneCapabilities2KHR") + set_proc_address(&GetDisplayPlaneCapabilitiesKHR, "vkGetDisplayPlaneCapabilitiesKHR") + set_proc_address(&GetDisplayPlaneSupportedDisplaysKHR, "vkGetDisplayPlaneSupportedDisplaysKHR") + set_proc_address(&GetDrmDisplayEXT, "vkGetDrmDisplayEXT") + set_proc_address(&GetInstanceProcAddrLUNARG, "vkGetInstanceProcAddrLUNARG") + set_proc_address(&GetPhysicalDeviceCalibrateableTimeDomainsEXT, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT") + set_proc_address(&GetPhysicalDeviceCooperativeMatrixPropertiesNV, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV") + set_proc_address(&GetPhysicalDeviceDisplayPlaneProperties2KHR, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR") + set_proc_address(&GetPhysicalDeviceDisplayPlanePropertiesKHR, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR") + set_proc_address(&GetPhysicalDeviceDisplayProperties2KHR, "vkGetPhysicalDeviceDisplayProperties2KHR") + set_proc_address(&GetPhysicalDeviceDisplayPropertiesKHR, "vkGetPhysicalDeviceDisplayPropertiesKHR") + set_proc_address(&GetPhysicalDeviceExternalBufferProperties, "vkGetPhysicalDeviceExternalBufferProperties") + set_proc_address(&GetPhysicalDeviceExternalBufferPropertiesKHR, "vkGetPhysicalDeviceExternalBufferPropertiesKHR") + set_proc_address(&GetPhysicalDeviceExternalFenceProperties, "vkGetPhysicalDeviceExternalFenceProperties") + set_proc_address(&GetPhysicalDeviceExternalFencePropertiesKHR, "vkGetPhysicalDeviceExternalFencePropertiesKHR") + set_proc_address(&GetPhysicalDeviceExternalImageFormatPropertiesNV, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV") + set_proc_address(&GetPhysicalDeviceExternalSemaphoreProperties, "vkGetPhysicalDeviceExternalSemaphoreProperties") + set_proc_address(&GetPhysicalDeviceExternalSemaphorePropertiesKHR, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR") + set_proc_address(&GetPhysicalDeviceFeatures, "vkGetPhysicalDeviceFeatures") + set_proc_address(&GetPhysicalDeviceFeatures2, "vkGetPhysicalDeviceFeatures2") + set_proc_address(&GetPhysicalDeviceFeatures2KHR, "vkGetPhysicalDeviceFeatures2KHR") + set_proc_address(&GetPhysicalDeviceFormatProperties, "vkGetPhysicalDeviceFormatProperties") + set_proc_address(&GetPhysicalDeviceFormatProperties2, "vkGetPhysicalDeviceFormatProperties2") + set_proc_address(&GetPhysicalDeviceFormatProperties2KHR, "vkGetPhysicalDeviceFormatProperties2KHR") + set_proc_address(&GetPhysicalDeviceFragmentShadingRatesKHR, "vkGetPhysicalDeviceFragmentShadingRatesKHR") + set_proc_address(&GetPhysicalDeviceImageFormatProperties, "vkGetPhysicalDeviceImageFormatProperties") + set_proc_address(&GetPhysicalDeviceImageFormatProperties2, "vkGetPhysicalDeviceImageFormatProperties2") + set_proc_address(&GetPhysicalDeviceImageFormatProperties2KHR, "vkGetPhysicalDeviceImageFormatProperties2KHR") + set_proc_address(&GetPhysicalDeviceMemoryProperties, "vkGetPhysicalDeviceMemoryProperties") + set_proc_address(&GetPhysicalDeviceMemoryProperties2, "vkGetPhysicalDeviceMemoryProperties2") + set_proc_address(&GetPhysicalDeviceMemoryProperties2KHR, "vkGetPhysicalDeviceMemoryProperties2KHR") + set_proc_address(&GetPhysicalDeviceMultisamplePropertiesEXT, "vkGetPhysicalDeviceMultisamplePropertiesEXT") + set_proc_address(&GetPhysicalDeviceOpticalFlowImageFormatsNV, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV") + set_proc_address(&GetPhysicalDevicePresentRectanglesKHR, "vkGetPhysicalDevicePresentRectanglesKHR") + set_proc_address(&GetPhysicalDeviceProperties, "vkGetPhysicalDeviceProperties") + set_proc_address(&GetPhysicalDeviceProperties2, "vkGetPhysicalDeviceProperties2") + set_proc_address(&GetPhysicalDeviceProperties2KHR, "vkGetPhysicalDeviceProperties2KHR") + set_proc_address(&GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR") + set_proc_address(&GetPhysicalDeviceQueueFamilyProperties, "vkGetPhysicalDeviceQueueFamilyProperties") + set_proc_address(&GetPhysicalDeviceQueueFamilyProperties2, "vkGetPhysicalDeviceQueueFamilyProperties2") + set_proc_address(&GetPhysicalDeviceQueueFamilyProperties2KHR, "vkGetPhysicalDeviceQueueFamilyProperties2KHR") + set_proc_address(&GetPhysicalDeviceSparseImageFormatProperties, "vkGetPhysicalDeviceSparseImageFormatProperties") + set_proc_address(&GetPhysicalDeviceSparseImageFormatProperties2, "vkGetPhysicalDeviceSparseImageFormatProperties2") + set_proc_address(&GetPhysicalDeviceSparseImageFormatProperties2KHR, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR") + set_proc_address(&GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV") + set_proc_address(&GetPhysicalDeviceSurfaceCapabilities2EXT, "vkGetPhysicalDeviceSurfaceCapabilities2EXT") + set_proc_address(&GetPhysicalDeviceSurfaceCapabilities2KHR, "vkGetPhysicalDeviceSurfaceCapabilities2KHR") + set_proc_address(&GetPhysicalDeviceSurfaceCapabilitiesKHR, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR") + set_proc_address(&GetPhysicalDeviceSurfaceFormats2KHR, "vkGetPhysicalDeviceSurfaceFormats2KHR") + set_proc_address(&GetPhysicalDeviceSurfaceFormatsKHR, "vkGetPhysicalDeviceSurfaceFormatsKHR") + set_proc_address(&GetPhysicalDeviceSurfacePresentModes2EXT, "vkGetPhysicalDeviceSurfacePresentModes2EXT") + set_proc_address(&GetPhysicalDeviceSurfacePresentModesKHR, "vkGetPhysicalDeviceSurfacePresentModesKHR") + set_proc_address(&GetPhysicalDeviceSurfaceSupportKHR, "vkGetPhysicalDeviceSurfaceSupportKHR") + set_proc_address(&GetPhysicalDeviceToolProperties, "vkGetPhysicalDeviceToolProperties") + set_proc_address(&GetPhysicalDeviceToolPropertiesEXT, "vkGetPhysicalDeviceToolPropertiesEXT") + set_proc_address(&GetPhysicalDeviceVideoCapabilitiesKHR, "vkGetPhysicalDeviceVideoCapabilitiesKHR") + set_proc_address(&GetPhysicalDeviceVideoFormatPropertiesKHR, "vkGetPhysicalDeviceVideoFormatPropertiesKHR") + set_proc_address(&GetPhysicalDeviceWaylandPresentationSupportKHR, "vkGetPhysicalDeviceWaylandPresentationSupportKHR") + set_proc_address(&GetPhysicalDeviceWin32PresentationSupportKHR, "vkGetPhysicalDeviceWin32PresentationSupportKHR") + set_proc_address(&GetWinrtDisplayNV, "vkGetWinrtDisplayNV") + set_proc_address(&ReleaseDisplayEXT, "vkReleaseDisplayEXT") + set_proc_address(&SubmitDebugUtilsMessageEXT, "vkSubmitDebugUtilsMessageEXT") + + // Device Procedures + set_proc_address(&AcquireFullScreenExclusiveModeEXT, "vkAcquireFullScreenExclusiveModeEXT") + set_proc_address(&AcquireNextImage2KHR, "vkAcquireNextImage2KHR") + set_proc_address(&AcquireNextImageKHR, "vkAcquireNextImageKHR") + set_proc_address(&AcquirePerformanceConfigurationINTEL, "vkAcquirePerformanceConfigurationINTEL") + set_proc_address(&AcquireProfilingLockKHR, "vkAcquireProfilingLockKHR") + set_proc_address(&AllocateCommandBuffers, "vkAllocateCommandBuffers") + set_proc_address(&AllocateDescriptorSets, "vkAllocateDescriptorSets") + set_proc_address(&AllocateMemory, "vkAllocateMemory") + set_proc_address(&BeginCommandBuffer, "vkBeginCommandBuffer") + set_proc_address(&BindAccelerationStructureMemoryNV, "vkBindAccelerationStructureMemoryNV") + set_proc_address(&BindBufferMemory, "vkBindBufferMemory") + set_proc_address(&BindBufferMemory2, "vkBindBufferMemory2") + set_proc_address(&BindBufferMemory2KHR, "vkBindBufferMemory2KHR") + set_proc_address(&BindImageMemory, "vkBindImageMemory") + set_proc_address(&BindImageMemory2, "vkBindImageMemory2") + set_proc_address(&BindImageMemory2KHR, "vkBindImageMemory2KHR") + set_proc_address(&BindOpticalFlowSessionImageNV, "vkBindOpticalFlowSessionImageNV") + set_proc_address(&BindVideoSessionMemoryKHR, "vkBindVideoSessionMemoryKHR") + set_proc_address(&BuildAccelerationStructuresKHR, "vkBuildAccelerationStructuresKHR") + set_proc_address(&BuildMicromapsEXT, "vkBuildMicromapsEXT") + set_proc_address(&CmdBeginConditionalRenderingEXT, "vkCmdBeginConditionalRenderingEXT") + set_proc_address(&CmdBeginDebugUtilsLabelEXT, "vkCmdBeginDebugUtilsLabelEXT") + set_proc_address(&CmdBeginQuery, "vkCmdBeginQuery") + set_proc_address(&CmdBeginQueryIndexedEXT, "vkCmdBeginQueryIndexedEXT") + set_proc_address(&CmdBeginRenderPass, "vkCmdBeginRenderPass") + set_proc_address(&CmdBeginRenderPass2, "vkCmdBeginRenderPass2") + set_proc_address(&CmdBeginRenderPass2KHR, "vkCmdBeginRenderPass2KHR") + set_proc_address(&CmdBeginRendering, "vkCmdBeginRendering") + set_proc_address(&CmdBeginRenderingKHR, "vkCmdBeginRenderingKHR") + set_proc_address(&CmdBeginTransformFeedbackEXT, "vkCmdBeginTransformFeedbackEXT") + set_proc_address(&CmdBeginVideoCodingKHR, "vkCmdBeginVideoCodingKHR") + set_proc_address(&CmdBindDescriptorBufferEmbeddedSamplersEXT, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT") + set_proc_address(&CmdBindDescriptorBuffersEXT, "vkCmdBindDescriptorBuffersEXT") + set_proc_address(&CmdBindDescriptorSets, "vkCmdBindDescriptorSets") + set_proc_address(&CmdBindIndexBuffer, "vkCmdBindIndexBuffer") + set_proc_address(&CmdBindInvocationMaskHUAWEI, "vkCmdBindInvocationMaskHUAWEI") + set_proc_address(&CmdBindPipeline, "vkCmdBindPipeline") + set_proc_address(&CmdBindPipelineShaderGroupNV, "vkCmdBindPipelineShaderGroupNV") + set_proc_address(&CmdBindShadersEXT, "vkCmdBindShadersEXT") + set_proc_address(&CmdBindShadingRateImageNV, "vkCmdBindShadingRateImageNV") + set_proc_address(&CmdBindTransformFeedbackBuffersEXT, "vkCmdBindTransformFeedbackBuffersEXT") + set_proc_address(&CmdBindVertexBuffers, "vkCmdBindVertexBuffers") + set_proc_address(&CmdBindVertexBuffers2, "vkCmdBindVertexBuffers2") + set_proc_address(&CmdBindVertexBuffers2EXT, "vkCmdBindVertexBuffers2EXT") + set_proc_address(&CmdBlitImage, "vkCmdBlitImage") + set_proc_address(&CmdBlitImage2, "vkCmdBlitImage2") + set_proc_address(&CmdBlitImage2KHR, "vkCmdBlitImage2KHR") + set_proc_address(&CmdBuildAccelerationStructureNV, "vkCmdBuildAccelerationStructureNV") + set_proc_address(&CmdBuildAccelerationStructuresIndirectKHR, "vkCmdBuildAccelerationStructuresIndirectKHR") + set_proc_address(&CmdBuildAccelerationStructuresKHR, "vkCmdBuildAccelerationStructuresKHR") + set_proc_address(&CmdBuildMicromapsEXT, "vkCmdBuildMicromapsEXT") + set_proc_address(&CmdClearAttachments, "vkCmdClearAttachments") + set_proc_address(&CmdClearColorImage, "vkCmdClearColorImage") + set_proc_address(&CmdClearDepthStencilImage, "vkCmdClearDepthStencilImage") + set_proc_address(&CmdControlVideoCodingKHR, "vkCmdControlVideoCodingKHR") + set_proc_address(&CmdCopyAccelerationStructureKHR, "vkCmdCopyAccelerationStructureKHR") + set_proc_address(&CmdCopyAccelerationStructureNV, "vkCmdCopyAccelerationStructureNV") + set_proc_address(&CmdCopyAccelerationStructureToMemoryKHR, "vkCmdCopyAccelerationStructureToMemoryKHR") + set_proc_address(&CmdCopyBuffer, "vkCmdCopyBuffer") + set_proc_address(&CmdCopyBuffer2, "vkCmdCopyBuffer2") + set_proc_address(&CmdCopyBuffer2KHR, "vkCmdCopyBuffer2KHR") + set_proc_address(&CmdCopyBufferToImage, "vkCmdCopyBufferToImage") + set_proc_address(&CmdCopyBufferToImage2, "vkCmdCopyBufferToImage2") + set_proc_address(&CmdCopyBufferToImage2KHR, "vkCmdCopyBufferToImage2KHR") + set_proc_address(&CmdCopyImage, "vkCmdCopyImage") + set_proc_address(&CmdCopyImage2, "vkCmdCopyImage2") + set_proc_address(&CmdCopyImage2KHR, "vkCmdCopyImage2KHR") + set_proc_address(&CmdCopyImageToBuffer, "vkCmdCopyImageToBuffer") + set_proc_address(&CmdCopyImageToBuffer2, "vkCmdCopyImageToBuffer2") + set_proc_address(&CmdCopyImageToBuffer2KHR, "vkCmdCopyImageToBuffer2KHR") + set_proc_address(&CmdCopyMemoryIndirectNV, "vkCmdCopyMemoryIndirectNV") + set_proc_address(&CmdCopyMemoryToAccelerationStructureKHR, "vkCmdCopyMemoryToAccelerationStructureKHR") + set_proc_address(&CmdCopyMemoryToImageIndirectNV, "vkCmdCopyMemoryToImageIndirectNV") + set_proc_address(&CmdCopyMemoryToMicromapEXT, "vkCmdCopyMemoryToMicromapEXT") + set_proc_address(&CmdCopyMicromapEXT, "vkCmdCopyMicromapEXT") + set_proc_address(&CmdCopyMicromapToMemoryEXT, "vkCmdCopyMicromapToMemoryEXT") + set_proc_address(&CmdCopyQueryPoolResults, "vkCmdCopyQueryPoolResults") + set_proc_address(&CmdCuLaunchKernelNVX, "vkCmdCuLaunchKernelNVX") + set_proc_address(&CmdDebugMarkerBeginEXT, "vkCmdDebugMarkerBeginEXT") + set_proc_address(&CmdDebugMarkerEndEXT, "vkCmdDebugMarkerEndEXT") + set_proc_address(&CmdDebugMarkerInsertEXT, "vkCmdDebugMarkerInsertEXT") + set_proc_address(&CmdDecodeVideoKHR, "vkCmdDecodeVideoKHR") + set_proc_address(&CmdDecompressMemoryIndirectCountNV, "vkCmdDecompressMemoryIndirectCountNV") + set_proc_address(&CmdDecompressMemoryNV, "vkCmdDecompressMemoryNV") + set_proc_address(&CmdDispatch, "vkCmdDispatch") + set_proc_address(&CmdDispatchBase, "vkCmdDispatchBase") + set_proc_address(&CmdDispatchBaseKHR, "vkCmdDispatchBaseKHR") + set_proc_address(&CmdDispatchIndirect, "vkCmdDispatchIndirect") + set_proc_address(&CmdDraw, "vkCmdDraw") + set_proc_address(&CmdDrawClusterHUAWEI, "vkCmdDrawClusterHUAWEI") + set_proc_address(&CmdDrawClusterIndirectHUAWEI, "vkCmdDrawClusterIndirectHUAWEI") + set_proc_address(&CmdDrawIndexed, "vkCmdDrawIndexed") + set_proc_address(&CmdDrawIndexedIndirect, "vkCmdDrawIndexedIndirect") + set_proc_address(&CmdDrawIndexedIndirectCount, "vkCmdDrawIndexedIndirectCount") + set_proc_address(&CmdDrawIndexedIndirectCountAMD, "vkCmdDrawIndexedIndirectCountAMD") + set_proc_address(&CmdDrawIndexedIndirectCountKHR, "vkCmdDrawIndexedIndirectCountKHR") + set_proc_address(&CmdDrawIndirect, "vkCmdDrawIndirect") + set_proc_address(&CmdDrawIndirectByteCountEXT, "vkCmdDrawIndirectByteCountEXT") + set_proc_address(&CmdDrawIndirectCount, "vkCmdDrawIndirectCount") + set_proc_address(&CmdDrawIndirectCountAMD, "vkCmdDrawIndirectCountAMD") + set_proc_address(&CmdDrawIndirectCountKHR, "vkCmdDrawIndirectCountKHR") + set_proc_address(&CmdDrawMeshTasksEXT, "vkCmdDrawMeshTasksEXT") + set_proc_address(&CmdDrawMeshTasksIndirectCountEXT, "vkCmdDrawMeshTasksIndirectCountEXT") + set_proc_address(&CmdDrawMeshTasksIndirectCountNV, "vkCmdDrawMeshTasksIndirectCountNV") + set_proc_address(&CmdDrawMeshTasksIndirectEXT, "vkCmdDrawMeshTasksIndirectEXT") + set_proc_address(&CmdDrawMeshTasksIndirectNV, "vkCmdDrawMeshTasksIndirectNV") + set_proc_address(&CmdDrawMeshTasksNV, "vkCmdDrawMeshTasksNV") + set_proc_address(&CmdDrawMultiEXT, "vkCmdDrawMultiEXT") + set_proc_address(&CmdDrawMultiIndexedEXT, "vkCmdDrawMultiIndexedEXT") + set_proc_address(&CmdEndConditionalRenderingEXT, "vkCmdEndConditionalRenderingEXT") + set_proc_address(&CmdEndDebugUtilsLabelEXT, "vkCmdEndDebugUtilsLabelEXT") + set_proc_address(&CmdEndQuery, "vkCmdEndQuery") + set_proc_address(&CmdEndQueryIndexedEXT, "vkCmdEndQueryIndexedEXT") + set_proc_address(&CmdEndRenderPass, "vkCmdEndRenderPass") + set_proc_address(&CmdEndRenderPass2, "vkCmdEndRenderPass2") + set_proc_address(&CmdEndRenderPass2KHR, "vkCmdEndRenderPass2KHR") + set_proc_address(&CmdEndRendering, "vkCmdEndRendering") + set_proc_address(&CmdEndRenderingKHR, "vkCmdEndRenderingKHR") + set_proc_address(&CmdEndTransformFeedbackEXT, "vkCmdEndTransformFeedbackEXT") + set_proc_address(&CmdEndVideoCodingKHR, "vkCmdEndVideoCodingKHR") + set_proc_address(&CmdExecuteCommands, "vkCmdExecuteCommands") + set_proc_address(&CmdExecuteGeneratedCommandsNV, "vkCmdExecuteGeneratedCommandsNV") + set_proc_address(&CmdFillBuffer, "vkCmdFillBuffer") + set_proc_address(&CmdInsertDebugUtilsLabelEXT, "vkCmdInsertDebugUtilsLabelEXT") + set_proc_address(&CmdNextSubpass, "vkCmdNextSubpass") + set_proc_address(&CmdNextSubpass2, "vkCmdNextSubpass2") + set_proc_address(&CmdNextSubpass2KHR, "vkCmdNextSubpass2KHR") + set_proc_address(&CmdOpticalFlowExecuteNV, "vkCmdOpticalFlowExecuteNV") + set_proc_address(&CmdPipelineBarrier, "vkCmdPipelineBarrier") + set_proc_address(&CmdPipelineBarrier2, "vkCmdPipelineBarrier2") + set_proc_address(&CmdPipelineBarrier2KHR, "vkCmdPipelineBarrier2KHR") + set_proc_address(&CmdPreprocessGeneratedCommandsNV, "vkCmdPreprocessGeneratedCommandsNV") + set_proc_address(&CmdPushConstants, "vkCmdPushConstants") + set_proc_address(&CmdPushDescriptorSetKHR, "vkCmdPushDescriptorSetKHR") + set_proc_address(&CmdPushDescriptorSetWithTemplateKHR, "vkCmdPushDescriptorSetWithTemplateKHR") + set_proc_address(&CmdResetEvent, "vkCmdResetEvent") + set_proc_address(&CmdResetEvent2, "vkCmdResetEvent2") + set_proc_address(&CmdResetEvent2KHR, "vkCmdResetEvent2KHR") + set_proc_address(&CmdResetQueryPool, "vkCmdResetQueryPool") + set_proc_address(&CmdResolveImage, "vkCmdResolveImage") + set_proc_address(&CmdResolveImage2, "vkCmdResolveImage2") + set_proc_address(&CmdResolveImage2KHR, "vkCmdResolveImage2KHR") + set_proc_address(&CmdSetAlphaToCoverageEnableEXT, "vkCmdSetAlphaToCoverageEnableEXT") + set_proc_address(&CmdSetAlphaToOneEnableEXT, "vkCmdSetAlphaToOneEnableEXT") + set_proc_address(&CmdSetAttachmentFeedbackLoopEnableEXT, "vkCmdSetAttachmentFeedbackLoopEnableEXT") + set_proc_address(&CmdSetBlendConstants, "vkCmdSetBlendConstants") + set_proc_address(&CmdSetCheckpointNV, "vkCmdSetCheckpointNV") + set_proc_address(&CmdSetCoarseSampleOrderNV, "vkCmdSetCoarseSampleOrderNV") + set_proc_address(&CmdSetColorBlendAdvancedEXT, "vkCmdSetColorBlendAdvancedEXT") + set_proc_address(&CmdSetColorBlendEnableEXT, "vkCmdSetColorBlendEnableEXT") + set_proc_address(&CmdSetColorBlendEquationEXT, "vkCmdSetColorBlendEquationEXT") + set_proc_address(&CmdSetColorWriteMaskEXT, "vkCmdSetColorWriteMaskEXT") + set_proc_address(&CmdSetConservativeRasterizationModeEXT, "vkCmdSetConservativeRasterizationModeEXT") + set_proc_address(&CmdSetCoverageModulationModeNV, "vkCmdSetCoverageModulationModeNV") + set_proc_address(&CmdSetCoverageModulationTableEnableNV, "vkCmdSetCoverageModulationTableEnableNV") + set_proc_address(&CmdSetCoverageModulationTableNV, "vkCmdSetCoverageModulationTableNV") + set_proc_address(&CmdSetCoverageReductionModeNV, "vkCmdSetCoverageReductionModeNV") + set_proc_address(&CmdSetCoverageToColorEnableNV, "vkCmdSetCoverageToColorEnableNV") + set_proc_address(&CmdSetCoverageToColorLocationNV, "vkCmdSetCoverageToColorLocationNV") + set_proc_address(&CmdSetCullMode, "vkCmdSetCullMode") + set_proc_address(&CmdSetCullModeEXT, "vkCmdSetCullModeEXT") + set_proc_address(&CmdSetDepthBias, "vkCmdSetDepthBias") + set_proc_address(&CmdSetDepthBiasEnable, "vkCmdSetDepthBiasEnable") + set_proc_address(&CmdSetDepthBiasEnableEXT, "vkCmdSetDepthBiasEnableEXT") + set_proc_address(&CmdSetDepthBounds, "vkCmdSetDepthBounds") + set_proc_address(&CmdSetDepthBoundsTestEnable, "vkCmdSetDepthBoundsTestEnable") + set_proc_address(&CmdSetDepthBoundsTestEnableEXT, "vkCmdSetDepthBoundsTestEnableEXT") + set_proc_address(&CmdSetDepthClampEnableEXT, "vkCmdSetDepthClampEnableEXT") + set_proc_address(&CmdSetDepthClipEnableEXT, "vkCmdSetDepthClipEnableEXT") + set_proc_address(&CmdSetDepthClipNegativeOneToOneEXT, "vkCmdSetDepthClipNegativeOneToOneEXT") + set_proc_address(&CmdSetDepthCompareOp, "vkCmdSetDepthCompareOp") + set_proc_address(&CmdSetDepthCompareOpEXT, "vkCmdSetDepthCompareOpEXT") + set_proc_address(&CmdSetDepthTestEnable, "vkCmdSetDepthTestEnable") + set_proc_address(&CmdSetDepthTestEnableEXT, "vkCmdSetDepthTestEnableEXT") + set_proc_address(&CmdSetDepthWriteEnable, "vkCmdSetDepthWriteEnable") + set_proc_address(&CmdSetDepthWriteEnableEXT, "vkCmdSetDepthWriteEnableEXT") + set_proc_address(&CmdSetDescriptorBufferOffsetsEXT, "vkCmdSetDescriptorBufferOffsetsEXT") + set_proc_address(&CmdSetDeviceMask, "vkCmdSetDeviceMask") + set_proc_address(&CmdSetDeviceMaskKHR, "vkCmdSetDeviceMaskKHR") + set_proc_address(&CmdSetDiscardRectangleEXT, "vkCmdSetDiscardRectangleEXT") + set_proc_address(&CmdSetDiscardRectangleEnableEXT, "vkCmdSetDiscardRectangleEnableEXT") + set_proc_address(&CmdSetDiscardRectangleModeEXT, "vkCmdSetDiscardRectangleModeEXT") + set_proc_address(&CmdSetEvent, "vkCmdSetEvent") + set_proc_address(&CmdSetEvent2, "vkCmdSetEvent2") + set_proc_address(&CmdSetEvent2KHR, "vkCmdSetEvent2KHR") + set_proc_address(&CmdSetExclusiveScissorEnableNV, "vkCmdSetExclusiveScissorEnableNV") + set_proc_address(&CmdSetExclusiveScissorNV, "vkCmdSetExclusiveScissorNV") + set_proc_address(&CmdSetExtraPrimitiveOverestimationSizeEXT, "vkCmdSetExtraPrimitiveOverestimationSizeEXT") + set_proc_address(&CmdSetFragmentShadingRateEnumNV, "vkCmdSetFragmentShadingRateEnumNV") + set_proc_address(&CmdSetFragmentShadingRateKHR, "vkCmdSetFragmentShadingRateKHR") + set_proc_address(&CmdSetFrontFace, "vkCmdSetFrontFace") + set_proc_address(&CmdSetFrontFaceEXT, "vkCmdSetFrontFaceEXT") + set_proc_address(&CmdSetLineRasterizationModeEXT, "vkCmdSetLineRasterizationModeEXT") + set_proc_address(&CmdSetLineStippleEXT, "vkCmdSetLineStippleEXT") + set_proc_address(&CmdSetLineStippleEnableEXT, "vkCmdSetLineStippleEnableEXT") + set_proc_address(&CmdSetLineWidth, "vkCmdSetLineWidth") + set_proc_address(&CmdSetLogicOpEXT, "vkCmdSetLogicOpEXT") + set_proc_address(&CmdSetLogicOpEnableEXT, "vkCmdSetLogicOpEnableEXT") + set_proc_address(&CmdSetPatchControlPointsEXT, "vkCmdSetPatchControlPointsEXT") + set_proc_address(&CmdSetPerformanceMarkerINTEL, "vkCmdSetPerformanceMarkerINTEL") + set_proc_address(&CmdSetPerformanceOverrideINTEL, "vkCmdSetPerformanceOverrideINTEL") + set_proc_address(&CmdSetPerformanceStreamMarkerINTEL, "vkCmdSetPerformanceStreamMarkerINTEL") + set_proc_address(&CmdSetPolygonModeEXT, "vkCmdSetPolygonModeEXT") + set_proc_address(&CmdSetPrimitiveRestartEnable, "vkCmdSetPrimitiveRestartEnable") + set_proc_address(&CmdSetPrimitiveRestartEnableEXT, "vkCmdSetPrimitiveRestartEnableEXT") + set_proc_address(&CmdSetPrimitiveTopology, "vkCmdSetPrimitiveTopology") + set_proc_address(&CmdSetPrimitiveTopologyEXT, "vkCmdSetPrimitiveTopologyEXT") + set_proc_address(&CmdSetProvokingVertexModeEXT, "vkCmdSetProvokingVertexModeEXT") + set_proc_address(&CmdSetRasterizationSamplesEXT, "vkCmdSetRasterizationSamplesEXT") + set_proc_address(&CmdSetRasterizationStreamEXT, "vkCmdSetRasterizationStreamEXT") + set_proc_address(&CmdSetRasterizerDiscardEnable, "vkCmdSetRasterizerDiscardEnable") + set_proc_address(&CmdSetRasterizerDiscardEnableEXT, "vkCmdSetRasterizerDiscardEnableEXT") + set_proc_address(&CmdSetRayTracingPipelineStackSizeKHR, "vkCmdSetRayTracingPipelineStackSizeKHR") + set_proc_address(&CmdSetRepresentativeFragmentTestEnableNV, "vkCmdSetRepresentativeFragmentTestEnableNV") + set_proc_address(&CmdSetSampleLocationsEXT, "vkCmdSetSampleLocationsEXT") + set_proc_address(&CmdSetSampleLocationsEnableEXT, "vkCmdSetSampleLocationsEnableEXT") + set_proc_address(&CmdSetSampleMaskEXT, "vkCmdSetSampleMaskEXT") + set_proc_address(&CmdSetScissor, "vkCmdSetScissor") + set_proc_address(&CmdSetScissorWithCount, "vkCmdSetScissorWithCount") + set_proc_address(&CmdSetScissorWithCountEXT, "vkCmdSetScissorWithCountEXT") + set_proc_address(&CmdSetShadingRateImageEnableNV, "vkCmdSetShadingRateImageEnableNV") + set_proc_address(&CmdSetStencilCompareMask, "vkCmdSetStencilCompareMask") + set_proc_address(&CmdSetStencilOp, "vkCmdSetStencilOp") + set_proc_address(&CmdSetStencilOpEXT, "vkCmdSetStencilOpEXT") + set_proc_address(&CmdSetStencilReference, "vkCmdSetStencilReference") + set_proc_address(&CmdSetStencilTestEnable, "vkCmdSetStencilTestEnable") + set_proc_address(&CmdSetStencilTestEnableEXT, "vkCmdSetStencilTestEnableEXT") + set_proc_address(&CmdSetStencilWriteMask, "vkCmdSetStencilWriteMask") + set_proc_address(&CmdSetTessellationDomainOriginEXT, "vkCmdSetTessellationDomainOriginEXT") + set_proc_address(&CmdSetVertexInputEXT, "vkCmdSetVertexInputEXT") + set_proc_address(&CmdSetViewport, "vkCmdSetViewport") + set_proc_address(&CmdSetViewportShadingRatePaletteNV, "vkCmdSetViewportShadingRatePaletteNV") + set_proc_address(&CmdSetViewportSwizzleNV, "vkCmdSetViewportSwizzleNV") + set_proc_address(&CmdSetViewportWScalingEnableNV, "vkCmdSetViewportWScalingEnableNV") + set_proc_address(&CmdSetViewportWScalingNV, "vkCmdSetViewportWScalingNV") + set_proc_address(&CmdSetViewportWithCount, "vkCmdSetViewportWithCount") + set_proc_address(&CmdSetViewportWithCountEXT, "vkCmdSetViewportWithCountEXT") + set_proc_address(&CmdSubpassShadingHUAWEI, "vkCmdSubpassShadingHUAWEI") + set_proc_address(&CmdTraceRaysIndirect2KHR, "vkCmdTraceRaysIndirect2KHR") + set_proc_address(&CmdTraceRaysIndirectKHR, "vkCmdTraceRaysIndirectKHR") + set_proc_address(&CmdTraceRaysKHR, "vkCmdTraceRaysKHR") + set_proc_address(&CmdTraceRaysNV, "vkCmdTraceRaysNV") + set_proc_address(&CmdUpdateBuffer, "vkCmdUpdateBuffer") + set_proc_address(&CmdWaitEvents, "vkCmdWaitEvents") + set_proc_address(&CmdWaitEvents2, "vkCmdWaitEvents2") + set_proc_address(&CmdWaitEvents2KHR, "vkCmdWaitEvents2KHR") + set_proc_address(&CmdWriteAccelerationStructuresPropertiesKHR, "vkCmdWriteAccelerationStructuresPropertiesKHR") + set_proc_address(&CmdWriteAccelerationStructuresPropertiesNV, "vkCmdWriteAccelerationStructuresPropertiesNV") + set_proc_address(&CmdWriteBufferMarker2AMD, "vkCmdWriteBufferMarker2AMD") + set_proc_address(&CmdWriteBufferMarkerAMD, "vkCmdWriteBufferMarkerAMD") + set_proc_address(&CmdWriteMicromapsPropertiesEXT, "vkCmdWriteMicromapsPropertiesEXT") + set_proc_address(&CmdWriteTimestamp, "vkCmdWriteTimestamp") + set_proc_address(&CmdWriteTimestamp2, "vkCmdWriteTimestamp2") + set_proc_address(&CmdWriteTimestamp2KHR, "vkCmdWriteTimestamp2KHR") + set_proc_address(&CompileDeferredNV, "vkCompileDeferredNV") + set_proc_address(&CopyAccelerationStructureKHR, "vkCopyAccelerationStructureKHR") + set_proc_address(&CopyAccelerationStructureToMemoryKHR, "vkCopyAccelerationStructureToMemoryKHR") + set_proc_address(&CopyMemoryToAccelerationStructureKHR, "vkCopyMemoryToAccelerationStructureKHR") + set_proc_address(&CopyMemoryToMicromapEXT, "vkCopyMemoryToMicromapEXT") + set_proc_address(&CopyMicromapEXT, "vkCopyMicromapEXT") + set_proc_address(&CopyMicromapToMemoryEXT, "vkCopyMicromapToMemoryEXT") + set_proc_address(&CreateAccelerationStructureKHR, "vkCreateAccelerationStructureKHR") + set_proc_address(&CreateAccelerationStructureNV, "vkCreateAccelerationStructureNV") + set_proc_address(&CreateBuffer, "vkCreateBuffer") + set_proc_address(&CreateBufferView, "vkCreateBufferView") + set_proc_address(&CreateCommandPool, "vkCreateCommandPool") + set_proc_address(&CreateComputePipelines, "vkCreateComputePipelines") + set_proc_address(&CreateCuFunctionNVX, "vkCreateCuFunctionNVX") + set_proc_address(&CreateCuModuleNVX, "vkCreateCuModuleNVX") + set_proc_address(&CreateDeferredOperationKHR, "vkCreateDeferredOperationKHR") + set_proc_address(&CreateDescriptorPool, "vkCreateDescriptorPool") + set_proc_address(&CreateDescriptorSetLayout, "vkCreateDescriptorSetLayout") + set_proc_address(&CreateDescriptorUpdateTemplate, "vkCreateDescriptorUpdateTemplate") + set_proc_address(&CreateDescriptorUpdateTemplateKHR, "vkCreateDescriptorUpdateTemplateKHR") + set_proc_address(&CreateEvent, "vkCreateEvent") + set_proc_address(&CreateFence, "vkCreateFence") + set_proc_address(&CreateFramebuffer, "vkCreateFramebuffer") + set_proc_address(&CreateGraphicsPipelines, "vkCreateGraphicsPipelines") + set_proc_address(&CreateImage, "vkCreateImage") + set_proc_address(&CreateImageView, "vkCreateImageView") + set_proc_address(&CreateIndirectCommandsLayoutNV, "vkCreateIndirectCommandsLayoutNV") + set_proc_address(&CreateMicromapEXT, "vkCreateMicromapEXT") + set_proc_address(&CreateOpticalFlowSessionNV, "vkCreateOpticalFlowSessionNV") + set_proc_address(&CreatePipelineCache, "vkCreatePipelineCache") + set_proc_address(&CreatePipelineLayout, "vkCreatePipelineLayout") + set_proc_address(&CreatePrivateDataSlot, "vkCreatePrivateDataSlot") + set_proc_address(&CreatePrivateDataSlotEXT, "vkCreatePrivateDataSlotEXT") + set_proc_address(&CreateQueryPool, "vkCreateQueryPool") + set_proc_address(&CreateRayTracingPipelinesKHR, "vkCreateRayTracingPipelinesKHR") + set_proc_address(&CreateRayTracingPipelinesNV, "vkCreateRayTracingPipelinesNV") + set_proc_address(&CreateRenderPass, "vkCreateRenderPass") + set_proc_address(&CreateRenderPass2, "vkCreateRenderPass2") + set_proc_address(&CreateRenderPass2KHR, "vkCreateRenderPass2KHR") + set_proc_address(&CreateSampler, "vkCreateSampler") + set_proc_address(&CreateSamplerYcbcrConversion, "vkCreateSamplerYcbcrConversion") + set_proc_address(&CreateSamplerYcbcrConversionKHR, "vkCreateSamplerYcbcrConversionKHR") + set_proc_address(&CreateSemaphore, "vkCreateSemaphore") + set_proc_address(&CreateShaderModule, "vkCreateShaderModule") + set_proc_address(&CreateShadersEXT, "vkCreateShadersEXT") + set_proc_address(&CreateSharedSwapchainsKHR, "vkCreateSharedSwapchainsKHR") + set_proc_address(&CreateSwapchainKHR, "vkCreateSwapchainKHR") + set_proc_address(&CreateValidationCacheEXT, "vkCreateValidationCacheEXT") + set_proc_address(&CreateVideoSessionKHR, "vkCreateVideoSessionKHR") + set_proc_address(&CreateVideoSessionParametersKHR, "vkCreateVideoSessionParametersKHR") + set_proc_address(&DebugMarkerSetObjectNameEXT, "vkDebugMarkerSetObjectNameEXT") + set_proc_address(&DebugMarkerSetObjectTagEXT, "vkDebugMarkerSetObjectTagEXT") + set_proc_address(&DeferredOperationJoinKHR, "vkDeferredOperationJoinKHR") + set_proc_address(&DestroyAccelerationStructureKHR, "vkDestroyAccelerationStructureKHR") + set_proc_address(&DestroyAccelerationStructureNV, "vkDestroyAccelerationStructureNV") + set_proc_address(&DestroyBuffer, "vkDestroyBuffer") + set_proc_address(&DestroyBufferView, "vkDestroyBufferView") + set_proc_address(&DestroyCommandPool, "vkDestroyCommandPool") + set_proc_address(&DestroyCuFunctionNVX, "vkDestroyCuFunctionNVX") + set_proc_address(&DestroyCuModuleNVX, "vkDestroyCuModuleNVX") + set_proc_address(&DestroyDeferredOperationKHR, "vkDestroyDeferredOperationKHR") + set_proc_address(&DestroyDescriptorPool, "vkDestroyDescriptorPool") + set_proc_address(&DestroyDescriptorSetLayout, "vkDestroyDescriptorSetLayout") + set_proc_address(&DestroyDescriptorUpdateTemplate, "vkDestroyDescriptorUpdateTemplate") + set_proc_address(&DestroyDescriptorUpdateTemplateKHR, "vkDestroyDescriptorUpdateTemplateKHR") + set_proc_address(&DestroyDevice, "vkDestroyDevice") + set_proc_address(&DestroyEvent, "vkDestroyEvent") + set_proc_address(&DestroyFence, "vkDestroyFence") + set_proc_address(&DestroyFramebuffer, "vkDestroyFramebuffer") + set_proc_address(&DestroyImage, "vkDestroyImage") + set_proc_address(&DestroyImageView, "vkDestroyImageView") + set_proc_address(&DestroyIndirectCommandsLayoutNV, "vkDestroyIndirectCommandsLayoutNV") + set_proc_address(&DestroyMicromapEXT, "vkDestroyMicromapEXT") + set_proc_address(&DestroyOpticalFlowSessionNV, "vkDestroyOpticalFlowSessionNV") + set_proc_address(&DestroyPipeline, "vkDestroyPipeline") + set_proc_address(&DestroyPipelineCache, "vkDestroyPipelineCache") + set_proc_address(&DestroyPipelineLayout, "vkDestroyPipelineLayout") + set_proc_address(&DestroyPrivateDataSlot, "vkDestroyPrivateDataSlot") + set_proc_address(&DestroyPrivateDataSlotEXT, "vkDestroyPrivateDataSlotEXT") + set_proc_address(&DestroyQueryPool, "vkDestroyQueryPool") + set_proc_address(&DestroyRenderPass, "vkDestroyRenderPass") + set_proc_address(&DestroySampler, "vkDestroySampler") + set_proc_address(&DestroySamplerYcbcrConversion, "vkDestroySamplerYcbcrConversion") + set_proc_address(&DestroySamplerYcbcrConversionKHR, "vkDestroySamplerYcbcrConversionKHR") + set_proc_address(&DestroySemaphore, "vkDestroySemaphore") + set_proc_address(&DestroyShaderEXT, "vkDestroyShaderEXT") + set_proc_address(&DestroyShaderModule, "vkDestroyShaderModule") + set_proc_address(&DestroySwapchainKHR, "vkDestroySwapchainKHR") + set_proc_address(&DestroyValidationCacheEXT, "vkDestroyValidationCacheEXT") + set_proc_address(&DestroyVideoSessionKHR, "vkDestroyVideoSessionKHR") + set_proc_address(&DestroyVideoSessionParametersKHR, "vkDestroyVideoSessionParametersKHR") + set_proc_address(&DeviceWaitIdle, "vkDeviceWaitIdle") + set_proc_address(&DisplayPowerControlEXT, "vkDisplayPowerControlEXT") + set_proc_address(&EndCommandBuffer, "vkEndCommandBuffer") + set_proc_address(&ExportMetalObjectsEXT, "vkExportMetalObjectsEXT") + set_proc_address(&FlushMappedMemoryRanges, "vkFlushMappedMemoryRanges") + set_proc_address(&FreeCommandBuffers, "vkFreeCommandBuffers") + set_proc_address(&FreeDescriptorSets, "vkFreeDescriptorSets") + set_proc_address(&FreeMemory, "vkFreeMemory") + set_proc_address(&GetAccelerationStructureBuildSizesKHR, "vkGetAccelerationStructureBuildSizesKHR") + set_proc_address(&GetAccelerationStructureDeviceAddressKHR, "vkGetAccelerationStructureDeviceAddressKHR") + set_proc_address(&GetAccelerationStructureHandleNV, "vkGetAccelerationStructureHandleNV") + set_proc_address(&GetAccelerationStructureMemoryRequirementsNV, "vkGetAccelerationStructureMemoryRequirementsNV") + set_proc_address(&GetAccelerationStructureOpaqueCaptureDescriptorDataEXT, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT") + set_proc_address(&GetBufferDeviceAddress, "vkGetBufferDeviceAddress") + set_proc_address(&GetBufferDeviceAddressEXT, "vkGetBufferDeviceAddressEXT") + set_proc_address(&GetBufferDeviceAddressKHR, "vkGetBufferDeviceAddressKHR") + set_proc_address(&GetBufferMemoryRequirements, "vkGetBufferMemoryRequirements") + set_proc_address(&GetBufferMemoryRequirements2, "vkGetBufferMemoryRequirements2") + set_proc_address(&GetBufferMemoryRequirements2KHR, "vkGetBufferMemoryRequirements2KHR") + set_proc_address(&GetBufferOpaqueCaptureAddress, "vkGetBufferOpaqueCaptureAddress") + set_proc_address(&GetBufferOpaqueCaptureAddressKHR, "vkGetBufferOpaqueCaptureAddressKHR") + set_proc_address(&GetBufferOpaqueCaptureDescriptorDataEXT, "vkGetBufferOpaqueCaptureDescriptorDataEXT") + set_proc_address(&GetCalibratedTimestampsEXT, "vkGetCalibratedTimestampsEXT") + set_proc_address(&GetDeferredOperationMaxConcurrencyKHR, "vkGetDeferredOperationMaxConcurrencyKHR") + set_proc_address(&GetDeferredOperationResultKHR, "vkGetDeferredOperationResultKHR") + set_proc_address(&GetDescriptorEXT, "vkGetDescriptorEXT") + set_proc_address(&GetDescriptorSetHostMappingVALVE, "vkGetDescriptorSetHostMappingVALVE") + set_proc_address(&GetDescriptorSetLayoutBindingOffsetEXT, "vkGetDescriptorSetLayoutBindingOffsetEXT") + set_proc_address(&GetDescriptorSetLayoutHostMappingInfoVALVE, "vkGetDescriptorSetLayoutHostMappingInfoVALVE") + set_proc_address(&GetDescriptorSetLayoutSizeEXT, "vkGetDescriptorSetLayoutSizeEXT") + set_proc_address(&GetDescriptorSetLayoutSupport, "vkGetDescriptorSetLayoutSupport") + set_proc_address(&GetDescriptorSetLayoutSupportKHR, "vkGetDescriptorSetLayoutSupportKHR") + set_proc_address(&GetDeviceAccelerationStructureCompatibilityKHR, "vkGetDeviceAccelerationStructureCompatibilityKHR") + set_proc_address(&GetDeviceBufferMemoryRequirements, "vkGetDeviceBufferMemoryRequirements") + set_proc_address(&GetDeviceBufferMemoryRequirementsKHR, "vkGetDeviceBufferMemoryRequirementsKHR") + set_proc_address(&GetDeviceFaultInfoEXT, "vkGetDeviceFaultInfoEXT") + set_proc_address(&GetDeviceGroupPeerMemoryFeatures, "vkGetDeviceGroupPeerMemoryFeatures") + set_proc_address(&GetDeviceGroupPeerMemoryFeaturesKHR, "vkGetDeviceGroupPeerMemoryFeaturesKHR") + set_proc_address(&GetDeviceGroupPresentCapabilitiesKHR, "vkGetDeviceGroupPresentCapabilitiesKHR") + set_proc_address(&GetDeviceGroupSurfacePresentModes2EXT, "vkGetDeviceGroupSurfacePresentModes2EXT") + set_proc_address(&GetDeviceGroupSurfacePresentModesKHR, "vkGetDeviceGroupSurfacePresentModesKHR") + set_proc_address(&GetDeviceImageMemoryRequirements, "vkGetDeviceImageMemoryRequirements") + set_proc_address(&GetDeviceImageMemoryRequirementsKHR, "vkGetDeviceImageMemoryRequirementsKHR") + set_proc_address(&GetDeviceImageSparseMemoryRequirements, "vkGetDeviceImageSparseMemoryRequirements") + set_proc_address(&GetDeviceImageSparseMemoryRequirementsKHR, "vkGetDeviceImageSparseMemoryRequirementsKHR") + set_proc_address(&GetDeviceMemoryCommitment, "vkGetDeviceMemoryCommitment") + set_proc_address(&GetDeviceMemoryOpaqueCaptureAddress, "vkGetDeviceMemoryOpaqueCaptureAddress") + set_proc_address(&GetDeviceMemoryOpaqueCaptureAddressKHR, "vkGetDeviceMemoryOpaqueCaptureAddressKHR") + set_proc_address(&GetDeviceMicromapCompatibilityEXT, "vkGetDeviceMicromapCompatibilityEXT") + set_proc_address(&GetDeviceProcAddr, "vkGetDeviceProcAddr") + set_proc_address(&GetDeviceQueue, "vkGetDeviceQueue") + set_proc_address(&GetDeviceQueue2, "vkGetDeviceQueue2") + set_proc_address(&GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI") + set_proc_address(&GetDynamicRenderingTilePropertiesQCOM, "vkGetDynamicRenderingTilePropertiesQCOM") + set_proc_address(&GetEventStatus, "vkGetEventStatus") + set_proc_address(&GetFenceFdKHR, "vkGetFenceFdKHR") + set_proc_address(&GetFenceStatus, "vkGetFenceStatus") + set_proc_address(&GetFenceWin32HandleKHR, "vkGetFenceWin32HandleKHR") + set_proc_address(&GetFramebufferTilePropertiesQCOM, "vkGetFramebufferTilePropertiesQCOM") + set_proc_address(&GetGeneratedCommandsMemoryRequirementsNV, "vkGetGeneratedCommandsMemoryRequirementsNV") + set_proc_address(&GetImageDrmFormatModifierPropertiesEXT, "vkGetImageDrmFormatModifierPropertiesEXT") + set_proc_address(&GetImageMemoryRequirements, "vkGetImageMemoryRequirements") + set_proc_address(&GetImageMemoryRequirements2, "vkGetImageMemoryRequirements2") + set_proc_address(&GetImageMemoryRequirements2KHR, "vkGetImageMemoryRequirements2KHR") + set_proc_address(&GetImageOpaqueCaptureDescriptorDataEXT, "vkGetImageOpaqueCaptureDescriptorDataEXT") + set_proc_address(&GetImageSparseMemoryRequirements, "vkGetImageSparseMemoryRequirements") + set_proc_address(&GetImageSparseMemoryRequirements2, "vkGetImageSparseMemoryRequirements2") + set_proc_address(&GetImageSparseMemoryRequirements2KHR, "vkGetImageSparseMemoryRequirements2KHR") + set_proc_address(&GetImageSubresourceLayout, "vkGetImageSubresourceLayout") + set_proc_address(&GetImageSubresourceLayout2EXT, "vkGetImageSubresourceLayout2EXT") + set_proc_address(&GetImageViewAddressNVX, "vkGetImageViewAddressNVX") + set_proc_address(&GetImageViewHandleNVX, "vkGetImageViewHandleNVX") + set_proc_address(&GetImageViewOpaqueCaptureDescriptorDataEXT, "vkGetImageViewOpaqueCaptureDescriptorDataEXT") + set_proc_address(&GetMemoryFdKHR, "vkGetMemoryFdKHR") + set_proc_address(&GetMemoryFdPropertiesKHR, "vkGetMemoryFdPropertiesKHR") + set_proc_address(&GetMemoryHostPointerPropertiesEXT, "vkGetMemoryHostPointerPropertiesEXT") + set_proc_address(&GetMemoryRemoteAddressNV, "vkGetMemoryRemoteAddressNV") + set_proc_address(&GetMemoryWin32HandleKHR, "vkGetMemoryWin32HandleKHR") + set_proc_address(&GetMemoryWin32HandleNV, "vkGetMemoryWin32HandleNV") + set_proc_address(&GetMemoryWin32HandlePropertiesKHR, "vkGetMemoryWin32HandlePropertiesKHR") + set_proc_address(&GetMicromapBuildSizesEXT, "vkGetMicromapBuildSizesEXT") + set_proc_address(&GetPastPresentationTimingGOOGLE, "vkGetPastPresentationTimingGOOGLE") + set_proc_address(&GetPerformanceParameterINTEL, "vkGetPerformanceParameterINTEL") + set_proc_address(&GetPipelineCacheData, "vkGetPipelineCacheData") + set_proc_address(&GetPipelineExecutableInternalRepresentationsKHR, "vkGetPipelineExecutableInternalRepresentationsKHR") + set_proc_address(&GetPipelineExecutablePropertiesKHR, "vkGetPipelineExecutablePropertiesKHR") + set_proc_address(&GetPipelineExecutableStatisticsKHR, "vkGetPipelineExecutableStatisticsKHR") + set_proc_address(&GetPipelinePropertiesEXT, "vkGetPipelinePropertiesEXT") + set_proc_address(&GetPrivateData, "vkGetPrivateData") + set_proc_address(&GetPrivateDataEXT, "vkGetPrivateDataEXT") + set_proc_address(&GetQueryPoolResults, "vkGetQueryPoolResults") + set_proc_address(&GetQueueCheckpointData2NV, "vkGetQueueCheckpointData2NV") + set_proc_address(&GetQueueCheckpointDataNV, "vkGetQueueCheckpointDataNV") + set_proc_address(&GetRayTracingCaptureReplayShaderGroupHandlesKHR, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR") + set_proc_address(&GetRayTracingShaderGroupHandlesKHR, "vkGetRayTracingShaderGroupHandlesKHR") + set_proc_address(&GetRayTracingShaderGroupHandlesNV, "vkGetRayTracingShaderGroupHandlesNV") + set_proc_address(&GetRayTracingShaderGroupStackSizeKHR, "vkGetRayTracingShaderGroupStackSizeKHR") + set_proc_address(&GetRefreshCycleDurationGOOGLE, "vkGetRefreshCycleDurationGOOGLE") + set_proc_address(&GetRenderAreaGranularity, "vkGetRenderAreaGranularity") + set_proc_address(&GetSamplerOpaqueCaptureDescriptorDataEXT, "vkGetSamplerOpaqueCaptureDescriptorDataEXT") + set_proc_address(&GetSemaphoreCounterValue, "vkGetSemaphoreCounterValue") + set_proc_address(&GetSemaphoreCounterValueKHR, "vkGetSemaphoreCounterValueKHR") + set_proc_address(&GetSemaphoreFdKHR, "vkGetSemaphoreFdKHR") + set_proc_address(&GetSemaphoreWin32HandleKHR, "vkGetSemaphoreWin32HandleKHR") + set_proc_address(&GetShaderBinaryDataEXT, "vkGetShaderBinaryDataEXT") + set_proc_address(&GetShaderInfoAMD, "vkGetShaderInfoAMD") + set_proc_address(&GetShaderModuleCreateInfoIdentifierEXT, "vkGetShaderModuleCreateInfoIdentifierEXT") + set_proc_address(&GetShaderModuleIdentifierEXT, "vkGetShaderModuleIdentifierEXT") + set_proc_address(&GetSwapchainCounterEXT, "vkGetSwapchainCounterEXT") + set_proc_address(&GetSwapchainImagesKHR, "vkGetSwapchainImagesKHR") + set_proc_address(&GetSwapchainStatusKHR, "vkGetSwapchainStatusKHR") + set_proc_address(&GetValidationCacheDataEXT, "vkGetValidationCacheDataEXT") + set_proc_address(&GetVideoSessionMemoryRequirementsKHR, "vkGetVideoSessionMemoryRequirementsKHR") + set_proc_address(&ImportFenceFdKHR, "vkImportFenceFdKHR") + set_proc_address(&ImportFenceWin32HandleKHR, "vkImportFenceWin32HandleKHR") + set_proc_address(&ImportSemaphoreFdKHR, "vkImportSemaphoreFdKHR") + set_proc_address(&ImportSemaphoreWin32HandleKHR, "vkImportSemaphoreWin32HandleKHR") + set_proc_address(&InitializePerformanceApiINTEL, "vkInitializePerformanceApiINTEL") + set_proc_address(&InvalidateMappedMemoryRanges, "vkInvalidateMappedMemoryRanges") + set_proc_address(&MapMemory, "vkMapMemory") + set_proc_address(&MapMemory2KHR, "vkMapMemory2KHR") + set_proc_address(&MergePipelineCaches, "vkMergePipelineCaches") + set_proc_address(&MergeValidationCachesEXT, "vkMergeValidationCachesEXT") + set_proc_address(&QueueBeginDebugUtilsLabelEXT, "vkQueueBeginDebugUtilsLabelEXT") + set_proc_address(&QueueBindSparse, "vkQueueBindSparse") + set_proc_address(&QueueEndDebugUtilsLabelEXT, "vkQueueEndDebugUtilsLabelEXT") + set_proc_address(&QueueInsertDebugUtilsLabelEXT, "vkQueueInsertDebugUtilsLabelEXT") + set_proc_address(&QueuePresentKHR, "vkQueuePresentKHR") + set_proc_address(&QueueSetPerformanceConfigurationINTEL, "vkQueueSetPerformanceConfigurationINTEL") + set_proc_address(&QueueSubmit, "vkQueueSubmit") + set_proc_address(&QueueSubmit2, "vkQueueSubmit2") + set_proc_address(&QueueSubmit2KHR, "vkQueueSubmit2KHR") + set_proc_address(&QueueWaitIdle, "vkQueueWaitIdle") + set_proc_address(&RegisterDeviceEventEXT, "vkRegisterDeviceEventEXT") + set_proc_address(&RegisterDisplayEventEXT, "vkRegisterDisplayEventEXT") + set_proc_address(&ReleaseFullScreenExclusiveModeEXT, "vkReleaseFullScreenExclusiveModeEXT") + set_proc_address(&ReleasePerformanceConfigurationINTEL, "vkReleasePerformanceConfigurationINTEL") + set_proc_address(&ReleaseProfilingLockKHR, "vkReleaseProfilingLockKHR") + set_proc_address(&ReleaseSwapchainImagesEXT, "vkReleaseSwapchainImagesEXT") + set_proc_address(&ResetCommandBuffer, "vkResetCommandBuffer") + set_proc_address(&ResetCommandPool, "vkResetCommandPool") + set_proc_address(&ResetDescriptorPool, "vkResetDescriptorPool") + set_proc_address(&ResetEvent, "vkResetEvent") + set_proc_address(&ResetFences, "vkResetFences") + set_proc_address(&ResetQueryPool, "vkResetQueryPool") + set_proc_address(&ResetQueryPoolEXT, "vkResetQueryPoolEXT") + set_proc_address(&SetDebugUtilsObjectNameEXT, "vkSetDebugUtilsObjectNameEXT") + set_proc_address(&SetDebugUtilsObjectTagEXT, "vkSetDebugUtilsObjectTagEXT") + set_proc_address(&SetDeviceMemoryPriorityEXT, "vkSetDeviceMemoryPriorityEXT") + set_proc_address(&SetEvent, "vkSetEvent") + set_proc_address(&SetHdrMetadataEXT, "vkSetHdrMetadataEXT") + set_proc_address(&SetLocalDimmingAMD, "vkSetLocalDimmingAMD") + set_proc_address(&SetPrivateData, "vkSetPrivateData") + set_proc_address(&SetPrivateDataEXT, "vkSetPrivateDataEXT") + set_proc_address(&SignalSemaphore, "vkSignalSemaphore") + set_proc_address(&SignalSemaphoreKHR, "vkSignalSemaphoreKHR") + set_proc_address(&TrimCommandPool, "vkTrimCommandPool") + set_proc_address(&TrimCommandPoolKHR, "vkTrimCommandPoolKHR") + set_proc_address(&UninitializePerformanceApiINTEL, "vkUninitializePerformanceApiINTEL") + set_proc_address(&UnmapMemory, "vkUnmapMemory") + set_proc_address(&UnmapMemory2KHR, "vkUnmapMemory2KHR") + set_proc_address(&UpdateDescriptorSetWithTemplate, "vkUpdateDescriptorSetWithTemplate") + set_proc_address(&UpdateDescriptorSetWithTemplateKHR, "vkUpdateDescriptorSetWithTemplateKHR") + set_proc_address(&UpdateDescriptorSets, "vkUpdateDescriptorSets") + set_proc_address(&UpdateVideoSessionParametersKHR, "vkUpdateVideoSessionParametersKHR") + set_proc_address(&WaitForFences, "vkWaitForFences") + set_proc_address(&WaitForPresentKHR, "vkWaitForPresentKHR") + set_proc_address(&WaitSemaphores, "vkWaitSemaphores") + set_proc_address(&WaitSemaphoresKHR, "vkWaitSemaphoresKHR") + set_proc_address(&WriteAccelerationStructuresPropertiesKHR, "vkWriteAccelerationStructuresPropertiesKHR") + set_proc_address(&WriteMicromapsPropertiesEXT, "vkWriteMicromapsPropertiesEXT") + +} + +// Device Procedure VTable +Device_VTable :: struct { + AcquireFullScreenExclusiveModeEXT: ProcAcquireFullScreenExclusiveModeEXT, + AcquireNextImage2KHR: ProcAcquireNextImage2KHR, + AcquireNextImageKHR: ProcAcquireNextImageKHR, + AcquirePerformanceConfigurationINTEL: ProcAcquirePerformanceConfigurationINTEL, + AcquireProfilingLockKHR: ProcAcquireProfilingLockKHR, + AllocateCommandBuffers: ProcAllocateCommandBuffers, + AllocateDescriptorSets: ProcAllocateDescriptorSets, + AllocateMemory: ProcAllocateMemory, + BeginCommandBuffer: ProcBeginCommandBuffer, + BindAccelerationStructureMemoryNV: ProcBindAccelerationStructureMemoryNV, + BindBufferMemory: ProcBindBufferMemory, + BindBufferMemory2: ProcBindBufferMemory2, + BindBufferMemory2KHR: ProcBindBufferMemory2KHR, + BindImageMemory: ProcBindImageMemory, + BindImageMemory2: ProcBindImageMemory2, + BindImageMemory2KHR: ProcBindImageMemory2KHR, + BindOpticalFlowSessionImageNV: ProcBindOpticalFlowSessionImageNV, + BindVideoSessionMemoryKHR: ProcBindVideoSessionMemoryKHR, + BuildAccelerationStructuresKHR: ProcBuildAccelerationStructuresKHR, + BuildMicromapsEXT: ProcBuildMicromapsEXT, + CmdBeginConditionalRenderingEXT: ProcCmdBeginConditionalRenderingEXT, + CmdBeginDebugUtilsLabelEXT: ProcCmdBeginDebugUtilsLabelEXT, + CmdBeginQuery: ProcCmdBeginQuery, + CmdBeginQueryIndexedEXT: ProcCmdBeginQueryIndexedEXT, + CmdBeginRenderPass: ProcCmdBeginRenderPass, + CmdBeginRenderPass2: ProcCmdBeginRenderPass2, + CmdBeginRenderPass2KHR: ProcCmdBeginRenderPass2KHR, + CmdBeginRendering: ProcCmdBeginRendering, + CmdBeginRenderingKHR: ProcCmdBeginRenderingKHR, + CmdBeginTransformFeedbackEXT: ProcCmdBeginTransformFeedbackEXT, + CmdBeginVideoCodingKHR: ProcCmdBeginVideoCodingKHR, + CmdBindDescriptorBufferEmbeddedSamplersEXT: ProcCmdBindDescriptorBufferEmbeddedSamplersEXT, + CmdBindDescriptorBuffersEXT: ProcCmdBindDescriptorBuffersEXT, + CmdBindDescriptorSets: ProcCmdBindDescriptorSets, + CmdBindIndexBuffer: ProcCmdBindIndexBuffer, + CmdBindInvocationMaskHUAWEI: ProcCmdBindInvocationMaskHUAWEI, + CmdBindPipeline: ProcCmdBindPipeline, + CmdBindPipelineShaderGroupNV: ProcCmdBindPipelineShaderGroupNV, + CmdBindShadersEXT: ProcCmdBindShadersEXT, + CmdBindShadingRateImageNV: ProcCmdBindShadingRateImageNV, + CmdBindTransformFeedbackBuffersEXT: ProcCmdBindTransformFeedbackBuffersEXT, + CmdBindVertexBuffers: ProcCmdBindVertexBuffers, + CmdBindVertexBuffers2: ProcCmdBindVertexBuffers2, + CmdBindVertexBuffers2EXT: ProcCmdBindVertexBuffers2EXT, + CmdBlitImage: ProcCmdBlitImage, + CmdBlitImage2: ProcCmdBlitImage2, + CmdBlitImage2KHR: ProcCmdBlitImage2KHR, + CmdBuildAccelerationStructureNV: ProcCmdBuildAccelerationStructureNV, + CmdBuildAccelerationStructuresIndirectKHR: ProcCmdBuildAccelerationStructuresIndirectKHR, + CmdBuildAccelerationStructuresKHR: ProcCmdBuildAccelerationStructuresKHR, + CmdBuildMicromapsEXT: ProcCmdBuildMicromapsEXT, + CmdClearAttachments: ProcCmdClearAttachments, + CmdClearColorImage: ProcCmdClearColorImage, + CmdClearDepthStencilImage: ProcCmdClearDepthStencilImage, + CmdControlVideoCodingKHR: ProcCmdControlVideoCodingKHR, + CmdCopyAccelerationStructureKHR: ProcCmdCopyAccelerationStructureKHR, + CmdCopyAccelerationStructureNV: ProcCmdCopyAccelerationStructureNV, + CmdCopyAccelerationStructureToMemoryKHR: ProcCmdCopyAccelerationStructureToMemoryKHR, + CmdCopyBuffer: ProcCmdCopyBuffer, + CmdCopyBuffer2: ProcCmdCopyBuffer2, + CmdCopyBuffer2KHR: ProcCmdCopyBuffer2KHR, + CmdCopyBufferToImage: ProcCmdCopyBufferToImage, + CmdCopyBufferToImage2: ProcCmdCopyBufferToImage2, + CmdCopyBufferToImage2KHR: ProcCmdCopyBufferToImage2KHR, + CmdCopyImage: ProcCmdCopyImage, + CmdCopyImage2: ProcCmdCopyImage2, + CmdCopyImage2KHR: ProcCmdCopyImage2KHR, + CmdCopyImageToBuffer: ProcCmdCopyImageToBuffer, + CmdCopyImageToBuffer2: ProcCmdCopyImageToBuffer2, + CmdCopyImageToBuffer2KHR: ProcCmdCopyImageToBuffer2KHR, + CmdCopyMemoryIndirectNV: ProcCmdCopyMemoryIndirectNV, + CmdCopyMemoryToAccelerationStructureKHR: ProcCmdCopyMemoryToAccelerationStructureKHR, + CmdCopyMemoryToImageIndirectNV: ProcCmdCopyMemoryToImageIndirectNV, + CmdCopyMemoryToMicromapEXT: ProcCmdCopyMemoryToMicromapEXT, + CmdCopyMicromapEXT: ProcCmdCopyMicromapEXT, + CmdCopyMicromapToMemoryEXT: ProcCmdCopyMicromapToMemoryEXT, + CmdCopyQueryPoolResults: ProcCmdCopyQueryPoolResults, + CmdCuLaunchKernelNVX: ProcCmdCuLaunchKernelNVX, + CmdDebugMarkerBeginEXT: ProcCmdDebugMarkerBeginEXT, + CmdDebugMarkerEndEXT: ProcCmdDebugMarkerEndEXT, + CmdDebugMarkerInsertEXT: ProcCmdDebugMarkerInsertEXT, + CmdDecodeVideoKHR: ProcCmdDecodeVideoKHR, + CmdDecompressMemoryIndirectCountNV: ProcCmdDecompressMemoryIndirectCountNV, + CmdDecompressMemoryNV: ProcCmdDecompressMemoryNV, + CmdDispatch: ProcCmdDispatch, + CmdDispatchBase: ProcCmdDispatchBase, + CmdDispatchBaseKHR: ProcCmdDispatchBaseKHR, + CmdDispatchIndirect: ProcCmdDispatchIndirect, + CmdDraw: ProcCmdDraw, + CmdDrawClusterHUAWEI: ProcCmdDrawClusterHUAWEI, + CmdDrawClusterIndirectHUAWEI: ProcCmdDrawClusterIndirectHUAWEI, + CmdDrawIndexed: ProcCmdDrawIndexed, + CmdDrawIndexedIndirect: ProcCmdDrawIndexedIndirect, + CmdDrawIndexedIndirectCount: ProcCmdDrawIndexedIndirectCount, + CmdDrawIndexedIndirectCountAMD: ProcCmdDrawIndexedIndirectCountAMD, + CmdDrawIndexedIndirectCountKHR: ProcCmdDrawIndexedIndirectCountKHR, + CmdDrawIndirect: ProcCmdDrawIndirect, + CmdDrawIndirectByteCountEXT: ProcCmdDrawIndirectByteCountEXT, + CmdDrawIndirectCount: ProcCmdDrawIndirectCount, + CmdDrawIndirectCountAMD: ProcCmdDrawIndirectCountAMD, + CmdDrawIndirectCountKHR: ProcCmdDrawIndirectCountKHR, + CmdDrawMeshTasksEXT: ProcCmdDrawMeshTasksEXT, + CmdDrawMeshTasksIndirectCountEXT: ProcCmdDrawMeshTasksIndirectCountEXT, + CmdDrawMeshTasksIndirectCountNV: ProcCmdDrawMeshTasksIndirectCountNV, + CmdDrawMeshTasksIndirectEXT: ProcCmdDrawMeshTasksIndirectEXT, + CmdDrawMeshTasksIndirectNV: ProcCmdDrawMeshTasksIndirectNV, + CmdDrawMeshTasksNV: ProcCmdDrawMeshTasksNV, + CmdDrawMultiEXT: ProcCmdDrawMultiEXT, + CmdDrawMultiIndexedEXT: ProcCmdDrawMultiIndexedEXT, + CmdEndConditionalRenderingEXT: ProcCmdEndConditionalRenderingEXT, + CmdEndDebugUtilsLabelEXT: ProcCmdEndDebugUtilsLabelEXT, + CmdEndQuery: ProcCmdEndQuery, + CmdEndQueryIndexedEXT: ProcCmdEndQueryIndexedEXT, + CmdEndRenderPass: ProcCmdEndRenderPass, + CmdEndRenderPass2: ProcCmdEndRenderPass2, + CmdEndRenderPass2KHR: ProcCmdEndRenderPass2KHR, + CmdEndRendering: ProcCmdEndRendering, + CmdEndRenderingKHR: ProcCmdEndRenderingKHR, + CmdEndTransformFeedbackEXT: ProcCmdEndTransformFeedbackEXT, + CmdEndVideoCodingKHR: ProcCmdEndVideoCodingKHR, + CmdExecuteCommands: ProcCmdExecuteCommands, + CmdExecuteGeneratedCommandsNV: ProcCmdExecuteGeneratedCommandsNV, + CmdFillBuffer: ProcCmdFillBuffer, + CmdInsertDebugUtilsLabelEXT: ProcCmdInsertDebugUtilsLabelEXT, + CmdNextSubpass: ProcCmdNextSubpass, + CmdNextSubpass2: ProcCmdNextSubpass2, + CmdNextSubpass2KHR: ProcCmdNextSubpass2KHR, + CmdOpticalFlowExecuteNV: ProcCmdOpticalFlowExecuteNV, + CmdPipelineBarrier: ProcCmdPipelineBarrier, + CmdPipelineBarrier2: ProcCmdPipelineBarrier2, + CmdPipelineBarrier2KHR: ProcCmdPipelineBarrier2KHR, + CmdPreprocessGeneratedCommandsNV: ProcCmdPreprocessGeneratedCommandsNV, + CmdPushConstants: ProcCmdPushConstants, + CmdPushDescriptorSetKHR: ProcCmdPushDescriptorSetKHR, + CmdPushDescriptorSetWithTemplateKHR: ProcCmdPushDescriptorSetWithTemplateKHR, + CmdResetEvent: ProcCmdResetEvent, + CmdResetEvent2: ProcCmdResetEvent2, + CmdResetEvent2KHR: ProcCmdResetEvent2KHR, + CmdResetQueryPool: ProcCmdResetQueryPool, + CmdResolveImage: ProcCmdResolveImage, + CmdResolveImage2: ProcCmdResolveImage2, + CmdResolveImage2KHR: ProcCmdResolveImage2KHR, + CmdSetAlphaToCoverageEnableEXT: ProcCmdSetAlphaToCoverageEnableEXT, + CmdSetAlphaToOneEnableEXT: ProcCmdSetAlphaToOneEnableEXT, + CmdSetAttachmentFeedbackLoopEnableEXT: ProcCmdSetAttachmentFeedbackLoopEnableEXT, + CmdSetBlendConstants: ProcCmdSetBlendConstants, + CmdSetCheckpointNV: ProcCmdSetCheckpointNV, + CmdSetCoarseSampleOrderNV: ProcCmdSetCoarseSampleOrderNV, + CmdSetColorBlendAdvancedEXT: ProcCmdSetColorBlendAdvancedEXT, + CmdSetColorBlendEnableEXT: ProcCmdSetColorBlendEnableEXT, + CmdSetColorBlendEquationEXT: ProcCmdSetColorBlendEquationEXT, + CmdSetColorWriteMaskEXT: ProcCmdSetColorWriteMaskEXT, + CmdSetConservativeRasterizationModeEXT: ProcCmdSetConservativeRasterizationModeEXT, + CmdSetCoverageModulationModeNV: ProcCmdSetCoverageModulationModeNV, + CmdSetCoverageModulationTableEnableNV: ProcCmdSetCoverageModulationTableEnableNV, + CmdSetCoverageModulationTableNV: ProcCmdSetCoverageModulationTableNV, + CmdSetCoverageReductionModeNV: ProcCmdSetCoverageReductionModeNV, + CmdSetCoverageToColorEnableNV: ProcCmdSetCoverageToColorEnableNV, + CmdSetCoverageToColorLocationNV: ProcCmdSetCoverageToColorLocationNV, + CmdSetCullMode: ProcCmdSetCullMode, + CmdSetCullModeEXT: ProcCmdSetCullModeEXT, + CmdSetDepthBias: ProcCmdSetDepthBias, + CmdSetDepthBiasEnable: ProcCmdSetDepthBiasEnable, + CmdSetDepthBiasEnableEXT: ProcCmdSetDepthBiasEnableEXT, + CmdSetDepthBounds: ProcCmdSetDepthBounds, + CmdSetDepthBoundsTestEnable: ProcCmdSetDepthBoundsTestEnable, + CmdSetDepthBoundsTestEnableEXT: ProcCmdSetDepthBoundsTestEnableEXT, + CmdSetDepthClampEnableEXT: ProcCmdSetDepthClampEnableEXT, + CmdSetDepthClipEnableEXT: ProcCmdSetDepthClipEnableEXT, + CmdSetDepthClipNegativeOneToOneEXT: ProcCmdSetDepthClipNegativeOneToOneEXT, + CmdSetDepthCompareOp: ProcCmdSetDepthCompareOp, + CmdSetDepthCompareOpEXT: ProcCmdSetDepthCompareOpEXT, + CmdSetDepthTestEnable: ProcCmdSetDepthTestEnable, + CmdSetDepthTestEnableEXT: ProcCmdSetDepthTestEnableEXT, + CmdSetDepthWriteEnable: ProcCmdSetDepthWriteEnable, + CmdSetDepthWriteEnableEXT: ProcCmdSetDepthWriteEnableEXT, + CmdSetDescriptorBufferOffsetsEXT: ProcCmdSetDescriptorBufferOffsetsEXT, + CmdSetDeviceMask: ProcCmdSetDeviceMask, + CmdSetDeviceMaskKHR: ProcCmdSetDeviceMaskKHR, + CmdSetDiscardRectangleEXT: ProcCmdSetDiscardRectangleEXT, + CmdSetDiscardRectangleEnableEXT: ProcCmdSetDiscardRectangleEnableEXT, + CmdSetDiscardRectangleModeEXT: ProcCmdSetDiscardRectangleModeEXT, + CmdSetEvent: ProcCmdSetEvent, + CmdSetEvent2: ProcCmdSetEvent2, + CmdSetEvent2KHR: ProcCmdSetEvent2KHR, + CmdSetExclusiveScissorEnableNV: ProcCmdSetExclusiveScissorEnableNV, + CmdSetExclusiveScissorNV: ProcCmdSetExclusiveScissorNV, + CmdSetExtraPrimitiveOverestimationSizeEXT: ProcCmdSetExtraPrimitiveOverestimationSizeEXT, + CmdSetFragmentShadingRateEnumNV: ProcCmdSetFragmentShadingRateEnumNV, + CmdSetFragmentShadingRateKHR: ProcCmdSetFragmentShadingRateKHR, + CmdSetFrontFace: ProcCmdSetFrontFace, + CmdSetFrontFaceEXT: ProcCmdSetFrontFaceEXT, + CmdSetLineRasterizationModeEXT: ProcCmdSetLineRasterizationModeEXT, + CmdSetLineStippleEXT: ProcCmdSetLineStippleEXT, + CmdSetLineStippleEnableEXT: ProcCmdSetLineStippleEnableEXT, + CmdSetLineWidth: ProcCmdSetLineWidth, + CmdSetLogicOpEXT: ProcCmdSetLogicOpEXT, + CmdSetLogicOpEnableEXT: ProcCmdSetLogicOpEnableEXT, + CmdSetPatchControlPointsEXT: ProcCmdSetPatchControlPointsEXT, + CmdSetPerformanceMarkerINTEL: ProcCmdSetPerformanceMarkerINTEL, + CmdSetPerformanceOverrideINTEL: ProcCmdSetPerformanceOverrideINTEL, + CmdSetPerformanceStreamMarkerINTEL: ProcCmdSetPerformanceStreamMarkerINTEL, + CmdSetPolygonModeEXT: ProcCmdSetPolygonModeEXT, + CmdSetPrimitiveRestartEnable: ProcCmdSetPrimitiveRestartEnable, + CmdSetPrimitiveRestartEnableEXT: ProcCmdSetPrimitiveRestartEnableEXT, + CmdSetPrimitiveTopology: ProcCmdSetPrimitiveTopology, + CmdSetPrimitiveTopologyEXT: ProcCmdSetPrimitiveTopologyEXT, + CmdSetProvokingVertexModeEXT: ProcCmdSetProvokingVertexModeEXT, + CmdSetRasterizationSamplesEXT: ProcCmdSetRasterizationSamplesEXT, + CmdSetRasterizationStreamEXT: ProcCmdSetRasterizationStreamEXT, + CmdSetRasterizerDiscardEnable: ProcCmdSetRasterizerDiscardEnable, + CmdSetRasterizerDiscardEnableEXT: ProcCmdSetRasterizerDiscardEnableEXT, + CmdSetRayTracingPipelineStackSizeKHR: ProcCmdSetRayTracingPipelineStackSizeKHR, + CmdSetRepresentativeFragmentTestEnableNV: ProcCmdSetRepresentativeFragmentTestEnableNV, + CmdSetSampleLocationsEXT: ProcCmdSetSampleLocationsEXT, + CmdSetSampleLocationsEnableEXT: ProcCmdSetSampleLocationsEnableEXT, + CmdSetSampleMaskEXT: ProcCmdSetSampleMaskEXT, + CmdSetScissor: ProcCmdSetScissor, + CmdSetScissorWithCount: ProcCmdSetScissorWithCount, + CmdSetScissorWithCountEXT: ProcCmdSetScissorWithCountEXT, + CmdSetShadingRateImageEnableNV: ProcCmdSetShadingRateImageEnableNV, + CmdSetStencilCompareMask: ProcCmdSetStencilCompareMask, + CmdSetStencilOp: ProcCmdSetStencilOp, + CmdSetStencilOpEXT: ProcCmdSetStencilOpEXT, + CmdSetStencilReference: ProcCmdSetStencilReference, + CmdSetStencilTestEnable: ProcCmdSetStencilTestEnable, + CmdSetStencilTestEnableEXT: ProcCmdSetStencilTestEnableEXT, + CmdSetStencilWriteMask: ProcCmdSetStencilWriteMask, + CmdSetTessellationDomainOriginEXT: ProcCmdSetTessellationDomainOriginEXT, + CmdSetVertexInputEXT: ProcCmdSetVertexInputEXT, + CmdSetViewport: ProcCmdSetViewport, + CmdSetViewportShadingRatePaletteNV: ProcCmdSetViewportShadingRatePaletteNV, + CmdSetViewportSwizzleNV: ProcCmdSetViewportSwizzleNV, + CmdSetViewportWScalingEnableNV: ProcCmdSetViewportWScalingEnableNV, + CmdSetViewportWScalingNV: ProcCmdSetViewportWScalingNV, + CmdSetViewportWithCount: ProcCmdSetViewportWithCount, + CmdSetViewportWithCountEXT: ProcCmdSetViewportWithCountEXT, + CmdSubpassShadingHUAWEI: ProcCmdSubpassShadingHUAWEI, + CmdTraceRaysIndirect2KHR: ProcCmdTraceRaysIndirect2KHR, + CmdTraceRaysIndirectKHR: ProcCmdTraceRaysIndirectKHR, + CmdTraceRaysKHR: ProcCmdTraceRaysKHR, + CmdTraceRaysNV: ProcCmdTraceRaysNV, + CmdUpdateBuffer: ProcCmdUpdateBuffer, + CmdWaitEvents: ProcCmdWaitEvents, + CmdWaitEvents2: ProcCmdWaitEvents2, + CmdWaitEvents2KHR: ProcCmdWaitEvents2KHR, + CmdWriteAccelerationStructuresPropertiesKHR: ProcCmdWriteAccelerationStructuresPropertiesKHR, + CmdWriteAccelerationStructuresPropertiesNV: ProcCmdWriteAccelerationStructuresPropertiesNV, + CmdWriteBufferMarker2AMD: ProcCmdWriteBufferMarker2AMD, + CmdWriteBufferMarkerAMD: ProcCmdWriteBufferMarkerAMD, + CmdWriteMicromapsPropertiesEXT: ProcCmdWriteMicromapsPropertiesEXT, + CmdWriteTimestamp: ProcCmdWriteTimestamp, + CmdWriteTimestamp2: ProcCmdWriteTimestamp2, + CmdWriteTimestamp2KHR: ProcCmdWriteTimestamp2KHR, + CompileDeferredNV: ProcCompileDeferredNV, + CopyAccelerationStructureKHR: ProcCopyAccelerationStructureKHR, + CopyAccelerationStructureToMemoryKHR: ProcCopyAccelerationStructureToMemoryKHR, + CopyMemoryToAccelerationStructureKHR: ProcCopyMemoryToAccelerationStructureKHR, + CopyMemoryToMicromapEXT: ProcCopyMemoryToMicromapEXT, + CopyMicromapEXT: ProcCopyMicromapEXT, + CopyMicromapToMemoryEXT: ProcCopyMicromapToMemoryEXT, + CreateAccelerationStructureKHR: ProcCreateAccelerationStructureKHR, + CreateAccelerationStructureNV: ProcCreateAccelerationStructureNV, + CreateBuffer: ProcCreateBuffer, + CreateBufferView: ProcCreateBufferView, + CreateCommandPool: ProcCreateCommandPool, + CreateComputePipelines: ProcCreateComputePipelines, + CreateCuFunctionNVX: ProcCreateCuFunctionNVX, + CreateCuModuleNVX: ProcCreateCuModuleNVX, + CreateDeferredOperationKHR: ProcCreateDeferredOperationKHR, + CreateDescriptorPool: ProcCreateDescriptorPool, + CreateDescriptorSetLayout: ProcCreateDescriptorSetLayout, + CreateDescriptorUpdateTemplate: ProcCreateDescriptorUpdateTemplate, + CreateDescriptorUpdateTemplateKHR: ProcCreateDescriptorUpdateTemplateKHR, + CreateEvent: ProcCreateEvent, + CreateFence: ProcCreateFence, + CreateFramebuffer: ProcCreateFramebuffer, + CreateGraphicsPipelines: ProcCreateGraphicsPipelines, + CreateImage: ProcCreateImage, + CreateImageView: ProcCreateImageView, + CreateIndirectCommandsLayoutNV: ProcCreateIndirectCommandsLayoutNV, + CreateMicromapEXT: ProcCreateMicromapEXT, + CreateOpticalFlowSessionNV: ProcCreateOpticalFlowSessionNV, + CreatePipelineCache: ProcCreatePipelineCache, + CreatePipelineLayout: ProcCreatePipelineLayout, + CreatePrivateDataSlot: ProcCreatePrivateDataSlot, + CreatePrivateDataSlotEXT: ProcCreatePrivateDataSlotEXT, + CreateQueryPool: ProcCreateQueryPool, + CreateRayTracingPipelinesKHR: ProcCreateRayTracingPipelinesKHR, + CreateRayTracingPipelinesNV: ProcCreateRayTracingPipelinesNV, + CreateRenderPass: ProcCreateRenderPass, + CreateRenderPass2: ProcCreateRenderPass2, + CreateRenderPass2KHR: ProcCreateRenderPass2KHR, + CreateSampler: ProcCreateSampler, + CreateSamplerYcbcrConversion: ProcCreateSamplerYcbcrConversion, + CreateSamplerYcbcrConversionKHR: ProcCreateSamplerYcbcrConversionKHR, + CreateSemaphore: ProcCreateSemaphore, + CreateShaderModule: ProcCreateShaderModule, + CreateShadersEXT: ProcCreateShadersEXT, + CreateSharedSwapchainsKHR: ProcCreateSharedSwapchainsKHR, + CreateSwapchainKHR: ProcCreateSwapchainKHR, + CreateValidationCacheEXT: ProcCreateValidationCacheEXT, + CreateVideoSessionKHR: ProcCreateVideoSessionKHR, + CreateVideoSessionParametersKHR: ProcCreateVideoSessionParametersKHR, + DebugMarkerSetObjectNameEXT: ProcDebugMarkerSetObjectNameEXT, + DebugMarkerSetObjectTagEXT: ProcDebugMarkerSetObjectTagEXT, + DeferredOperationJoinKHR: ProcDeferredOperationJoinKHR, + DestroyAccelerationStructureKHR: ProcDestroyAccelerationStructureKHR, + DestroyAccelerationStructureNV: ProcDestroyAccelerationStructureNV, + DestroyBuffer: ProcDestroyBuffer, + DestroyBufferView: ProcDestroyBufferView, + DestroyCommandPool: ProcDestroyCommandPool, + DestroyCuFunctionNVX: ProcDestroyCuFunctionNVX, + DestroyCuModuleNVX: ProcDestroyCuModuleNVX, + DestroyDeferredOperationKHR: ProcDestroyDeferredOperationKHR, + DestroyDescriptorPool: ProcDestroyDescriptorPool, + DestroyDescriptorSetLayout: ProcDestroyDescriptorSetLayout, + DestroyDescriptorUpdateTemplate: ProcDestroyDescriptorUpdateTemplate, + DestroyDescriptorUpdateTemplateKHR: ProcDestroyDescriptorUpdateTemplateKHR, + DestroyDevice: ProcDestroyDevice, + DestroyEvent: ProcDestroyEvent, + DestroyFence: ProcDestroyFence, + DestroyFramebuffer: ProcDestroyFramebuffer, + DestroyImage: ProcDestroyImage, + DestroyImageView: ProcDestroyImageView, + DestroyIndirectCommandsLayoutNV: ProcDestroyIndirectCommandsLayoutNV, + DestroyMicromapEXT: ProcDestroyMicromapEXT, + DestroyOpticalFlowSessionNV: ProcDestroyOpticalFlowSessionNV, + DestroyPipeline: ProcDestroyPipeline, + DestroyPipelineCache: ProcDestroyPipelineCache, + DestroyPipelineLayout: ProcDestroyPipelineLayout, + DestroyPrivateDataSlot: ProcDestroyPrivateDataSlot, + DestroyPrivateDataSlotEXT: ProcDestroyPrivateDataSlotEXT, + DestroyQueryPool: ProcDestroyQueryPool, + DestroyRenderPass: ProcDestroyRenderPass, + DestroySampler: ProcDestroySampler, + DestroySamplerYcbcrConversion: ProcDestroySamplerYcbcrConversion, + DestroySamplerYcbcrConversionKHR: ProcDestroySamplerYcbcrConversionKHR, + DestroySemaphore: ProcDestroySemaphore, + DestroyShaderEXT: ProcDestroyShaderEXT, + DestroyShaderModule: ProcDestroyShaderModule, + DestroySwapchainKHR: ProcDestroySwapchainKHR, + DestroyValidationCacheEXT: ProcDestroyValidationCacheEXT, + DestroyVideoSessionKHR: ProcDestroyVideoSessionKHR, + DestroyVideoSessionParametersKHR: ProcDestroyVideoSessionParametersKHR, + DeviceWaitIdle: ProcDeviceWaitIdle, + DisplayPowerControlEXT: ProcDisplayPowerControlEXT, + EndCommandBuffer: ProcEndCommandBuffer, + ExportMetalObjectsEXT: ProcExportMetalObjectsEXT, + FlushMappedMemoryRanges: ProcFlushMappedMemoryRanges, + FreeCommandBuffers: ProcFreeCommandBuffers, + FreeDescriptorSets: ProcFreeDescriptorSets, + FreeMemory: ProcFreeMemory, + GetAccelerationStructureBuildSizesKHR: ProcGetAccelerationStructureBuildSizesKHR, + GetAccelerationStructureDeviceAddressKHR: ProcGetAccelerationStructureDeviceAddressKHR, + GetAccelerationStructureHandleNV: ProcGetAccelerationStructureHandleNV, + GetAccelerationStructureMemoryRequirementsNV: ProcGetAccelerationStructureMemoryRequirementsNV, + GetAccelerationStructureOpaqueCaptureDescriptorDataEXT: ProcGetAccelerationStructureOpaqueCaptureDescriptorDataEXT, + GetBufferDeviceAddress: ProcGetBufferDeviceAddress, + GetBufferDeviceAddressEXT: ProcGetBufferDeviceAddressEXT, + GetBufferDeviceAddressKHR: ProcGetBufferDeviceAddressKHR, + GetBufferMemoryRequirements: ProcGetBufferMemoryRequirements, + GetBufferMemoryRequirements2: ProcGetBufferMemoryRequirements2, + GetBufferMemoryRequirements2KHR: ProcGetBufferMemoryRequirements2KHR, + GetBufferOpaqueCaptureAddress: ProcGetBufferOpaqueCaptureAddress, + GetBufferOpaqueCaptureAddressKHR: ProcGetBufferOpaqueCaptureAddressKHR, + GetBufferOpaqueCaptureDescriptorDataEXT: ProcGetBufferOpaqueCaptureDescriptorDataEXT, + GetCalibratedTimestampsEXT: ProcGetCalibratedTimestampsEXT, + GetDeferredOperationMaxConcurrencyKHR: ProcGetDeferredOperationMaxConcurrencyKHR, + GetDeferredOperationResultKHR: ProcGetDeferredOperationResultKHR, + GetDescriptorEXT: ProcGetDescriptorEXT, + GetDescriptorSetHostMappingVALVE: ProcGetDescriptorSetHostMappingVALVE, + GetDescriptorSetLayoutBindingOffsetEXT: ProcGetDescriptorSetLayoutBindingOffsetEXT, + GetDescriptorSetLayoutHostMappingInfoVALVE: ProcGetDescriptorSetLayoutHostMappingInfoVALVE, + GetDescriptorSetLayoutSizeEXT: ProcGetDescriptorSetLayoutSizeEXT, + GetDescriptorSetLayoutSupport: ProcGetDescriptorSetLayoutSupport, + GetDescriptorSetLayoutSupportKHR: ProcGetDescriptorSetLayoutSupportKHR, + GetDeviceAccelerationStructureCompatibilityKHR: ProcGetDeviceAccelerationStructureCompatibilityKHR, + GetDeviceBufferMemoryRequirements: ProcGetDeviceBufferMemoryRequirements, + GetDeviceBufferMemoryRequirementsKHR: ProcGetDeviceBufferMemoryRequirementsKHR, + GetDeviceFaultInfoEXT: ProcGetDeviceFaultInfoEXT, + GetDeviceGroupPeerMemoryFeatures: ProcGetDeviceGroupPeerMemoryFeatures, + GetDeviceGroupPeerMemoryFeaturesKHR: ProcGetDeviceGroupPeerMemoryFeaturesKHR, + GetDeviceGroupPresentCapabilitiesKHR: ProcGetDeviceGroupPresentCapabilitiesKHR, + GetDeviceGroupSurfacePresentModes2EXT: ProcGetDeviceGroupSurfacePresentModes2EXT, + GetDeviceGroupSurfacePresentModesKHR: ProcGetDeviceGroupSurfacePresentModesKHR, + GetDeviceImageMemoryRequirements: ProcGetDeviceImageMemoryRequirements, + GetDeviceImageMemoryRequirementsKHR: ProcGetDeviceImageMemoryRequirementsKHR, + GetDeviceImageSparseMemoryRequirements: ProcGetDeviceImageSparseMemoryRequirements, + GetDeviceImageSparseMemoryRequirementsKHR: ProcGetDeviceImageSparseMemoryRequirementsKHR, + GetDeviceMemoryCommitment: ProcGetDeviceMemoryCommitment, + GetDeviceMemoryOpaqueCaptureAddress: ProcGetDeviceMemoryOpaqueCaptureAddress, + GetDeviceMemoryOpaqueCaptureAddressKHR: ProcGetDeviceMemoryOpaqueCaptureAddressKHR, + GetDeviceMicromapCompatibilityEXT: ProcGetDeviceMicromapCompatibilityEXT, + GetDeviceProcAddr: ProcGetDeviceProcAddr, + GetDeviceQueue: ProcGetDeviceQueue, + GetDeviceQueue2: ProcGetDeviceQueue2, + GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI: ProcGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, + GetDynamicRenderingTilePropertiesQCOM: ProcGetDynamicRenderingTilePropertiesQCOM, + GetEventStatus: ProcGetEventStatus, + GetFenceFdKHR: ProcGetFenceFdKHR, + GetFenceStatus: ProcGetFenceStatus, + GetFenceWin32HandleKHR: ProcGetFenceWin32HandleKHR, + GetFramebufferTilePropertiesQCOM: ProcGetFramebufferTilePropertiesQCOM, + GetGeneratedCommandsMemoryRequirementsNV: ProcGetGeneratedCommandsMemoryRequirementsNV, + GetImageDrmFormatModifierPropertiesEXT: ProcGetImageDrmFormatModifierPropertiesEXT, + GetImageMemoryRequirements: ProcGetImageMemoryRequirements, + GetImageMemoryRequirements2: ProcGetImageMemoryRequirements2, + GetImageMemoryRequirements2KHR: ProcGetImageMemoryRequirements2KHR, + GetImageOpaqueCaptureDescriptorDataEXT: ProcGetImageOpaqueCaptureDescriptorDataEXT, + GetImageSparseMemoryRequirements: ProcGetImageSparseMemoryRequirements, + GetImageSparseMemoryRequirements2: ProcGetImageSparseMemoryRequirements2, + GetImageSparseMemoryRequirements2KHR: ProcGetImageSparseMemoryRequirements2KHR, + GetImageSubresourceLayout: ProcGetImageSubresourceLayout, + GetImageSubresourceLayout2EXT: ProcGetImageSubresourceLayout2EXT, + GetImageViewAddressNVX: ProcGetImageViewAddressNVX, + GetImageViewHandleNVX: ProcGetImageViewHandleNVX, + GetImageViewOpaqueCaptureDescriptorDataEXT: ProcGetImageViewOpaqueCaptureDescriptorDataEXT, + GetMemoryFdKHR: ProcGetMemoryFdKHR, + GetMemoryFdPropertiesKHR: ProcGetMemoryFdPropertiesKHR, + GetMemoryHostPointerPropertiesEXT: ProcGetMemoryHostPointerPropertiesEXT, + GetMemoryRemoteAddressNV: ProcGetMemoryRemoteAddressNV, + GetMemoryWin32HandleKHR: ProcGetMemoryWin32HandleKHR, + GetMemoryWin32HandleNV: ProcGetMemoryWin32HandleNV, + GetMemoryWin32HandlePropertiesKHR: ProcGetMemoryWin32HandlePropertiesKHR, + GetMicromapBuildSizesEXT: ProcGetMicromapBuildSizesEXT, + GetPastPresentationTimingGOOGLE: ProcGetPastPresentationTimingGOOGLE, + GetPerformanceParameterINTEL: ProcGetPerformanceParameterINTEL, + GetPipelineCacheData: ProcGetPipelineCacheData, + GetPipelineExecutableInternalRepresentationsKHR: ProcGetPipelineExecutableInternalRepresentationsKHR, + GetPipelineExecutablePropertiesKHR: ProcGetPipelineExecutablePropertiesKHR, + GetPipelineExecutableStatisticsKHR: ProcGetPipelineExecutableStatisticsKHR, + GetPipelinePropertiesEXT: ProcGetPipelinePropertiesEXT, + GetPrivateData: ProcGetPrivateData, + GetPrivateDataEXT: ProcGetPrivateDataEXT, + GetQueryPoolResults: ProcGetQueryPoolResults, + GetQueueCheckpointData2NV: ProcGetQueueCheckpointData2NV, + GetQueueCheckpointDataNV: ProcGetQueueCheckpointDataNV, + GetRayTracingCaptureReplayShaderGroupHandlesKHR: ProcGetRayTracingCaptureReplayShaderGroupHandlesKHR, + GetRayTracingShaderGroupHandlesKHR: ProcGetRayTracingShaderGroupHandlesKHR, + GetRayTracingShaderGroupHandlesNV: ProcGetRayTracingShaderGroupHandlesNV, + GetRayTracingShaderGroupStackSizeKHR: ProcGetRayTracingShaderGroupStackSizeKHR, + GetRefreshCycleDurationGOOGLE: ProcGetRefreshCycleDurationGOOGLE, + GetRenderAreaGranularity: ProcGetRenderAreaGranularity, + GetSamplerOpaqueCaptureDescriptorDataEXT: ProcGetSamplerOpaqueCaptureDescriptorDataEXT, + GetSemaphoreCounterValue: ProcGetSemaphoreCounterValue, + GetSemaphoreCounterValueKHR: ProcGetSemaphoreCounterValueKHR, + GetSemaphoreFdKHR: ProcGetSemaphoreFdKHR, + GetSemaphoreWin32HandleKHR: ProcGetSemaphoreWin32HandleKHR, + GetShaderBinaryDataEXT: ProcGetShaderBinaryDataEXT, + GetShaderInfoAMD: ProcGetShaderInfoAMD, + GetShaderModuleCreateInfoIdentifierEXT: ProcGetShaderModuleCreateInfoIdentifierEXT, + GetShaderModuleIdentifierEXT: ProcGetShaderModuleIdentifierEXT, + GetSwapchainCounterEXT: ProcGetSwapchainCounterEXT, + GetSwapchainImagesKHR: ProcGetSwapchainImagesKHR, + GetSwapchainStatusKHR: ProcGetSwapchainStatusKHR, + GetValidationCacheDataEXT: ProcGetValidationCacheDataEXT, + GetVideoSessionMemoryRequirementsKHR: ProcGetVideoSessionMemoryRequirementsKHR, + ImportFenceFdKHR: ProcImportFenceFdKHR, + ImportFenceWin32HandleKHR: ProcImportFenceWin32HandleKHR, + ImportSemaphoreFdKHR: ProcImportSemaphoreFdKHR, + ImportSemaphoreWin32HandleKHR: ProcImportSemaphoreWin32HandleKHR, + InitializePerformanceApiINTEL: ProcInitializePerformanceApiINTEL, + InvalidateMappedMemoryRanges: ProcInvalidateMappedMemoryRanges, + MapMemory: ProcMapMemory, + MapMemory2KHR: ProcMapMemory2KHR, + MergePipelineCaches: ProcMergePipelineCaches, + MergeValidationCachesEXT: ProcMergeValidationCachesEXT, + QueueBeginDebugUtilsLabelEXT: ProcQueueBeginDebugUtilsLabelEXT, + QueueBindSparse: ProcQueueBindSparse, + QueueEndDebugUtilsLabelEXT: ProcQueueEndDebugUtilsLabelEXT, + QueueInsertDebugUtilsLabelEXT: ProcQueueInsertDebugUtilsLabelEXT, + QueuePresentKHR: ProcQueuePresentKHR, + QueueSetPerformanceConfigurationINTEL: ProcQueueSetPerformanceConfigurationINTEL, + QueueSubmit: ProcQueueSubmit, + QueueSubmit2: ProcQueueSubmit2, + QueueSubmit2KHR: ProcQueueSubmit2KHR, + QueueWaitIdle: ProcQueueWaitIdle, + RegisterDeviceEventEXT: ProcRegisterDeviceEventEXT, + RegisterDisplayEventEXT: ProcRegisterDisplayEventEXT, + ReleaseFullScreenExclusiveModeEXT: ProcReleaseFullScreenExclusiveModeEXT, + ReleasePerformanceConfigurationINTEL: ProcReleasePerformanceConfigurationINTEL, + ReleaseProfilingLockKHR: ProcReleaseProfilingLockKHR, + ReleaseSwapchainImagesEXT: ProcReleaseSwapchainImagesEXT, + ResetCommandBuffer: ProcResetCommandBuffer, + ResetCommandPool: ProcResetCommandPool, + ResetDescriptorPool: ProcResetDescriptorPool, + ResetEvent: ProcResetEvent, + ResetFences: ProcResetFences, + ResetQueryPool: ProcResetQueryPool, + ResetQueryPoolEXT: ProcResetQueryPoolEXT, + SetDebugUtilsObjectNameEXT: ProcSetDebugUtilsObjectNameEXT, + SetDebugUtilsObjectTagEXT: ProcSetDebugUtilsObjectTagEXT, + SetDeviceMemoryPriorityEXT: ProcSetDeviceMemoryPriorityEXT, + SetEvent: ProcSetEvent, + SetHdrMetadataEXT: ProcSetHdrMetadataEXT, + SetLocalDimmingAMD: ProcSetLocalDimmingAMD, + SetPrivateData: ProcSetPrivateData, + SetPrivateDataEXT: ProcSetPrivateDataEXT, + SignalSemaphore: ProcSignalSemaphore, + SignalSemaphoreKHR: ProcSignalSemaphoreKHR, + TrimCommandPool: ProcTrimCommandPool, + TrimCommandPoolKHR: ProcTrimCommandPoolKHR, + UninitializePerformanceApiINTEL: ProcUninitializePerformanceApiINTEL, + UnmapMemory: ProcUnmapMemory, + UnmapMemory2KHR: ProcUnmapMemory2KHR, + UpdateDescriptorSetWithTemplate: ProcUpdateDescriptorSetWithTemplate, + UpdateDescriptorSetWithTemplateKHR: ProcUpdateDescriptorSetWithTemplateKHR, + UpdateDescriptorSets: ProcUpdateDescriptorSets, + UpdateVideoSessionParametersKHR: ProcUpdateVideoSessionParametersKHR, + WaitForFences: ProcWaitForFences, + WaitForPresentKHR: ProcWaitForPresentKHR, + WaitSemaphores: ProcWaitSemaphores, + WaitSemaphoresKHR: ProcWaitSemaphoresKHR, + WriteAccelerationStructuresPropertiesKHR: ProcWriteAccelerationStructuresPropertiesKHR, + WriteMicromapsPropertiesEXT: ProcWriteMicromapsPropertiesEXT, +} + +load_proc_addresses_device_vtable :: proc(device: Device, vtable: ^Device_VTable) { + vtable.AcquireFullScreenExclusiveModeEXT = auto_cast GetDeviceProcAddr(device, "vkAcquireFullScreenExclusiveModeEXT") + vtable.AcquireNextImage2KHR = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImage2KHR") + vtable.AcquireNextImageKHR = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImageKHR") + vtable.AcquirePerformanceConfigurationINTEL = auto_cast GetDeviceProcAddr(device, "vkAcquirePerformanceConfigurationINTEL") + vtable.AcquireProfilingLockKHR = auto_cast GetDeviceProcAddr(device, "vkAcquireProfilingLockKHR") + vtable.AllocateCommandBuffers = auto_cast GetDeviceProcAddr(device, "vkAllocateCommandBuffers") + vtable.AllocateDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkAllocateDescriptorSets") + vtable.AllocateMemory = auto_cast GetDeviceProcAddr(device, "vkAllocateMemory") + vtable.BeginCommandBuffer = auto_cast GetDeviceProcAddr(device, "vkBeginCommandBuffer") + vtable.BindAccelerationStructureMemoryNV = auto_cast GetDeviceProcAddr(device, "vkBindAccelerationStructureMemoryNV") + vtable.BindBufferMemory = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory") + vtable.BindBufferMemory2 = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2") + vtable.BindBufferMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2KHR") + vtable.BindImageMemory = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory") + vtable.BindImageMemory2 = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2") + vtable.BindImageMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2KHR") + vtable.BindOpticalFlowSessionImageNV = auto_cast GetDeviceProcAddr(device, "vkBindOpticalFlowSessionImageNV") + vtable.BindVideoSessionMemoryKHR = auto_cast GetDeviceProcAddr(device, "vkBindVideoSessionMemoryKHR") + vtable.BuildAccelerationStructuresKHR = auto_cast GetDeviceProcAddr(device, "vkBuildAccelerationStructuresKHR") + vtable.BuildMicromapsEXT = auto_cast GetDeviceProcAddr(device, "vkBuildMicromapsEXT") + vtable.CmdBeginConditionalRenderingEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginConditionalRenderingEXT") + vtable.CmdBeginDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginDebugUtilsLabelEXT") + vtable.CmdBeginQuery = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQuery") + vtable.CmdBeginQueryIndexedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQueryIndexedEXT") + vtable.CmdBeginRenderPass = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass") + vtable.CmdBeginRenderPass2 = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2") + vtable.CmdBeginRenderPass2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2KHR") + vtable.CmdBeginRendering = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRendering") + vtable.CmdBeginRenderingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderingKHR") + vtable.CmdBeginTransformFeedbackEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginTransformFeedbackEXT") + vtable.CmdBeginVideoCodingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBeginVideoCodingKHR") + vtable.CmdBindDescriptorBufferEmbeddedSamplersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT") + vtable.CmdBindDescriptorBuffersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorBuffersEXT") + vtable.CmdBindDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorSets") + vtable.CmdBindIndexBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdBindIndexBuffer") + vtable.CmdBindInvocationMaskHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdBindInvocationMaskHUAWEI") + vtable.CmdBindPipeline = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipeline") + vtable.CmdBindPipelineShaderGroupNV = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipelineShaderGroupNV") + vtable.CmdBindShadersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindShadersEXT") + vtable.CmdBindShadingRateImageNV = auto_cast GetDeviceProcAddr(device, "vkCmdBindShadingRateImageNV") + vtable.CmdBindTransformFeedbackBuffersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindTransformFeedbackBuffersEXT") + vtable.CmdBindVertexBuffers = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers") + vtable.CmdBindVertexBuffers2 = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2") + vtable.CmdBindVertexBuffers2EXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2EXT") + vtable.CmdBlitImage = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage") + vtable.CmdBlitImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2") + vtable.CmdBlitImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2KHR") + vtable.CmdBuildAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructureNV") + vtable.CmdBuildAccelerationStructuresIndirectKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresIndirectKHR") + vtable.CmdBuildAccelerationStructuresKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresKHR") + vtable.CmdBuildMicromapsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBuildMicromapsEXT") + vtable.CmdClearAttachments = auto_cast GetDeviceProcAddr(device, "vkCmdClearAttachments") + vtable.CmdClearColorImage = auto_cast GetDeviceProcAddr(device, "vkCmdClearColorImage") + vtable.CmdClearDepthStencilImage = auto_cast GetDeviceProcAddr(device, "vkCmdClearDepthStencilImage") + vtable.CmdControlVideoCodingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdControlVideoCodingKHR") + vtable.CmdCopyAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureKHR") + vtable.CmdCopyAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureNV") + vtable.CmdCopyAccelerationStructureToMemoryKHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureToMemoryKHR") + vtable.CmdCopyBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer") + vtable.CmdCopyBuffer2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2") + vtable.CmdCopyBuffer2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2KHR") + vtable.CmdCopyBufferToImage = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage") + vtable.CmdCopyBufferToImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2") + vtable.CmdCopyBufferToImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2KHR") + vtable.CmdCopyImage = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage") + vtable.CmdCopyImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2") + vtable.CmdCopyImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2KHR") + vtable.CmdCopyImageToBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer") + vtable.CmdCopyImageToBuffer2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2") + vtable.CmdCopyImageToBuffer2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2KHR") + vtable.CmdCopyMemoryIndirectNV = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryIndirectNV") + vtable.CmdCopyMemoryToAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToAccelerationStructureKHR") + vtable.CmdCopyMemoryToImageIndirectNV = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToImageIndirectNV") + vtable.CmdCopyMemoryToMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToMicromapEXT") + vtable.CmdCopyMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMicromapEXT") + vtable.CmdCopyMicromapToMemoryEXT = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMicromapToMemoryEXT") + vtable.CmdCopyQueryPoolResults = auto_cast GetDeviceProcAddr(device, "vkCmdCopyQueryPoolResults") + vtable.CmdCuLaunchKernelNVX = auto_cast GetDeviceProcAddr(device, "vkCmdCuLaunchKernelNVX") + vtable.CmdDebugMarkerBeginEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT") + vtable.CmdDebugMarkerEndEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT") + vtable.CmdDebugMarkerInsertEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerInsertEXT") + vtable.CmdDecodeVideoKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDecodeVideoKHR") + vtable.CmdDecompressMemoryIndirectCountNV = auto_cast GetDeviceProcAddr(device, "vkCmdDecompressMemoryIndirectCountNV") + vtable.CmdDecompressMemoryNV = auto_cast GetDeviceProcAddr(device, "vkCmdDecompressMemoryNV") + vtable.CmdDispatch = auto_cast GetDeviceProcAddr(device, "vkCmdDispatch") + vtable.CmdDispatchBase = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBase") + vtable.CmdDispatchBaseKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBaseKHR") + vtable.CmdDispatchIndirect = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchIndirect") + vtable.CmdDraw = auto_cast GetDeviceProcAddr(device, "vkCmdDraw") + vtable.CmdDrawClusterHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdDrawClusterHUAWEI") + vtable.CmdDrawClusterIndirectHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdDrawClusterIndirectHUAWEI") + vtable.CmdDrawIndexed = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexed") + vtable.CmdDrawIndexedIndirect = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirect") + vtable.CmdDrawIndexedIndirectCount = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCount") + vtable.CmdDrawIndexedIndirectCountAMD = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountAMD") + vtable.CmdDrawIndexedIndirectCountKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountKHR") + vtable.CmdDrawIndirect = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirect") + vtable.CmdDrawIndirectByteCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectByteCountEXT") + vtable.CmdDrawIndirectCount = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCount") + vtable.CmdDrawIndirectCountAMD = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountAMD") + vtable.CmdDrawIndirectCountKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountKHR") + vtable.CmdDrawMeshTasksEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksEXT") + vtable.CmdDrawMeshTasksIndirectCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountEXT") + vtable.CmdDrawMeshTasksIndirectCountNV = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountNV") + vtable.CmdDrawMeshTasksIndirectEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectEXT") + vtable.CmdDrawMeshTasksIndirectNV = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectNV") + vtable.CmdDrawMeshTasksNV = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksNV") + vtable.CmdDrawMultiEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiEXT") + vtable.CmdDrawMultiIndexedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiIndexedEXT") + vtable.CmdEndConditionalRenderingEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndConditionalRenderingEXT") + vtable.CmdEndDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndDebugUtilsLabelEXT") + vtable.CmdEndQuery = auto_cast GetDeviceProcAddr(device, "vkCmdEndQuery") + vtable.CmdEndQueryIndexedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndQueryIndexedEXT") + vtable.CmdEndRenderPass = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass") + vtable.CmdEndRenderPass2 = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2") + vtable.CmdEndRenderPass2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2KHR") + vtable.CmdEndRendering = auto_cast GetDeviceProcAddr(device, "vkCmdEndRendering") + vtable.CmdEndRenderingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderingKHR") + vtable.CmdEndTransformFeedbackEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndTransformFeedbackEXT") + vtable.CmdEndVideoCodingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdEndVideoCodingKHR") + vtable.CmdExecuteCommands = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteCommands") + vtable.CmdExecuteGeneratedCommandsNV = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteGeneratedCommandsNV") + vtable.CmdFillBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdFillBuffer") + vtable.CmdInsertDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkCmdInsertDebugUtilsLabelEXT") + vtable.CmdNextSubpass = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass") + vtable.CmdNextSubpass2 = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2") + vtable.CmdNextSubpass2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2KHR") + vtable.CmdOpticalFlowExecuteNV = auto_cast GetDeviceProcAddr(device, "vkCmdOpticalFlowExecuteNV") + vtable.CmdPipelineBarrier = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier") + vtable.CmdPipelineBarrier2 = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2") + vtable.CmdPipelineBarrier2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2KHR") + vtable.CmdPreprocessGeneratedCommandsNV = auto_cast GetDeviceProcAddr(device, "vkCmdPreprocessGeneratedCommandsNV") + vtable.CmdPushConstants = auto_cast GetDeviceProcAddr(device, "vkCmdPushConstants") + vtable.CmdPushDescriptorSetKHR = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetKHR") + vtable.CmdPushDescriptorSetWithTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetWithTemplateKHR") + vtable.CmdResetEvent = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent") + vtable.CmdResetEvent2 = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2") + vtable.CmdResetEvent2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2KHR") + vtable.CmdResetQueryPool = auto_cast GetDeviceProcAddr(device, "vkCmdResetQueryPool") + vtable.CmdResolveImage = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage") + vtable.CmdResolveImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2") + vtable.CmdResolveImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2KHR") + vtable.CmdSetAlphaToCoverageEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetAlphaToCoverageEnableEXT") + vtable.CmdSetAlphaToOneEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetAlphaToOneEnableEXT") + vtable.CmdSetAttachmentFeedbackLoopEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetAttachmentFeedbackLoopEnableEXT") + vtable.CmdSetBlendConstants = auto_cast GetDeviceProcAddr(device, "vkCmdSetBlendConstants") + vtable.CmdSetCheckpointNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCheckpointNV") + vtable.CmdSetCoarseSampleOrderNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoarseSampleOrderNV") + vtable.CmdSetColorBlendAdvancedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorBlendAdvancedEXT") + vtable.CmdSetColorBlendEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorBlendEnableEXT") + vtable.CmdSetColorBlendEquationEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorBlendEquationEXT") + vtable.CmdSetColorWriteMaskEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorWriteMaskEXT") + vtable.CmdSetConservativeRasterizationModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetConservativeRasterizationModeEXT") + vtable.CmdSetCoverageModulationModeNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageModulationModeNV") + vtable.CmdSetCoverageModulationTableEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageModulationTableEnableNV") + vtable.CmdSetCoverageModulationTableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageModulationTableNV") + vtable.CmdSetCoverageReductionModeNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageReductionModeNV") + vtable.CmdSetCoverageToColorEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageToColorEnableNV") + vtable.CmdSetCoverageToColorLocationNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageToColorLocationNV") + vtable.CmdSetCullMode = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullMode") + vtable.CmdSetCullModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullModeEXT") + vtable.CmdSetDepthBias = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBias") + vtable.CmdSetDepthBiasEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnable") + vtable.CmdSetDepthBiasEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnableEXT") + vtable.CmdSetDepthBounds = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBounds") + vtable.CmdSetDepthBoundsTestEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnable") + vtable.CmdSetDepthBoundsTestEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnableEXT") + vtable.CmdSetDepthClampEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthClampEnableEXT") + vtable.CmdSetDepthClipEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthClipEnableEXT") + vtable.CmdSetDepthClipNegativeOneToOneEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthClipNegativeOneToOneEXT") + vtable.CmdSetDepthCompareOp = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOp") + vtable.CmdSetDepthCompareOpEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOpEXT") + vtable.CmdSetDepthTestEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnable") + vtable.CmdSetDepthTestEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnableEXT") + vtable.CmdSetDepthWriteEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnable") + vtable.CmdSetDepthWriteEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnableEXT") + vtable.CmdSetDescriptorBufferOffsetsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDescriptorBufferOffsetsEXT") + vtable.CmdSetDeviceMask = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMask") + vtable.CmdSetDeviceMaskKHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMaskKHR") + vtable.CmdSetDiscardRectangleEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEXT") + vtable.CmdSetDiscardRectangleEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEnableEXT") + vtable.CmdSetDiscardRectangleModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleModeEXT") + vtable.CmdSetEvent = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent") + vtable.CmdSetEvent2 = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2") + vtable.CmdSetEvent2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2KHR") + vtable.CmdSetExclusiveScissorEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetExclusiveScissorEnableNV") + vtable.CmdSetExclusiveScissorNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetExclusiveScissorNV") + vtable.CmdSetExtraPrimitiveOverestimationSizeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT") + vtable.CmdSetFragmentShadingRateEnumNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateEnumNV") + vtable.CmdSetFragmentShadingRateKHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateKHR") + vtable.CmdSetFrontFace = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFace") + vtable.CmdSetFrontFaceEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFaceEXT") + vtable.CmdSetLineRasterizationModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineRasterizationModeEXT") + vtable.CmdSetLineStippleEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineStippleEXT") + vtable.CmdSetLineStippleEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineStippleEnableEXT") + vtable.CmdSetLineWidth = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineWidth") + vtable.CmdSetLogicOpEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLogicOpEXT") + vtable.CmdSetLogicOpEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLogicOpEnableEXT") + vtable.CmdSetPatchControlPointsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPatchControlPointsEXT") + vtable.CmdSetPerformanceMarkerINTEL = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceMarkerINTEL") + vtable.CmdSetPerformanceOverrideINTEL = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceOverrideINTEL") + vtable.CmdSetPerformanceStreamMarkerINTEL = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceStreamMarkerINTEL") + vtable.CmdSetPolygonModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPolygonModeEXT") + vtable.CmdSetPrimitiveRestartEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnable") + vtable.CmdSetPrimitiveRestartEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnableEXT") + vtable.CmdSetPrimitiveTopology = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopology") + vtable.CmdSetPrimitiveTopologyEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopologyEXT") + vtable.CmdSetProvokingVertexModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetProvokingVertexModeEXT") + vtable.CmdSetRasterizationSamplesEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizationSamplesEXT") + vtable.CmdSetRasterizationStreamEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizationStreamEXT") + vtable.CmdSetRasterizerDiscardEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnable") + vtable.CmdSetRasterizerDiscardEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnableEXT") + vtable.CmdSetRayTracingPipelineStackSizeKHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetRayTracingPipelineStackSizeKHR") + vtable.CmdSetRepresentativeFragmentTestEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetRepresentativeFragmentTestEnableNV") + vtable.CmdSetSampleLocationsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleLocationsEXT") + vtable.CmdSetSampleLocationsEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleLocationsEnableEXT") + vtable.CmdSetSampleMaskEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleMaskEXT") + vtable.CmdSetScissor = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissor") + vtable.CmdSetScissorWithCount = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCount") + vtable.CmdSetScissorWithCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCountEXT") + vtable.CmdSetShadingRateImageEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetShadingRateImageEnableNV") + vtable.CmdSetStencilCompareMask = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilCompareMask") + vtable.CmdSetStencilOp = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOp") + vtable.CmdSetStencilOpEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOpEXT") + vtable.CmdSetStencilReference = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilReference") + vtable.CmdSetStencilTestEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnable") + vtable.CmdSetStencilTestEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnableEXT") + vtable.CmdSetStencilWriteMask = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilWriteMask") + vtable.CmdSetTessellationDomainOriginEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetTessellationDomainOriginEXT") + vtable.CmdSetVertexInputEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetVertexInputEXT") + vtable.CmdSetViewport = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewport") + vtable.CmdSetViewportShadingRatePaletteNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportShadingRatePaletteNV") + vtable.CmdSetViewportSwizzleNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportSwizzleNV") + vtable.CmdSetViewportWScalingEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWScalingEnableNV") + vtable.CmdSetViewportWScalingNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWScalingNV") + vtable.CmdSetViewportWithCount = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCount") + vtable.CmdSetViewportWithCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCountEXT") + vtable.CmdSubpassShadingHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdSubpassShadingHUAWEI") + vtable.CmdTraceRaysIndirect2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysIndirect2KHR") + vtable.CmdTraceRaysIndirectKHR = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysIndirectKHR") + vtable.CmdTraceRaysKHR = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysKHR") + vtable.CmdTraceRaysNV = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysNV") + vtable.CmdUpdateBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdUpdateBuffer") + vtable.CmdWaitEvents = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents") + vtable.CmdWaitEvents2 = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2") + vtable.CmdWaitEvents2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2KHR") + vtable.CmdWriteAccelerationStructuresPropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesKHR") + vtable.CmdWriteAccelerationStructuresPropertiesNV = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesNV") + vtable.CmdWriteBufferMarker2AMD = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarker2AMD") + vtable.CmdWriteBufferMarkerAMD = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarkerAMD") + vtable.CmdWriteMicromapsPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkCmdWriteMicromapsPropertiesEXT") + vtable.CmdWriteTimestamp = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp") + vtable.CmdWriteTimestamp2 = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2") + vtable.CmdWriteTimestamp2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2KHR") + vtable.CompileDeferredNV = auto_cast GetDeviceProcAddr(device, "vkCompileDeferredNV") + vtable.CopyAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureKHR") + vtable.CopyAccelerationStructureToMemoryKHR = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureToMemoryKHR") + vtable.CopyMemoryToAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCopyMemoryToAccelerationStructureKHR") + vtable.CopyMemoryToMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCopyMemoryToMicromapEXT") + vtable.CopyMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCopyMicromapEXT") + vtable.CopyMicromapToMemoryEXT = auto_cast GetDeviceProcAddr(device, "vkCopyMicromapToMemoryEXT") + vtable.CreateAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureKHR") + vtable.CreateAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureNV") + vtable.CreateBuffer = auto_cast GetDeviceProcAddr(device, "vkCreateBuffer") + vtable.CreateBufferView = auto_cast GetDeviceProcAddr(device, "vkCreateBufferView") + vtable.CreateCommandPool = auto_cast GetDeviceProcAddr(device, "vkCreateCommandPool") + vtable.CreateComputePipelines = auto_cast GetDeviceProcAddr(device, "vkCreateComputePipelines") + vtable.CreateCuFunctionNVX = auto_cast GetDeviceProcAddr(device, "vkCreateCuFunctionNVX") + vtable.CreateCuModuleNVX = auto_cast GetDeviceProcAddr(device, "vkCreateCuModuleNVX") + vtable.CreateDeferredOperationKHR = auto_cast GetDeviceProcAddr(device, "vkCreateDeferredOperationKHR") + vtable.CreateDescriptorPool = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorPool") + vtable.CreateDescriptorSetLayout = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorSetLayout") + vtable.CreateDescriptorUpdateTemplate = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplate") + vtable.CreateDescriptorUpdateTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplateKHR") + vtable.CreateEvent = auto_cast GetDeviceProcAddr(device, "vkCreateEvent") + vtable.CreateFence = auto_cast GetDeviceProcAddr(device, "vkCreateFence") + vtable.CreateFramebuffer = auto_cast GetDeviceProcAddr(device, "vkCreateFramebuffer") + vtable.CreateGraphicsPipelines = auto_cast GetDeviceProcAddr(device, "vkCreateGraphicsPipelines") + vtable.CreateImage = auto_cast GetDeviceProcAddr(device, "vkCreateImage") + vtable.CreateImageView = auto_cast GetDeviceProcAddr(device, "vkCreateImageView") + vtable.CreateIndirectCommandsLayoutNV = auto_cast GetDeviceProcAddr(device, "vkCreateIndirectCommandsLayoutNV") + vtable.CreateMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCreateMicromapEXT") + vtable.CreateOpticalFlowSessionNV = auto_cast GetDeviceProcAddr(device, "vkCreateOpticalFlowSessionNV") + vtable.CreatePipelineCache = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineCache") + vtable.CreatePipelineLayout = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineLayout") + vtable.CreatePrivateDataSlot = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlot") + vtable.CreatePrivateDataSlotEXT = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlotEXT") + vtable.CreateQueryPool = auto_cast GetDeviceProcAddr(device, "vkCreateQueryPool") + vtable.CreateRayTracingPipelinesKHR = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesKHR") + vtable.CreateRayTracingPipelinesNV = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesNV") + vtable.CreateRenderPass = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass") + vtable.CreateRenderPass2 = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2") + vtable.CreateRenderPass2KHR = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2KHR") + vtable.CreateSampler = auto_cast GetDeviceProcAddr(device, "vkCreateSampler") + vtable.CreateSamplerYcbcrConversion = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversion") + vtable.CreateSamplerYcbcrConversionKHR = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversionKHR") + vtable.CreateSemaphore = auto_cast GetDeviceProcAddr(device, "vkCreateSemaphore") + vtable.CreateShaderModule = auto_cast GetDeviceProcAddr(device, "vkCreateShaderModule") + vtable.CreateShadersEXT = auto_cast GetDeviceProcAddr(device, "vkCreateShadersEXT") + vtable.CreateSharedSwapchainsKHR = auto_cast GetDeviceProcAddr(device, "vkCreateSharedSwapchainsKHR") + vtable.CreateSwapchainKHR = auto_cast GetDeviceProcAddr(device, "vkCreateSwapchainKHR") + vtable.CreateValidationCacheEXT = auto_cast GetDeviceProcAddr(device, "vkCreateValidationCacheEXT") + vtable.CreateVideoSessionKHR = auto_cast GetDeviceProcAddr(device, "vkCreateVideoSessionKHR") + vtable.CreateVideoSessionParametersKHR = auto_cast GetDeviceProcAddr(device, "vkCreateVideoSessionParametersKHR") + vtable.DebugMarkerSetObjectNameEXT = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT") + vtable.DebugMarkerSetObjectTagEXT = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectTagEXT") + vtable.DeferredOperationJoinKHR = auto_cast GetDeviceProcAddr(device, "vkDeferredOperationJoinKHR") + vtable.DestroyAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureKHR") + vtable.DestroyAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureNV") + vtable.DestroyBuffer = auto_cast GetDeviceProcAddr(device, "vkDestroyBuffer") + vtable.DestroyBufferView = auto_cast GetDeviceProcAddr(device, "vkDestroyBufferView") + vtable.DestroyCommandPool = auto_cast GetDeviceProcAddr(device, "vkDestroyCommandPool") + vtable.DestroyCuFunctionNVX = auto_cast GetDeviceProcAddr(device, "vkDestroyCuFunctionNVX") + vtable.DestroyCuModuleNVX = auto_cast GetDeviceProcAddr(device, "vkDestroyCuModuleNVX") + vtable.DestroyDeferredOperationKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyDeferredOperationKHR") + vtable.DestroyDescriptorPool = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorPool") + vtable.DestroyDescriptorSetLayout = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorSetLayout") + vtable.DestroyDescriptorUpdateTemplate = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplate") + vtable.DestroyDescriptorUpdateTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplateKHR") + vtable.DestroyDevice = auto_cast GetDeviceProcAddr(device, "vkDestroyDevice") + vtable.DestroyEvent = auto_cast GetDeviceProcAddr(device, "vkDestroyEvent") + vtable.DestroyFence = auto_cast GetDeviceProcAddr(device, "vkDestroyFence") + vtable.DestroyFramebuffer = auto_cast GetDeviceProcAddr(device, "vkDestroyFramebuffer") + vtable.DestroyImage = auto_cast GetDeviceProcAddr(device, "vkDestroyImage") + vtable.DestroyImageView = auto_cast GetDeviceProcAddr(device, "vkDestroyImageView") + vtable.DestroyIndirectCommandsLayoutNV = auto_cast GetDeviceProcAddr(device, "vkDestroyIndirectCommandsLayoutNV") + vtable.DestroyMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyMicromapEXT") + vtable.DestroyOpticalFlowSessionNV = auto_cast GetDeviceProcAddr(device, "vkDestroyOpticalFlowSessionNV") + vtable.DestroyPipeline = auto_cast GetDeviceProcAddr(device, "vkDestroyPipeline") + vtable.DestroyPipelineCache = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineCache") + vtable.DestroyPipelineLayout = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineLayout") + vtable.DestroyPrivateDataSlot = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlot") + vtable.DestroyPrivateDataSlotEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlotEXT") + vtable.DestroyQueryPool = auto_cast GetDeviceProcAddr(device, "vkDestroyQueryPool") + vtable.DestroyRenderPass = auto_cast GetDeviceProcAddr(device, "vkDestroyRenderPass") + vtable.DestroySampler = auto_cast GetDeviceProcAddr(device, "vkDestroySampler") + vtable.DestroySamplerYcbcrConversion = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversion") + vtable.DestroySamplerYcbcrConversionKHR = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversionKHR") + vtable.DestroySemaphore = auto_cast GetDeviceProcAddr(device, "vkDestroySemaphore") + vtable.DestroyShaderEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyShaderEXT") + vtable.DestroyShaderModule = auto_cast GetDeviceProcAddr(device, "vkDestroyShaderModule") + vtable.DestroySwapchainKHR = auto_cast GetDeviceProcAddr(device, "vkDestroySwapchainKHR") + vtable.DestroyValidationCacheEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyValidationCacheEXT") + vtable.DestroyVideoSessionKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyVideoSessionKHR") + vtable.DestroyVideoSessionParametersKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyVideoSessionParametersKHR") + vtable.DeviceWaitIdle = auto_cast GetDeviceProcAddr(device, "vkDeviceWaitIdle") + vtable.DisplayPowerControlEXT = auto_cast GetDeviceProcAddr(device, "vkDisplayPowerControlEXT") + vtable.EndCommandBuffer = auto_cast GetDeviceProcAddr(device, "vkEndCommandBuffer") + vtable.ExportMetalObjectsEXT = auto_cast GetDeviceProcAddr(device, "vkExportMetalObjectsEXT") + vtable.FlushMappedMemoryRanges = auto_cast GetDeviceProcAddr(device, "vkFlushMappedMemoryRanges") + vtable.FreeCommandBuffers = auto_cast GetDeviceProcAddr(device, "vkFreeCommandBuffers") + vtable.FreeDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkFreeDescriptorSets") + vtable.FreeMemory = auto_cast GetDeviceProcAddr(device, "vkFreeMemory") + vtable.GetAccelerationStructureBuildSizesKHR = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureBuildSizesKHR") + vtable.GetAccelerationStructureDeviceAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureDeviceAddressKHR") + vtable.GetAccelerationStructureHandleNV = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureHandleNV") + vtable.GetAccelerationStructureMemoryRequirementsNV = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureMemoryRequirementsNV") + vtable.GetAccelerationStructureOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT") + vtable.GetBufferDeviceAddress = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddress") + vtable.GetBufferDeviceAddressEXT = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressEXT") + vtable.GetBufferDeviceAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressKHR") + vtable.GetBufferMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements") + vtable.GetBufferMemoryRequirements2 = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2") + vtable.GetBufferMemoryRequirements2KHR = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2KHR") + vtable.GetBufferOpaqueCaptureAddress = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddress") + vtable.GetBufferOpaqueCaptureAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddressKHR") + vtable.GetBufferOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureDescriptorDataEXT") + vtable.GetCalibratedTimestampsEXT = auto_cast GetDeviceProcAddr(device, "vkGetCalibratedTimestampsEXT") + vtable.GetDeferredOperationMaxConcurrencyKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationMaxConcurrencyKHR") + vtable.GetDeferredOperationResultKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationResultKHR") + vtable.GetDescriptorEXT = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorEXT") + vtable.GetDescriptorSetHostMappingVALVE = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetHostMappingVALVE") + vtable.GetDescriptorSetLayoutBindingOffsetEXT = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutBindingOffsetEXT") + vtable.GetDescriptorSetLayoutHostMappingInfoVALVE = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE") + vtable.GetDescriptorSetLayoutSizeEXT = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSizeEXT") + vtable.GetDescriptorSetLayoutSupport = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupport") + vtable.GetDescriptorSetLayoutSupportKHR = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupportKHR") + vtable.GetDeviceAccelerationStructureCompatibilityKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceAccelerationStructureCompatibilityKHR") + vtable.GetDeviceBufferMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirements") + vtable.GetDeviceBufferMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirementsKHR") + vtable.GetDeviceFaultInfoEXT = auto_cast GetDeviceProcAddr(device, "vkGetDeviceFaultInfoEXT") + vtable.GetDeviceGroupPeerMemoryFeatures = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeatures") + vtable.GetDeviceGroupPeerMemoryFeaturesKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeaturesKHR") + vtable.GetDeviceGroupPresentCapabilitiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPresentCapabilitiesKHR") + vtable.GetDeviceGroupSurfacePresentModes2EXT = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModes2EXT") + vtable.GetDeviceGroupSurfacePresentModesKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModesKHR") + vtable.GetDeviceImageMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirements") + vtable.GetDeviceImageMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirementsKHR") + vtable.GetDeviceImageSparseMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirements") + vtable.GetDeviceImageSparseMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirementsKHR") + vtable.GetDeviceMemoryCommitment = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryCommitment") + vtable.GetDeviceMemoryOpaqueCaptureAddress = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddress") + vtable.GetDeviceMemoryOpaqueCaptureAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR") + vtable.GetDeviceMicromapCompatibilityEXT = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMicromapCompatibilityEXT") + vtable.GetDeviceProcAddr = auto_cast GetDeviceProcAddr(device, "vkGetDeviceProcAddr") + vtable.GetDeviceQueue = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue") + vtable.GetDeviceQueue2 = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue2") + vtable.GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = auto_cast GetDeviceProcAddr(device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI") + vtable.GetDynamicRenderingTilePropertiesQCOM = auto_cast GetDeviceProcAddr(device, "vkGetDynamicRenderingTilePropertiesQCOM") + vtable.GetEventStatus = auto_cast GetDeviceProcAddr(device, "vkGetEventStatus") + vtable.GetFenceFdKHR = auto_cast GetDeviceProcAddr(device, "vkGetFenceFdKHR") + vtable.GetFenceStatus = auto_cast GetDeviceProcAddr(device, "vkGetFenceStatus") + vtable.GetFenceWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkGetFenceWin32HandleKHR") + vtable.GetFramebufferTilePropertiesQCOM = auto_cast GetDeviceProcAddr(device, "vkGetFramebufferTilePropertiesQCOM") + vtable.GetGeneratedCommandsMemoryRequirementsNV = auto_cast GetDeviceProcAddr(device, "vkGetGeneratedCommandsMemoryRequirementsNV") + vtable.GetImageDrmFormatModifierPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkGetImageDrmFormatModifierPropertiesEXT") + vtable.GetImageMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements") + vtable.GetImageMemoryRequirements2 = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2") + vtable.GetImageMemoryRequirements2KHR = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2KHR") + vtable.GetImageOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetImageOpaqueCaptureDescriptorDataEXT") + vtable.GetImageSparseMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements") + vtable.GetImageSparseMemoryRequirements2 = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2") + vtable.GetImageSparseMemoryRequirements2KHR = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2KHR") + vtable.GetImageSubresourceLayout = auto_cast GetDeviceProcAddr(device, "vkGetImageSubresourceLayout") + vtable.GetImageSubresourceLayout2EXT = auto_cast GetDeviceProcAddr(device, "vkGetImageSubresourceLayout2EXT") + vtable.GetImageViewAddressNVX = auto_cast GetDeviceProcAddr(device, "vkGetImageViewAddressNVX") + vtable.GetImageViewHandleNVX = auto_cast GetDeviceProcAddr(device, "vkGetImageViewHandleNVX") + vtable.GetImageViewOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT") + vtable.GetMemoryFdKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdKHR") + vtable.GetMemoryFdPropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdPropertiesKHR") + vtable.GetMemoryHostPointerPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkGetMemoryHostPointerPropertiesEXT") + vtable.GetMemoryRemoteAddressNV = auto_cast GetDeviceProcAddr(device, "vkGetMemoryRemoteAddressNV") + vtable.GetMemoryWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleKHR") + vtable.GetMemoryWin32HandleNV = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleNV") + vtable.GetMemoryWin32HandlePropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandlePropertiesKHR") + vtable.GetMicromapBuildSizesEXT = auto_cast GetDeviceProcAddr(device, "vkGetMicromapBuildSizesEXT") + vtable.GetPastPresentationTimingGOOGLE = auto_cast GetDeviceProcAddr(device, "vkGetPastPresentationTimingGOOGLE") + vtable.GetPerformanceParameterINTEL = auto_cast GetDeviceProcAddr(device, "vkGetPerformanceParameterINTEL") + vtable.GetPipelineCacheData = auto_cast GetDeviceProcAddr(device, "vkGetPipelineCacheData") + vtable.GetPipelineExecutableInternalRepresentationsKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableInternalRepresentationsKHR") + vtable.GetPipelineExecutablePropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutablePropertiesKHR") + vtable.GetPipelineExecutableStatisticsKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableStatisticsKHR") + vtable.GetPipelinePropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkGetPipelinePropertiesEXT") + vtable.GetPrivateData = auto_cast GetDeviceProcAddr(device, "vkGetPrivateData") + vtable.GetPrivateDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetPrivateDataEXT") + vtable.GetQueryPoolResults = auto_cast GetDeviceProcAddr(device, "vkGetQueryPoolResults") + vtable.GetQueueCheckpointData2NV = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointData2NV") + vtable.GetQueueCheckpointDataNV = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointDataNV") + vtable.GetRayTracingCaptureReplayShaderGroupHandlesKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR") + vtable.GetRayTracingShaderGroupHandlesKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesKHR") + vtable.GetRayTracingShaderGroupHandlesNV = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesNV") + vtable.GetRayTracingShaderGroupStackSizeKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupStackSizeKHR") + vtable.GetRefreshCycleDurationGOOGLE = auto_cast GetDeviceProcAddr(device, "vkGetRefreshCycleDurationGOOGLE") + vtable.GetRenderAreaGranularity = auto_cast GetDeviceProcAddr(device, "vkGetRenderAreaGranularity") + vtable.GetSamplerOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT") + vtable.GetSemaphoreCounterValue = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValue") + vtable.GetSemaphoreCounterValueKHR = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValueKHR") + vtable.GetSemaphoreFdKHR = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreFdKHR") + vtable.GetSemaphoreWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreWin32HandleKHR") + vtable.GetShaderBinaryDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetShaderBinaryDataEXT") + vtable.GetShaderInfoAMD = auto_cast GetDeviceProcAddr(device, "vkGetShaderInfoAMD") + vtable.GetShaderModuleCreateInfoIdentifierEXT = auto_cast GetDeviceProcAddr(device, "vkGetShaderModuleCreateInfoIdentifierEXT") + vtable.GetShaderModuleIdentifierEXT = auto_cast GetDeviceProcAddr(device, "vkGetShaderModuleIdentifierEXT") + vtable.GetSwapchainCounterEXT = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainCounterEXT") + vtable.GetSwapchainImagesKHR = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainImagesKHR") + vtable.GetSwapchainStatusKHR = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainStatusKHR") + vtable.GetValidationCacheDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetValidationCacheDataEXT") + vtable.GetVideoSessionMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetVideoSessionMemoryRequirementsKHR") + vtable.ImportFenceFdKHR = auto_cast GetDeviceProcAddr(device, "vkImportFenceFdKHR") + vtable.ImportFenceWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkImportFenceWin32HandleKHR") + vtable.ImportSemaphoreFdKHR = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreFdKHR") + vtable.ImportSemaphoreWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreWin32HandleKHR") + vtable.InitializePerformanceApiINTEL = auto_cast GetDeviceProcAddr(device, "vkInitializePerformanceApiINTEL") + vtable.InvalidateMappedMemoryRanges = auto_cast GetDeviceProcAddr(device, "vkInvalidateMappedMemoryRanges") + vtable.MapMemory = auto_cast GetDeviceProcAddr(device, "vkMapMemory") + vtable.MapMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkMapMemory2KHR") + vtable.MergePipelineCaches = auto_cast GetDeviceProcAddr(device, "vkMergePipelineCaches") + vtable.MergeValidationCachesEXT = auto_cast GetDeviceProcAddr(device, "vkMergeValidationCachesEXT") + vtable.QueueBeginDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkQueueBeginDebugUtilsLabelEXT") + vtable.QueueBindSparse = auto_cast GetDeviceProcAddr(device, "vkQueueBindSparse") + vtable.QueueEndDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkQueueEndDebugUtilsLabelEXT") + vtable.QueueInsertDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkQueueInsertDebugUtilsLabelEXT") + vtable.QueuePresentKHR = auto_cast GetDeviceProcAddr(device, "vkQueuePresentKHR") + vtable.QueueSetPerformanceConfigurationINTEL = auto_cast GetDeviceProcAddr(device, "vkQueueSetPerformanceConfigurationINTEL") + vtable.QueueSubmit = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit") + vtable.QueueSubmit2 = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2") + vtable.QueueSubmit2KHR = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2KHR") + vtable.QueueWaitIdle = auto_cast GetDeviceProcAddr(device, "vkQueueWaitIdle") + vtable.RegisterDeviceEventEXT = auto_cast GetDeviceProcAddr(device, "vkRegisterDeviceEventEXT") + vtable.RegisterDisplayEventEXT = auto_cast GetDeviceProcAddr(device, "vkRegisterDisplayEventEXT") + vtable.ReleaseFullScreenExclusiveModeEXT = auto_cast GetDeviceProcAddr(device, "vkReleaseFullScreenExclusiveModeEXT") + vtable.ReleasePerformanceConfigurationINTEL = auto_cast GetDeviceProcAddr(device, "vkReleasePerformanceConfigurationINTEL") + vtable.ReleaseProfilingLockKHR = auto_cast GetDeviceProcAddr(device, "vkReleaseProfilingLockKHR") + vtable.ReleaseSwapchainImagesEXT = auto_cast GetDeviceProcAddr(device, "vkReleaseSwapchainImagesEXT") + vtable.ResetCommandBuffer = auto_cast GetDeviceProcAddr(device, "vkResetCommandBuffer") + vtable.ResetCommandPool = auto_cast GetDeviceProcAddr(device, "vkResetCommandPool") + vtable.ResetDescriptorPool = auto_cast GetDeviceProcAddr(device, "vkResetDescriptorPool") + vtable.ResetEvent = auto_cast GetDeviceProcAddr(device, "vkResetEvent") + vtable.ResetFences = auto_cast GetDeviceProcAddr(device, "vkResetFences") + vtable.ResetQueryPool = auto_cast GetDeviceProcAddr(device, "vkResetQueryPool") + vtable.ResetQueryPoolEXT = auto_cast GetDeviceProcAddr(device, "vkResetQueryPoolEXT") + vtable.SetDebugUtilsObjectNameEXT = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectNameEXT") + vtable.SetDebugUtilsObjectTagEXT = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectTagEXT") + vtable.SetDeviceMemoryPriorityEXT = auto_cast GetDeviceProcAddr(device, "vkSetDeviceMemoryPriorityEXT") + vtable.SetEvent = auto_cast GetDeviceProcAddr(device, "vkSetEvent") + vtable.SetHdrMetadataEXT = auto_cast GetDeviceProcAddr(device, "vkSetHdrMetadataEXT") + vtable.SetLocalDimmingAMD = auto_cast GetDeviceProcAddr(device, "vkSetLocalDimmingAMD") + vtable.SetPrivateData = auto_cast GetDeviceProcAddr(device, "vkSetPrivateData") + vtable.SetPrivateDataEXT = auto_cast GetDeviceProcAddr(device, "vkSetPrivateDataEXT") + vtable.SignalSemaphore = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphore") + vtable.SignalSemaphoreKHR = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphoreKHR") + vtable.TrimCommandPool = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPool") + vtable.TrimCommandPoolKHR = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPoolKHR") + vtable.UninitializePerformanceApiINTEL = auto_cast GetDeviceProcAddr(device, "vkUninitializePerformanceApiINTEL") + vtable.UnmapMemory = auto_cast GetDeviceProcAddr(device, "vkUnmapMemory") + vtable.UnmapMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkUnmapMemory2KHR") + vtable.UpdateDescriptorSetWithTemplate = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplate") + vtable.UpdateDescriptorSetWithTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplateKHR") + vtable.UpdateDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSets") + vtable.UpdateVideoSessionParametersKHR = auto_cast GetDeviceProcAddr(device, "vkUpdateVideoSessionParametersKHR") + vtable.WaitForFences = auto_cast GetDeviceProcAddr(device, "vkWaitForFences") + vtable.WaitForPresentKHR = auto_cast GetDeviceProcAddr(device, "vkWaitForPresentKHR") + vtable.WaitSemaphores = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphores") + vtable.WaitSemaphoresKHR = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphoresKHR") + vtable.WriteAccelerationStructuresPropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkWriteAccelerationStructuresPropertiesKHR") + vtable.WriteMicromapsPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkWriteMicromapsPropertiesEXT") +} + +load_proc_addresses_device :: proc(device: Device) { + AcquireFullScreenExclusiveModeEXT = auto_cast GetDeviceProcAddr(device, "vkAcquireFullScreenExclusiveModeEXT") + AcquireNextImage2KHR = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImage2KHR") + AcquireNextImageKHR = auto_cast GetDeviceProcAddr(device, "vkAcquireNextImageKHR") + AcquirePerformanceConfigurationINTEL = auto_cast GetDeviceProcAddr(device, "vkAcquirePerformanceConfigurationINTEL") + AcquireProfilingLockKHR = auto_cast GetDeviceProcAddr(device, "vkAcquireProfilingLockKHR") + AllocateCommandBuffers = auto_cast GetDeviceProcAddr(device, "vkAllocateCommandBuffers") + AllocateDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkAllocateDescriptorSets") + AllocateMemory = auto_cast GetDeviceProcAddr(device, "vkAllocateMemory") + BeginCommandBuffer = auto_cast GetDeviceProcAddr(device, "vkBeginCommandBuffer") + BindAccelerationStructureMemoryNV = auto_cast GetDeviceProcAddr(device, "vkBindAccelerationStructureMemoryNV") + BindBufferMemory = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory") + BindBufferMemory2 = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2") + BindBufferMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkBindBufferMemory2KHR") + BindImageMemory = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory") + BindImageMemory2 = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2") + BindImageMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkBindImageMemory2KHR") + BindOpticalFlowSessionImageNV = auto_cast GetDeviceProcAddr(device, "vkBindOpticalFlowSessionImageNV") + BindVideoSessionMemoryKHR = auto_cast GetDeviceProcAddr(device, "vkBindVideoSessionMemoryKHR") + BuildAccelerationStructuresKHR = auto_cast GetDeviceProcAddr(device, "vkBuildAccelerationStructuresKHR") + BuildMicromapsEXT = auto_cast GetDeviceProcAddr(device, "vkBuildMicromapsEXT") + CmdBeginConditionalRenderingEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginConditionalRenderingEXT") + CmdBeginDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginDebugUtilsLabelEXT") + CmdBeginQuery = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQuery") + CmdBeginQueryIndexedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginQueryIndexedEXT") + CmdBeginRenderPass = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass") + CmdBeginRenderPass2 = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2") + CmdBeginRenderPass2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderPass2KHR") + CmdBeginRendering = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRendering") + CmdBeginRenderingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBeginRenderingKHR") + CmdBeginTransformFeedbackEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBeginTransformFeedbackEXT") + CmdBeginVideoCodingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBeginVideoCodingKHR") + CmdBindDescriptorBufferEmbeddedSamplersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT") + CmdBindDescriptorBuffersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorBuffersEXT") + CmdBindDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkCmdBindDescriptorSets") + CmdBindIndexBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdBindIndexBuffer") + CmdBindInvocationMaskHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdBindInvocationMaskHUAWEI") + CmdBindPipeline = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipeline") + CmdBindPipelineShaderGroupNV = auto_cast GetDeviceProcAddr(device, "vkCmdBindPipelineShaderGroupNV") + CmdBindShadersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindShadersEXT") + CmdBindShadingRateImageNV = auto_cast GetDeviceProcAddr(device, "vkCmdBindShadingRateImageNV") + CmdBindTransformFeedbackBuffersEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindTransformFeedbackBuffersEXT") + CmdBindVertexBuffers = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers") + CmdBindVertexBuffers2 = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2") + CmdBindVertexBuffers2EXT = auto_cast GetDeviceProcAddr(device, "vkCmdBindVertexBuffers2EXT") + CmdBlitImage = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage") + CmdBlitImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2") + CmdBlitImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdBlitImage2KHR") + CmdBuildAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructureNV") + CmdBuildAccelerationStructuresIndirectKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresIndirectKHR") + CmdBuildAccelerationStructuresKHR = auto_cast GetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresKHR") + CmdBuildMicromapsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdBuildMicromapsEXT") + CmdClearAttachments = auto_cast GetDeviceProcAddr(device, "vkCmdClearAttachments") + CmdClearColorImage = auto_cast GetDeviceProcAddr(device, "vkCmdClearColorImage") + CmdClearDepthStencilImage = auto_cast GetDeviceProcAddr(device, "vkCmdClearDepthStencilImage") + CmdControlVideoCodingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdControlVideoCodingKHR") + CmdCopyAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureKHR") + CmdCopyAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureNV") + CmdCopyAccelerationStructureToMemoryKHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureToMemoryKHR") + CmdCopyBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer") + CmdCopyBuffer2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2") + CmdCopyBuffer2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBuffer2KHR") + CmdCopyBufferToImage = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage") + CmdCopyBufferToImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2") + CmdCopyBufferToImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyBufferToImage2KHR") + CmdCopyImage = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage") + CmdCopyImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2") + CmdCopyImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImage2KHR") + CmdCopyImageToBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer") + CmdCopyImageToBuffer2 = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2") + CmdCopyImageToBuffer2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2KHR") + CmdCopyMemoryIndirectNV = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryIndirectNV") + CmdCopyMemoryToAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToAccelerationStructureKHR") + CmdCopyMemoryToImageIndirectNV = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToImageIndirectNV") + CmdCopyMemoryToMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMemoryToMicromapEXT") + CmdCopyMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMicromapEXT") + CmdCopyMicromapToMemoryEXT = auto_cast GetDeviceProcAddr(device, "vkCmdCopyMicromapToMemoryEXT") + CmdCopyQueryPoolResults = auto_cast GetDeviceProcAddr(device, "vkCmdCopyQueryPoolResults") + CmdCuLaunchKernelNVX = auto_cast GetDeviceProcAddr(device, "vkCmdCuLaunchKernelNVX") + CmdDebugMarkerBeginEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT") + CmdDebugMarkerEndEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT") + CmdDebugMarkerInsertEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDebugMarkerInsertEXT") + CmdDecodeVideoKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDecodeVideoKHR") + CmdDecompressMemoryIndirectCountNV = auto_cast GetDeviceProcAddr(device, "vkCmdDecompressMemoryIndirectCountNV") + CmdDecompressMemoryNV = auto_cast GetDeviceProcAddr(device, "vkCmdDecompressMemoryNV") + CmdDispatch = auto_cast GetDeviceProcAddr(device, "vkCmdDispatch") + CmdDispatchBase = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBase") + CmdDispatchBaseKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchBaseKHR") + CmdDispatchIndirect = auto_cast GetDeviceProcAddr(device, "vkCmdDispatchIndirect") + CmdDraw = auto_cast GetDeviceProcAddr(device, "vkCmdDraw") + CmdDrawClusterHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdDrawClusterHUAWEI") + CmdDrawClusterIndirectHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdDrawClusterIndirectHUAWEI") + CmdDrawIndexed = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexed") + CmdDrawIndexedIndirect = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirect") + CmdDrawIndexedIndirectCount = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCount") + CmdDrawIndexedIndirectCountAMD = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountAMD") + CmdDrawIndexedIndirectCountKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountKHR") + CmdDrawIndirect = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirect") + CmdDrawIndirectByteCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectByteCountEXT") + CmdDrawIndirectCount = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCount") + CmdDrawIndirectCountAMD = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountAMD") + CmdDrawIndirectCountKHR = auto_cast GetDeviceProcAddr(device, "vkCmdDrawIndirectCountKHR") + CmdDrawMeshTasksEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksEXT") + CmdDrawMeshTasksIndirectCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountEXT") + CmdDrawMeshTasksIndirectCountNV = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountNV") + CmdDrawMeshTasksIndirectEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectEXT") + CmdDrawMeshTasksIndirectNV = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectNV") + CmdDrawMeshTasksNV = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMeshTasksNV") + CmdDrawMultiEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiEXT") + CmdDrawMultiIndexedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdDrawMultiIndexedEXT") + CmdEndConditionalRenderingEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndConditionalRenderingEXT") + CmdEndDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndDebugUtilsLabelEXT") + CmdEndQuery = auto_cast GetDeviceProcAddr(device, "vkCmdEndQuery") + CmdEndQueryIndexedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndQueryIndexedEXT") + CmdEndRenderPass = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass") + CmdEndRenderPass2 = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2") + CmdEndRenderPass2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderPass2KHR") + CmdEndRendering = auto_cast GetDeviceProcAddr(device, "vkCmdEndRendering") + CmdEndRenderingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdEndRenderingKHR") + CmdEndTransformFeedbackEXT = auto_cast GetDeviceProcAddr(device, "vkCmdEndTransformFeedbackEXT") + CmdEndVideoCodingKHR = auto_cast GetDeviceProcAddr(device, "vkCmdEndVideoCodingKHR") + CmdExecuteCommands = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteCommands") + CmdExecuteGeneratedCommandsNV = auto_cast GetDeviceProcAddr(device, "vkCmdExecuteGeneratedCommandsNV") + CmdFillBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdFillBuffer") + CmdInsertDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkCmdInsertDebugUtilsLabelEXT") + CmdNextSubpass = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass") + CmdNextSubpass2 = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2") + CmdNextSubpass2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdNextSubpass2KHR") + CmdOpticalFlowExecuteNV = auto_cast GetDeviceProcAddr(device, "vkCmdOpticalFlowExecuteNV") + CmdPipelineBarrier = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier") + CmdPipelineBarrier2 = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2") + CmdPipelineBarrier2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdPipelineBarrier2KHR") + CmdPreprocessGeneratedCommandsNV = auto_cast GetDeviceProcAddr(device, "vkCmdPreprocessGeneratedCommandsNV") + CmdPushConstants = auto_cast GetDeviceProcAddr(device, "vkCmdPushConstants") + CmdPushDescriptorSetKHR = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetKHR") + CmdPushDescriptorSetWithTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkCmdPushDescriptorSetWithTemplateKHR") + CmdResetEvent = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent") + CmdResetEvent2 = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2") + CmdResetEvent2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdResetEvent2KHR") + CmdResetQueryPool = auto_cast GetDeviceProcAddr(device, "vkCmdResetQueryPool") + CmdResolveImage = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage") + CmdResolveImage2 = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2") + CmdResolveImage2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdResolveImage2KHR") + CmdSetAlphaToCoverageEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetAlphaToCoverageEnableEXT") + CmdSetAlphaToOneEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetAlphaToOneEnableEXT") + CmdSetAttachmentFeedbackLoopEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetAttachmentFeedbackLoopEnableEXT") + CmdSetBlendConstants = auto_cast GetDeviceProcAddr(device, "vkCmdSetBlendConstants") + CmdSetCheckpointNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCheckpointNV") + CmdSetCoarseSampleOrderNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoarseSampleOrderNV") + CmdSetColorBlendAdvancedEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorBlendAdvancedEXT") + CmdSetColorBlendEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorBlendEnableEXT") + CmdSetColorBlendEquationEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorBlendEquationEXT") + CmdSetColorWriteMaskEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetColorWriteMaskEXT") + CmdSetConservativeRasterizationModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetConservativeRasterizationModeEXT") + CmdSetCoverageModulationModeNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageModulationModeNV") + CmdSetCoverageModulationTableEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageModulationTableEnableNV") + CmdSetCoverageModulationTableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageModulationTableNV") + CmdSetCoverageReductionModeNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageReductionModeNV") + CmdSetCoverageToColorEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageToColorEnableNV") + CmdSetCoverageToColorLocationNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetCoverageToColorLocationNV") + CmdSetCullMode = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullMode") + CmdSetCullModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetCullModeEXT") + CmdSetDepthBias = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBias") + CmdSetDepthBiasEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnable") + CmdSetDepthBiasEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBiasEnableEXT") + CmdSetDepthBounds = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBounds") + CmdSetDepthBoundsTestEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnable") + CmdSetDepthBoundsTestEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnableEXT") + CmdSetDepthClampEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthClampEnableEXT") + CmdSetDepthClipEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthClipEnableEXT") + CmdSetDepthClipNegativeOneToOneEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthClipNegativeOneToOneEXT") + CmdSetDepthCompareOp = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOp") + CmdSetDepthCompareOpEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthCompareOpEXT") + CmdSetDepthTestEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnable") + CmdSetDepthTestEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthTestEnableEXT") + CmdSetDepthWriteEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnable") + CmdSetDepthWriteEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDepthWriteEnableEXT") + CmdSetDescriptorBufferOffsetsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDescriptorBufferOffsetsEXT") + CmdSetDeviceMask = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMask") + CmdSetDeviceMaskKHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetDeviceMaskKHR") + CmdSetDiscardRectangleEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEXT") + CmdSetDiscardRectangleEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEnableEXT") + CmdSetDiscardRectangleModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetDiscardRectangleModeEXT") + CmdSetEvent = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent") + CmdSetEvent2 = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2") + CmdSetEvent2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetEvent2KHR") + CmdSetExclusiveScissorEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetExclusiveScissorEnableNV") + CmdSetExclusiveScissorNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetExclusiveScissorNV") + CmdSetExtraPrimitiveOverestimationSizeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT") + CmdSetFragmentShadingRateEnumNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateEnumNV") + CmdSetFragmentShadingRateKHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateKHR") + CmdSetFrontFace = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFace") + CmdSetFrontFaceEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetFrontFaceEXT") + CmdSetLineRasterizationModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineRasterizationModeEXT") + CmdSetLineStippleEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineStippleEXT") + CmdSetLineStippleEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineStippleEnableEXT") + CmdSetLineWidth = auto_cast GetDeviceProcAddr(device, "vkCmdSetLineWidth") + CmdSetLogicOpEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLogicOpEXT") + CmdSetLogicOpEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetLogicOpEnableEXT") + CmdSetPatchControlPointsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPatchControlPointsEXT") + CmdSetPerformanceMarkerINTEL = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceMarkerINTEL") + CmdSetPerformanceOverrideINTEL = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceOverrideINTEL") + CmdSetPerformanceStreamMarkerINTEL = auto_cast GetDeviceProcAddr(device, "vkCmdSetPerformanceStreamMarkerINTEL") + CmdSetPolygonModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPolygonModeEXT") + CmdSetPrimitiveRestartEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnable") + CmdSetPrimitiveRestartEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnableEXT") + CmdSetPrimitiveTopology = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopology") + CmdSetPrimitiveTopologyEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetPrimitiveTopologyEXT") + CmdSetProvokingVertexModeEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetProvokingVertexModeEXT") + CmdSetRasterizationSamplesEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizationSamplesEXT") + CmdSetRasterizationStreamEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizationStreamEXT") + CmdSetRasterizerDiscardEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnable") + CmdSetRasterizerDiscardEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnableEXT") + CmdSetRayTracingPipelineStackSizeKHR = auto_cast GetDeviceProcAddr(device, "vkCmdSetRayTracingPipelineStackSizeKHR") + CmdSetRepresentativeFragmentTestEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetRepresentativeFragmentTestEnableNV") + CmdSetSampleLocationsEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleLocationsEXT") + CmdSetSampleLocationsEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleLocationsEnableEXT") + CmdSetSampleMaskEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetSampleMaskEXT") + CmdSetScissor = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissor") + CmdSetScissorWithCount = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCount") + CmdSetScissorWithCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetScissorWithCountEXT") + CmdSetShadingRateImageEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetShadingRateImageEnableNV") + CmdSetStencilCompareMask = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilCompareMask") + CmdSetStencilOp = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOp") + CmdSetStencilOpEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilOpEXT") + CmdSetStencilReference = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilReference") + CmdSetStencilTestEnable = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnable") + CmdSetStencilTestEnableEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilTestEnableEXT") + CmdSetStencilWriteMask = auto_cast GetDeviceProcAddr(device, "vkCmdSetStencilWriteMask") + CmdSetTessellationDomainOriginEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetTessellationDomainOriginEXT") + CmdSetVertexInputEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetVertexInputEXT") + CmdSetViewport = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewport") + CmdSetViewportShadingRatePaletteNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportShadingRatePaletteNV") + CmdSetViewportSwizzleNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportSwizzleNV") + CmdSetViewportWScalingEnableNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWScalingEnableNV") + CmdSetViewportWScalingNV = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWScalingNV") + CmdSetViewportWithCount = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCount") + CmdSetViewportWithCountEXT = auto_cast GetDeviceProcAddr(device, "vkCmdSetViewportWithCountEXT") + CmdSubpassShadingHUAWEI = auto_cast GetDeviceProcAddr(device, "vkCmdSubpassShadingHUAWEI") + CmdTraceRaysIndirect2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysIndirect2KHR") + CmdTraceRaysIndirectKHR = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysIndirectKHR") + CmdTraceRaysKHR = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysKHR") + CmdTraceRaysNV = auto_cast GetDeviceProcAddr(device, "vkCmdTraceRaysNV") + CmdUpdateBuffer = auto_cast GetDeviceProcAddr(device, "vkCmdUpdateBuffer") + CmdWaitEvents = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents") + CmdWaitEvents2 = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2") + CmdWaitEvents2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdWaitEvents2KHR") + CmdWriteAccelerationStructuresPropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesKHR") + CmdWriteAccelerationStructuresPropertiesNV = auto_cast GetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesNV") + CmdWriteBufferMarker2AMD = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarker2AMD") + CmdWriteBufferMarkerAMD = auto_cast GetDeviceProcAddr(device, "vkCmdWriteBufferMarkerAMD") + CmdWriteMicromapsPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkCmdWriteMicromapsPropertiesEXT") + CmdWriteTimestamp = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp") + CmdWriteTimestamp2 = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2") + CmdWriteTimestamp2KHR = auto_cast GetDeviceProcAddr(device, "vkCmdWriteTimestamp2KHR") + CompileDeferredNV = auto_cast GetDeviceProcAddr(device, "vkCompileDeferredNV") + CopyAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureKHR") + CopyAccelerationStructureToMemoryKHR = auto_cast GetDeviceProcAddr(device, "vkCopyAccelerationStructureToMemoryKHR") + CopyMemoryToAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCopyMemoryToAccelerationStructureKHR") + CopyMemoryToMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCopyMemoryToMicromapEXT") + CopyMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCopyMicromapEXT") + CopyMicromapToMemoryEXT = auto_cast GetDeviceProcAddr(device, "vkCopyMicromapToMemoryEXT") + CreateAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureKHR") + CreateAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkCreateAccelerationStructureNV") + CreateBuffer = auto_cast GetDeviceProcAddr(device, "vkCreateBuffer") + CreateBufferView = auto_cast GetDeviceProcAddr(device, "vkCreateBufferView") + CreateCommandPool = auto_cast GetDeviceProcAddr(device, "vkCreateCommandPool") + CreateComputePipelines = auto_cast GetDeviceProcAddr(device, "vkCreateComputePipelines") + CreateCuFunctionNVX = auto_cast GetDeviceProcAddr(device, "vkCreateCuFunctionNVX") + CreateCuModuleNVX = auto_cast GetDeviceProcAddr(device, "vkCreateCuModuleNVX") + CreateDeferredOperationKHR = auto_cast GetDeviceProcAddr(device, "vkCreateDeferredOperationKHR") + CreateDescriptorPool = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorPool") + CreateDescriptorSetLayout = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorSetLayout") + CreateDescriptorUpdateTemplate = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplate") + CreateDescriptorUpdateTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplateKHR") + CreateEvent = auto_cast GetDeviceProcAddr(device, "vkCreateEvent") + CreateFence = auto_cast GetDeviceProcAddr(device, "vkCreateFence") + CreateFramebuffer = auto_cast GetDeviceProcAddr(device, "vkCreateFramebuffer") + CreateGraphicsPipelines = auto_cast GetDeviceProcAddr(device, "vkCreateGraphicsPipelines") + CreateImage = auto_cast GetDeviceProcAddr(device, "vkCreateImage") + CreateImageView = auto_cast GetDeviceProcAddr(device, "vkCreateImageView") + CreateIndirectCommandsLayoutNV = auto_cast GetDeviceProcAddr(device, "vkCreateIndirectCommandsLayoutNV") + CreateMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkCreateMicromapEXT") + CreateOpticalFlowSessionNV = auto_cast GetDeviceProcAddr(device, "vkCreateOpticalFlowSessionNV") + CreatePipelineCache = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineCache") + CreatePipelineLayout = auto_cast GetDeviceProcAddr(device, "vkCreatePipelineLayout") + CreatePrivateDataSlot = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlot") + CreatePrivateDataSlotEXT = auto_cast GetDeviceProcAddr(device, "vkCreatePrivateDataSlotEXT") + CreateQueryPool = auto_cast GetDeviceProcAddr(device, "vkCreateQueryPool") + CreateRayTracingPipelinesKHR = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesKHR") + CreateRayTracingPipelinesNV = auto_cast GetDeviceProcAddr(device, "vkCreateRayTracingPipelinesNV") + CreateRenderPass = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass") + CreateRenderPass2 = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2") + CreateRenderPass2KHR = auto_cast GetDeviceProcAddr(device, "vkCreateRenderPass2KHR") + CreateSampler = auto_cast GetDeviceProcAddr(device, "vkCreateSampler") + CreateSamplerYcbcrConversion = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversion") + CreateSamplerYcbcrConversionKHR = auto_cast GetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversionKHR") + CreateSemaphore = auto_cast GetDeviceProcAddr(device, "vkCreateSemaphore") + CreateShaderModule = auto_cast GetDeviceProcAddr(device, "vkCreateShaderModule") + CreateShadersEXT = auto_cast GetDeviceProcAddr(device, "vkCreateShadersEXT") + CreateSharedSwapchainsKHR = auto_cast GetDeviceProcAddr(device, "vkCreateSharedSwapchainsKHR") + CreateSwapchainKHR = auto_cast GetDeviceProcAddr(device, "vkCreateSwapchainKHR") + CreateValidationCacheEXT = auto_cast GetDeviceProcAddr(device, "vkCreateValidationCacheEXT") + CreateVideoSessionKHR = auto_cast GetDeviceProcAddr(device, "vkCreateVideoSessionKHR") + CreateVideoSessionParametersKHR = auto_cast GetDeviceProcAddr(device, "vkCreateVideoSessionParametersKHR") + DebugMarkerSetObjectNameEXT = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT") + DebugMarkerSetObjectTagEXT = auto_cast GetDeviceProcAddr(device, "vkDebugMarkerSetObjectTagEXT") + DeferredOperationJoinKHR = auto_cast GetDeviceProcAddr(device, "vkDeferredOperationJoinKHR") + DestroyAccelerationStructureKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureKHR") + DestroyAccelerationStructureNV = auto_cast GetDeviceProcAddr(device, "vkDestroyAccelerationStructureNV") + DestroyBuffer = auto_cast GetDeviceProcAddr(device, "vkDestroyBuffer") + DestroyBufferView = auto_cast GetDeviceProcAddr(device, "vkDestroyBufferView") + DestroyCommandPool = auto_cast GetDeviceProcAddr(device, "vkDestroyCommandPool") + DestroyCuFunctionNVX = auto_cast GetDeviceProcAddr(device, "vkDestroyCuFunctionNVX") + DestroyCuModuleNVX = auto_cast GetDeviceProcAddr(device, "vkDestroyCuModuleNVX") + DestroyDeferredOperationKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyDeferredOperationKHR") + DestroyDescriptorPool = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorPool") + DestroyDescriptorSetLayout = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorSetLayout") + DestroyDescriptorUpdateTemplate = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplate") + DestroyDescriptorUpdateTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplateKHR") + DestroyDevice = auto_cast GetDeviceProcAddr(device, "vkDestroyDevice") + DestroyEvent = auto_cast GetDeviceProcAddr(device, "vkDestroyEvent") + DestroyFence = auto_cast GetDeviceProcAddr(device, "vkDestroyFence") + DestroyFramebuffer = auto_cast GetDeviceProcAddr(device, "vkDestroyFramebuffer") + DestroyImage = auto_cast GetDeviceProcAddr(device, "vkDestroyImage") + DestroyImageView = auto_cast GetDeviceProcAddr(device, "vkDestroyImageView") + DestroyIndirectCommandsLayoutNV = auto_cast GetDeviceProcAddr(device, "vkDestroyIndirectCommandsLayoutNV") + DestroyMicromapEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyMicromapEXT") + DestroyOpticalFlowSessionNV = auto_cast GetDeviceProcAddr(device, "vkDestroyOpticalFlowSessionNV") + DestroyPipeline = auto_cast GetDeviceProcAddr(device, "vkDestroyPipeline") + DestroyPipelineCache = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineCache") + DestroyPipelineLayout = auto_cast GetDeviceProcAddr(device, "vkDestroyPipelineLayout") + DestroyPrivateDataSlot = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlot") + DestroyPrivateDataSlotEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyPrivateDataSlotEXT") + DestroyQueryPool = auto_cast GetDeviceProcAddr(device, "vkDestroyQueryPool") + DestroyRenderPass = auto_cast GetDeviceProcAddr(device, "vkDestroyRenderPass") + DestroySampler = auto_cast GetDeviceProcAddr(device, "vkDestroySampler") + DestroySamplerYcbcrConversion = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversion") + DestroySamplerYcbcrConversionKHR = auto_cast GetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversionKHR") + DestroySemaphore = auto_cast GetDeviceProcAddr(device, "vkDestroySemaphore") + DestroyShaderEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyShaderEXT") + DestroyShaderModule = auto_cast GetDeviceProcAddr(device, "vkDestroyShaderModule") + DestroySwapchainKHR = auto_cast GetDeviceProcAddr(device, "vkDestroySwapchainKHR") + DestroyValidationCacheEXT = auto_cast GetDeviceProcAddr(device, "vkDestroyValidationCacheEXT") + DestroyVideoSessionKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyVideoSessionKHR") + DestroyVideoSessionParametersKHR = auto_cast GetDeviceProcAddr(device, "vkDestroyVideoSessionParametersKHR") + DeviceWaitIdle = auto_cast GetDeviceProcAddr(device, "vkDeviceWaitIdle") + DisplayPowerControlEXT = auto_cast GetDeviceProcAddr(device, "vkDisplayPowerControlEXT") + EndCommandBuffer = auto_cast GetDeviceProcAddr(device, "vkEndCommandBuffer") + ExportMetalObjectsEXT = auto_cast GetDeviceProcAddr(device, "vkExportMetalObjectsEXT") + FlushMappedMemoryRanges = auto_cast GetDeviceProcAddr(device, "vkFlushMappedMemoryRanges") + FreeCommandBuffers = auto_cast GetDeviceProcAddr(device, "vkFreeCommandBuffers") + FreeDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkFreeDescriptorSets") + FreeMemory = auto_cast GetDeviceProcAddr(device, "vkFreeMemory") + GetAccelerationStructureBuildSizesKHR = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureBuildSizesKHR") + GetAccelerationStructureDeviceAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureDeviceAddressKHR") + GetAccelerationStructureHandleNV = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureHandleNV") + GetAccelerationStructureMemoryRequirementsNV = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureMemoryRequirementsNV") + GetAccelerationStructureOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT") + GetBufferDeviceAddress = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddress") + GetBufferDeviceAddressEXT = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressEXT") + GetBufferDeviceAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetBufferDeviceAddressKHR") + GetBufferMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements") + GetBufferMemoryRequirements2 = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2") + GetBufferMemoryRequirements2KHR = auto_cast GetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2KHR") + GetBufferOpaqueCaptureAddress = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddress") + GetBufferOpaqueCaptureAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddressKHR") + GetBufferOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureDescriptorDataEXT") + GetCalibratedTimestampsEXT = auto_cast GetDeviceProcAddr(device, "vkGetCalibratedTimestampsEXT") + GetDeferredOperationMaxConcurrencyKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationMaxConcurrencyKHR") + GetDeferredOperationResultKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeferredOperationResultKHR") + GetDescriptorEXT = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorEXT") + GetDescriptorSetHostMappingVALVE = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetHostMappingVALVE") + GetDescriptorSetLayoutBindingOffsetEXT = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutBindingOffsetEXT") + GetDescriptorSetLayoutHostMappingInfoVALVE = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE") + GetDescriptorSetLayoutSizeEXT = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSizeEXT") + GetDescriptorSetLayoutSupport = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupport") + GetDescriptorSetLayoutSupportKHR = auto_cast GetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupportKHR") + GetDeviceAccelerationStructureCompatibilityKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceAccelerationStructureCompatibilityKHR") + GetDeviceBufferMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirements") + GetDeviceBufferMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirementsKHR") + GetDeviceFaultInfoEXT = auto_cast GetDeviceProcAddr(device, "vkGetDeviceFaultInfoEXT") + GetDeviceGroupPeerMemoryFeatures = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeatures") + GetDeviceGroupPeerMemoryFeaturesKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeaturesKHR") + GetDeviceGroupPresentCapabilitiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupPresentCapabilitiesKHR") + GetDeviceGroupSurfacePresentModes2EXT = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModes2EXT") + GetDeviceGroupSurfacePresentModesKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModesKHR") + GetDeviceImageMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirements") + GetDeviceImageMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirementsKHR") + GetDeviceImageSparseMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirements") + GetDeviceImageSparseMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirementsKHR") + GetDeviceMemoryCommitment = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryCommitment") + GetDeviceMemoryOpaqueCaptureAddress = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddress") + GetDeviceMemoryOpaqueCaptureAddressKHR = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR") + GetDeviceMicromapCompatibilityEXT = auto_cast GetDeviceProcAddr(device, "vkGetDeviceMicromapCompatibilityEXT") + GetDeviceProcAddr = auto_cast GetDeviceProcAddr(device, "vkGetDeviceProcAddr") + GetDeviceQueue = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue") + GetDeviceQueue2 = auto_cast GetDeviceProcAddr(device, "vkGetDeviceQueue2") + GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = auto_cast GetDeviceProcAddr(device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI") + GetDynamicRenderingTilePropertiesQCOM = auto_cast GetDeviceProcAddr(device, "vkGetDynamicRenderingTilePropertiesQCOM") + GetEventStatus = auto_cast GetDeviceProcAddr(device, "vkGetEventStatus") + GetFenceFdKHR = auto_cast GetDeviceProcAddr(device, "vkGetFenceFdKHR") + GetFenceStatus = auto_cast GetDeviceProcAddr(device, "vkGetFenceStatus") + GetFenceWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkGetFenceWin32HandleKHR") + GetFramebufferTilePropertiesQCOM = auto_cast GetDeviceProcAddr(device, "vkGetFramebufferTilePropertiesQCOM") + GetGeneratedCommandsMemoryRequirementsNV = auto_cast GetDeviceProcAddr(device, "vkGetGeneratedCommandsMemoryRequirementsNV") + GetImageDrmFormatModifierPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkGetImageDrmFormatModifierPropertiesEXT") + GetImageMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements") + GetImageMemoryRequirements2 = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2") + GetImageMemoryRequirements2KHR = auto_cast GetDeviceProcAddr(device, "vkGetImageMemoryRequirements2KHR") + GetImageOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetImageOpaqueCaptureDescriptorDataEXT") + GetImageSparseMemoryRequirements = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements") + GetImageSparseMemoryRequirements2 = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2") + GetImageSparseMemoryRequirements2KHR = auto_cast GetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2KHR") + GetImageSubresourceLayout = auto_cast GetDeviceProcAddr(device, "vkGetImageSubresourceLayout") + GetImageSubresourceLayout2EXT = auto_cast GetDeviceProcAddr(device, "vkGetImageSubresourceLayout2EXT") + GetImageViewAddressNVX = auto_cast GetDeviceProcAddr(device, "vkGetImageViewAddressNVX") + GetImageViewHandleNVX = auto_cast GetDeviceProcAddr(device, "vkGetImageViewHandleNVX") + GetImageViewOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT") + GetMemoryFdKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdKHR") + GetMemoryFdPropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryFdPropertiesKHR") + GetMemoryHostPointerPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkGetMemoryHostPointerPropertiesEXT") + GetMemoryRemoteAddressNV = auto_cast GetDeviceProcAddr(device, "vkGetMemoryRemoteAddressNV") + GetMemoryWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleKHR") + GetMemoryWin32HandleNV = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandleNV") + GetMemoryWin32HandlePropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetMemoryWin32HandlePropertiesKHR") + GetMicromapBuildSizesEXT = auto_cast GetDeviceProcAddr(device, "vkGetMicromapBuildSizesEXT") + GetPastPresentationTimingGOOGLE = auto_cast GetDeviceProcAddr(device, "vkGetPastPresentationTimingGOOGLE") + GetPerformanceParameterINTEL = auto_cast GetDeviceProcAddr(device, "vkGetPerformanceParameterINTEL") + GetPipelineCacheData = auto_cast GetDeviceProcAddr(device, "vkGetPipelineCacheData") + GetPipelineExecutableInternalRepresentationsKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableInternalRepresentationsKHR") + GetPipelineExecutablePropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutablePropertiesKHR") + GetPipelineExecutableStatisticsKHR = auto_cast GetDeviceProcAddr(device, "vkGetPipelineExecutableStatisticsKHR") + GetPipelinePropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkGetPipelinePropertiesEXT") + GetPrivateData = auto_cast GetDeviceProcAddr(device, "vkGetPrivateData") + GetPrivateDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetPrivateDataEXT") + GetQueryPoolResults = auto_cast GetDeviceProcAddr(device, "vkGetQueryPoolResults") + GetQueueCheckpointData2NV = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointData2NV") + GetQueueCheckpointDataNV = auto_cast GetDeviceProcAddr(device, "vkGetQueueCheckpointDataNV") + GetRayTracingCaptureReplayShaderGroupHandlesKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR") + GetRayTracingShaderGroupHandlesKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesKHR") + GetRayTracingShaderGroupHandlesNV = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesNV") + GetRayTracingShaderGroupStackSizeKHR = auto_cast GetDeviceProcAddr(device, "vkGetRayTracingShaderGroupStackSizeKHR") + GetRefreshCycleDurationGOOGLE = auto_cast GetDeviceProcAddr(device, "vkGetRefreshCycleDurationGOOGLE") + GetRenderAreaGranularity = auto_cast GetDeviceProcAddr(device, "vkGetRenderAreaGranularity") + GetSamplerOpaqueCaptureDescriptorDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT") + GetSemaphoreCounterValue = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValue") + GetSemaphoreCounterValueKHR = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreCounterValueKHR") + GetSemaphoreFdKHR = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreFdKHR") + GetSemaphoreWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkGetSemaphoreWin32HandleKHR") + GetShaderBinaryDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetShaderBinaryDataEXT") + GetShaderInfoAMD = auto_cast GetDeviceProcAddr(device, "vkGetShaderInfoAMD") + GetShaderModuleCreateInfoIdentifierEXT = auto_cast GetDeviceProcAddr(device, "vkGetShaderModuleCreateInfoIdentifierEXT") + GetShaderModuleIdentifierEXT = auto_cast GetDeviceProcAddr(device, "vkGetShaderModuleIdentifierEXT") + GetSwapchainCounterEXT = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainCounterEXT") + GetSwapchainImagesKHR = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainImagesKHR") + GetSwapchainStatusKHR = auto_cast GetDeviceProcAddr(device, "vkGetSwapchainStatusKHR") + GetValidationCacheDataEXT = auto_cast GetDeviceProcAddr(device, "vkGetValidationCacheDataEXT") + GetVideoSessionMemoryRequirementsKHR = auto_cast GetDeviceProcAddr(device, "vkGetVideoSessionMemoryRequirementsKHR") + ImportFenceFdKHR = auto_cast GetDeviceProcAddr(device, "vkImportFenceFdKHR") + ImportFenceWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkImportFenceWin32HandleKHR") + ImportSemaphoreFdKHR = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreFdKHR") + ImportSemaphoreWin32HandleKHR = auto_cast GetDeviceProcAddr(device, "vkImportSemaphoreWin32HandleKHR") + InitializePerformanceApiINTEL = auto_cast GetDeviceProcAddr(device, "vkInitializePerformanceApiINTEL") + InvalidateMappedMemoryRanges = auto_cast GetDeviceProcAddr(device, "vkInvalidateMappedMemoryRanges") + MapMemory = auto_cast GetDeviceProcAddr(device, "vkMapMemory") + MapMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkMapMemory2KHR") + MergePipelineCaches = auto_cast GetDeviceProcAddr(device, "vkMergePipelineCaches") + MergeValidationCachesEXT = auto_cast GetDeviceProcAddr(device, "vkMergeValidationCachesEXT") + QueueBeginDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkQueueBeginDebugUtilsLabelEXT") + QueueBindSparse = auto_cast GetDeviceProcAddr(device, "vkQueueBindSparse") + QueueEndDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkQueueEndDebugUtilsLabelEXT") + QueueInsertDebugUtilsLabelEXT = auto_cast GetDeviceProcAddr(device, "vkQueueInsertDebugUtilsLabelEXT") + QueuePresentKHR = auto_cast GetDeviceProcAddr(device, "vkQueuePresentKHR") + QueueSetPerformanceConfigurationINTEL = auto_cast GetDeviceProcAddr(device, "vkQueueSetPerformanceConfigurationINTEL") + QueueSubmit = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit") + QueueSubmit2 = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2") + QueueSubmit2KHR = auto_cast GetDeviceProcAddr(device, "vkQueueSubmit2KHR") + QueueWaitIdle = auto_cast GetDeviceProcAddr(device, "vkQueueWaitIdle") + RegisterDeviceEventEXT = auto_cast GetDeviceProcAddr(device, "vkRegisterDeviceEventEXT") + RegisterDisplayEventEXT = auto_cast GetDeviceProcAddr(device, "vkRegisterDisplayEventEXT") + ReleaseFullScreenExclusiveModeEXT = auto_cast GetDeviceProcAddr(device, "vkReleaseFullScreenExclusiveModeEXT") + ReleasePerformanceConfigurationINTEL = auto_cast GetDeviceProcAddr(device, "vkReleasePerformanceConfigurationINTEL") + ReleaseProfilingLockKHR = auto_cast GetDeviceProcAddr(device, "vkReleaseProfilingLockKHR") + ReleaseSwapchainImagesEXT = auto_cast GetDeviceProcAddr(device, "vkReleaseSwapchainImagesEXT") + ResetCommandBuffer = auto_cast GetDeviceProcAddr(device, "vkResetCommandBuffer") + ResetCommandPool = auto_cast GetDeviceProcAddr(device, "vkResetCommandPool") + ResetDescriptorPool = auto_cast GetDeviceProcAddr(device, "vkResetDescriptorPool") + ResetEvent = auto_cast GetDeviceProcAddr(device, "vkResetEvent") + ResetFences = auto_cast GetDeviceProcAddr(device, "vkResetFences") + ResetQueryPool = auto_cast GetDeviceProcAddr(device, "vkResetQueryPool") + ResetQueryPoolEXT = auto_cast GetDeviceProcAddr(device, "vkResetQueryPoolEXT") + SetDebugUtilsObjectNameEXT = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectNameEXT") + SetDebugUtilsObjectTagEXT = auto_cast GetDeviceProcAddr(device, "vkSetDebugUtilsObjectTagEXT") + SetDeviceMemoryPriorityEXT = auto_cast GetDeviceProcAddr(device, "vkSetDeviceMemoryPriorityEXT") + SetEvent = auto_cast GetDeviceProcAddr(device, "vkSetEvent") + SetHdrMetadataEXT = auto_cast GetDeviceProcAddr(device, "vkSetHdrMetadataEXT") + SetLocalDimmingAMD = auto_cast GetDeviceProcAddr(device, "vkSetLocalDimmingAMD") + SetPrivateData = auto_cast GetDeviceProcAddr(device, "vkSetPrivateData") + SetPrivateDataEXT = auto_cast GetDeviceProcAddr(device, "vkSetPrivateDataEXT") + SignalSemaphore = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphore") + SignalSemaphoreKHR = auto_cast GetDeviceProcAddr(device, "vkSignalSemaphoreKHR") + TrimCommandPool = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPool") + TrimCommandPoolKHR = auto_cast GetDeviceProcAddr(device, "vkTrimCommandPoolKHR") + UninitializePerformanceApiINTEL = auto_cast GetDeviceProcAddr(device, "vkUninitializePerformanceApiINTEL") + UnmapMemory = auto_cast GetDeviceProcAddr(device, "vkUnmapMemory") + UnmapMemory2KHR = auto_cast GetDeviceProcAddr(device, "vkUnmapMemory2KHR") + UpdateDescriptorSetWithTemplate = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplate") + UpdateDescriptorSetWithTemplateKHR = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplateKHR") + UpdateDescriptorSets = auto_cast GetDeviceProcAddr(device, "vkUpdateDescriptorSets") + UpdateVideoSessionParametersKHR = auto_cast GetDeviceProcAddr(device, "vkUpdateVideoSessionParametersKHR") + WaitForFences = auto_cast GetDeviceProcAddr(device, "vkWaitForFences") + WaitForPresentKHR = auto_cast GetDeviceProcAddr(device, "vkWaitForPresentKHR") + WaitSemaphores = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphores") + WaitSemaphoresKHR = auto_cast GetDeviceProcAddr(device, "vkWaitSemaphoresKHR") + WriteAccelerationStructuresPropertiesKHR = auto_cast GetDeviceProcAddr(device, "vkWriteAccelerationStructuresPropertiesKHR") + WriteMicromapsPropertiesEXT = auto_cast GetDeviceProcAddr(device, "vkWriteMicromapsPropertiesEXT") +} + +load_proc_addresses_instance :: proc(instance: Instance) { + AcquireDrmDisplayEXT = auto_cast GetInstanceProcAddr(instance, "vkAcquireDrmDisplayEXT") + AcquireWinrtDisplayNV = auto_cast GetInstanceProcAddr(instance, "vkAcquireWinrtDisplayNV") + CreateDebugReportCallbackEXT = auto_cast GetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT") + CreateDebugUtilsMessengerEXT = auto_cast GetInstanceProcAddr(instance, "vkCreateDebugUtilsMessengerEXT") + CreateDevice = auto_cast GetInstanceProcAddr(instance, "vkCreateDevice") + CreateDisplayModeKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateDisplayModeKHR") + CreateDisplayPlaneSurfaceKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateDisplayPlaneSurfaceKHR") + CreateHeadlessSurfaceEXT = auto_cast GetInstanceProcAddr(instance, "vkCreateHeadlessSurfaceEXT") + CreateIOSSurfaceMVK = auto_cast GetInstanceProcAddr(instance, "vkCreateIOSSurfaceMVK") + CreateMacOSSurfaceMVK = auto_cast GetInstanceProcAddr(instance, "vkCreateMacOSSurfaceMVK") + CreateMetalSurfaceEXT = auto_cast GetInstanceProcAddr(instance, "vkCreateMetalSurfaceEXT") + CreateWaylandSurfaceKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateWaylandSurfaceKHR") + CreateWin32SurfaceKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR") + DebugReportMessageEXT = auto_cast GetInstanceProcAddr(instance, "vkDebugReportMessageEXT") + DestroyDebugReportCallbackEXT = auto_cast GetInstanceProcAddr(instance, "vkDestroyDebugReportCallbackEXT") + DestroyDebugUtilsMessengerEXT = auto_cast GetInstanceProcAddr(instance, "vkDestroyDebugUtilsMessengerEXT") + DestroyInstance = auto_cast GetInstanceProcAddr(instance, "vkDestroyInstance") + DestroySurfaceKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroySurfaceKHR") + EnumerateDeviceExtensionProperties = auto_cast GetInstanceProcAddr(instance, "vkEnumerateDeviceExtensionProperties") + EnumerateDeviceLayerProperties = auto_cast GetInstanceProcAddr(instance, "vkEnumerateDeviceLayerProperties") + EnumeratePhysicalDeviceGroups = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceGroups") + EnumeratePhysicalDeviceGroupsKHR = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceGroupsKHR") + EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR") + EnumeratePhysicalDevices = auto_cast GetInstanceProcAddr(instance, "vkEnumeratePhysicalDevices") + GetDisplayModeProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayModeProperties2KHR") + GetDisplayModePropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayModePropertiesKHR") + GetDisplayPlaneCapabilities2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilities2KHR") + GetDisplayPlaneCapabilitiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilitiesKHR") + GetDisplayPlaneSupportedDisplaysKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayPlaneSupportedDisplaysKHR") + GetDrmDisplayEXT = auto_cast GetInstanceProcAddr(instance, "vkGetDrmDisplayEXT") + GetInstanceProcAddrLUNARG = auto_cast GetInstanceProcAddr(instance, "vkGetInstanceProcAddrLUNARG") + GetPhysicalDeviceCalibrateableTimeDomainsEXT = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT") + GetPhysicalDeviceCooperativeMatrixPropertiesNV = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV") + GetPhysicalDeviceDisplayPlaneProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR") + GetPhysicalDeviceDisplayPlanePropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR") + GetPhysicalDeviceDisplayProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayProperties2KHR") + GetPhysicalDeviceDisplayPropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR") + GetPhysicalDeviceExternalBufferProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalBufferProperties") + GetPhysicalDeviceExternalBufferPropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR") + GetPhysicalDeviceExternalFenceProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalFenceProperties") + GetPhysicalDeviceExternalFencePropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR") + GetPhysicalDeviceExternalImageFormatPropertiesNV = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV") + GetPhysicalDeviceExternalSemaphoreProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalSemaphoreProperties") + GetPhysicalDeviceExternalSemaphorePropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR") + GetPhysicalDeviceFeatures = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures") + GetPhysicalDeviceFeatures2 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures2") + GetPhysicalDeviceFeatures2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures2KHR") + GetPhysicalDeviceFormatProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties") + GetPhysicalDeviceFormatProperties2 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties2") + GetPhysicalDeviceFormatProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties2KHR") + GetPhysicalDeviceFragmentShadingRatesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR") + GetPhysicalDeviceImageFormatProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties") + GetPhysicalDeviceImageFormatProperties2 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties2") + GetPhysicalDeviceImageFormatProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties2KHR") + GetPhysicalDeviceMemoryProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties") + GetPhysicalDeviceMemoryProperties2 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties2") + GetPhysicalDeviceMemoryProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties2KHR") + GetPhysicalDeviceMultisamplePropertiesEXT = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT") + GetPhysicalDeviceOpticalFlowImageFormatsNV = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV") + GetPhysicalDevicePresentRectanglesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDevicePresentRectanglesKHR") + GetPhysicalDeviceProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties") + GetPhysicalDeviceProperties2 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2") + GetPhysicalDeviceProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2KHR") + GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR") + GetPhysicalDeviceQueueFamilyProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties") + GetPhysicalDeviceQueueFamilyProperties2 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties2") + GetPhysicalDeviceQueueFamilyProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR") + GetPhysicalDeviceSparseImageFormatProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties") + GetPhysicalDeviceSparseImageFormatProperties2 = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties2") + GetPhysicalDeviceSparseImageFormatProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR") + GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV") + GetPhysicalDeviceSurfaceCapabilities2EXT = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT") + GetPhysicalDeviceSurfaceCapabilities2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR") + GetPhysicalDeviceSurfaceCapabilitiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR") + GetPhysicalDeviceSurfaceFormats2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormats2KHR") + GetPhysicalDeviceSurfaceFormatsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR") + GetPhysicalDeviceSurfacePresentModes2EXT = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT") + GetPhysicalDeviceSurfacePresentModesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR") + GetPhysicalDeviceSurfaceSupportKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceSupportKHR") + GetPhysicalDeviceToolProperties = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceToolProperties") + GetPhysicalDeviceToolPropertiesEXT = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceToolPropertiesEXT") + GetPhysicalDeviceVideoCapabilitiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR") + GetPhysicalDeviceVideoFormatPropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR") + GetPhysicalDeviceWaylandPresentationSupportKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR") + GetPhysicalDeviceWin32PresentationSupportKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR") + GetWinrtDisplayNV = auto_cast GetInstanceProcAddr(instance, "vkGetWinrtDisplayNV") + ReleaseDisplayEXT = auto_cast GetInstanceProcAddr(instance, "vkReleaseDisplayEXT") + SubmitDebugUtilsMessageEXT = auto_cast GetInstanceProcAddr(instance, "vkSubmitDebugUtilsMessageEXT") + + // Device Procedures (may call into dispatch) + AcquireFullScreenExclusiveModeEXT = auto_cast GetInstanceProcAddr(instance, "vkAcquireFullScreenExclusiveModeEXT") + AcquireNextImage2KHR = auto_cast GetInstanceProcAddr(instance, "vkAcquireNextImage2KHR") + AcquireNextImageKHR = auto_cast GetInstanceProcAddr(instance, "vkAcquireNextImageKHR") + AcquirePerformanceConfigurationINTEL = auto_cast GetInstanceProcAddr(instance, "vkAcquirePerformanceConfigurationINTEL") + AcquireProfilingLockKHR = auto_cast GetInstanceProcAddr(instance, "vkAcquireProfilingLockKHR") + AllocateCommandBuffers = auto_cast GetInstanceProcAddr(instance, "vkAllocateCommandBuffers") + AllocateDescriptorSets = auto_cast GetInstanceProcAddr(instance, "vkAllocateDescriptorSets") + AllocateMemory = auto_cast GetInstanceProcAddr(instance, "vkAllocateMemory") + BeginCommandBuffer = auto_cast GetInstanceProcAddr(instance, "vkBeginCommandBuffer") + BindAccelerationStructureMemoryNV = auto_cast GetInstanceProcAddr(instance, "vkBindAccelerationStructureMemoryNV") + BindBufferMemory = auto_cast GetInstanceProcAddr(instance, "vkBindBufferMemory") + BindBufferMemory2 = auto_cast GetInstanceProcAddr(instance, "vkBindBufferMemory2") + BindBufferMemory2KHR = auto_cast GetInstanceProcAddr(instance, "vkBindBufferMemory2KHR") + BindImageMemory = auto_cast GetInstanceProcAddr(instance, "vkBindImageMemory") + BindImageMemory2 = auto_cast GetInstanceProcAddr(instance, "vkBindImageMemory2") + BindImageMemory2KHR = auto_cast GetInstanceProcAddr(instance, "vkBindImageMemory2KHR") + BindOpticalFlowSessionImageNV = auto_cast GetInstanceProcAddr(instance, "vkBindOpticalFlowSessionImageNV") + BindVideoSessionMemoryKHR = auto_cast GetInstanceProcAddr(instance, "vkBindVideoSessionMemoryKHR") + BuildAccelerationStructuresKHR = auto_cast GetInstanceProcAddr(instance, "vkBuildAccelerationStructuresKHR") + BuildMicromapsEXT = auto_cast GetInstanceProcAddr(instance, "vkBuildMicromapsEXT") + CmdBeginConditionalRenderingEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginConditionalRenderingEXT") + CmdBeginDebugUtilsLabelEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginDebugUtilsLabelEXT") + CmdBeginQuery = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginQuery") + CmdBeginQueryIndexedEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginQueryIndexedEXT") + CmdBeginRenderPass = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderPass") + CmdBeginRenderPass2 = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderPass2") + CmdBeginRenderPass2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderPass2KHR") + CmdBeginRendering = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRendering") + CmdBeginRenderingKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginRenderingKHR") + CmdBeginTransformFeedbackEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginTransformFeedbackEXT") + CmdBeginVideoCodingKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdBeginVideoCodingKHR") + CmdBindDescriptorBufferEmbeddedSamplersEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT") + CmdBindDescriptorBuffersEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBindDescriptorBuffersEXT") + CmdBindDescriptorSets = auto_cast GetInstanceProcAddr(instance, "vkCmdBindDescriptorSets") + CmdBindIndexBuffer = auto_cast GetInstanceProcAddr(instance, "vkCmdBindIndexBuffer") + CmdBindInvocationMaskHUAWEI = auto_cast GetInstanceProcAddr(instance, "vkCmdBindInvocationMaskHUAWEI") + CmdBindPipeline = auto_cast GetInstanceProcAddr(instance, "vkCmdBindPipeline") + CmdBindPipelineShaderGroupNV = auto_cast GetInstanceProcAddr(instance, "vkCmdBindPipelineShaderGroupNV") + CmdBindShadersEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBindShadersEXT") + CmdBindShadingRateImageNV = auto_cast GetInstanceProcAddr(instance, "vkCmdBindShadingRateImageNV") + CmdBindTransformFeedbackBuffersEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBindTransformFeedbackBuffersEXT") + CmdBindVertexBuffers = auto_cast GetInstanceProcAddr(instance, "vkCmdBindVertexBuffers") + CmdBindVertexBuffers2 = auto_cast GetInstanceProcAddr(instance, "vkCmdBindVertexBuffers2") + CmdBindVertexBuffers2EXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBindVertexBuffers2EXT") + CmdBlitImage = auto_cast GetInstanceProcAddr(instance, "vkCmdBlitImage") + CmdBlitImage2 = auto_cast GetInstanceProcAddr(instance, "vkCmdBlitImage2") + CmdBlitImage2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdBlitImage2KHR") + CmdBuildAccelerationStructureNV = auto_cast GetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructureNV") + CmdBuildAccelerationStructuresIndirectKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructuresIndirectKHR") + CmdBuildAccelerationStructuresKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructuresKHR") + CmdBuildMicromapsEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdBuildMicromapsEXT") + CmdClearAttachments = auto_cast GetInstanceProcAddr(instance, "vkCmdClearAttachments") + CmdClearColorImage = auto_cast GetInstanceProcAddr(instance, "vkCmdClearColorImage") + CmdClearDepthStencilImage = auto_cast GetInstanceProcAddr(instance, "vkCmdClearDepthStencilImage") + CmdControlVideoCodingKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdControlVideoCodingKHR") + CmdCopyAccelerationStructureKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureKHR") + CmdCopyAccelerationStructureNV = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureNV") + CmdCopyAccelerationStructureToMemoryKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureToMemoryKHR") + CmdCopyBuffer = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBuffer") + CmdCopyBuffer2 = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBuffer2") + CmdCopyBuffer2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBuffer2KHR") + CmdCopyBufferToImage = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBufferToImage") + CmdCopyBufferToImage2 = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBufferToImage2") + CmdCopyBufferToImage2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyBufferToImage2KHR") + CmdCopyImage = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImage") + CmdCopyImage2 = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImage2") + CmdCopyImage2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImage2KHR") + CmdCopyImageToBuffer = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer") + CmdCopyImageToBuffer2 = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer2") + CmdCopyImageToBuffer2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer2KHR") + CmdCopyMemoryIndirectNV = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyMemoryIndirectNV") + CmdCopyMemoryToAccelerationStructureKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyMemoryToAccelerationStructureKHR") + CmdCopyMemoryToImageIndirectNV = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyMemoryToImageIndirectNV") + CmdCopyMemoryToMicromapEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyMemoryToMicromapEXT") + CmdCopyMicromapEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyMicromapEXT") + CmdCopyMicromapToMemoryEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyMicromapToMemoryEXT") + CmdCopyQueryPoolResults = auto_cast GetInstanceProcAddr(instance, "vkCmdCopyQueryPoolResults") + CmdCuLaunchKernelNVX = auto_cast GetInstanceProcAddr(instance, "vkCmdCuLaunchKernelNVX") + CmdDebugMarkerBeginEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDebugMarkerBeginEXT") + CmdDebugMarkerEndEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDebugMarkerEndEXT") + CmdDebugMarkerInsertEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDebugMarkerInsertEXT") + CmdDecodeVideoKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdDecodeVideoKHR") + CmdDecompressMemoryIndirectCountNV = auto_cast GetInstanceProcAddr(instance, "vkCmdDecompressMemoryIndirectCountNV") + CmdDecompressMemoryNV = auto_cast GetInstanceProcAddr(instance, "vkCmdDecompressMemoryNV") + CmdDispatch = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatch") + CmdDispatchBase = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatchBase") + CmdDispatchBaseKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatchBaseKHR") + CmdDispatchIndirect = auto_cast GetInstanceProcAddr(instance, "vkCmdDispatchIndirect") + CmdDraw = auto_cast GetInstanceProcAddr(instance, "vkCmdDraw") + CmdDrawClusterHUAWEI = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawClusterHUAWEI") + CmdDrawClusterIndirectHUAWEI = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawClusterIndirectHUAWEI") + CmdDrawIndexed = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexed") + CmdDrawIndexedIndirect = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirect") + CmdDrawIndexedIndirectCount = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCount") + CmdDrawIndexedIndirectCountAMD = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCountAMD") + CmdDrawIndexedIndirectCountKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCountKHR") + CmdDrawIndirect = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirect") + CmdDrawIndirectByteCountEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectByteCountEXT") + CmdDrawIndirectCount = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectCount") + CmdDrawIndirectCountAMD = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectCountAMD") + CmdDrawIndirectCountKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawIndirectCountKHR") + CmdDrawMeshTasksEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksEXT") + CmdDrawMeshTasksIndirectCountEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectCountEXT") + CmdDrawMeshTasksIndirectCountNV = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectCountNV") + CmdDrawMeshTasksIndirectEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectEXT") + CmdDrawMeshTasksIndirectNV = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectNV") + CmdDrawMeshTasksNV = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMeshTasksNV") + CmdDrawMultiEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMultiEXT") + CmdDrawMultiIndexedEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdDrawMultiIndexedEXT") + CmdEndConditionalRenderingEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdEndConditionalRenderingEXT") + CmdEndDebugUtilsLabelEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdEndDebugUtilsLabelEXT") + CmdEndQuery = auto_cast GetInstanceProcAddr(instance, "vkCmdEndQuery") + CmdEndQueryIndexedEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdEndQueryIndexedEXT") + CmdEndRenderPass = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderPass") + CmdEndRenderPass2 = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderPass2") + CmdEndRenderPass2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderPass2KHR") + CmdEndRendering = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRendering") + CmdEndRenderingKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdEndRenderingKHR") + CmdEndTransformFeedbackEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdEndTransformFeedbackEXT") + CmdEndVideoCodingKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdEndVideoCodingKHR") + CmdExecuteCommands = auto_cast GetInstanceProcAddr(instance, "vkCmdExecuteCommands") + CmdExecuteGeneratedCommandsNV = auto_cast GetInstanceProcAddr(instance, "vkCmdExecuteGeneratedCommandsNV") + CmdFillBuffer = auto_cast GetInstanceProcAddr(instance, "vkCmdFillBuffer") + CmdInsertDebugUtilsLabelEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdInsertDebugUtilsLabelEXT") + CmdNextSubpass = auto_cast GetInstanceProcAddr(instance, "vkCmdNextSubpass") + CmdNextSubpass2 = auto_cast GetInstanceProcAddr(instance, "vkCmdNextSubpass2") + CmdNextSubpass2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdNextSubpass2KHR") + CmdOpticalFlowExecuteNV = auto_cast GetInstanceProcAddr(instance, "vkCmdOpticalFlowExecuteNV") + CmdPipelineBarrier = auto_cast GetInstanceProcAddr(instance, "vkCmdPipelineBarrier") + CmdPipelineBarrier2 = auto_cast GetInstanceProcAddr(instance, "vkCmdPipelineBarrier2") + CmdPipelineBarrier2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdPipelineBarrier2KHR") + CmdPreprocessGeneratedCommandsNV = auto_cast GetInstanceProcAddr(instance, "vkCmdPreprocessGeneratedCommandsNV") + CmdPushConstants = auto_cast GetInstanceProcAddr(instance, "vkCmdPushConstants") + CmdPushDescriptorSetKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdPushDescriptorSetKHR") + CmdPushDescriptorSetWithTemplateKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdPushDescriptorSetWithTemplateKHR") + CmdResetEvent = auto_cast GetInstanceProcAddr(instance, "vkCmdResetEvent") + CmdResetEvent2 = auto_cast GetInstanceProcAddr(instance, "vkCmdResetEvent2") + CmdResetEvent2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdResetEvent2KHR") + CmdResetQueryPool = auto_cast GetInstanceProcAddr(instance, "vkCmdResetQueryPool") + CmdResolveImage = auto_cast GetInstanceProcAddr(instance, "vkCmdResolveImage") + CmdResolveImage2 = auto_cast GetInstanceProcAddr(instance, "vkCmdResolveImage2") + CmdResolveImage2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdResolveImage2KHR") + CmdSetAlphaToCoverageEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetAlphaToCoverageEnableEXT") + CmdSetAlphaToOneEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetAlphaToOneEnableEXT") + CmdSetAttachmentFeedbackLoopEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetAttachmentFeedbackLoopEnableEXT") + CmdSetBlendConstants = auto_cast GetInstanceProcAddr(instance, "vkCmdSetBlendConstants") + CmdSetCheckpointNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCheckpointNV") + CmdSetCoarseSampleOrderNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoarseSampleOrderNV") + CmdSetColorBlendAdvancedEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetColorBlendAdvancedEXT") + CmdSetColorBlendEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetColorBlendEnableEXT") + CmdSetColorBlendEquationEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetColorBlendEquationEXT") + CmdSetColorWriteMaskEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetColorWriteMaskEXT") + CmdSetConservativeRasterizationModeEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetConservativeRasterizationModeEXT") + CmdSetCoverageModulationModeNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoverageModulationModeNV") + CmdSetCoverageModulationTableEnableNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoverageModulationTableEnableNV") + CmdSetCoverageModulationTableNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoverageModulationTableNV") + CmdSetCoverageReductionModeNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoverageReductionModeNV") + CmdSetCoverageToColorEnableNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoverageToColorEnableNV") + CmdSetCoverageToColorLocationNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCoverageToColorLocationNV") + CmdSetCullMode = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCullMode") + CmdSetCullModeEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetCullModeEXT") + CmdSetDepthBias = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBias") + CmdSetDepthBiasEnable = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBiasEnable") + CmdSetDepthBiasEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBiasEnableEXT") + CmdSetDepthBounds = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBounds") + CmdSetDepthBoundsTestEnable = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBoundsTestEnable") + CmdSetDepthBoundsTestEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthBoundsTestEnableEXT") + CmdSetDepthClampEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthClampEnableEXT") + CmdSetDepthClipEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthClipEnableEXT") + CmdSetDepthClipNegativeOneToOneEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthClipNegativeOneToOneEXT") + CmdSetDepthCompareOp = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthCompareOp") + CmdSetDepthCompareOpEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthCompareOpEXT") + CmdSetDepthTestEnable = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthTestEnable") + CmdSetDepthTestEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthTestEnableEXT") + CmdSetDepthWriteEnable = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthWriteEnable") + CmdSetDepthWriteEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDepthWriteEnableEXT") + CmdSetDescriptorBufferOffsetsEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDescriptorBufferOffsetsEXT") + CmdSetDeviceMask = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDeviceMask") + CmdSetDeviceMaskKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDeviceMaskKHR") + CmdSetDiscardRectangleEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDiscardRectangleEXT") + CmdSetDiscardRectangleEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDiscardRectangleEnableEXT") + CmdSetDiscardRectangleModeEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetDiscardRectangleModeEXT") + CmdSetEvent = auto_cast GetInstanceProcAddr(instance, "vkCmdSetEvent") + CmdSetEvent2 = auto_cast GetInstanceProcAddr(instance, "vkCmdSetEvent2") + CmdSetEvent2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdSetEvent2KHR") + CmdSetExclusiveScissorEnableNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetExclusiveScissorEnableNV") + CmdSetExclusiveScissorNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetExclusiveScissorNV") + CmdSetExtraPrimitiveOverestimationSizeEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetExtraPrimitiveOverestimationSizeEXT") + CmdSetFragmentShadingRateEnumNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFragmentShadingRateEnumNV") + CmdSetFragmentShadingRateKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFragmentShadingRateKHR") + CmdSetFrontFace = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFrontFace") + CmdSetFrontFaceEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetFrontFaceEXT") + CmdSetLineRasterizationModeEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLineRasterizationModeEXT") + CmdSetLineStippleEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLineStippleEXT") + CmdSetLineStippleEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLineStippleEnableEXT") + CmdSetLineWidth = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLineWidth") + CmdSetLogicOpEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLogicOpEXT") + CmdSetLogicOpEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetLogicOpEnableEXT") + CmdSetPatchControlPointsEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPatchControlPointsEXT") + CmdSetPerformanceMarkerINTEL = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPerformanceMarkerINTEL") + CmdSetPerformanceOverrideINTEL = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPerformanceOverrideINTEL") + CmdSetPerformanceStreamMarkerINTEL = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPerformanceStreamMarkerINTEL") + CmdSetPolygonModeEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPolygonModeEXT") + CmdSetPrimitiveRestartEnable = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveRestartEnable") + CmdSetPrimitiveRestartEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveRestartEnableEXT") + CmdSetPrimitiveTopology = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveTopology") + CmdSetPrimitiveTopologyEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetPrimitiveTopologyEXT") + CmdSetProvokingVertexModeEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetProvokingVertexModeEXT") + CmdSetRasterizationSamplesEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRasterizationSamplesEXT") + CmdSetRasterizationStreamEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRasterizationStreamEXT") + CmdSetRasterizerDiscardEnable = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRasterizerDiscardEnable") + CmdSetRasterizerDiscardEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRasterizerDiscardEnableEXT") + CmdSetRayTracingPipelineStackSizeKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRayTracingPipelineStackSizeKHR") + CmdSetRepresentativeFragmentTestEnableNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetRepresentativeFragmentTestEnableNV") + CmdSetSampleLocationsEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetSampleLocationsEXT") + CmdSetSampleLocationsEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetSampleLocationsEnableEXT") + CmdSetSampleMaskEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetSampleMaskEXT") + CmdSetScissor = auto_cast GetInstanceProcAddr(instance, "vkCmdSetScissor") + CmdSetScissorWithCount = auto_cast GetInstanceProcAddr(instance, "vkCmdSetScissorWithCount") + CmdSetScissorWithCountEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetScissorWithCountEXT") + CmdSetShadingRateImageEnableNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetShadingRateImageEnableNV") + CmdSetStencilCompareMask = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilCompareMask") + CmdSetStencilOp = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilOp") + CmdSetStencilOpEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilOpEXT") + CmdSetStencilReference = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilReference") + CmdSetStencilTestEnable = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilTestEnable") + CmdSetStencilTestEnableEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilTestEnableEXT") + CmdSetStencilWriteMask = auto_cast GetInstanceProcAddr(instance, "vkCmdSetStencilWriteMask") + CmdSetTessellationDomainOriginEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetTessellationDomainOriginEXT") + CmdSetVertexInputEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetVertexInputEXT") + CmdSetViewport = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewport") + CmdSetViewportShadingRatePaletteNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportShadingRatePaletteNV") + CmdSetViewportSwizzleNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportSwizzleNV") + CmdSetViewportWScalingEnableNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportWScalingEnableNV") + CmdSetViewportWScalingNV = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportWScalingNV") + CmdSetViewportWithCount = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportWithCount") + CmdSetViewportWithCountEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdSetViewportWithCountEXT") + CmdSubpassShadingHUAWEI = auto_cast GetInstanceProcAddr(instance, "vkCmdSubpassShadingHUAWEI") + CmdTraceRaysIndirect2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdTraceRaysIndirect2KHR") + CmdTraceRaysIndirectKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdTraceRaysIndirectKHR") + CmdTraceRaysKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdTraceRaysKHR") + CmdTraceRaysNV = auto_cast GetInstanceProcAddr(instance, "vkCmdTraceRaysNV") + CmdUpdateBuffer = auto_cast GetInstanceProcAddr(instance, "vkCmdUpdateBuffer") + CmdWaitEvents = auto_cast GetInstanceProcAddr(instance, "vkCmdWaitEvents") + CmdWaitEvents2 = auto_cast GetInstanceProcAddr(instance, "vkCmdWaitEvents2") + CmdWaitEvents2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdWaitEvents2KHR") + CmdWriteAccelerationStructuresPropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteAccelerationStructuresPropertiesKHR") + CmdWriteAccelerationStructuresPropertiesNV = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteAccelerationStructuresPropertiesNV") + CmdWriteBufferMarker2AMD = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteBufferMarker2AMD") + CmdWriteBufferMarkerAMD = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteBufferMarkerAMD") + CmdWriteMicromapsPropertiesEXT = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteMicromapsPropertiesEXT") + CmdWriteTimestamp = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteTimestamp") + CmdWriteTimestamp2 = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteTimestamp2") + CmdWriteTimestamp2KHR = auto_cast GetInstanceProcAddr(instance, "vkCmdWriteTimestamp2KHR") + CompileDeferredNV = auto_cast GetInstanceProcAddr(instance, "vkCompileDeferredNV") + CopyAccelerationStructureKHR = auto_cast GetInstanceProcAddr(instance, "vkCopyAccelerationStructureKHR") + CopyAccelerationStructureToMemoryKHR = auto_cast GetInstanceProcAddr(instance, "vkCopyAccelerationStructureToMemoryKHR") + CopyMemoryToAccelerationStructureKHR = auto_cast GetInstanceProcAddr(instance, "vkCopyMemoryToAccelerationStructureKHR") + CopyMemoryToMicromapEXT = auto_cast GetInstanceProcAddr(instance, "vkCopyMemoryToMicromapEXT") + CopyMicromapEXT = auto_cast GetInstanceProcAddr(instance, "vkCopyMicromapEXT") + CopyMicromapToMemoryEXT = auto_cast GetInstanceProcAddr(instance, "vkCopyMicromapToMemoryEXT") + CreateAccelerationStructureKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateAccelerationStructureKHR") + CreateAccelerationStructureNV = auto_cast GetInstanceProcAddr(instance, "vkCreateAccelerationStructureNV") + CreateBuffer = auto_cast GetInstanceProcAddr(instance, "vkCreateBuffer") + CreateBufferView = auto_cast GetInstanceProcAddr(instance, "vkCreateBufferView") + CreateCommandPool = auto_cast GetInstanceProcAddr(instance, "vkCreateCommandPool") + CreateComputePipelines = auto_cast GetInstanceProcAddr(instance, "vkCreateComputePipelines") + CreateCuFunctionNVX = auto_cast GetInstanceProcAddr(instance, "vkCreateCuFunctionNVX") + CreateCuModuleNVX = auto_cast GetInstanceProcAddr(instance, "vkCreateCuModuleNVX") + CreateDeferredOperationKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateDeferredOperationKHR") + CreateDescriptorPool = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorPool") + CreateDescriptorSetLayout = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorSetLayout") + CreateDescriptorUpdateTemplate = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorUpdateTemplate") + CreateDescriptorUpdateTemplateKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateDescriptorUpdateTemplateKHR") + CreateEvent = auto_cast GetInstanceProcAddr(instance, "vkCreateEvent") + CreateFence = auto_cast GetInstanceProcAddr(instance, "vkCreateFence") + CreateFramebuffer = auto_cast GetInstanceProcAddr(instance, "vkCreateFramebuffer") + CreateGraphicsPipelines = auto_cast GetInstanceProcAddr(instance, "vkCreateGraphicsPipelines") + CreateImage = auto_cast GetInstanceProcAddr(instance, "vkCreateImage") + CreateImageView = auto_cast GetInstanceProcAddr(instance, "vkCreateImageView") + CreateIndirectCommandsLayoutNV = auto_cast GetInstanceProcAddr(instance, "vkCreateIndirectCommandsLayoutNV") + CreateMicromapEXT = auto_cast GetInstanceProcAddr(instance, "vkCreateMicromapEXT") + CreateOpticalFlowSessionNV = auto_cast GetInstanceProcAddr(instance, "vkCreateOpticalFlowSessionNV") + CreatePipelineCache = auto_cast GetInstanceProcAddr(instance, "vkCreatePipelineCache") + CreatePipelineLayout = auto_cast GetInstanceProcAddr(instance, "vkCreatePipelineLayout") + CreatePrivateDataSlot = auto_cast GetInstanceProcAddr(instance, "vkCreatePrivateDataSlot") + CreatePrivateDataSlotEXT = auto_cast GetInstanceProcAddr(instance, "vkCreatePrivateDataSlotEXT") + CreateQueryPool = auto_cast GetInstanceProcAddr(instance, "vkCreateQueryPool") + CreateRayTracingPipelinesKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateRayTracingPipelinesKHR") + CreateRayTracingPipelinesNV = auto_cast GetInstanceProcAddr(instance, "vkCreateRayTracingPipelinesNV") + CreateRenderPass = auto_cast GetInstanceProcAddr(instance, "vkCreateRenderPass") + CreateRenderPass2 = auto_cast GetInstanceProcAddr(instance, "vkCreateRenderPass2") + CreateRenderPass2KHR = auto_cast GetInstanceProcAddr(instance, "vkCreateRenderPass2KHR") + CreateSampler = auto_cast GetInstanceProcAddr(instance, "vkCreateSampler") + CreateSamplerYcbcrConversion = auto_cast GetInstanceProcAddr(instance, "vkCreateSamplerYcbcrConversion") + CreateSamplerYcbcrConversionKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateSamplerYcbcrConversionKHR") + CreateSemaphore = auto_cast GetInstanceProcAddr(instance, "vkCreateSemaphore") + CreateShaderModule = auto_cast GetInstanceProcAddr(instance, "vkCreateShaderModule") + CreateShadersEXT = auto_cast GetInstanceProcAddr(instance, "vkCreateShadersEXT") + CreateSharedSwapchainsKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateSharedSwapchainsKHR") + CreateSwapchainKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateSwapchainKHR") + CreateValidationCacheEXT = auto_cast GetInstanceProcAddr(instance, "vkCreateValidationCacheEXT") + CreateVideoSessionKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateVideoSessionKHR") + CreateVideoSessionParametersKHR = auto_cast GetInstanceProcAddr(instance, "vkCreateVideoSessionParametersKHR") + DebugMarkerSetObjectNameEXT = auto_cast GetInstanceProcAddr(instance, "vkDebugMarkerSetObjectNameEXT") + DebugMarkerSetObjectTagEXT = auto_cast GetInstanceProcAddr(instance, "vkDebugMarkerSetObjectTagEXT") + DeferredOperationJoinKHR = auto_cast GetInstanceProcAddr(instance, "vkDeferredOperationJoinKHR") + DestroyAccelerationStructureKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroyAccelerationStructureKHR") + DestroyAccelerationStructureNV = auto_cast GetInstanceProcAddr(instance, "vkDestroyAccelerationStructureNV") + DestroyBuffer = auto_cast GetInstanceProcAddr(instance, "vkDestroyBuffer") + DestroyBufferView = auto_cast GetInstanceProcAddr(instance, "vkDestroyBufferView") + DestroyCommandPool = auto_cast GetInstanceProcAddr(instance, "vkDestroyCommandPool") + DestroyCuFunctionNVX = auto_cast GetInstanceProcAddr(instance, "vkDestroyCuFunctionNVX") + DestroyCuModuleNVX = auto_cast GetInstanceProcAddr(instance, "vkDestroyCuModuleNVX") + DestroyDeferredOperationKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroyDeferredOperationKHR") + DestroyDescriptorPool = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorPool") + DestroyDescriptorSetLayout = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorSetLayout") + DestroyDescriptorUpdateTemplate = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorUpdateTemplate") + DestroyDescriptorUpdateTemplateKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroyDescriptorUpdateTemplateKHR") + DestroyDevice = auto_cast GetInstanceProcAddr(instance, "vkDestroyDevice") + DestroyEvent = auto_cast GetInstanceProcAddr(instance, "vkDestroyEvent") + DestroyFence = auto_cast GetInstanceProcAddr(instance, "vkDestroyFence") + DestroyFramebuffer = auto_cast GetInstanceProcAddr(instance, "vkDestroyFramebuffer") + DestroyImage = auto_cast GetInstanceProcAddr(instance, "vkDestroyImage") + DestroyImageView = auto_cast GetInstanceProcAddr(instance, "vkDestroyImageView") + DestroyIndirectCommandsLayoutNV = auto_cast GetInstanceProcAddr(instance, "vkDestroyIndirectCommandsLayoutNV") + DestroyMicromapEXT = auto_cast GetInstanceProcAddr(instance, "vkDestroyMicromapEXT") + DestroyOpticalFlowSessionNV = auto_cast GetInstanceProcAddr(instance, "vkDestroyOpticalFlowSessionNV") + DestroyPipeline = auto_cast GetInstanceProcAddr(instance, "vkDestroyPipeline") + DestroyPipelineCache = auto_cast GetInstanceProcAddr(instance, "vkDestroyPipelineCache") + DestroyPipelineLayout = auto_cast GetInstanceProcAddr(instance, "vkDestroyPipelineLayout") + DestroyPrivateDataSlot = auto_cast GetInstanceProcAddr(instance, "vkDestroyPrivateDataSlot") + DestroyPrivateDataSlotEXT = auto_cast GetInstanceProcAddr(instance, "vkDestroyPrivateDataSlotEXT") + DestroyQueryPool = auto_cast GetInstanceProcAddr(instance, "vkDestroyQueryPool") + DestroyRenderPass = auto_cast GetInstanceProcAddr(instance, "vkDestroyRenderPass") + DestroySampler = auto_cast GetInstanceProcAddr(instance, "vkDestroySampler") + DestroySamplerYcbcrConversion = auto_cast GetInstanceProcAddr(instance, "vkDestroySamplerYcbcrConversion") + DestroySamplerYcbcrConversionKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroySamplerYcbcrConversionKHR") + DestroySemaphore = auto_cast GetInstanceProcAddr(instance, "vkDestroySemaphore") + DestroyShaderEXT = auto_cast GetInstanceProcAddr(instance, "vkDestroyShaderEXT") + DestroyShaderModule = auto_cast GetInstanceProcAddr(instance, "vkDestroyShaderModule") + DestroySwapchainKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroySwapchainKHR") + DestroyValidationCacheEXT = auto_cast GetInstanceProcAddr(instance, "vkDestroyValidationCacheEXT") + DestroyVideoSessionKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroyVideoSessionKHR") + DestroyVideoSessionParametersKHR = auto_cast GetInstanceProcAddr(instance, "vkDestroyVideoSessionParametersKHR") + DeviceWaitIdle = auto_cast GetInstanceProcAddr(instance, "vkDeviceWaitIdle") + DisplayPowerControlEXT = auto_cast GetInstanceProcAddr(instance, "vkDisplayPowerControlEXT") + EndCommandBuffer = auto_cast GetInstanceProcAddr(instance, "vkEndCommandBuffer") + ExportMetalObjectsEXT = auto_cast GetInstanceProcAddr(instance, "vkExportMetalObjectsEXT") + FlushMappedMemoryRanges = auto_cast GetInstanceProcAddr(instance, "vkFlushMappedMemoryRanges") + FreeCommandBuffers = auto_cast GetInstanceProcAddr(instance, "vkFreeCommandBuffers") + FreeDescriptorSets = auto_cast GetInstanceProcAddr(instance, "vkFreeDescriptorSets") + FreeMemory = auto_cast GetInstanceProcAddr(instance, "vkFreeMemory") + GetAccelerationStructureBuildSizesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureBuildSizesKHR") + GetAccelerationStructureDeviceAddressKHR = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureDeviceAddressKHR") + GetAccelerationStructureHandleNV = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureHandleNV") + GetAccelerationStructureMemoryRequirementsNV = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureMemoryRequirementsNV") + GetAccelerationStructureOpaqueCaptureDescriptorDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT") + GetBufferDeviceAddress = auto_cast GetInstanceProcAddr(instance, "vkGetBufferDeviceAddress") + GetBufferDeviceAddressEXT = auto_cast GetInstanceProcAddr(instance, "vkGetBufferDeviceAddressEXT") + GetBufferDeviceAddressKHR = auto_cast GetInstanceProcAddr(instance, "vkGetBufferDeviceAddressKHR") + GetBufferMemoryRequirements = auto_cast GetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements") + GetBufferMemoryRequirements2 = auto_cast GetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements2") + GetBufferMemoryRequirements2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements2KHR") + GetBufferOpaqueCaptureAddress = auto_cast GetInstanceProcAddr(instance, "vkGetBufferOpaqueCaptureAddress") + GetBufferOpaqueCaptureAddressKHR = auto_cast GetInstanceProcAddr(instance, "vkGetBufferOpaqueCaptureAddressKHR") + GetBufferOpaqueCaptureDescriptorDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetBufferOpaqueCaptureDescriptorDataEXT") + GetCalibratedTimestampsEXT = auto_cast GetInstanceProcAddr(instance, "vkGetCalibratedTimestampsEXT") + GetDeferredOperationMaxConcurrencyKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeferredOperationMaxConcurrencyKHR") + GetDeferredOperationResultKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeferredOperationResultKHR") + GetDescriptorEXT = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorEXT") + GetDescriptorSetHostMappingVALVE = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetHostMappingVALVE") + GetDescriptorSetLayoutBindingOffsetEXT = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutBindingOffsetEXT") + GetDescriptorSetLayoutHostMappingInfoVALVE = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutHostMappingInfoVALVE") + GetDescriptorSetLayoutSizeEXT = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutSizeEXT") + GetDescriptorSetLayoutSupport = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutSupport") + GetDescriptorSetLayoutSupportKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutSupportKHR") + GetDeviceAccelerationStructureCompatibilityKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceAccelerationStructureCompatibilityKHR") + GetDeviceBufferMemoryRequirements = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceBufferMemoryRequirements") + GetDeviceBufferMemoryRequirementsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceBufferMemoryRequirementsKHR") + GetDeviceFaultInfoEXT = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceFaultInfoEXT") + GetDeviceGroupPeerMemoryFeatures = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupPeerMemoryFeatures") + GetDeviceGroupPeerMemoryFeaturesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR") + GetDeviceGroupPresentCapabilitiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupPresentCapabilitiesKHR") + GetDeviceGroupSurfacePresentModes2EXT = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupSurfacePresentModes2EXT") + GetDeviceGroupSurfacePresentModesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceGroupSurfacePresentModesKHR") + GetDeviceImageMemoryRequirements = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageMemoryRequirements") + GetDeviceImageMemoryRequirementsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageMemoryRequirementsKHR") + GetDeviceImageSparseMemoryRequirements = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageSparseMemoryRequirements") + GetDeviceImageSparseMemoryRequirementsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceImageSparseMemoryRequirementsKHR") + GetDeviceMemoryCommitment = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceMemoryCommitment") + GetDeviceMemoryOpaqueCaptureAddress = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceMemoryOpaqueCaptureAddress") + GetDeviceMemoryOpaqueCaptureAddressKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR") + GetDeviceMicromapCompatibilityEXT = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceMicromapCompatibilityEXT") + GetDeviceProcAddr = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceProcAddr") + GetDeviceQueue = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceQueue") + GetDeviceQueue2 = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceQueue2") + GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = auto_cast GetInstanceProcAddr(instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI") + GetDynamicRenderingTilePropertiesQCOM = auto_cast GetInstanceProcAddr(instance, "vkGetDynamicRenderingTilePropertiesQCOM") + GetEventStatus = auto_cast GetInstanceProcAddr(instance, "vkGetEventStatus") + GetFenceFdKHR = auto_cast GetInstanceProcAddr(instance, "vkGetFenceFdKHR") + GetFenceStatus = auto_cast GetInstanceProcAddr(instance, "vkGetFenceStatus") + GetFenceWin32HandleKHR = auto_cast GetInstanceProcAddr(instance, "vkGetFenceWin32HandleKHR") + GetFramebufferTilePropertiesQCOM = auto_cast GetInstanceProcAddr(instance, "vkGetFramebufferTilePropertiesQCOM") + GetGeneratedCommandsMemoryRequirementsNV = auto_cast GetInstanceProcAddr(instance, "vkGetGeneratedCommandsMemoryRequirementsNV") + GetImageDrmFormatModifierPropertiesEXT = auto_cast GetInstanceProcAddr(instance, "vkGetImageDrmFormatModifierPropertiesEXT") + GetImageMemoryRequirements = auto_cast GetInstanceProcAddr(instance, "vkGetImageMemoryRequirements") + GetImageMemoryRequirements2 = auto_cast GetInstanceProcAddr(instance, "vkGetImageMemoryRequirements2") + GetImageMemoryRequirements2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetImageMemoryRequirements2KHR") + GetImageOpaqueCaptureDescriptorDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetImageOpaqueCaptureDescriptorDataEXT") + GetImageSparseMemoryRequirements = auto_cast GetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements") + GetImageSparseMemoryRequirements2 = auto_cast GetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements2") + GetImageSparseMemoryRequirements2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements2KHR") + GetImageSubresourceLayout = auto_cast GetInstanceProcAddr(instance, "vkGetImageSubresourceLayout") + GetImageSubresourceLayout2EXT = auto_cast GetInstanceProcAddr(instance, "vkGetImageSubresourceLayout2EXT") + GetImageViewAddressNVX = auto_cast GetInstanceProcAddr(instance, "vkGetImageViewAddressNVX") + GetImageViewHandleNVX = auto_cast GetInstanceProcAddr(instance, "vkGetImageViewHandleNVX") + GetImageViewOpaqueCaptureDescriptorDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetImageViewOpaqueCaptureDescriptorDataEXT") + GetMemoryFdKHR = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryFdKHR") + GetMemoryFdPropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryFdPropertiesKHR") + GetMemoryHostPointerPropertiesEXT = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryHostPointerPropertiesEXT") + GetMemoryRemoteAddressNV = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryRemoteAddressNV") + GetMemoryWin32HandleKHR = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryWin32HandleKHR") + GetMemoryWin32HandleNV = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryWin32HandleNV") + GetMemoryWin32HandlePropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetMemoryWin32HandlePropertiesKHR") + GetMicromapBuildSizesEXT = auto_cast GetInstanceProcAddr(instance, "vkGetMicromapBuildSizesEXT") + GetPastPresentationTimingGOOGLE = auto_cast GetInstanceProcAddr(instance, "vkGetPastPresentationTimingGOOGLE") + GetPerformanceParameterINTEL = auto_cast GetInstanceProcAddr(instance, "vkGetPerformanceParameterINTEL") + GetPipelineCacheData = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineCacheData") + GetPipelineExecutableInternalRepresentationsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineExecutableInternalRepresentationsKHR") + GetPipelineExecutablePropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineExecutablePropertiesKHR") + GetPipelineExecutableStatisticsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetPipelineExecutableStatisticsKHR") + GetPipelinePropertiesEXT = auto_cast GetInstanceProcAddr(instance, "vkGetPipelinePropertiesEXT") + GetPrivateData = auto_cast GetInstanceProcAddr(instance, "vkGetPrivateData") + GetPrivateDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetPrivateDataEXT") + GetQueryPoolResults = auto_cast GetInstanceProcAddr(instance, "vkGetQueryPoolResults") + GetQueueCheckpointData2NV = auto_cast GetInstanceProcAddr(instance, "vkGetQueueCheckpointData2NV") + GetQueueCheckpointDataNV = auto_cast GetInstanceProcAddr(instance, "vkGetQueueCheckpointDataNV") + GetRayTracingCaptureReplayShaderGroupHandlesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR") + GetRayTracingShaderGroupHandlesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingShaderGroupHandlesKHR") + GetRayTracingShaderGroupHandlesNV = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingShaderGroupHandlesNV") + GetRayTracingShaderGroupStackSizeKHR = auto_cast GetInstanceProcAddr(instance, "vkGetRayTracingShaderGroupStackSizeKHR") + GetRefreshCycleDurationGOOGLE = auto_cast GetInstanceProcAddr(instance, "vkGetRefreshCycleDurationGOOGLE") + GetRenderAreaGranularity = auto_cast GetInstanceProcAddr(instance, "vkGetRenderAreaGranularity") + GetSamplerOpaqueCaptureDescriptorDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetSamplerOpaqueCaptureDescriptorDataEXT") + GetSemaphoreCounterValue = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreCounterValue") + GetSemaphoreCounterValueKHR = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreCounterValueKHR") + GetSemaphoreFdKHR = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreFdKHR") + GetSemaphoreWin32HandleKHR = auto_cast GetInstanceProcAddr(instance, "vkGetSemaphoreWin32HandleKHR") + GetShaderBinaryDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetShaderBinaryDataEXT") + GetShaderInfoAMD = auto_cast GetInstanceProcAddr(instance, "vkGetShaderInfoAMD") + GetShaderModuleCreateInfoIdentifierEXT = auto_cast GetInstanceProcAddr(instance, "vkGetShaderModuleCreateInfoIdentifierEXT") + GetShaderModuleIdentifierEXT = auto_cast GetInstanceProcAddr(instance, "vkGetShaderModuleIdentifierEXT") + GetSwapchainCounterEXT = auto_cast GetInstanceProcAddr(instance, "vkGetSwapchainCounterEXT") + GetSwapchainImagesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetSwapchainImagesKHR") + GetSwapchainStatusKHR = auto_cast GetInstanceProcAddr(instance, "vkGetSwapchainStatusKHR") + GetValidationCacheDataEXT = auto_cast GetInstanceProcAddr(instance, "vkGetValidationCacheDataEXT") + GetVideoSessionMemoryRequirementsKHR = auto_cast GetInstanceProcAddr(instance, "vkGetVideoSessionMemoryRequirementsKHR") + ImportFenceFdKHR = auto_cast GetInstanceProcAddr(instance, "vkImportFenceFdKHR") + ImportFenceWin32HandleKHR = auto_cast GetInstanceProcAddr(instance, "vkImportFenceWin32HandleKHR") + ImportSemaphoreFdKHR = auto_cast GetInstanceProcAddr(instance, "vkImportSemaphoreFdKHR") + ImportSemaphoreWin32HandleKHR = auto_cast GetInstanceProcAddr(instance, "vkImportSemaphoreWin32HandleKHR") + InitializePerformanceApiINTEL = auto_cast GetInstanceProcAddr(instance, "vkInitializePerformanceApiINTEL") + InvalidateMappedMemoryRanges = auto_cast GetInstanceProcAddr(instance, "vkInvalidateMappedMemoryRanges") + MapMemory = auto_cast GetInstanceProcAddr(instance, "vkMapMemory") + MapMemory2KHR = auto_cast GetInstanceProcAddr(instance, "vkMapMemory2KHR") + MergePipelineCaches = auto_cast GetInstanceProcAddr(instance, "vkMergePipelineCaches") + MergeValidationCachesEXT = auto_cast GetInstanceProcAddr(instance, "vkMergeValidationCachesEXT") + QueueBeginDebugUtilsLabelEXT = auto_cast GetInstanceProcAddr(instance, "vkQueueBeginDebugUtilsLabelEXT") + QueueBindSparse = auto_cast GetInstanceProcAddr(instance, "vkQueueBindSparse") + QueueEndDebugUtilsLabelEXT = auto_cast GetInstanceProcAddr(instance, "vkQueueEndDebugUtilsLabelEXT") + QueueInsertDebugUtilsLabelEXT = auto_cast GetInstanceProcAddr(instance, "vkQueueInsertDebugUtilsLabelEXT") + QueuePresentKHR = auto_cast GetInstanceProcAddr(instance, "vkQueuePresentKHR") + QueueSetPerformanceConfigurationINTEL = auto_cast GetInstanceProcAddr(instance, "vkQueueSetPerformanceConfigurationINTEL") + QueueSubmit = auto_cast GetInstanceProcAddr(instance, "vkQueueSubmit") + QueueSubmit2 = auto_cast GetInstanceProcAddr(instance, "vkQueueSubmit2") + QueueSubmit2KHR = auto_cast GetInstanceProcAddr(instance, "vkQueueSubmit2KHR") + QueueWaitIdle = auto_cast GetInstanceProcAddr(instance, "vkQueueWaitIdle") + RegisterDeviceEventEXT = auto_cast GetInstanceProcAddr(instance, "vkRegisterDeviceEventEXT") + RegisterDisplayEventEXT = auto_cast GetInstanceProcAddr(instance, "vkRegisterDisplayEventEXT") + ReleaseFullScreenExclusiveModeEXT = auto_cast GetInstanceProcAddr(instance, "vkReleaseFullScreenExclusiveModeEXT") + ReleasePerformanceConfigurationINTEL = auto_cast GetInstanceProcAddr(instance, "vkReleasePerformanceConfigurationINTEL") + ReleaseProfilingLockKHR = auto_cast GetInstanceProcAddr(instance, "vkReleaseProfilingLockKHR") + ReleaseSwapchainImagesEXT = auto_cast GetInstanceProcAddr(instance, "vkReleaseSwapchainImagesEXT") + ResetCommandBuffer = auto_cast GetInstanceProcAddr(instance, "vkResetCommandBuffer") + ResetCommandPool = auto_cast GetInstanceProcAddr(instance, "vkResetCommandPool") + ResetDescriptorPool = auto_cast GetInstanceProcAddr(instance, "vkResetDescriptorPool") + ResetEvent = auto_cast GetInstanceProcAddr(instance, "vkResetEvent") + ResetFences = auto_cast GetInstanceProcAddr(instance, "vkResetFences") + ResetQueryPool = auto_cast GetInstanceProcAddr(instance, "vkResetQueryPool") + ResetQueryPoolEXT = auto_cast GetInstanceProcAddr(instance, "vkResetQueryPoolEXT") + SetDebugUtilsObjectNameEXT = auto_cast GetInstanceProcAddr(instance, "vkSetDebugUtilsObjectNameEXT") + SetDebugUtilsObjectTagEXT = auto_cast GetInstanceProcAddr(instance, "vkSetDebugUtilsObjectTagEXT") + SetDeviceMemoryPriorityEXT = auto_cast GetInstanceProcAddr(instance, "vkSetDeviceMemoryPriorityEXT") + SetEvent = auto_cast GetInstanceProcAddr(instance, "vkSetEvent") + SetHdrMetadataEXT = auto_cast GetInstanceProcAddr(instance, "vkSetHdrMetadataEXT") + SetLocalDimmingAMD = auto_cast GetInstanceProcAddr(instance, "vkSetLocalDimmingAMD") + SetPrivateData = auto_cast GetInstanceProcAddr(instance, "vkSetPrivateData") + SetPrivateDataEXT = auto_cast GetInstanceProcAddr(instance, "vkSetPrivateDataEXT") + SignalSemaphore = auto_cast GetInstanceProcAddr(instance, "vkSignalSemaphore") + SignalSemaphoreKHR = auto_cast GetInstanceProcAddr(instance, "vkSignalSemaphoreKHR") + TrimCommandPool = auto_cast GetInstanceProcAddr(instance, "vkTrimCommandPool") + TrimCommandPoolKHR = auto_cast GetInstanceProcAddr(instance, "vkTrimCommandPoolKHR") + UninitializePerformanceApiINTEL = auto_cast GetInstanceProcAddr(instance, "vkUninitializePerformanceApiINTEL") + UnmapMemory = auto_cast GetInstanceProcAddr(instance, "vkUnmapMemory") + UnmapMemory2KHR = auto_cast GetInstanceProcAddr(instance, "vkUnmapMemory2KHR") + UpdateDescriptorSetWithTemplate = auto_cast GetInstanceProcAddr(instance, "vkUpdateDescriptorSetWithTemplate") + UpdateDescriptorSetWithTemplateKHR = auto_cast GetInstanceProcAddr(instance, "vkUpdateDescriptorSetWithTemplateKHR") + UpdateDescriptorSets = auto_cast GetInstanceProcAddr(instance, "vkUpdateDescriptorSets") + UpdateVideoSessionParametersKHR = auto_cast GetInstanceProcAddr(instance, "vkUpdateVideoSessionParametersKHR") + WaitForFences = auto_cast GetInstanceProcAddr(instance, "vkWaitForFences") + WaitForPresentKHR = auto_cast GetInstanceProcAddr(instance, "vkWaitForPresentKHR") + WaitSemaphores = auto_cast GetInstanceProcAddr(instance, "vkWaitSemaphores") + WaitSemaphoresKHR = auto_cast GetInstanceProcAddr(instance, "vkWaitSemaphoresKHR") + WriteAccelerationStructuresPropertiesKHR = auto_cast GetInstanceProcAddr(instance, "vkWriteAccelerationStructuresPropertiesKHR") + WriteMicromapsPropertiesEXT = auto_cast GetInstanceProcAddr(instance, "vkWriteMicromapsPropertiesEXT") +} + +load_proc_addresses_global :: proc(vk_get_instance_proc_addr: rawptr) { + GetInstanceProcAddr = auto_cast vk_get_instance_proc_addr + + CreateInstance = auto_cast GetInstanceProcAddr(nil, "vkCreateInstance") + DebugUtilsMessengerCallbackEXT = auto_cast GetInstanceProcAddr(nil, "vkDebugUtilsMessengerCallbackEXT") + DeviceMemoryReportCallbackEXT = auto_cast GetInstanceProcAddr(nil, "vkDeviceMemoryReportCallbackEXT") + EnumerateInstanceExtensionProperties = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceExtensionProperties") + EnumerateInstanceLayerProperties = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceLayerProperties") + EnumerateInstanceVersion = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceVersion") + GetInstanceProcAddr = auto_cast GetInstanceProcAddr(nil, "vkGetInstanceProcAddr") +} + +load_proc_addresses :: proc{ + load_proc_addresses_global, + load_proc_addresses_instance, + load_proc_addresses_device, + load_proc_addresses_device_vtable, + load_proc_addresses_custom, +} + diff --git a/vendor/vulkan/structs.odin b/vendor/vulkan/structs.odin index d948f52b9..33613947e 100644 --- a/vendor/vulkan/structs.odin +++ b/vendor/vulkan/structs.odin @@ -1,7658 +1,7664 @@ -//
-// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h"
-//
-package vulkan
-
-import "core:c"
-
-import win32 "core:sys/windows"
-_ :: win32
-when ODIN_OS == .Windows {
- HINSTANCE :: win32.HINSTANCE
- HWND :: win32.HWND
- HMONITOR :: win32.HMONITOR
- HANDLE :: win32.HANDLE
- LPCWSTR :: win32.LPCWSTR
- SECURITY_ATTRIBUTES :: win32.SECURITY_ATTRIBUTES
- DWORD :: win32.DWORD
- LONG :: win32.LONG
- LUID :: win32.LUID
-} else {
- HINSTANCE :: distinct rawptr
- HWND :: distinct rawptr
- HMONITOR :: distinct rawptr
- HANDLE :: distinct rawptr
- LPCWSTR :: ^u16
- SECURITY_ATTRIBUTES :: struct {}
- DWORD :: u32
- LONG :: c.long
- LUID :: struct {
- LowPart: DWORD,
- HighPart: LONG,
- }
-}
-
-CAMetalLayer :: struct {}
-
-MTLBuffer_id :: rawptr
-MTLTexture_id :: rawptr
-MTLSharedEvent_id :: rawptr
-MTLDevice_id :: rawptr
-MTLCommandQueue_id :: rawptr
-
-/********************************/
-
-Extent2D :: struct {
- width: u32,
- height: u32,
-}
-
-Extent3D :: struct {
- width: u32,
- height: u32,
- depth: u32,
-}
-
-Offset2D :: struct {
- x: i32,
- y: i32,
-}
-
-Offset3D :: struct {
- x: i32,
- y: i32,
- z: i32,
-}
-
-Rect2D :: struct {
- offset: Offset2D,
- extent: Extent2D,
-}
-
-BaseInStructure :: struct {
- sType: StructureType,
- pNext: ^BaseInStructure,
-}
-
-BaseOutStructure :: struct {
- sType: StructureType,
- pNext: ^BaseOutStructure,
-}
-
-BufferMemoryBarrier :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcAccessMask: AccessFlags,
- dstAccessMask: AccessFlags,
- srcQueueFamilyIndex: u32,
- dstQueueFamilyIndex: u32,
- buffer: Buffer,
- offset: DeviceSize,
- size: DeviceSize,
-}
-
-DispatchIndirectCommand :: struct {
- x: u32,
- y: u32,
- z: u32,
-}
-
-DrawIndexedIndirectCommand :: struct {
- indexCount: u32,
- instanceCount: u32,
- firstIndex: u32,
- vertexOffset: i32,
- firstInstance: u32,
-}
-
-DrawIndirectCommand :: struct {
- vertexCount: u32,
- instanceCount: u32,
- firstVertex: u32,
- firstInstance: u32,
-}
-
-ImageSubresourceRange :: struct {
- aspectMask: ImageAspectFlags,
- baseMipLevel: u32,
- levelCount: u32,
- baseArrayLayer: u32,
- layerCount: u32,
-}
-
-ImageMemoryBarrier :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcAccessMask: AccessFlags,
- dstAccessMask: AccessFlags,
- oldLayout: ImageLayout,
- newLayout: ImageLayout,
- srcQueueFamilyIndex: u32,
- dstQueueFamilyIndex: u32,
- image: Image,
- subresourceRange: ImageSubresourceRange,
-}
-
-MemoryBarrier :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcAccessMask: AccessFlags,
- dstAccessMask: AccessFlags,
-}
-
-PipelineCacheHeaderVersionOne :: struct {
- headerSize: u32,
- headerVersion: PipelineCacheHeaderVersion,
- vendorID: u32,
- deviceID: u32,
- pipelineCacheUUID: [UUID_SIZE]u8,
-}
-
-AllocationCallbacks :: struct {
- pUserData: rawptr,
- pfnAllocation: ProcAllocationFunction,
- pfnReallocation: ProcReallocationFunction,
- pfnFree: ProcFreeFunction,
- pfnInternalAllocation: ProcInternalAllocationNotification,
- pfnInternalFree: ProcInternalFreeNotification,
-}
-
-ApplicationInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- pApplicationName: cstring,
- applicationVersion: u32,
- pEngineName: cstring,
- engineVersion: u32,
- apiVersion: u32,
-}
-
-FormatProperties :: struct {
- linearTilingFeatures: FormatFeatureFlags,
- optimalTilingFeatures: FormatFeatureFlags,
- bufferFeatures: FormatFeatureFlags,
-}
-
-ImageFormatProperties :: struct {
- maxExtent: Extent3D,
- maxMipLevels: u32,
- maxArrayLayers: u32,
- sampleCounts: SampleCountFlags,
- maxResourceSize: DeviceSize,
-}
-
-InstanceCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: InstanceCreateFlags,
- pApplicationInfo: ^ApplicationInfo,
- enabledLayerCount: u32,
- ppEnabledLayerNames: [^]cstring,
- enabledExtensionCount: u32,
- ppEnabledExtensionNames: [^]cstring,
-}
-
-MemoryHeap :: struct {
- size: DeviceSize,
- flags: MemoryHeapFlags,
-}
-
-MemoryType :: struct {
- propertyFlags: MemoryPropertyFlags,
- heapIndex: u32,
-}
-
-PhysicalDeviceFeatures :: struct {
- robustBufferAccess: b32,
- fullDrawIndexUint32: b32,
- imageCubeArray: b32,
- independentBlend: b32,
- geometryShader: b32,
- tessellationShader: b32,
- sampleRateShading: b32,
- dualSrcBlend: b32,
- logicOp: b32,
- multiDrawIndirect: b32,
- drawIndirectFirstInstance: b32,
- depthClamp: b32,
- depthBiasClamp: b32,
- fillModeNonSolid: b32,
- depthBounds: b32,
- wideLines: b32,
- largePoints: b32,
- alphaToOne: b32,
- multiViewport: b32,
- samplerAnisotropy: b32,
- textureCompressionETC2: b32,
- textureCompressionASTC_LDR: b32,
- textureCompressionBC: b32,
- occlusionQueryPrecise: b32,
- pipelineStatisticsQuery: b32,
- vertexPipelineStoresAndAtomics: b32,
- fragmentStoresAndAtomics: b32,
- shaderTessellationAndGeometryPointSize: b32,
- shaderImageGatherExtended: b32,
- shaderStorageImageExtendedFormats: b32,
- shaderStorageImageMultisample: b32,
- shaderStorageImageReadWithoutFormat: b32,
- shaderStorageImageWriteWithoutFormat: b32,
- shaderUniformBufferArrayDynamicIndexing: b32,
- shaderSampledImageArrayDynamicIndexing: b32,
- shaderStorageBufferArrayDynamicIndexing: b32,
- shaderStorageImageArrayDynamicIndexing: b32,
- shaderClipDistance: b32,
- shaderCullDistance: b32,
- shaderFloat64: b32,
- shaderInt64: b32,
- shaderInt16: b32,
- shaderResourceResidency: b32,
- shaderResourceMinLod: b32,
- sparseBinding: b32,
- sparseResidencyBuffer: b32,
- sparseResidencyImage2D: b32,
- sparseResidencyImage3D: b32,
- sparseResidency2Samples: b32,
- sparseResidency4Samples: b32,
- sparseResidency8Samples: b32,
- sparseResidency16Samples: b32,
- sparseResidencyAliased: b32,
- variableMultisampleRate: b32,
- inheritedQueries: b32,
-}
-
-PhysicalDeviceLimits :: struct {
- maxImageDimension1D: u32,
- maxImageDimension2D: u32,
- maxImageDimension3D: u32,
- maxImageDimensionCube: u32,
- maxImageArrayLayers: u32,
- maxTexelBufferElements: u32,
- maxUniformBufferRange: u32,
- maxStorageBufferRange: u32,
- maxPushConstantsSize: u32,
- maxMemoryAllocationCount: u32,
- maxSamplerAllocationCount: u32,
- bufferImageGranularity: DeviceSize,
- sparseAddressSpaceSize: DeviceSize,
- maxBoundDescriptorSets: u32,
- maxPerStageDescriptorSamplers: u32,
- maxPerStageDescriptorUniformBuffers: u32,
- maxPerStageDescriptorStorageBuffers: u32,
- maxPerStageDescriptorSampledImages: u32,
- maxPerStageDescriptorStorageImages: u32,
- maxPerStageDescriptorInputAttachments: u32,
- maxPerStageResources: u32,
- maxDescriptorSetSamplers: u32,
- maxDescriptorSetUniformBuffers: u32,
- maxDescriptorSetUniformBuffersDynamic: u32,
- maxDescriptorSetStorageBuffers: u32,
- maxDescriptorSetStorageBuffersDynamic: u32,
- maxDescriptorSetSampledImages: u32,
- maxDescriptorSetStorageImages: u32,
- maxDescriptorSetInputAttachments: u32,
- maxVertexInputAttributes: u32,
- maxVertexInputBindings: u32,
- maxVertexInputAttributeOffset: u32,
- maxVertexInputBindingStride: u32,
- maxVertexOutputComponents: u32,
- maxTessellationGenerationLevel: u32,
- maxTessellationPatchSize: u32,
- maxTessellationControlPerVertexInputComponents: u32,
- maxTessellationControlPerVertexOutputComponents: u32,
- maxTessellationControlPerPatchOutputComponents: u32,
- maxTessellationControlTotalOutputComponents: u32,
- maxTessellationEvaluationInputComponents: u32,
- maxTessellationEvaluationOutputComponents: u32,
- maxGeometryShaderInvocations: u32,
- maxGeometryInputComponents: u32,
- maxGeometryOutputComponents: u32,
- maxGeometryOutputVertices: u32,
- maxGeometryTotalOutputComponents: u32,
- maxFragmentInputComponents: u32,
- maxFragmentOutputAttachments: u32,
- maxFragmentDualSrcAttachments: u32,
- maxFragmentCombinedOutputResources: u32,
- maxComputeSharedMemorySize: u32,
- maxComputeWorkGroupCount: [3]u32,
- maxComputeWorkGroupInvocations: u32,
- maxComputeWorkGroupSize: [3]u32,
- subPixelPrecisionBits: u32,
- subTexelPrecisionBits: u32,
- mipmapPrecisionBits: u32,
- maxDrawIndexedIndexValue: u32,
- maxDrawIndirectCount: u32,
- maxSamplerLodBias: f32,
- maxSamplerAnisotropy: f32,
- maxViewports: u32,
- maxViewportDimensions: [2]u32,
- viewportBoundsRange: [2]f32,
- viewportSubPixelBits: u32,
- minMemoryMapAlignment: int,
- minTexelBufferOffsetAlignment: DeviceSize,
- minUniformBufferOffsetAlignment: DeviceSize,
- minStorageBufferOffsetAlignment: DeviceSize,
- minTexelOffset: i32,
- maxTexelOffset: u32,
- minTexelGatherOffset: i32,
- maxTexelGatherOffset: u32,
- minInterpolationOffset: f32,
- maxInterpolationOffset: f32,
- subPixelInterpolationOffsetBits: u32,
- maxFramebufferWidth: u32,
- maxFramebufferHeight: u32,
- maxFramebufferLayers: u32,
- framebufferColorSampleCounts: SampleCountFlags,
- framebufferDepthSampleCounts: SampleCountFlags,
- framebufferStencilSampleCounts: SampleCountFlags,
- framebufferNoAttachmentsSampleCounts: SampleCountFlags,
- maxColorAttachments: u32,
- sampledImageColorSampleCounts: SampleCountFlags,
- sampledImageIntegerSampleCounts: SampleCountFlags,
- sampledImageDepthSampleCounts: SampleCountFlags,
- sampledImageStencilSampleCounts: SampleCountFlags,
- storageImageSampleCounts: SampleCountFlags,
- maxSampleMaskWords: u32,
- timestampComputeAndGraphics: b32,
- timestampPeriod: f32,
- maxClipDistances: u32,
- maxCullDistances: u32,
- maxCombinedClipAndCullDistances: u32,
- discreteQueuePriorities: u32,
- pointSizeRange: [2]f32,
- lineWidthRange: [2]f32,
- pointSizeGranularity: f32,
- lineWidthGranularity: f32,
- strictLines: b32,
- standardSampleLocations: b32,
- optimalBufferCopyOffsetAlignment: DeviceSize,
- optimalBufferCopyRowPitchAlignment: DeviceSize,
- nonCoherentAtomSize: DeviceSize,
-}
-
-PhysicalDeviceMemoryProperties :: struct {
- memoryTypeCount: u32,
- memoryTypes: [MAX_MEMORY_TYPES]MemoryType,
- memoryHeapCount: u32,
- memoryHeaps: [MAX_MEMORY_HEAPS]MemoryHeap,
-}
-
-PhysicalDeviceSparseProperties :: struct {
- residencyStandard2DBlockShape: b32,
- residencyStandard2DMultisampleBlockShape: b32,
- residencyStandard3DBlockShape: b32,
- residencyAlignedMipSize: b32,
- residencyNonResidentStrict: b32,
-}
-
-PhysicalDeviceProperties :: struct {
- apiVersion: u32,
- driverVersion: u32,
- vendorID: u32,
- deviceID: u32,
- deviceType: PhysicalDeviceType,
- deviceName: [MAX_PHYSICAL_DEVICE_NAME_SIZE]byte,
- pipelineCacheUUID: [UUID_SIZE]u8,
- limits: PhysicalDeviceLimits,
- sparseProperties: PhysicalDeviceSparseProperties,
-}
-
-QueueFamilyProperties :: struct {
- queueFlags: QueueFlags,
- queueCount: u32,
- timestampValidBits: u32,
- minImageTransferGranularity: Extent3D,
-}
-
-DeviceQueueCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DeviceQueueCreateFlags,
- queueFamilyIndex: u32,
- queueCount: u32,
- pQueuePriorities: [^]f32,
-}
-
-DeviceCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DeviceCreateFlags,
- queueCreateInfoCount: u32,
- pQueueCreateInfos: [^]DeviceQueueCreateInfo,
- enabledLayerCount: u32,
- ppEnabledLayerNames: [^]cstring,
- enabledExtensionCount: u32,
- ppEnabledExtensionNames: [^]cstring,
- pEnabledFeatures: [^]PhysicalDeviceFeatures,
-}
-
-ExtensionProperties :: struct {
- extensionName: [MAX_EXTENSION_NAME_SIZE]byte,
- specVersion: u32,
-}
-
-LayerProperties :: struct {
- layerName: [MAX_EXTENSION_NAME_SIZE]byte,
- specVersion: u32,
- implementationVersion: u32,
- description: [MAX_DESCRIPTION_SIZE]byte,
-}
-
-SubmitInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- waitSemaphoreCount: u32,
- pWaitSemaphores: [^]Semaphore,
- pWaitDstStageMask: [^]PipelineStageFlags,
- commandBufferCount: u32,
- pCommandBuffers: [^]CommandBuffer,
- signalSemaphoreCount: u32,
- pSignalSemaphores: [^]Semaphore,
-}
-
-MappedMemoryRange :: struct {
- sType: StructureType,
- pNext: rawptr,
- memory: DeviceMemory,
- offset: DeviceSize,
- size: DeviceSize,
-}
-
-MemoryAllocateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- allocationSize: DeviceSize,
- memoryTypeIndex: u32,
-}
-
-MemoryRequirements :: struct {
- size: DeviceSize,
- alignment: DeviceSize,
- memoryTypeBits: u32,
-}
-
-SparseMemoryBind :: struct {
- resourceOffset: DeviceSize,
- size: DeviceSize,
- memory: DeviceMemory,
- memoryOffset: DeviceSize,
- flags: SparseMemoryBindFlags,
-}
-
-SparseBufferMemoryBindInfo :: struct {
- buffer: Buffer,
- bindCount: u32,
- pBinds: [^]SparseMemoryBind,
-}
-
-SparseImageOpaqueMemoryBindInfo :: struct {
- image: Image,
- bindCount: u32,
- pBinds: [^]SparseMemoryBind,
-}
-
-ImageSubresource :: struct {
- aspectMask: ImageAspectFlags,
- mipLevel: u32,
- arrayLayer: u32,
-}
-
-SparseImageMemoryBind :: struct {
- subresource: ImageSubresource,
- offset: Offset3D,
- extent: Extent3D,
- memory: DeviceMemory,
- memoryOffset: DeviceSize,
- flags: SparseMemoryBindFlags,
-}
-
-SparseImageMemoryBindInfo :: struct {
- image: Image,
- bindCount: u32,
- pBinds: [^]SparseImageMemoryBind,
-}
-
-BindSparseInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- waitSemaphoreCount: u32,
- pWaitSemaphores: [^]Semaphore,
- bufferBindCount: u32,
- pBufferBinds: [^]SparseBufferMemoryBindInfo,
- imageOpaqueBindCount: u32,
- pImageOpaqueBinds: [^]SparseImageOpaqueMemoryBindInfo,
- imageBindCount: u32,
- pImageBinds: [^]SparseImageMemoryBindInfo,
- signalSemaphoreCount: u32,
- pSignalSemaphores: [^]Semaphore,
-}
-
-SparseImageFormatProperties :: struct {
- aspectMask: ImageAspectFlags,
- imageGranularity: Extent3D,
- flags: SparseImageFormatFlags,
-}
-
-SparseImageMemoryRequirements :: struct {
- formatProperties: SparseImageFormatProperties,
- imageMipTailFirstLod: u32,
- imageMipTailSize: DeviceSize,
- imageMipTailOffset: DeviceSize,
- imageMipTailStride: DeviceSize,
-}
-
-FenceCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: FenceCreateFlags,
-}
-
-SemaphoreCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: SemaphoreCreateFlags,
-}
-
-EventCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: EventCreateFlags,
-}
-
-QueryPoolCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: QueryPoolCreateFlags,
- queryType: QueryType,
- queryCount: u32,
- pipelineStatistics: QueryPipelineStatisticFlags,
-}
-
-BufferCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: BufferCreateFlags,
- size: DeviceSize,
- usage: BufferUsageFlags,
- sharingMode: SharingMode,
- queueFamilyIndexCount: u32,
- pQueueFamilyIndices: [^]u32,
-}
-
-BufferViewCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: BufferViewCreateFlags,
- buffer: Buffer,
- format: Format,
- offset: DeviceSize,
- range: DeviceSize,
-}
-
-ImageCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: ImageCreateFlags,
- imageType: ImageType,
- format: Format,
- extent: Extent3D,
- mipLevels: u32,
- arrayLayers: u32,
- samples: SampleCountFlags,
- tiling: ImageTiling,
- usage: ImageUsageFlags,
- sharingMode: SharingMode,
- queueFamilyIndexCount: u32,
- pQueueFamilyIndices: [^]u32,
- initialLayout: ImageLayout,
-}
-
-SubresourceLayout :: struct {
- offset: DeviceSize,
- size: DeviceSize,
- rowPitch: DeviceSize,
- arrayPitch: DeviceSize,
- depthPitch: DeviceSize,
-}
-
-ComponentMapping :: struct {
- r: ComponentSwizzle,
- g: ComponentSwizzle,
- b: ComponentSwizzle,
- a: ComponentSwizzle,
-}
-
-ImageViewCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: ImageViewCreateFlags,
- image: Image,
- viewType: ImageViewType,
- format: Format,
- components: ComponentMapping,
- subresourceRange: ImageSubresourceRange,
-}
-
-ShaderModuleCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: ShaderModuleCreateFlags,
- codeSize: int,
- pCode: ^u32,
-}
-
-PipelineCacheCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineCacheCreateFlags,
- initialDataSize: int,
- pInitialData: rawptr,
-}
-
-SpecializationMapEntry :: struct {
- constantID: u32,
- offset: u32,
- size: int,
-}
-
-SpecializationInfo :: struct {
- mapEntryCount: u32,
- pMapEntries: [^]SpecializationMapEntry,
- dataSize: int,
- pData: rawptr,
-}
-
-PipelineShaderStageCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineShaderStageCreateFlags,
- stage: ShaderStageFlags,
- module: ShaderModule,
- pName: cstring,
- pSpecializationInfo: ^SpecializationInfo,
-}
-
-ComputePipelineCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineCreateFlags,
- stage: PipelineShaderStageCreateInfo,
- layout: PipelineLayout,
- basePipelineHandle: Pipeline,
- basePipelineIndex: i32,
-}
-
-VertexInputBindingDescription :: struct {
- binding: u32,
- stride: u32,
- inputRate: VertexInputRate,
-}
-
-VertexInputAttributeDescription :: struct {
- location: u32,
- binding: u32,
- format: Format,
- offset: u32,
-}
-
-PipelineVertexInputStateCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineVertexInputStateCreateFlags,
- vertexBindingDescriptionCount: u32,
- pVertexBindingDescriptions: [^]VertexInputBindingDescription,
- vertexAttributeDescriptionCount: u32,
- pVertexAttributeDescriptions: [^]VertexInputAttributeDescription,
-}
-
-PipelineInputAssemblyStateCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineInputAssemblyStateCreateFlags,
- topology: PrimitiveTopology,
- primitiveRestartEnable: b32,
-}
-
-PipelineTessellationStateCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineTessellationStateCreateFlags,
- patchControlPoints: u32,
-}
-
-Viewport :: struct {
- x: f32,
- y: f32,
- width: f32,
- height: f32,
- minDepth: f32,
- maxDepth: f32,
-}
-
-PipelineViewportStateCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineViewportStateCreateFlags,
- viewportCount: u32,
- pViewports: [^]Viewport,
- scissorCount: u32,
- pScissors: [^]Rect2D,
-}
-
-PipelineRasterizationStateCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineRasterizationStateCreateFlags,
- depthClampEnable: b32,
- rasterizerDiscardEnable: b32,
- polygonMode: PolygonMode,
- cullMode: CullModeFlags,
- frontFace: FrontFace,
- depthBiasEnable: b32,
- depthBiasConstantFactor: f32,
- depthBiasClamp: f32,
- depthBiasSlopeFactor: f32,
- lineWidth: f32,
-}
-
-PipelineMultisampleStateCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineMultisampleStateCreateFlags,
- rasterizationSamples: SampleCountFlags,
- sampleShadingEnable: b32,
- minSampleShading: f32,
- pSampleMask: ^SampleMask,
- alphaToCoverageEnable: b32,
- alphaToOneEnable: b32,
-}
-
-StencilOpState :: struct {
- failOp: StencilOp,
- passOp: StencilOp,
- depthFailOp: StencilOp,
- compareOp: CompareOp,
- compareMask: u32,
- writeMask: u32,
- reference: u32,
-}
-
-PipelineDepthStencilStateCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineDepthStencilStateCreateFlags,
- depthTestEnable: b32,
- depthWriteEnable: b32,
- depthCompareOp: CompareOp,
- depthBoundsTestEnable: b32,
- stencilTestEnable: b32,
- front: StencilOpState,
- back: StencilOpState,
- minDepthBounds: f32,
- maxDepthBounds: f32,
-}
-
-PipelineColorBlendAttachmentState :: struct {
- blendEnable: b32,
- srcColorBlendFactor: BlendFactor,
- dstColorBlendFactor: BlendFactor,
- colorBlendOp: BlendOp,
- srcAlphaBlendFactor: BlendFactor,
- dstAlphaBlendFactor: BlendFactor,
- alphaBlendOp: BlendOp,
- colorWriteMask: ColorComponentFlags,
-}
-
-PipelineColorBlendStateCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineColorBlendStateCreateFlags,
- logicOpEnable: b32,
- logicOp: LogicOp,
- attachmentCount: u32,
- pAttachments: [^]PipelineColorBlendAttachmentState,
- blendConstants: [4]f32,
-}
-
-PipelineDynamicStateCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineDynamicStateCreateFlags,
- dynamicStateCount: u32,
- pDynamicStates: [^]DynamicState,
-}
-
-GraphicsPipelineCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineCreateFlags,
- stageCount: u32,
- pStages: [^]PipelineShaderStageCreateInfo,
- pVertexInputState: ^PipelineVertexInputStateCreateInfo,
- pInputAssemblyState: ^PipelineInputAssemblyStateCreateInfo,
- pTessellationState: ^PipelineTessellationStateCreateInfo,
- pViewportState: ^PipelineViewportStateCreateInfo,
- pRasterizationState: ^PipelineRasterizationStateCreateInfo,
- pMultisampleState: ^PipelineMultisampleStateCreateInfo,
- pDepthStencilState: ^PipelineDepthStencilStateCreateInfo,
- pColorBlendState: ^PipelineColorBlendStateCreateInfo,
- pDynamicState: ^PipelineDynamicStateCreateInfo,
- layout: PipelineLayout,
- renderPass: RenderPass,
- subpass: u32,
- basePipelineHandle: Pipeline,
- basePipelineIndex: i32,
-}
-
-PushConstantRange :: struct {
- stageFlags: ShaderStageFlags,
- offset: u32,
- size: u32,
-}
-
-PipelineLayoutCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineLayoutCreateFlags,
- setLayoutCount: u32,
- pSetLayouts: [^]DescriptorSetLayout,
- pushConstantRangeCount: u32,
- pPushConstantRanges: [^]PushConstantRange,
-}
-
-SamplerCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: SamplerCreateFlags,
- magFilter: Filter,
- minFilter: Filter,
- mipmapMode: SamplerMipmapMode,
- addressModeU: SamplerAddressMode,
- addressModeV: SamplerAddressMode,
- addressModeW: SamplerAddressMode,
- mipLodBias: f32,
- anisotropyEnable: b32,
- maxAnisotropy: f32,
- compareEnable: b32,
- compareOp: CompareOp,
- minLod: f32,
- maxLod: f32,
- borderColor: BorderColor,
- unnormalizedCoordinates: b32,
-}
-
-CopyDescriptorSet :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcSet: DescriptorSet,
- srcBinding: u32,
- srcArrayElement: u32,
- dstSet: DescriptorSet,
- dstBinding: u32,
- dstArrayElement: u32,
- descriptorCount: u32,
-}
-
-DescriptorBufferInfo :: struct {
- buffer: Buffer,
- offset: DeviceSize,
- range: DeviceSize,
-}
-
-DescriptorImageInfo :: struct {
- sampler: Sampler,
- imageView: ImageView,
- imageLayout: ImageLayout,
-}
-
-DescriptorPoolSize :: struct {
- type: DescriptorType,
- descriptorCount: u32,
-}
-
-DescriptorPoolCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DescriptorPoolCreateFlags,
- maxSets: u32,
- poolSizeCount: u32,
- pPoolSizes: [^]DescriptorPoolSize,
-}
-
-DescriptorSetAllocateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- descriptorPool: DescriptorPool,
- descriptorSetCount: u32,
- pSetLayouts: [^]DescriptorSetLayout,
-}
-
-DescriptorSetLayoutBinding :: struct {
- binding: u32,
- descriptorType: DescriptorType,
- descriptorCount: u32,
- stageFlags: ShaderStageFlags,
- pImmutableSamplers: [^]Sampler,
-}
-
-DescriptorSetLayoutCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DescriptorSetLayoutCreateFlags,
- bindingCount: u32,
- pBindings: [^]DescriptorSetLayoutBinding,
-}
-
-WriteDescriptorSet :: struct {
- sType: StructureType,
- pNext: rawptr,
- dstSet: DescriptorSet,
- dstBinding: u32,
- dstArrayElement: u32,
- descriptorCount: u32,
- descriptorType: DescriptorType,
- pImageInfo: ^DescriptorImageInfo,
- pBufferInfo: ^DescriptorBufferInfo,
- pTexelBufferView: ^BufferView,
-}
-
-AttachmentDescription :: struct {
- flags: AttachmentDescriptionFlags,
- format: Format,
- samples: SampleCountFlags,
- loadOp: AttachmentLoadOp,
- storeOp: AttachmentStoreOp,
- stencilLoadOp: AttachmentLoadOp,
- stencilStoreOp: AttachmentStoreOp,
- initialLayout: ImageLayout,
- finalLayout: ImageLayout,
-}
-
-AttachmentReference :: struct {
- attachment: u32,
- layout: ImageLayout,
-}
-
-FramebufferCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: FramebufferCreateFlags,
- renderPass: RenderPass,
- attachmentCount: u32,
- pAttachments: [^]ImageView,
- width: u32,
- height: u32,
- layers: u32,
-}
-
-SubpassDescription :: struct {
- flags: SubpassDescriptionFlags,
- pipelineBindPoint: PipelineBindPoint,
- inputAttachmentCount: u32,
- pInputAttachments: [^]AttachmentReference,
- colorAttachmentCount: u32,
- pColorAttachments: [^]AttachmentReference,
- pResolveAttachments: [^]AttachmentReference,
- pDepthStencilAttachment: ^AttachmentReference,
- preserveAttachmentCount: u32,
- pPreserveAttachments: [^]u32,
-}
-
-SubpassDependency :: struct {
- srcSubpass: u32,
- dstSubpass: u32,
- srcStageMask: PipelineStageFlags,
- dstStageMask: PipelineStageFlags,
- srcAccessMask: AccessFlags,
- dstAccessMask: AccessFlags,
- dependencyFlags: DependencyFlags,
-}
-
-RenderPassCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: RenderPassCreateFlags,
- attachmentCount: u32,
- pAttachments: [^]AttachmentDescription,
- subpassCount: u32,
- pSubpasses: [^]SubpassDescription,
- dependencyCount: u32,
- pDependencies: [^]SubpassDependency,
-}
-
-CommandPoolCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: CommandPoolCreateFlags,
- queueFamilyIndex: u32,
-}
-
-CommandBufferAllocateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- commandPool: CommandPool,
- level: CommandBufferLevel,
- commandBufferCount: u32,
-}
-
-CommandBufferInheritanceInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- renderPass: RenderPass,
- subpass: u32,
- framebuffer: Framebuffer,
- occlusionQueryEnable: b32,
- queryFlags: QueryControlFlags,
- pipelineStatistics: QueryPipelineStatisticFlags,
-}
-
-CommandBufferBeginInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: CommandBufferUsageFlags,
- pInheritanceInfo: ^CommandBufferInheritanceInfo,
-}
-
-BufferCopy :: struct {
- srcOffset: DeviceSize,
- dstOffset: DeviceSize,
- size: DeviceSize,
-}
-
-ImageSubresourceLayers :: struct {
- aspectMask: ImageAspectFlags,
- mipLevel: u32,
- baseArrayLayer: u32,
- layerCount: u32,
-}
-
-BufferImageCopy :: struct {
- bufferOffset: DeviceSize,
- bufferRowLength: u32,
- bufferImageHeight: u32,
- imageSubresource: ImageSubresourceLayers,
- imageOffset: Offset3D,
- imageExtent: Extent3D,
-}
-
-ClearColorValue :: struct #raw_union {
- float32: [4]f32,
- int32: [4]i32,
- uint32: [4]u32,
-}
-
-ClearDepthStencilValue :: struct {
- depth: f32,
- stencil: u32,
-}
-
-ClearValue :: struct #raw_union {
- color: ClearColorValue,
- depthStencil: ClearDepthStencilValue,
-}
-
-ClearAttachment :: struct {
- aspectMask: ImageAspectFlags,
- colorAttachment: u32,
- clearValue: ClearValue,
-}
-
-ClearRect :: struct {
- rect: Rect2D,
- baseArrayLayer: u32,
- layerCount: u32,
-}
-
-ImageBlit :: struct {
- srcSubresource: ImageSubresourceLayers,
- srcOffsets: [2]Offset3D,
- dstSubresource: ImageSubresourceLayers,
- dstOffsets: [2]Offset3D,
-}
-
-ImageCopy :: struct {
- srcSubresource: ImageSubresourceLayers,
- srcOffset: Offset3D,
- dstSubresource: ImageSubresourceLayers,
- dstOffset: Offset3D,
- extent: Extent3D,
-}
-
-ImageResolve :: struct {
- srcSubresource: ImageSubresourceLayers,
- srcOffset: Offset3D,
- dstSubresource: ImageSubresourceLayers,
- dstOffset: Offset3D,
- extent: Extent3D,
-}
-
-RenderPassBeginInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- renderPass: RenderPass,
- framebuffer: Framebuffer,
- renderArea: Rect2D,
- clearValueCount: u32,
- pClearValues: [^]ClearValue,
-}
-
-PhysicalDeviceSubgroupProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- subgroupSize: u32,
- supportedStages: ShaderStageFlags,
- supportedOperations: SubgroupFeatureFlags,
- quadOperationsInAllStages: b32,
-}
-
-BindBufferMemoryInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- buffer: Buffer,
- memory: DeviceMemory,
- memoryOffset: DeviceSize,
-}
-
-BindImageMemoryInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- image: Image,
- memory: DeviceMemory,
- memoryOffset: DeviceSize,
-}
-
-PhysicalDevice16BitStorageFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- storageBuffer16BitAccess: b32,
- uniformAndStorageBuffer16BitAccess: b32,
- storagePushConstant16: b32,
- storageInputOutput16: b32,
-}
-
-MemoryDedicatedRequirements :: struct {
- sType: StructureType,
- pNext: rawptr,
- prefersDedicatedAllocation: b32,
- requiresDedicatedAllocation: b32,
-}
-
-MemoryDedicatedAllocateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- image: Image,
- buffer: Buffer,
-}
-
-MemoryAllocateFlagsInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: MemoryAllocateFlags,
- deviceMask: u32,
-}
-
-DeviceGroupRenderPassBeginInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- deviceMask: u32,
- deviceRenderAreaCount: u32,
- pDeviceRenderAreas: [^]Rect2D,
-}
-
-DeviceGroupCommandBufferBeginInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- deviceMask: u32,
-}
-
-DeviceGroupSubmitInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- waitSemaphoreCount: u32,
- pWaitSemaphoreDeviceIndices: [^]u32,
- commandBufferCount: u32,
- pCommandBufferDeviceMasks: [^]u32,
- signalSemaphoreCount: u32,
- pSignalSemaphoreDeviceIndices: [^]u32,
-}
-
-DeviceGroupBindSparseInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- resourceDeviceIndex: u32,
- memoryDeviceIndex: u32,
-}
-
-BindBufferMemoryDeviceGroupInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- deviceIndexCount: u32,
- pDeviceIndices: [^]u32,
-}
-
-BindImageMemoryDeviceGroupInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- deviceIndexCount: u32,
- pDeviceIndices: [^]u32,
- splitInstanceBindRegionCount: u32,
- pSplitInstanceBindRegions: [^]Rect2D,
-}
-
-PhysicalDeviceGroupProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- physicalDeviceCount: u32,
- physicalDevices: [MAX_DEVICE_GROUP_SIZE]PhysicalDevice,
- subsetAllocation: b32,
-}
-
-DeviceGroupDeviceCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- physicalDeviceCount: u32,
- pPhysicalDevices: [^]PhysicalDevice,
-}
-
-BufferMemoryRequirementsInfo2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- buffer: Buffer,
-}
-
-ImageMemoryRequirementsInfo2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- image: Image,
-}
-
-ImageSparseMemoryRequirementsInfo2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- image: Image,
-}
-
-MemoryRequirements2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- memoryRequirements: MemoryRequirements,
-}
-
-SparseImageMemoryRequirements2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- memoryRequirements: SparseImageMemoryRequirements,
-}
-
-PhysicalDeviceFeatures2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- features: PhysicalDeviceFeatures,
-}
-
-PhysicalDeviceProperties2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- properties: PhysicalDeviceProperties,
-}
-
-FormatProperties2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- formatProperties: FormatProperties,
-}
-
-ImageFormatProperties2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- imageFormatProperties: ImageFormatProperties,
-}
-
-PhysicalDeviceImageFormatInfo2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- format: Format,
- type: ImageType,
- tiling: ImageTiling,
- usage: ImageUsageFlags,
- flags: ImageCreateFlags,
-}
-
-QueueFamilyProperties2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- queueFamilyProperties: QueueFamilyProperties,
-}
-
-PhysicalDeviceMemoryProperties2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- memoryProperties: PhysicalDeviceMemoryProperties,
-}
-
-SparseImageFormatProperties2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- properties: SparseImageFormatProperties,
-}
-
-PhysicalDeviceSparseImageFormatInfo2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- format: Format,
- type: ImageType,
- samples: SampleCountFlags,
- usage: ImageUsageFlags,
- tiling: ImageTiling,
-}
-
-PhysicalDevicePointClippingProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- pointClippingBehavior: PointClippingBehavior,
-}
-
-InputAttachmentAspectReference :: struct {
- subpass: u32,
- inputAttachmentIndex: u32,
- aspectMask: ImageAspectFlags,
-}
-
-RenderPassInputAttachmentAspectCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- aspectReferenceCount: u32,
- pAspectReferences: [^]InputAttachmentAspectReference,
-}
-
-ImageViewUsageCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- usage: ImageUsageFlags,
-}
-
-PipelineTessellationDomainOriginStateCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- domainOrigin: TessellationDomainOrigin,
-}
-
-RenderPassMultiviewCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- subpassCount: u32,
- pViewMasks: [^]u32,
- dependencyCount: u32,
- pViewOffsets: [^]i32,
- correlationMaskCount: u32,
- pCorrelationMasks: [^]u32,
-}
-
-PhysicalDeviceMultiviewFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- multiview: b32,
- multiviewGeometryShader: b32,
- multiviewTessellationShader: b32,
-}
-
-PhysicalDeviceMultiviewProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxMultiviewViewCount: u32,
- maxMultiviewInstanceIndex: u32,
-}
-
-PhysicalDeviceVariablePointersFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- variablePointersStorageBuffer: b32,
- variablePointers: b32,
-}
-
-PhysicalDeviceProtectedMemoryFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- protectedMemory: b32,
-}
-
-PhysicalDeviceProtectedMemoryProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- protectedNoFault: b32,
-}
-
-DeviceQueueInfo2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DeviceQueueCreateFlags,
- queueFamilyIndex: u32,
- queueIndex: u32,
-}
-
-ProtectedSubmitInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- protectedSubmit: b32,
-}
-
-SamplerYcbcrConversionCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- format: Format,
- ycbcrModel: SamplerYcbcrModelConversion,
- ycbcrRange: SamplerYcbcrRange,
- components: ComponentMapping,
- xChromaOffset: ChromaLocation,
- yChromaOffset: ChromaLocation,
- chromaFilter: Filter,
- forceExplicitReconstruction: b32,
-}
-
-SamplerYcbcrConversionInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- conversion: SamplerYcbcrConversion,
-}
-
-BindImagePlaneMemoryInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- planeAspect: ImageAspectFlags,
-}
-
-ImagePlaneMemoryRequirementsInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- planeAspect: ImageAspectFlags,
-}
-
-PhysicalDeviceSamplerYcbcrConversionFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- samplerYcbcrConversion: b32,
-}
-
-SamplerYcbcrConversionImageFormatProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- combinedImageSamplerDescriptorCount: u32,
-}
-
-DescriptorUpdateTemplateEntry :: struct {
- dstBinding: u32,
- dstArrayElement: u32,
- descriptorCount: u32,
- descriptorType: DescriptorType,
- offset: int,
- stride: int,
-}
-
-DescriptorUpdateTemplateCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DescriptorUpdateTemplateCreateFlags,
- descriptorUpdateEntryCount: u32,
- pDescriptorUpdateEntries: [^]DescriptorUpdateTemplateEntry,
- templateType: DescriptorUpdateTemplateType,
- descriptorSetLayout: DescriptorSetLayout,
- pipelineBindPoint: PipelineBindPoint,
- pipelineLayout: PipelineLayout,
- set: u32,
-}
-
-ExternalMemoryProperties :: struct {
- externalMemoryFeatures: ExternalMemoryFeatureFlags,
- exportFromImportedHandleTypes: ExternalMemoryHandleTypeFlags,
- compatibleHandleTypes: ExternalMemoryHandleTypeFlags,
-}
-
-PhysicalDeviceExternalImageFormatInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- handleType: ExternalMemoryHandleTypeFlags,
-}
-
-ExternalImageFormatProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- externalMemoryProperties: ExternalMemoryProperties,
-}
-
-PhysicalDeviceExternalBufferInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: BufferCreateFlags,
- usage: BufferUsageFlags,
- handleType: ExternalMemoryHandleTypeFlags,
-}
-
-ExternalBufferProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- externalMemoryProperties: ExternalMemoryProperties,
-}
-
-PhysicalDeviceIDProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- deviceUUID: [UUID_SIZE]u8,
- driverUUID: [UUID_SIZE]u8,
- deviceLUID: [LUID_SIZE]u8,
- deviceNodeMask: u32,
- deviceLUIDValid: b32,
-}
-
-ExternalMemoryImageCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- handleTypes: ExternalMemoryHandleTypeFlags,
-}
-
-ExternalMemoryBufferCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- handleTypes: ExternalMemoryHandleTypeFlags,
-}
-
-ExportMemoryAllocateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- handleTypes: ExternalMemoryHandleTypeFlags,
-}
-
-PhysicalDeviceExternalFenceInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- handleType: ExternalFenceHandleTypeFlags,
-}
-
-ExternalFenceProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- exportFromImportedHandleTypes: ExternalFenceHandleTypeFlags,
- compatibleHandleTypes: ExternalFenceHandleTypeFlags,
- externalFenceFeatures: ExternalFenceFeatureFlags,
-}
-
-ExportFenceCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- handleTypes: ExternalFenceHandleTypeFlags,
-}
-
-ExportSemaphoreCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- handleTypes: ExternalSemaphoreHandleTypeFlags,
-}
-
-PhysicalDeviceExternalSemaphoreInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- handleType: ExternalSemaphoreHandleTypeFlags,
-}
-
-ExternalSemaphoreProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- exportFromImportedHandleTypes: ExternalSemaphoreHandleTypeFlags,
- compatibleHandleTypes: ExternalSemaphoreHandleTypeFlags,
- externalSemaphoreFeatures: ExternalSemaphoreFeatureFlags,
-}
-
-PhysicalDeviceMaintenance3Properties :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxPerSetDescriptors: u32,
- maxMemoryAllocationSize: DeviceSize,
-}
-
-DescriptorSetLayoutSupport :: struct {
- sType: StructureType,
- pNext: rawptr,
- supported: b32,
-}
-
-PhysicalDeviceShaderDrawParametersFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderDrawParameters: b32,
-}
-
-PhysicalDeviceVulkan11Features :: struct {
- sType: StructureType,
- pNext: rawptr,
- storageBuffer16BitAccess: b32,
- uniformAndStorageBuffer16BitAccess: b32,
- storagePushConstant16: b32,
- storageInputOutput16: b32,
- multiview: b32,
- multiviewGeometryShader: b32,
- multiviewTessellationShader: b32,
- variablePointersStorageBuffer: b32,
- variablePointers: b32,
- protectedMemory: b32,
- samplerYcbcrConversion: b32,
- shaderDrawParameters: b32,
-}
-
-PhysicalDeviceVulkan11Properties :: struct {
- sType: StructureType,
- pNext: rawptr,
- deviceUUID: [UUID_SIZE]u8,
- driverUUID: [UUID_SIZE]u8,
- deviceLUID: [LUID_SIZE]u8,
- deviceNodeMask: u32,
- deviceLUIDValid: b32,
- subgroupSize: u32,
- subgroupSupportedStages: ShaderStageFlags,
- subgroupSupportedOperations: SubgroupFeatureFlags,
- subgroupQuadOperationsInAllStages: b32,
- pointClippingBehavior: PointClippingBehavior,
- maxMultiviewViewCount: u32,
- maxMultiviewInstanceIndex: u32,
- protectedNoFault: b32,
- maxPerSetDescriptors: u32,
- maxMemoryAllocationSize: DeviceSize,
-}
-
-PhysicalDeviceVulkan12Features :: struct {
- sType: StructureType,
- pNext: rawptr,
- samplerMirrorClampToEdge: b32,
- drawIndirectCount: b32,
- storageBuffer8BitAccess: b32,
- uniformAndStorageBuffer8BitAccess: b32,
- storagePushConstant8: b32,
- shaderBufferInt64Atomics: b32,
- shaderSharedInt64Atomics: b32,
- shaderFloat16: b32,
- shaderInt8: b32,
- descriptorIndexing: b32,
- shaderInputAttachmentArrayDynamicIndexing: b32,
- shaderUniformTexelBufferArrayDynamicIndexing: b32,
- shaderStorageTexelBufferArrayDynamicIndexing: b32,
- shaderUniformBufferArrayNonUniformIndexing: b32,
- shaderSampledImageArrayNonUniformIndexing: b32,
- shaderStorageBufferArrayNonUniformIndexing: b32,
- shaderStorageImageArrayNonUniformIndexing: b32,
- shaderInputAttachmentArrayNonUniformIndexing: b32,
- shaderUniformTexelBufferArrayNonUniformIndexing: b32,
- shaderStorageTexelBufferArrayNonUniformIndexing: b32,
- descriptorBindingUniformBufferUpdateAfterBind: b32,
- descriptorBindingSampledImageUpdateAfterBind: b32,
- descriptorBindingStorageImageUpdateAfterBind: b32,
- descriptorBindingStorageBufferUpdateAfterBind: b32,
- descriptorBindingUniformTexelBufferUpdateAfterBind: b32,
- descriptorBindingStorageTexelBufferUpdateAfterBind: b32,
- descriptorBindingUpdateUnusedWhilePending: b32,
- descriptorBindingPartiallyBound: b32,
- descriptorBindingVariableDescriptorCount: b32,
- runtimeDescriptorArray: b32,
- samplerFilterMinmax: b32,
- scalarBlockLayout: b32,
- imagelessFramebuffer: b32,
- uniformBufferStandardLayout: b32,
- shaderSubgroupExtendedTypes: b32,
- separateDepthStencilLayouts: b32,
- hostQueryReset: b32,
- timelineSemaphore: b32,
- bufferDeviceAddress: b32,
- bufferDeviceAddressCaptureReplay: b32,
- bufferDeviceAddressMultiDevice: b32,
- vulkanMemoryModel: b32,
- vulkanMemoryModelDeviceScope: b32,
- vulkanMemoryModelAvailabilityVisibilityChains: b32,
- shaderOutputViewportIndex: b32,
- shaderOutputLayer: b32,
- subgroupBroadcastDynamicId: b32,
-}
-
-ConformanceVersion :: struct {
- major: u8,
- minor: u8,
- subminor: u8,
- patch: u8,
-}
-
-PhysicalDeviceVulkan12Properties :: struct {
- sType: StructureType,
- pNext: rawptr,
- driverID: DriverId,
- driverName: [MAX_DRIVER_NAME_SIZE]byte,
- driverInfo: [MAX_DRIVER_INFO_SIZE]byte,
- conformanceVersion: ConformanceVersion,
- denormBehaviorIndependence: ShaderFloatControlsIndependence,
- roundingModeIndependence: ShaderFloatControlsIndependence,
- shaderSignedZeroInfNanPreserveFloat16: b32,
- shaderSignedZeroInfNanPreserveFloat32: b32,
- shaderSignedZeroInfNanPreserveFloat64: b32,
- shaderDenormPreserveFloat16: b32,
- shaderDenormPreserveFloat32: b32,
- shaderDenormPreserveFloat64: b32,
- shaderDenormFlushToZeroFloat16: b32,
- shaderDenormFlushToZeroFloat32: b32,
- shaderDenormFlushToZeroFloat64: b32,
- shaderRoundingModeRTEFloat16: b32,
- shaderRoundingModeRTEFloat32: b32,
- shaderRoundingModeRTEFloat64: b32,
- shaderRoundingModeRTZFloat16: b32,
- shaderRoundingModeRTZFloat32: b32,
- shaderRoundingModeRTZFloat64: b32,
- maxUpdateAfterBindDescriptorsInAllPools: u32,
- shaderUniformBufferArrayNonUniformIndexingNative: b32,
- shaderSampledImageArrayNonUniformIndexingNative: b32,
- shaderStorageBufferArrayNonUniformIndexingNative: b32,
- shaderStorageImageArrayNonUniformIndexingNative: b32,
- shaderInputAttachmentArrayNonUniformIndexingNative: b32,
- robustBufferAccessUpdateAfterBind: b32,
- quadDivergentImplicitLod: b32,
- maxPerStageDescriptorUpdateAfterBindSamplers: u32,
- maxPerStageDescriptorUpdateAfterBindUniformBuffers: u32,
- maxPerStageDescriptorUpdateAfterBindStorageBuffers: u32,
- maxPerStageDescriptorUpdateAfterBindSampledImages: u32,
- maxPerStageDescriptorUpdateAfterBindStorageImages: u32,
- maxPerStageDescriptorUpdateAfterBindInputAttachments: u32,
- maxPerStageUpdateAfterBindResources: u32,
- maxDescriptorSetUpdateAfterBindSamplers: u32,
- maxDescriptorSetUpdateAfterBindUniformBuffers: u32,
- maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32,
- maxDescriptorSetUpdateAfterBindStorageBuffers: u32,
- maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32,
- maxDescriptorSetUpdateAfterBindSampledImages: u32,
- maxDescriptorSetUpdateAfterBindStorageImages: u32,
- maxDescriptorSetUpdateAfterBindInputAttachments: u32,
- supportedDepthResolveModes: ResolveModeFlags,
- supportedStencilResolveModes: ResolveModeFlags,
- independentResolveNone: b32,
- independentResolve: b32,
- filterMinmaxSingleComponentFormats: b32,
- filterMinmaxImageComponentMapping: b32,
- maxTimelineSemaphoreValueDifference: u64,
- framebufferIntegerColorSampleCounts: SampleCountFlags,
-}
-
-ImageFormatListCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- viewFormatCount: u32,
- pViewFormats: [^]Format,
-}
-
-AttachmentDescription2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: AttachmentDescriptionFlags,
- format: Format,
- samples: SampleCountFlags,
- loadOp: AttachmentLoadOp,
- storeOp: AttachmentStoreOp,
- stencilLoadOp: AttachmentLoadOp,
- stencilStoreOp: AttachmentStoreOp,
- initialLayout: ImageLayout,
- finalLayout: ImageLayout,
-}
-
-AttachmentReference2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- attachment: u32,
- layout: ImageLayout,
- aspectMask: ImageAspectFlags,
-}
-
-SubpassDescription2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: SubpassDescriptionFlags,
- pipelineBindPoint: PipelineBindPoint,
- viewMask: u32,
- inputAttachmentCount: u32,
- pInputAttachments: [^]AttachmentReference2,
- colorAttachmentCount: u32,
- pColorAttachments: [^]AttachmentReference2,
- pResolveAttachments: [^]AttachmentReference2,
- pDepthStencilAttachment: ^AttachmentReference2,
- preserveAttachmentCount: u32,
- pPreserveAttachments: [^]u32,
-}
-
-SubpassDependency2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcSubpass: u32,
- dstSubpass: u32,
- srcStageMask: PipelineStageFlags,
- dstStageMask: PipelineStageFlags,
- srcAccessMask: AccessFlags,
- dstAccessMask: AccessFlags,
- dependencyFlags: DependencyFlags,
- viewOffset: i32,
-}
-
-RenderPassCreateInfo2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: RenderPassCreateFlags,
- attachmentCount: u32,
- pAttachments: [^]AttachmentDescription2,
- subpassCount: u32,
- pSubpasses: [^]SubpassDescription2,
- dependencyCount: u32,
- pDependencies: [^]SubpassDependency2,
- correlatedViewMaskCount: u32,
- pCorrelatedViewMasks: [^]u32,
-}
-
-SubpassBeginInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- contents: SubpassContents,
-}
-
-SubpassEndInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
-}
-
-PhysicalDevice8BitStorageFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- storageBuffer8BitAccess: b32,
- uniformAndStorageBuffer8BitAccess: b32,
- storagePushConstant8: b32,
-}
-
-PhysicalDeviceDriverProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- driverID: DriverId,
- driverName: [MAX_DRIVER_NAME_SIZE]byte,
- driverInfo: [MAX_DRIVER_INFO_SIZE]byte,
- conformanceVersion: ConformanceVersion,
-}
-
-PhysicalDeviceShaderAtomicInt64Features :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderBufferInt64Atomics: b32,
- shaderSharedInt64Atomics: b32,
-}
-
-PhysicalDeviceShaderFloat16Int8Features :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderFloat16: b32,
- shaderInt8: b32,
-}
-
-PhysicalDeviceFloatControlsProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- denormBehaviorIndependence: ShaderFloatControlsIndependence,
- roundingModeIndependence: ShaderFloatControlsIndependence,
- shaderSignedZeroInfNanPreserveFloat16: b32,
- shaderSignedZeroInfNanPreserveFloat32: b32,
- shaderSignedZeroInfNanPreserveFloat64: b32,
- shaderDenormPreserveFloat16: b32,
- shaderDenormPreserveFloat32: b32,
- shaderDenormPreserveFloat64: b32,
- shaderDenormFlushToZeroFloat16: b32,
- shaderDenormFlushToZeroFloat32: b32,
- shaderDenormFlushToZeroFloat64: b32,
- shaderRoundingModeRTEFloat16: b32,
- shaderRoundingModeRTEFloat32: b32,
- shaderRoundingModeRTEFloat64: b32,
- shaderRoundingModeRTZFloat16: b32,
- shaderRoundingModeRTZFloat32: b32,
- shaderRoundingModeRTZFloat64: b32,
-}
-
-DescriptorSetLayoutBindingFlagsCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- bindingCount: u32,
- pBindingFlags: [^]DescriptorBindingFlags,
-}
-
-PhysicalDeviceDescriptorIndexingFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderInputAttachmentArrayDynamicIndexing: b32,
- shaderUniformTexelBufferArrayDynamicIndexing: b32,
- shaderStorageTexelBufferArrayDynamicIndexing: b32,
- shaderUniformBufferArrayNonUniformIndexing: b32,
- shaderSampledImageArrayNonUniformIndexing: b32,
- shaderStorageBufferArrayNonUniformIndexing: b32,
- shaderStorageImageArrayNonUniformIndexing: b32,
- shaderInputAttachmentArrayNonUniformIndexing: b32,
- shaderUniformTexelBufferArrayNonUniformIndexing: b32,
- shaderStorageTexelBufferArrayNonUniformIndexing: b32,
- descriptorBindingUniformBufferUpdateAfterBind: b32,
- descriptorBindingSampledImageUpdateAfterBind: b32,
- descriptorBindingStorageImageUpdateAfterBind: b32,
- descriptorBindingStorageBufferUpdateAfterBind: b32,
- descriptorBindingUniformTexelBufferUpdateAfterBind: b32,
- descriptorBindingStorageTexelBufferUpdateAfterBind: b32,
- descriptorBindingUpdateUnusedWhilePending: b32,
- descriptorBindingPartiallyBound: b32,
- descriptorBindingVariableDescriptorCount: b32,
- runtimeDescriptorArray: b32,
-}
-
-PhysicalDeviceDescriptorIndexingProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxUpdateAfterBindDescriptorsInAllPools: u32,
- shaderUniformBufferArrayNonUniformIndexingNative: b32,
- shaderSampledImageArrayNonUniformIndexingNative: b32,
- shaderStorageBufferArrayNonUniformIndexingNative: b32,
- shaderStorageImageArrayNonUniformIndexingNative: b32,
- shaderInputAttachmentArrayNonUniformIndexingNative: b32,
- robustBufferAccessUpdateAfterBind: b32,
- quadDivergentImplicitLod: b32,
- maxPerStageDescriptorUpdateAfterBindSamplers: u32,
- maxPerStageDescriptorUpdateAfterBindUniformBuffers: u32,
- maxPerStageDescriptorUpdateAfterBindStorageBuffers: u32,
- maxPerStageDescriptorUpdateAfterBindSampledImages: u32,
- maxPerStageDescriptorUpdateAfterBindStorageImages: u32,
- maxPerStageDescriptorUpdateAfterBindInputAttachments: u32,
- maxPerStageUpdateAfterBindResources: u32,
- maxDescriptorSetUpdateAfterBindSamplers: u32,
- maxDescriptorSetUpdateAfterBindUniformBuffers: u32,
- maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32,
- maxDescriptorSetUpdateAfterBindStorageBuffers: u32,
- maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32,
- maxDescriptorSetUpdateAfterBindSampledImages: u32,
- maxDescriptorSetUpdateAfterBindStorageImages: u32,
- maxDescriptorSetUpdateAfterBindInputAttachments: u32,
-}
-
-DescriptorSetVariableDescriptorCountAllocateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- descriptorSetCount: u32,
- pDescriptorCounts: [^]u32,
-}
-
-DescriptorSetVariableDescriptorCountLayoutSupport :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxVariableDescriptorCount: u32,
-}
-
-SubpassDescriptionDepthStencilResolve :: struct {
- sType: StructureType,
- pNext: rawptr,
- depthResolveMode: ResolveModeFlags,
- stencilResolveMode: ResolveModeFlags,
- pDepthStencilResolveAttachment: ^AttachmentReference2,
-}
-
-PhysicalDeviceDepthStencilResolveProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- supportedDepthResolveModes: ResolveModeFlags,
- supportedStencilResolveModes: ResolveModeFlags,
- independentResolveNone: b32,
- independentResolve: b32,
-}
-
-PhysicalDeviceScalarBlockLayoutFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- scalarBlockLayout: b32,
-}
-
-ImageStencilUsageCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- stencilUsage: ImageUsageFlags,
-}
-
-SamplerReductionModeCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- reductionMode: SamplerReductionMode,
-}
-
-PhysicalDeviceSamplerFilterMinmaxProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- filterMinmaxSingleComponentFormats: b32,
- filterMinmaxImageComponentMapping: b32,
-}
-
-PhysicalDeviceVulkanMemoryModelFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- vulkanMemoryModel: b32,
- vulkanMemoryModelDeviceScope: b32,
- vulkanMemoryModelAvailabilityVisibilityChains: b32,
-}
-
-PhysicalDeviceImagelessFramebufferFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- imagelessFramebuffer: b32,
-}
-
-FramebufferAttachmentImageInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: ImageCreateFlags,
- usage: ImageUsageFlags,
- width: u32,
- height: u32,
- layerCount: u32,
- viewFormatCount: u32,
- pViewFormats: [^]Format,
-}
-
-FramebufferAttachmentsCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- attachmentImageInfoCount: u32,
- pAttachmentImageInfos: [^]FramebufferAttachmentImageInfo,
-}
-
-RenderPassAttachmentBeginInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- attachmentCount: u32,
- pAttachments: [^]ImageView,
-}
-
-PhysicalDeviceUniformBufferStandardLayoutFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- uniformBufferStandardLayout: b32,
-}
-
-PhysicalDeviceShaderSubgroupExtendedTypesFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderSubgroupExtendedTypes: b32,
-}
-
-PhysicalDeviceSeparateDepthStencilLayoutsFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- separateDepthStencilLayouts: b32,
-}
-
-AttachmentReferenceStencilLayout :: struct {
- sType: StructureType,
- pNext: rawptr,
- stencilLayout: ImageLayout,
-}
-
-AttachmentDescriptionStencilLayout :: struct {
- sType: StructureType,
- pNext: rawptr,
- stencilInitialLayout: ImageLayout,
- stencilFinalLayout: ImageLayout,
-}
-
-PhysicalDeviceHostQueryResetFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- hostQueryReset: b32,
-}
-
-PhysicalDeviceTimelineSemaphoreFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- timelineSemaphore: b32,
-}
-
-PhysicalDeviceTimelineSemaphoreProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxTimelineSemaphoreValueDifference: u64,
-}
-
-SemaphoreTypeCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- semaphoreType: SemaphoreType,
- initialValue: u64,
-}
-
-TimelineSemaphoreSubmitInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- waitSemaphoreValueCount: u32,
- pWaitSemaphoreValues: [^]u64,
- signalSemaphoreValueCount: u32,
- pSignalSemaphoreValues: [^]u64,
-}
-
-SemaphoreWaitInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: SemaphoreWaitFlags,
- semaphoreCount: u32,
- pSemaphores: [^]Semaphore,
- pValues: [^]u64,
-}
-
-SemaphoreSignalInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- semaphore: Semaphore,
- value: u64,
-}
-
-PhysicalDeviceBufferDeviceAddressFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- bufferDeviceAddress: b32,
- bufferDeviceAddressCaptureReplay: b32,
- bufferDeviceAddressMultiDevice: b32,
-}
-
-BufferDeviceAddressInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- buffer: Buffer,
-}
-
-BufferOpaqueCaptureAddressCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- opaqueCaptureAddress: u64,
-}
-
-MemoryOpaqueCaptureAddressAllocateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- opaqueCaptureAddress: u64,
-}
-
-DeviceMemoryOpaqueCaptureAddressInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- memory: DeviceMemory,
-}
-
-PhysicalDeviceVulkan13Features :: struct {
- sType: StructureType,
- pNext: rawptr,
- robustImageAccess: b32,
- inlineUniformBlock: b32,
- descriptorBindingInlineUniformBlockUpdateAfterBind: b32,
- pipelineCreationCacheControl: b32,
- privateData: b32,
- shaderDemoteToHelperInvocation: b32,
- shaderTerminateInvocation: b32,
- subgroupSizeControl: b32,
- computeFullSubgroups: b32,
- synchronization2: b32,
- textureCompressionASTC_HDR: b32,
- shaderZeroInitializeWorkgroupMemory: b32,
- dynamicRendering: b32,
- shaderIntegerDotProduct: b32,
- maintenance4: b32,
-}
-
-PhysicalDeviceVulkan13Properties :: struct {
- sType: StructureType,
- pNext: rawptr,
- minSubgroupSize: u32,
- maxSubgroupSize: u32,
- maxComputeWorkgroupSubgroups: u32,
- requiredSubgroupSizeStages: ShaderStageFlags,
- maxInlineUniformBlockSize: u32,
- maxPerStageDescriptorInlineUniformBlocks: u32,
- maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32,
- maxDescriptorSetInlineUniformBlocks: u32,
- maxDescriptorSetUpdateAfterBindInlineUniformBlocks: u32,
- maxInlineUniformTotalSize: u32,
- integerDotProduct8BitUnsignedAccelerated: b32,
- integerDotProduct8BitSignedAccelerated: b32,
- integerDotProduct8BitMixedSignednessAccelerated: b32,
- integerDotProduct4x8BitPackedUnsignedAccelerated: b32,
- integerDotProduct4x8BitPackedSignedAccelerated: b32,
- integerDotProduct4x8BitPackedMixedSignednessAccelerated: b32,
- integerDotProduct16BitUnsignedAccelerated: b32,
- integerDotProduct16BitSignedAccelerated: b32,
- integerDotProduct16BitMixedSignednessAccelerated: b32,
- integerDotProduct32BitUnsignedAccelerated: b32,
- integerDotProduct32BitSignedAccelerated: b32,
- integerDotProduct32BitMixedSignednessAccelerated: b32,
- integerDotProduct64BitUnsignedAccelerated: b32,
- integerDotProduct64BitSignedAccelerated: b32,
- integerDotProduct64BitMixedSignednessAccelerated: b32,
- integerDotProductAccumulatingSaturating8BitUnsignedAccelerated: b32,
- integerDotProductAccumulatingSaturating8BitSignedAccelerated: b32,
- integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated: b32,
- integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated: b32,
- integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated: b32,
- integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: b32,
- integerDotProductAccumulatingSaturating16BitUnsignedAccelerated: b32,
- integerDotProductAccumulatingSaturating16BitSignedAccelerated: b32,
- integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated: b32,
- integerDotProductAccumulatingSaturating32BitUnsignedAccelerated: b32,
- integerDotProductAccumulatingSaturating32BitSignedAccelerated: b32,
- integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated: b32,
- integerDotProductAccumulatingSaturating64BitUnsignedAccelerated: b32,
- integerDotProductAccumulatingSaturating64BitSignedAccelerated: b32,
- integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated: b32,
- storageTexelBufferOffsetAlignmentBytes: DeviceSize,
- storageTexelBufferOffsetSingleTexelAlignment: b32,
- uniformTexelBufferOffsetAlignmentBytes: DeviceSize,
- uniformTexelBufferOffsetSingleTexelAlignment: b32,
- maxBufferSize: DeviceSize,
-}
-
-PipelineCreationFeedback :: struct {
- flags: PipelineCreationFeedbackFlags,
- duration: u64,
-}
-
-PipelineCreationFeedbackCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- pPipelineCreationFeedback: ^PipelineCreationFeedback,
- pipelineStageCreationFeedbackCount: u32,
- pPipelineStageCreationFeedbacks: [^]PipelineCreationFeedback,
-}
-
-PhysicalDeviceShaderTerminateInvocationFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderTerminateInvocation: b32,
-}
-
-PhysicalDeviceToolProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- name: [MAX_EXTENSION_NAME_SIZE]byte,
- version: [MAX_EXTENSION_NAME_SIZE]byte,
- purposes: ToolPurposeFlags,
- description: [MAX_DESCRIPTION_SIZE]byte,
- layer: [MAX_EXTENSION_NAME_SIZE]byte,
-}
-
-PhysicalDeviceShaderDemoteToHelperInvocationFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderDemoteToHelperInvocation: b32,
-}
-
-PhysicalDevicePrivateDataFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- privateData: b32,
-}
-
-DevicePrivateDataCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- privateDataSlotRequestCount: u32,
-}
-
-PrivateDataSlotCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PrivateDataSlotCreateFlags,
-}
-
-PhysicalDevicePipelineCreationCacheControlFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- pipelineCreationCacheControl: b32,
-}
-
-MemoryBarrier2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcStageMask: PipelineStageFlags2,
- srcAccessMask: AccessFlags2,
- dstStageMask: PipelineStageFlags2,
- dstAccessMask: AccessFlags2,
-}
-
-BufferMemoryBarrier2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcStageMask: PipelineStageFlags2,
- srcAccessMask: AccessFlags2,
- dstStageMask: PipelineStageFlags2,
- dstAccessMask: AccessFlags2,
- srcQueueFamilyIndex: u32,
- dstQueueFamilyIndex: u32,
- buffer: Buffer,
- offset: DeviceSize,
- size: DeviceSize,
-}
-
-ImageMemoryBarrier2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcStageMask: PipelineStageFlags2,
- srcAccessMask: AccessFlags2,
- dstStageMask: PipelineStageFlags2,
- dstAccessMask: AccessFlags2,
- oldLayout: ImageLayout,
- newLayout: ImageLayout,
- srcQueueFamilyIndex: u32,
- dstQueueFamilyIndex: u32,
- image: Image,
- subresourceRange: ImageSubresourceRange,
-}
-
-DependencyInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- dependencyFlags: DependencyFlags,
- memoryBarrierCount: u32,
- pMemoryBarriers: [^]MemoryBarrier2,
- bufferMemoryBarrierCount: u32,
- pBufferMemoryBarriers: [^]BufferMemoryBarrier2,
- imageMemoryBarrierCount: u32,
- pImageMemoryBarriers: [^]ImageMemoryBarrier2,
-}
-
-SemaphoreSubmitInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- semaphore: Semaphore,
- value: u64,
- stageMask: PipelineStageFlags2,
- deviceIndex: u32,
-}
-
-CommandBufferSubmitInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- commandBuffer: CommandBuffer,
- deviceMask: u32,
-}
-
-SubmitInfo2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: SubmitFlags,
- waitSemaphoreInfoCount: u32,
- pWaitSemaphoreInfos: [^]SemaphoreSubmitInfo,
- commandBufferInfoCount: u32,
- pCommandBufferInfos: [^]CommandBufferSubmitInfo,
- signalSemaphoreInfoCount: u32,
- pSignalSemaphoreInfos: [^]SemaphoreSubmitInfo,
-}
-
-PhysicalDeviceSynchronization2Features :: struct {
- sType: StructureType,
- pNext: rawptr,
- synchronization2: b32,
-}
-
-PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderZeroInitializeWorkgroupMemory: b32,
-}
-
-PhysicalDeviceImageRobustnessFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- robustImageAccess: b32,
-}
-
-BufferCopy2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcOffset: DeviceSize,
- dstOffset: DeviceSize,
- size: DeviceSize,
-}
-
-CopyBufferInfo2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcBuffer: Buffer,
- dstBuffer: Buffer,
- regionCount: u32,
- pRegions: [^]BufferCopy2,
-}
-
-ImageCopy2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcSubresource: ImageSubresourceLayers,
- srcOffset: Offset3D,
- dstSubresource: ImageSubresourceLayers,
- dstOffset: Offset3D,
- extent: Extent3D,
-}
-
-CopyImageInfo2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcImage: Image,
- srcImageLayout: ImageLayout,
- dstImage: Image,
- dstImageLayout: ImageLayout,
- regionCount: u32,
- pRegions: [^]ImageCopy2,
-}
-
-BufferImageCopy2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- bufferOffset: DeviceSize,
- bufferRowLength: u32,
- bufferImageHeight: u32,
- imageSubresource: ImageSubresourceLayers,
- imageOffset: Offset3D,
- imageExtent: Extent3D,
-}
-
-CopyBufferToImageInfo2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcBuffer: Buffer,
- dstImage: Image,
- dstImageLayout: ImageLayout,
- regionCount: u32,
- pRegions: [^]BufferImageCopy2,
-}
-
-CopyImageToBufferInfo2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcImage: Image,
- srcImageLayout: ImageLayout,
- dstBuffer: Buffer,
- regionCount: u32,
- pRegions: [^]BufferImageCopy2,
-}
-
-ImageBlit2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcSubresource: ImageSubresourceLayers,
- srcOffsets: [2]Offset3D,
- dstSubresource: ImageSubresourceLayers,
- dstOffsets: [2]Offset3D,
-}
-
-BlitImageInfo2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcImage: Image,
- srcImageLayout: ImageLayout,
- dstImage: Image,
- dstImageLayout: ImageLayout,
- regionCount: u32,
- pRegions: [^]ImageBlit2,
- filter: Filter,
-}
-
-ImageResolve2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcSubresource: ImageSubresourceLayers,
- srcOffset: Offset3D,
- dstSubresource: ImageSubresourceLayers,
- dstOffset: Offset3D,
- extent: Extent3D,
-}
-
-ResolveImageInfo2 :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcImage: Image,
- srcImageLayout: ImageLayout,
- dstImage: Image,
- dstImageLayout: ImageLayout,
- regionCount: u32,
- pRegions: [^]ImageResolve2,
-}
-
-PhysicalDeviceSubgroupSizeControlFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- subgroupSizeControl: b32,
- computeFullSubgroups: b32,
-}
-
-PhysicalDeviceSubgroupSizeControlProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- minSubgroupSize: u32,
- maxSubgroupSize: u32,
- maxComputeWorkgroupSubgroups: u32,
- requiredSubgroupSizeStages: ShaderStageFlags,
-}
-
-PipelineShaderStageRequiredSubgroupSizeCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- requiredSubgroupSize: u32,
-}
-
-PhysicalDeviceInlineUniformBlockFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- inlineUniformBlock: b32,
- descriptorBindingInlineUniformBlockUpdateAfterBind: b32,
-}
-
-PhysicalDeviceInlineUniformBlockProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxInlineUniformBlockSize: u32,
- maxPerStageDescriptorInlineUniformBlocks: u32,
- maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32,
- maxDescriptorSetInlineUniformBlocks: u32,
- maxDescriptorSetUpdateAfterBindInlineUniformBlocks: u32,
-}
-
-WriteDescriptorSetInlineUniformBlock :: struct {
- sType: StructureType,
- pNext: rawptr,
- dataSize: u32,
- pData: rawptr,
-}
-
-DescriptorPoolInlineUniformBlockCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxInlineUniformBlockBindings: u32,
-}
-
-PhysicalDeviceTextureCompressionASTCHDRFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- textureCompressionASTC_HDR: b32,
-}
-
-RenderingAttachmentInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- imageView: ImageView,
- imageLayout: ImageLayout,
- resolveMode: ResolveModeFlags,
- resolveImageView: ImageView,
- resolveImageLayout: ImageLayout,
- loadOp: AttachmentLoadOp,
- storeOp: AttachmentStoreOp,
- clearValue: ClearValue,
-}
-
-RenderingInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: RenderingFlags,
- renderArea: Rect2D,
- layerCount: u32,
- viewMask: u32,
- colorAttachmentCount: u32,
- pColorAttachments: [^]RenderingAttachmentInfo,
- pDepthAttachment: ^RenderingAttachmentInfo,
- pStencilAttachment: ^RenderingAttachmentInfo,
-}
-
-PipelineRenderingCreateInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- viewMask: u32,
- colorAttachmentCount: u32,
- pColorAttachmentFormats: [^]Format,
- depthAttachmentFormat: Format,
- stencilAttachmentFormat: Format,
-}
-
-PhysicalDeviceDynamicRenderingFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- dynamicRendering: b32,
-}
-
-CommandBufferInheritanceRenderingInfo :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: RenderingFlags,
- viewMask: u32,
- colorAttachmentCount: u32,
- pColorAttachmentFormats: [^]Format,
- depthAttachmentFormat: Format,
- stencilAttachmentFormat: Format,
- rasterizationSamples: SampleCountFlags,
-}
-
-PhysicalDeviceShaderIntegerDotProductFeatures :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderIntegerDotProduct: b32,
-}
-
-PhysicalDeviceShaderIntegerDotProductProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- integerDotProduct8BitUnsignedAccelerated: b32,
- integerDotProduct8BitSignedAccelerated: b32,
- integerDotProduct8BitMixedSignednessAccelerated: b32,
- integerDotProduct4x8BitPackedUnsignedAccelerated: b32,
- integerDotProduct4x8BitPackedSignedAccelerated: b32,
- integerDotProduct4x8BitPackedMixedSignednessAccelerated: b32,
- integerDotProduct16BitUnsignedAccelerated: b32,
- integerDotProduct16BitSignedAccelerated: b32,
- integerDotProduct16BitMixedSignednessAccelerated: b32,
- integerDotProduct32BitUnsignedAccelerated: b32,
- integerDotProduct32BitSignedAccelerated: b32,
- integerDotProduct32BitMixedSignednessAccelerated: b32,
- integerDotProduct64BitUnsignedAccelerated: b32,
- integerDotProduct64BitSignedAccelerated: b32,
- integerDotProduct64BitMixedSignednessAccelerated: b32,
- integerDotProductAccumulatingSaturating8BitUnsignedAccelerated: b32,
- integerDotProductAccumulatingSaturating8BitSignedAccelerated: b32,
- integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated: b32,
- integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated: b32,
- integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated: b32,
- integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: b32,
- integerDotProductAccumulatingSaturating16BitUnsignedAccelerated: b32,
- integerDotProductAccumulatingSaturating16BitSignedAccelerated: b32,
- integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated: b32,
- integerDotProductAccumulatingSaturating32BitUnsignedAccelerated: b32,
- integerDotProductAccumulatingSaturating32BitSignedAccelerated: b32,
- integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated: b32,
- integerDotProductAccumulatingSaturating64BitUnsignedAccelerated: b32,
- integerDotProductAccumulatingSaturating64BitSignedAccelerated: b32,
- integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated: b32,
-}
-
-PhysicalDeviceTexelBufferAlignmentProperties :: struct {
- sType: StructureType,
- pNext: rawptr,
- storageTexelBufferOffsetAlignmentBytes: DeviceSize,
- storageTexelBufferOffsetSingleTexelAlignment: b32,
- uniformTexelBufferOffsetAlignmentBytes: DeviceSize,
- uniformTexelBufferOffsetSingleTexelAlignment: b32,
-}
-
-FormatProperties3 :: struct {
- sType: StructureType,
- pNext: rawptr,
- linearTilingFeatures: FormatFeatureFlags2,
- optimalTilingFeatures: FormatFeatureFlags2,
- bufferFeatures: FormatFeatureFlags2,
-}
-
-PhysicalDeviceMaintenance4Features :: struct {
- sType: StructureType,
- pNext: rawptr,
- maintenance4: b32,
-}
-
-PhysicalDeviceMaintenance4Properties :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxBufferSize: DeviceSize,
-}
-
-DeviceBufferMemoryRequirements :: struct {
- sType: StructureType,
- pNext: rawptr,
- pCreateInfo: ^BufferCreateInfo,
-}
-
-DeviceImageMemoryRequirements :: struct {
- sType: StructureType,
- pNext: rawptr,
- pCreateInfo: ^ImageCreateInfo,
- planeAspect: ImageAspectFlags,
-}
-
-SurfaceCapabilitiesKHR :: struct {
- minImageCount: u32,
- maxImageCount: u32,
- currentExtent: Extent2D,
- minImageExtent: Extent2D,
- maxImageExtent: Extent2D,
- maxImageArrayLayers: u32,
- supportedTransforms: SurfaceTransformFlagsKHR,
- currentTransform: SurfaceTransformFlagsKHR,
- supportedCompositeAlpha: CompositeAlphaFlagsKHR,
- supportedUsageFlags: ImageUsageFlags,
-}
-
-SurfaceFormatKHR :: struct {
- format: Format,
- colorSpace: ColorSpaceKHR,
-}
-
-SwapchainCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: SwapchainCreateFlagsKHR,
- surface: SurfaceKHR,
- minImageCount: u32,
- imageFormat: Format,
- imageColorSpace: ColorSpaceKHR,
- imageExtent: Extent2D,
- imageArrayLayers: u32,
- imageUsage: ImageUsageFlags,
- imageSharingMode: SharingMode,
- queueFamilyIndexCount: u32,
- pQueueFamilyIndices: [^]u32,
- preTransform: SurfaceTransformFlagsKHR,
- compositeAlpha: CompositeAlphaFlagsKHR,
- presentMode: PresentModeKHR,
- clipped: b32,
- oldSwapchain: SwapchainKHR,
-}
-
-PresentInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- waitSemaphoreCount: u32,
- pWaitSemaphores: [^]Semaphore,
- swapchainCount: u32,
- pSwapchains: [^]SwapchainKHR,
- pImageIndices: [^]u32,
- pResults: [^]Result,
-}
-
-ImageSwapchainCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- swapchain: SwapchainKHR,
-}
-
-BindImageMemorySwapchainInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- swapchain: SwapchainKHR,
- imageIndex: u32,
-}
-
-AcquireNextImageInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- swapchain: SwapchainKHR,
- timeout: u64,
- semaphore: Semaphore,
- fence: Fence,
- deviceMask: u32,
-}
-
-DeviceGroupPresentCapabilitiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- presentMask: [MAX_DEVICE_GROUP_SIZE]u32,
- modes: DeviceGroupPresentModeFlagsKHR,
-}
-
-DeviceGroupPresentInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- swapchainCount: u32,
- pDeviceMasks: [^]u32,
- mode: DeviceGroupPresentModeFlagsKHR,
-}
-
-DeviceGroupSwapchainCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- modes: DeviceGroupPresentModeFlagsKHR,
-}
-
-DisplayModeParametersKHR :: struct {
- visibleRegion: Extent2D,
- refreshRate: u32,
-}
-
-DisplayModeCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DisplayModeCreateFlagsKHR,
- parameters: DisplayModeParametersKHR,
-}
-
-DisplayModePropertiesKHR :: struct {
- displayMode: DisplayModeKHR,
- parameters: DisplayModeParametersKHR,
-}
-
-DisplayPlaneCapabilitiesKHR :: struct {
- supportedAlpha: DisplayPlaneAlphaFlagsKHR,
- minSrcPosition: Offset2D,
- maxSrcPosition: Offset2D,
- minSrcExtent: Extent2D,
- maxSrcExtent: Extent2D,
- minDstPosition: Offset2D,
- maxDstPosition: Offset2D,
- minDstExtent: Extent2D,
- maxDstExtent: Extent2D,
-}
-
-DisplayPlanePropertiesKHR :: struct {
- currentDisplay: DisplayKHR,
- currentStackIndex: u32,
-}
-
-DisplayPropertiesKHR :: struct {
- display: DisplayKHR,
- displayName: cstring,
- physicalDimensions: Extent2D,
- physicalResolution: Extent2D,
- supportedTransforms: SurfaceTransformFlagsKHR,
- planeReorderPossible: b32,
- persistentContent: b32,
-}
-
-DisplaySurfaceCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DisplaySurfaceCreateFlagsKHR,
- displayMode: DisplayModeKHR,
- planeIndex: u32,
- planeStackIndex: u32,
- transform: SurfaceTransformFlagsKHR,
- globalAlpha: f32,
- alphaMode: DisplayPlaneAlphaFlagsKHR,
- imageExtent: Extent2D,
-}
-
-DisplayPresentInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcRect: Rect2D,
- dstRect: Rect2D,
- persistent: b32,
-}
-
-QueueFamilyQueryResultStatusPropertiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- queryResultStatusSupport: b32,
-}
-
-QueueFamilyVideoPropertiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- videoCodecOperations: VideoCodecOperationFlagsKHR,
-}
-
-VideoProfileInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- videoCodecOperation: VideoCodecOperationFlagsKHR,
- chromaSubsampling: VideoChromaSubsamplingFlagsKHR,
- lumaBitDepth: VideoComponentBitDepthFlagsKHR,
- chromaBitDepth: VideoComponentBitDepthFlagsKHR,
-}
-
-VideoProfileListInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- profileCount: u32,
- pProfiles: [^]VideoProfileInfoKHR,
-}
-
-VideoCapabilitiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: VideoCapabilityFlagsKHR,
- minBitstreamBufferOffsetAlignment: DeviceSize,
- minBitstreamBufferSizeAlignment: DeviceSize,
- pictureAccessGranularity: Extent2D,
- minCodedExtent: Extent2D,
- maxCodedExtent: Extent2D,
- maxDpbSlots: u32,
- maxActiveReferencePictures: u32,
- stdHeaderVersion: ExtensionProperties,
-}
-
-PhysicalDeviceVideoFormatInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- imageUsage: ImageUsageFlags,
-}
-
-VideoFormatPropertiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- format: Format,
- componentMapping: ComponentMapping,
- imageCreateFlags: ImageCreateFlags,
- imageType: ImageType,
- imageTiling: ImageTiling,
- imageUsageFlags: ImageUsageFlags,
-}
-
-VideoPictureResourceInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- codedOffset: Offset2D,
- codedExtent: Extent2D,
- baseArrayLayer: u32,
- imageViewBinding: ImageView,
-}
-
-VideoReferenceSlotInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- slotIndex: i32,
- pPictureResource: ^VideoPictureResourceInfoKHR,
-}
-
-VideoSessionMemoryRequirementsKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- memoryBindIndex: u32,
- memoryRequirements: MemoryRequirements,
-}
-
-BindVideoSessionMemoryInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- memoryBindIndex: u32,
- memory: DeviceMemory,
- memoryOffset: DeviceSize,
- memorySize: DeviceSize,
-}
-
-VideoSessionCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- queueFamilyIndex: u32,
- flags: VideoSessionCreateFlagsKHR,
- pVideoProfile: ^VideoProfileInfoKHR,
- pictureFormat: Format,
- maxCodedExtent: Extent2D,
- referencePictureFormat: Format,
- maxDpbSlots: u32,
- maxActiveReferencePictures: u32,
- pStdHeaderVersion: ^ExtensionProperties,
-}
-
-VideoSessionParametersCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: VideoSessionParametersCreateFlagsKHR,
- videoSessionParametersTemplate: VideoSessionParametersKHR,
- videoSession: VideoSessionKHR,
-}
-
-VideoSessionParametersUpdateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- updateSequenceCount: u32,
-}
-
-VideoBeginCodingInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: VideoBeginCodingFlagsKHR,
- videoSession: VideoSessionKHR,
- videoSessionParameters: VideoSessionParametersKHR,
- referenceSlotCount: u32,
- pReferenceSlots: [^]VideoReferenceSlotInfoKHR,
-}
-
-VideoEndCodingInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: VideoEndCodingFlagsKHR,
-}
-
-VideoCodingControlInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: VideoCodingControlFlagsKHR,
-}
-
-VideoDecodeCapabilitiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: VideoDecodeCapabilityFlagsKHR,
-}
-
-VideoDecodeUsageInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- videoUsageHints: VideoDecodeUsageFlagsKHR,
-}
-
-VideoDecodeInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: VideoDecodeFlagsKHR,
- srcBuffer: Buffer,
- srcBufferOffset: DeviceSize,
- srcBufferRange: DeviceSize,
- dstPictureResource: VideoPictureResourceInfoKHR,
- pSetupReferenceSlot: ^VideoReferenceSlotInfoKHR,
- referenceSlotCount: u32,
- pReferenceSlots: [^]VideoReferenceSlotInfoKHR,
-}
-
-VideoDecodeH264ProfileInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- stdProfileIdc: VideoH264ProfileIdc,
- pictureLayout: VideoDecodeH264PictureLayoutFlagsKHR,
-}
-
-VideoDecodeH264CapabilitiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxLevelIdc: VideoH264LevelIdc,
- fieldOffsetGranularity: Offset2D,
-}
-
-VideoDecodeH264SessionParametersAddInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- stdSPSCount: u32,
- pStdSPSs: [^]VideoH264SequenceParameterSet,
- stdPPSCount: u32,
- pStdPPSs: [^]VideoH264PictureParameterSet,
-}
-
-VideoDecodeH264SessionParametersCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxStdSPSCount: u32,
- maxStdPPSCount: u32,
- pParametersAddInfo: ^VideoDecodeH264SessionParametersAddInfoKHR,
-}
-
-VideoDecodeH264PictureInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- pStdPictureInfo: ^VideoDecodeH264PictureInfo,
- sliceCount: u32,
- pSliceOffsets: [^]u32,
-}
-
-VideoDecodeH264DpbSlotInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- pStdReferenceInfo: ^VideoDecodeH264ReferenceInfo,
-}
-
-RenderingFragmentShadingRateAttachmentInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- imageView: ImageView,
- imageLayout: ImageLayout,
- shadingRateAttachmentTexelSize: Extent2D,
-}
-
-RenderingFragmentDensityMapAttachmentInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- imageView: ImageView,
- imageLayout: ImageLayout,
-}
-
-AttachmentSampleCountInfoAMD :: struct {
- sType: StructureType,
- pNext: rawptr,
- colorAttachmentCount: u32,
- pColorAttachmentSamples: [^]SampleCountFlags,
- depthStencilAttachmentSamples: SampleCountFlags,
-}
-
-MultiviewPerViewAttributesInfoNVX :: struct {
- sType: StructureType,
- pNext: rawptr,
- perViewAttributes: b32,
- perViewAttributesPositionXOnly: b32,
-}
-
-ImportMemoryFdInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- handleType: ExternalMemoryHandleTypeFlags,
- fd: c.int,
-}
-
-MemoryFdPropertiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- memoryTypeBits: u32,
-}
-
-MemoryGetFdInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- memory: DeviceMemory,
- handleType: ExternalMemoryHandleTypeFlags,
-}
-
-ImportSemaphoreFdInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- semaphore: Semaphore,
- flags: SemaphoreImportFlags,
- handleType: ExternalSemaphoreHandleTypeFlags,
- fd: c.int,
-}
-
-SemaphoreGetFdInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- semaphore: Semaphore,
- handleType: ExternalSemaphoreHandleTypeFlags,
-}
-
-PhysicalDevicePushDescriptorPropertiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxPushDescriptors: u32,
-}
-
-RectLayerKHR :: struct {
- offset: Offset2D,
- extent: Extent2D,
- layer: u32,
-}
-
-PresentRegionKHR :: struct {
- rectangleCount: u32,
- pRectangles: [^]RectLayerKHR,
-}
-
-PresentRegionsKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- swapchainCount: u32,
- pRegions: [^]PresentRegionKHR,
-}
-
-SharedPresentSurfaceCapabilitiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- sharedPresentSupportedUsageFlags: ImageUsageFlags,
-}
-
-ImportFenceFdInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- fence: Fence,
- flags: FenceImportFlags,
- handleType: ExternalFenceHandleTypeFlags,
- fd: c.int,
-}
-
-FenceGetFdInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- fence: Fence,
- handleType: ExternalFenceHandleTypeFlags,
-}
-
-PhysicalDevicePerformanceQueryFeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- performanceCounterQueryPools: b32,
- performanceCounterMultipleQueryPools: b32,
-}
-
-PhysicalDevicePerformanceQueryPropertiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- allowCommandBufferQueryCopies: b32,
-}
-
-PerformanceCounterKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- unit: PerformanceCounterUnitKHR,
- scope: PerformanceCounterScopeKHR,
- storage: PerformanceCounterStorageKHR,
- uuid: [UUID_SIZE]u8,
-}
-
-PerformanceCounterDescriptionKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PerformanceCounterDescriptionFlagsKHR,
- name: [MAX_DESCRIPTION_SIZE]byte,
- category: [MAX_DESCRIPTION_SIZE]byte,
- description: [MAX_DESCRIPTION_SIZE]byte,
-}
-
-QueryPoolPerformanceCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- queueFamilyIndex: u32,
- counterIndexCount: u32,
- pCounterIndices: [^]u32,
-}
-
-PerformanceCounterResultKHR :: struct #raw_union {
- int32: i32,
- int64: i64,
- uint32: u32,
- uint64: u64,
- float32: f32,
- float64: f64,
-}
-
-AcquireProfilingLockInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: AcquireProfilingLockFlagsKHR,
- timeout: u64,
-}
-
-PerformanceQuerySubmitInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- counterPassIndex: u32,
-}
-
-PhysicalDeviceSurfaceInfo2KHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- surface: SurfaceKHR,
-}
-
-SurfaceCapabilities2KHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- surfaceCapabilities: SurfaceCapabilitiesKHR,
-}
-
-SurfaceFormat2KHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- surfaceFormat: SurfaceFormatKHR,
-}
-
-DisplayProperties2KHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- displayProperties: DisplayPropertiesKHR,
-}
-
-DisplayPlaneProperties2KHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- displayPlaneProperties: DisplayPlanePropertiesKHR,
-}
-
-DisplayModeProperties2KHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- displayModeProperties: DisplayModePropertiesKHR,
-}
-
-DisplayPlaneInfo2KHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- mode: DisplayModeKHR,
- planeIndex: u32,
-}
-
-DisplayPlaneCapabilities2KHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- capabilities: DisplayPlaneCapabilitiesKHR,
-}
-
-PhysicalDeviceShaderClockFeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderSubgroupClock: b32,
- shaderDeviceClock: b32,
-}
-
-VideoDecodeH265ProfileInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- stdProfileIdc: VideoH265ProfileIdc,
-}
-
-VideoDecodeH265CapabilitiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxLevelIdc: VideoH265LevelIdc,
-}
-
-VideoDecodeH265SessionParametersAddInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- stdVPSCount: u32,
- pStdVPSs: [^]VideoH265VideoParameterSet,
- stdSPSCount: u32,
- pStdSPSs: [^]VideoH265SequenceParameterSet,
- stdPPSCount: u32,
- pStdPPSs: [^]VideoH265PictureParameterSet,
-}
-
-VideoDecodeH265SessionParametersCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxStdVPSCount: u32,
- maxStdSPSCount: u32,
- maxStdPPSCount: u32,
- pParametersAddInfo: ^VideoDecodeH265SessionParametersAddInfoKHR,
-}
-
-VideoDecodeH265PictureInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- pStdPictureInfo: ^VideoDecodeH265PictureInfo,
- sliceSegmentCount: u32,
- pSliceSegmentOffsets: [^]u32,
-}
-
-VideoDecodeH265DpbSlotInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- pStdReferenceInfo: ^VideoDecodeH265ReferenceInfo,
-}
-
-DeviceQueueGlobalPriorityCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- globalPriority: QueueGlobalPriorityKHR,
-}
-
-PhysicalDeviceGlobalPriorityQueryFeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- globalPriorityQuery: b32,
-}
-
-QueueFamilyGlobalPriorityPropertiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- priorityCount: u32,
- priorities: [MAX_GLOBAL_PRIORITY_SIZE_KHR]QueueGlobalPriorityKHR,
-}
-
-FragmentShadingRateAttachmentInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- pFragmentShadingRateAttachment: ^AttachmentReference2,
- shadingRateAttachmentTexelSize: Extent2D,
-}
-
-PipelineFragmentShadingRateStateCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- fragmentSize: Extent2D,
- combinerOps: [2]FragmentShadingRateCombinerOpKHR,
-}
-
-PhysicalDeviceFragmentShadingRateFeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- pipelineFragmentShadingRate: b32,
- primitiveFragmentShadingRate: b32,
- attachmentFragmentShadingRate: b32,
-}
-
-PhysicalDeviceFragmentShadingRatePropertiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- minFragmentShadingRateAttachmentTexelSize: Extent2D,
- maxFragmentShadingRateAttachmentTexelSize: Extent2D,
- maxFragmentShadingRateAttachmentTexelSizeAspectRatio: u32,
- primitiveFragmentShadingRateWithMultipleViewports: b32,
- layeredShadingRateAttachments: b32,
- fragmentShadingRateNonTrivialCombinerOps: b32,
- maxFragmentSize: Extent2D,
- maxFragmentSizeAspectRatio: u32,
- maxFragmentShadingRateCoverageSamples: u32,
- maxFragmentShadingRateRasterizationSamples: SampleCountFlags,
- fragmentShadingRateWithShaderDepthStencilWrites: b32,
- fragmentShadingRateWithSampleMask: b32,
- fragmentShadingRateWithShaderSampleMask: b32,
- fragmentShadingRateWithConservativeRasterization: b32,
- fragmentShadingRateWithFragmentShaderInterlock: b32,
- fragmentShadingRateWithCustomSampleLocations: b32,
- fragmentShadingRateStrictMultiplyCombiner: b32,
-}
-
-PhysicalDeviceFragmentShadingRateKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- sampleCounts: SampleCountFlags,
- fragmentSize: Extent2D,
-}
-
-SurfaceProtectedCapabilitiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- supportsProtected: b32,
-}
-
-PhysicalDevicePresentWaitFeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- presentWait: b32,
-}
-
-PhysicalDevicePipelineExecutablePropertiesFeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- pipelineExecutableInfo: b32,
-}
-
-PipelineInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- pipeline: Pipeline,
-}
-
-PipelineExecutablePropertiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- stages: ShaderStageFlags,
- name: [MAX_DESCRIPTION_SIZE]byte,
- description: [MAX_DESCRIPTION_SIZE]byte,
- subgroupSize: u32,
-}
-
-PipelineExecutableInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- pipeline: Pipeline,
- executableIndex: u32,
-}
-
-PipelineExecutableStatisticValueKHR :: struct #raw_union {
- b32: b32,
- i64: i64,
- u64: u64,
- f64: f64,
-}
-
-PipelineExecutableStatisticKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- name: [MAX_DESCRIPTION_SIZE]byte,
- description: [MAX_DESCRIPTION_SIZE]byte,
- format: PipelineExecutableStatisticFormatKHR,
- value: PipelineExecutableStatisticValueKHR,
-}
-
-PipelineExecutableInternalRepresentationKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- name: [MAX_DESCRIPTION_SIZE]byte,
- description: [MAX_DESCRIPTION_SIZE]byte,
- isText: b32,
- dataSize: int,
- pData: rawptr,
-}
-
-MemoryMapInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: MemoryMapFlags,
- memory: DeviceMemory,
- offset: DeviceSize,
- size: DeviceSize,
-}
-
-MemoryUnmapInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: MemoryUnmapFlagsKHR,
- memory: DeviceMemory,
-}
-
-PipelineLibraryCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- libraryCount: u32,
- pLibraries: [^]Pipeline,
-}
-
-PresentIdKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- swapchainCount: u32,
- pPresentIds: [^]u64,
-}
-
-PhysicalDevicePresentIdFeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- presentId: b32,
-}
-
-QueueFamilyCheckpointProperties2NV :: struct {
- sType: StructureType,
- pNext: rawptr,
- checkpointExecutionStageMask: PipelineStageFlags2,
-}
-
-CheckpointData2NV :: struct {
- sType: StructureType,
- pNext: rawptr,
- stage: PipelineStageFlags2,
- pCheckpointMarker: rawptr,
-}
-
-PhysicalDeviceFragmentShaderBarycentricFeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- fragmentShaderBarycentric: b32,
-}
-
-PhysicalDeviceFragmentShaderBarycentricPropertiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- triStripVertexOrderIndependentOfProvokingVertex: b32,
-}
-
-PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderSubgroupUniformControlFlow: b32,
-}
-
-PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- workgroupMemoryExplicitLayout: b32,
- workgroupMemoryExplicitLayoutScalarBlockLayout: b32,
- workgroupMemoryExplicitLayout8BitAccess: b32,
- workgroupMemoryExplicitLayout16BitAccess: b32,
-}
-
-PhysicalDeviceRayTracingMaintenance1FeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- rayTracingMaintenance1: b32,
- rayTracingPipelineTraceRaysIndirect2: b32,
-}
-
-TraceRaysIndirectCommand2KHR :: struct {
- raygenShaderRecordAddress: DeviceAddress,
- raygenShaderRecordSize: DeviceSize,
- missShaderBindingTableAddress: DeviceAddress,
- missShaderBindingTableSize: DeviceSize,
- missShaderBindingTableStride: DeviceSize,
- hitShaderBindingTableAddress: DeviceAddress,
- hitShaderBindingTableSize: DeviceSize,
- hitShaderBindingTableStride: DeviceSize,
- callableShaderBindingTableAddress: DeviceAddress,
- callableShaderBindingTableSize: DeviceSize,
- callableShaderBindingTableStride: DeviceSize,
- width: u32,
- height: u32,
- depth: u32,
-}
-
-PhysicalDeviceRayTracingPositionFetchFeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- rayTracingPositionFetch: b32,
-}
-
-DebugReportCallbackCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DebugReportFlagsEXT,
- pfnCallback: ProcDebugReportCallbackEXT,
- pUserData: rawptr,
-}
-
-PipelineRasterizationStateRasterizationOrderAMD :: struct {
- sType: StructureType,
- pNext: rawptr,
- rasterizationOrder: RasterizationOrderAMD,
-}
-
-DebugMarkerObjectNameInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- objectType: DebugReportObjectTypeEXT,
- object: u64,
- pObjectName: cstring,
-}
-
-DebugMarkerObjectTagInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- objectType: DebugReportObjectTypeEXT,
- object: u64,
- tagName: u64,
- tagSize: int,
- pTag: rawptr,
-}
-
-DebugMarkerMarkerInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- pMarkerName: cstring,
- color: [4]f32,
-}
-
-DedicatedAllocationImageCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- dedicatedAllocation: b32,
-}
-
-DedicatedAllocationBufferCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- dedicatedAllocation: b32,
-}
-
-DedicatedAllocationMemoryAllocateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- image: Image,
- buffer: Buffer,
-}
-
-PhysicalDeviceTransformFeedbackFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- transformFeedback: b32,
- geometryStreams: b32,
-}
-
-PhysicalDeviceTransformFeedbackPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxTransformFeedbackStreams: u32,
- maxTransformFeedbackBuffers: u32,
- maxTransformFeedbackBufferSize: DeviceSize,
- maxTransformFeedbackStreamDataSize: u32,
- maxTransformFeedbackBufferDataSize: u32,
- maxTransformFeedbackBufferDataStride: u32,
- transformFeedbackQueries: b32,
- transformFeedbackStreamsLinesTriangles: b32,
- transformFeedbackRasterizationStreamSelect: b32,
- transformFeedbackDraw: b32,
-}
-
-PipelineRasterizationStateStreamCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineRasterizationStateStreamCreateFlagsEXT,
- rasterizationStream: u32,
-}
-
-CuModuleCreateInfoNVX :: struct {
- sType: StructureType,
- pNext: rawptr,
- dataSize: int,
- pData: rawptr,
-}
-
-CuFunctionCreateInfoNVX :: struct {
- sType: StructureType,
- pNext: rawptr,
- module: CuModuleNVX,
- pName: cstring,
-}
-
-CuLaunchInfoNVX :: struct {
- sType: StructureType,
- pNext: rawptr,
- function: CuFunctionNVX,
- gridDimX: u32,
- gridDimY: u32,
- gridDimZ: u32,
- blockDimX: u32,
- blockDimY: u32,
- blockDimZ: u32,
- sharedMemBytes: u32,
- paramCount: int,
- pParams: [^]rawptr,
- extraCount: int,
- pExtras: [^]rawptr,
-}
-
-ImageViewHandleInfoNVX :: struct {
- sType: StructureType,
- pNext: rawptr,
- imageView: ImageView,
- descriptorType: DescriptorType,
- sampler: Sampler,
-}
-
-ImageViewAddressPropertiesNVX :: struct {
- sType: StructureType,
- pNext: rawptr,
- deviceAddress: DeviceAddress,
- size: DeviceSize,
-}
-
-TextureLODGatherFormatPropertiesAMD :: struct {
- sType: StructureType,
- pNext: rawptr,
- supportsTextureGatherLODBiasAMD: b32,
-}
-
-ShaderResourceUsageAMD :: struct {
- numUsedVgprs: u32,
- numUsedSgprs: u32,
- ldsSizePerLocalWorkGroup: u32,
- ldsUsageSizeInBytes: int,
- scratchMemUsageInBytes: int,
-}
-
-ShaderStatisticsInfoAMD :: struct {
- shaderStageMask: ShaderStageFlags,
- resourceUsage: ShaderResourceUsageAMD,
- numPhysicalVgprs: u32,
- numPhysicalSgprs: u32,
- numAvailableVgprs: u32,
- numAvailableSgprs: u32,
- computeWorkGroupSize: [3]u32,
-}
-
-PhysicalDeviceCornerSampledImageFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- cornerSampledImage: b32,
-}
-
-ExternalImageFormatPropertiesNV :: struct {
- imageFormatProperties: ImageFormatProperties,
- externalMemoryFeatures: ExternalMemoryFeatureFlagsNV,
- exportFromImportedHandleTypes: ExternalMemoryHandleTypeFlagsNV,
- compatibleHandleTypes: ExternalMemoryHandleTypeFlagsNV,
-}
-
-ExternalMemoryImageCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- handleTypes: ExternalMemoryHandleTypeFlagsNV,
-}
-
-ExportMemoryAllocateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- handleTypes: ExternalMemoryHandleTypeFlagsNV,
-}
-
-ValidationFlagsEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- disabledValidationCheckCount: u32,
- pDisabledValidationChecks: [^]ValidationCheckEXT,
-}
-
-ImageViewASTCDecodeModeEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- decodeMode: Format,
-}
-
-PhysicalDeviceASTCDecodeFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- decodeModeSharedExponent: b32,
-}
-
-PhysicalDevicePipelineRobustnessFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- pipelineRobustness: b32,
-}
-
-PhysicalDevicePipelineRobustnessPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- defaultRobustnessStorageBuffers: PipelineRobustnessBufferBehaviorEXT,
- defaultRobustnessUniformBuffers: PipelineRobustnessBufferBehaviorEXT,
- defaultRobustnessVertexInputs: PipelineRobustnessBufferBehaviorEXT,
- defaultRobustnessImages: PipelineRobustnessImageBehaviorEXT,
-}
-
-PipelineRobustnessCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- storageBuffers: PipelineRobustnessBufferBehaviorEXT,
- uniformBuffers: PipelineRobustnessBufferBehaviorEXT,
- vertexInputs: PipelineRobustnessBufferBehaviorEXT,
- images: PipelineRobustnessImageBehaviorEXT,
-}
-
-ConditionalRenderingBeginInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- buffer: Buffer,
- offset: DeviceSize,
- flags: ConditionalRenderingFlagsEXT,
-}
-
-PhysicalDeviceConditionalRenderingFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- conditionalRendering: b32,
- inheritedConditionalRendering: b32,
-}
-
-CommandBufferInheritanceConditionalRenderingInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- conditionalRenderingEnable: b32,
-}
-
-ViewportWScalingNV :: struct {
- xcoeff: f32,
- ycoeff: f32,
-}
-
-PipelineViewportWScalingStateCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- viewportWScalingEnable: b32,
- viewportCount: u32,
- pViewportWScalings: [^]ViewportWScalingNV,
-}
-
-SurfaceCapabilities2EXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- minImageCount: u32,
- maxImageCount: u32,
- currentExtent: Extent2D,
- minImageExtent: Extent2D,
- maxImageExtent: Extent2D,
- maxImageArrayLayers: u32,
- supportedTransforms: SurfaceTransformFlagsKHR,
- currentTransform: SurfaceTransformFlagsKHR,
- supportedCompositeAlpha: CompositeAlphaFlagsKHR,
- supportedUsageFlags: ImageUsageFlags,
- supportedSurfaceCounters: SurfaceCounterFlagsEXT,
-}
-
-DisplayPowerInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- powerState: DisplayPowerStateEXT,
-}
-
-DeviceEventInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- deviceEvent: DeviceEventTypeEXT,
-}
-
-DisplayEventInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- displayEvent: DisplayEventTypeEXT,
-}
-
-SwapchainCounterCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- surfaceCounters: SurfaceCounterFlagsEXT,
-}
-
-RefreshCycleDurationGOOGLE :: struct {
- refreshDuration: u64,
-}
-
-PastPresentationTimingGOOGLE :: struct {
- presentID: u32,
- desiredPresentTime: u64,
- actualPresentTime: u64,
- earliestPresentTime: u64,
- presentMargin: u64,
-}
-
-PresentTimeGOOGLE :: struct {
- presentID: u32,
- desiredPresentTime: u64,
-}
-
-PresentTimesInfoGOOGLE :: struct {
- sType: StructureType,
- pNext: rawptr,
- swapchainCount: u32,
- pTimes: [^]PresentTimeGOOGLE,
-}
-
-PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX :: struct {
- sType: StructureType,
- pNext: rawptr,
- perViewPositionAllComponents: b32,
-}
-
-ViewportSwizzleNV :: struct {
- x: ViewportCoordinateSwizzleNV,
- y: ViewportCoordinateSwizzleNV,
- z: ViewportCoordinateSwizzleNV,
- w: ViewportCoordinateSwizzleNV,
-}
-
-PipelineViewportSwizzleStateCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineViewportSwizzleStateCreateFlagsNV,
- viewportCount: u32,
- pViewportSwizzles: [^]ViewportSwizzleNV,
-}
-
-PhysicalDeviceDiscardRectanglePropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxDiscardRectangles: u32,
-}
-
-PipelineDiscardRectangleStateCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineDiscardRectangleStateCreateFlagsEXT,
- discardRectangleMode: DiscardRectangleModeEXT,
- discardRectangleCount: u32,
- pDiscardRectangles: [^]Rect2D,
-}
-
-PhysicalDeviceConservativeRasterizationPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- primitiveOverestimationSize: f32,
- maxExtraPrimitiveOverestimationSize: f32,
- extraPrimitiveOverestimationSizeGranularity: f32,
- primitiveUnderestimation: b32,
- conservativePointAndLineRasterization: b32,
- degenerateTrianglesRasterized: b32,
- degenerateLinesRasterized: b32,
- fullyCoveredFragmentShaderInputVariable: b32,
- conservativeRasterizationPostDepthCoverage: b32,
-}
-
-PipelineRasterizationConservativeStateCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineRasterizationConservativeStateCreateFlagsEXT,
- conservativeRasterizationMode: ConservativeRasterizationModeEXT,
- extraPrimitiveOverestimationSize: f32,
-}
-
-PhysicalDeviceDepthClipEnableFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- depthClipEnable: b32,
-}
-
-PipelineRasterizationDepthClipStateCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineRasterizationDepthClipStateCreateFlagsEXT,
- depthClipEnable: b32,
-}
-
-XYColorEXT :: struct {
- x: f32,
- y: f32,
-}
-
-HdrMetadataEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- displayPrimaryRed: XYColorEXT,
- displayPrimaryGreen: XYColorEXT,
- displayPrimaryBlue: XYColorEXT,
- whitePoint: XYColorEXT,
- maxLuminance: f32,
- minLuminance: f32,
- maxContentLightLevel: f32,
- maxFrameAverageLightLevel: f32,
-}
-
-DebugUtilsLabelEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- pLabelName: cstring,
- color: [4]f32,
-}
-
-DebugUtilsObjectNameInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- objectType: ObjectType,
- objectHandle: u64,
- pObjectName: cstring,
-}
-
-DebugUtilsMessengerCallbackDataEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DebugUtilsMessengerCallbackDataFlagsEXT,
- pMessageIdName: cstring,
- messageIdNumber: i32,
- pMessage: cstring,
- queueLabelCount: u32,
- pQueueLabels: [^]DebugUtilsLabelEXT,
- cmdBufLabelCount: u32,
- pCmdBufLabels: [^]DebugUtilsLabelEXT,
- objectCount: u32,
- pObjects: [^]DebugUtilsObjectNameInfoEXT,
-}
-
-DebugUtilsMessengerCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DebugUtilsMessengerCreateFlagsEXT,
- messageSeverity: DebugUtilsMessageSeverityFlagsEXT,
- messageType: DebugUtilsMessageTypeFlagsEXT,
- pfnUserCallback: ProcDebugUtilsMessengerCallbackEXT,
- pUserData: rawptr,
-}
-
-DebugUtilsObjectTagInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- objectType: ObjectType,
- objectHandle: u64,
- tagName: u64,
- tagSize: int,
- pTag: rawptr,
-}
-
-SampleLocationEXT :: struct {
- x: f32,
- y: f32,
-}
-
-SampleLocationsInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- sampleLocationsPerPixel: SampleCountFlags,
- sampleLocationGridSize: Extent2D,
- sampleLocationsCount: u32,
- pSampleLocations: [^]SampleLocationEXT,
-}
-
-AttachmentSampleLocationsEXT :: struct {
- attachmentIndex: u32,
- sampleLocationsInfo: SampleLocationsInfoEXT,
-}
-
-SubpassSampleLocationsEXT :: struct {
- subpassIndex: u32,
- sampleLocationsInfo: SampleLocationsInfoEXT,
-}
-
-RenderPassSampleLocationsBeginInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- attachmentInitialSampleLocationsCount: u32,
- pAttachmentInitialSampleLocations: [^]AttachmentSampleLocationsEXT,
- postSubpassSampleLocationsCount: u32,
- pPostSubpassSampleLocations: [^]SubpassSampleLocationsEXT,
-}
-
-PipelineSampleLocationsStateCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- sampleLocationsEnable: b32,
- sampleLocationsInfo: SampleLocationsInfoEXT,
-}
-
-PhysicalDeviceSampleLocationsPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- sampleLocationSampleCounts: SampleCountFlags,
- maxSampleLocationGridSize: Extent2D,
- sampleLocationCoordinateRange: [2]f32,
- sampleLocationSubPixelBits: u32,
- variableSampleLocations: b32,
-}
-
-MultisamplePropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxSampleLocationGridSize: Extent2D,
-}
-
-PhysicalDeviceBlendOperationAdvancedFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- advancedBlendCoherentOperations: b32,
-}
-
-PhysicalDeviceBlendOperationAdvancedPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- advancedBlendMaxColorAttachments: u32,
- advancedBlendIndependentBlend: b32,
- advancedBlendNonPremultipliedSrcColor: b32,
- advancedBlendNonPremultipliedDstColor: b32,
- advancedBlendCorrelatedOverlap: b32,
- advancedBlendAllOperations: b32,
-}
-
-PipelineColorBlendAdvancedStateCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- srcPremultiplied: b32,
- dstPremultiplied: b32,
- blendOverlap: BlendOverlapEXT,
-}
-
-PipelineCoverageToColorStateCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineCoverageToColorStateCreateFlagsNV,
- coverageToColorEnable: b32,
- coverageToColorLocation: u32,
-}
-
-PipelineCoverageModulationStateCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineCoverageModulationStateCreateFlagsNV,
- coverageModulationMode: CoverageModulationModeNV,
- coverageModulationTableEnable: b32,
- coverageModulationTableCount: u32,
- pCoverageModulationTable: [^]f32,
-}
-
-PhysicalDeviceShaderSMBuiltinsPropertiesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderSMCount: u32,
- shaderWarpsPerSM: u32,
-}
-
-PhysicalDeviceShaderSMBuiltinsFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderSMBuiltins: b32,
-}
-
-DrmFormatModifierPropertiesEXT :: struct {
- drmFormatModifier: u64,
- drmFormatModifierPlaneCount: u32,
- drmFormatModifierTilingFeatures: FormatFeatureFlags,
-}
-
-DrmFormatModifierPropertiesListEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- drmFormatModifierCount: u32,
- pDrmFormatModifierProperties: [^]DrmFormatModifierPropertiesEXT,
-}
-
-PhysicalDeviceImageDrmFormatModifierInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- drmFormatModifier: u64,
- sharingMode: SharingMode,
- queueFamilyIndexCount: u32,
- pQueueFamilyIndices: [^]u32,
-}
-
-ImageDrmFormatModifierListCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- drmFormatModifierCount: u32,
- pDrmFormatModifiers: [^]u64,
-}
-
-ImageDrmFormatModifierExplicitCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- drmFormatModifier: u64,
- drmFormatModifierPlaneCount: u32,
- pPlaneLayouts: [^]SubresourceLayout,
-}
-
-ImageDrmFormatModifierPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- drmFormatModifier: u64,
-}
-
-DrmFormatModifierProperties2EXT :: struct {
- drmFormatModifier: u64,
- drmFormatModifierPlaneCount: u32,
- drmFormatModifierTilingFeatures: FormatFeatureFlags2,
-}
-
-DrmFormatModifierPropertiesList2EXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- drmFormatModifierCount: u32,
- pDrmFormatModifierProperties: [^]DrmFormatModifierProperties2EXT,
-}
-
-ValidationCacheCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: ValidationCacheCreateFlagsEXT,
- initialDataSize: int,
- pInitialData: rawptr,
-}
-
-ShaderModuleValidationCacheCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- validationCache: ValidationCacheEXT,
-}
-
-ShadingRatePaletteNV :: struct {
- shadingRatePaletteEntryCount: u32,
- pShadingRatePaletteEntries: [^]ShadingRatePaletteEntryNV,
-}
-
-PipelineViewportShadingRateImageStateCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- shadingRateImageEnable: b32,
- viewportCount: u32,
- pShadingRatePalettes: [^]ShadingRatePaletteNV,
-}
-
-PhysicalDeviceShadingRateImageFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- shadingRateImage: b32,
- shadingRateCoarseSampleOrder: b32,
-}
-
-PhysicalDeviceShadingRateImagePropertiesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- shadingRateTexelSize: Extent2D,
- shadingRatePaletteSize: u32,
- shadingRateMaxCoarseSamples: u32,
-}
-
-CoarseSampleLocationNV :: struct {
- pixelX: u32,
- pixelY: u32,
- sample: u32,
-}
-
-CoarseSampleOrderCustomNV :: struct {
- shadingRate: ShadingRatePaletteEntryNV,
- sampleCount: u32,
- sampleLocationCount: u32,
- pSampleLocations: [^]CoarseSampleLocationNV,
-}
-
-PipelineViewportCoarseSampleOrderStateCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- sampleOrderType: CoarseSampleOrderTypeNV,
- customSampleOrderCount: u32,
- pCustomSampleOrders: [^]CoarseSampleOrderCustomNV,
-}
-
-RayTracingShaderGroupCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- type: RayTracingShaderGroupTypeKHR,
- generalShader: u32,
- closestHitShader: u32,
- anyHitShader: u32,
- intersectionShader: u32,
-}
-
-RayTracingPipelineCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineCreateFlags,
- stageCount: u32,
- pStages: [^]PipelineShaderStageCreateInfo,
- groupCount: u32,
- pGroups: [^]RayTracingShaderGroupCreateInfoNV,
- maxRecursionDepth: u32,
- layout: PipelineLayout,
- basePipelineHandle: Pipeline,
- basePipelineIndex: i32,
-}
-
-GeometryTrianglesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- vertexData: Buffer,
- vertexOffset: DeviceSize,
- vertexCount: u32,
- vertexStride: DeviceSize,
- vertexFormat: Format,
- indexData: Buffer,
- indexOffset: DeviceSize,
- indexCount: u32,
- indexType: IndexType,
- transformData: Buffer,
- transformOffset: DeviceSize,
-}
-
-GeometryAABBNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- aabbData: Buffer,
- numAABBs: u32,
- stride: u32,
- offset: DeviceSize,
-}
-
-GeometryDataNV :: struct {
- triangles: GeometryTrianglesNV,
- aabbs: GeometryAABBNV,
-}
-
-GeometryNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- geometryType: GeometryTypeKHR,
- geometry: GeometryDataNV,
- flags: GeometryFlagsKHR,
-}
-
-AccelerationStructureInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- type: AccelerationStructureTypeNV,
- flags: BuildAccelerationStructureFlagsNV,
- instanceCount: u32,
- geometryCount: u32,
- pGeometries: [^]GeometryNV,
-}
-
-AccelerationStructureCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- compactedSize: DeviceSize,
- info: AccelerationStructureInfoNV,
-}
-
-BindAccelerationStructureMemoryInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- accelerationStructure: AccelerationStructureNV,
- memory: DeviceMemory,
- memoryOffset: DeviceSize,
- deviceIndexCount: u32,
- pDeviceIndices: [^]u32,
-}
-
-WriteDescriptorSetAccelerationStructureNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- accelerationStructureCount: u32,
- pAccelerationStructures: [^]AccelerationStructureNV,
-}
-
-AccelerationStructureMemoryRequirementsInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- type: AccelerationStructureMemoryRequirementsTypeNV,
- accelerationStructure: AccelerationStructureNV,
-}
-
-PhysicalDeviceRayTracingPropertiesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderGroupHandleSize: u32,
- maxRecursionDepth: u32,
- maxShaderGroupStride: u32,
- shaderGroupBaseAlignment: u32,
- maxGeometryCount: u64,
- maxInstanceCount: u64,
- maxTriangleCount: u64,
- maxDescriptorSetAccelerationStructures: u32,
-}
-
-TransformMatrixKHR :: struct {
- mat: [3][4]f32,
-}
-
-AabbPositionsKHR :: struct {
- minX: f32,
- minY: f32,
- minZ: f32,
- maxX: f32,
- maxY: f32,
- maxZ: f32,
-}
-
-AccelerationStructureInstanceKHR :: struct {
- transform: TransformMatrixKHR,
- accelerationStructureReference: u64,
-}
-
-PhysicalDeviceRepresentativeFragmentTestFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- representativeFragmentTest: b32,
-}
-
-PipelineRepresentativeFragmentTestStateCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- representativeFragmentTestEnable: b32,
-}
-
-PhysicalDeviceImageViewImageFormatInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- imageViewType: ImageViewType,
-}
-
-FilterCubicImageViewImageFormatPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- filterCubic: b32,
- filterCubicMinmax: b32,
-}
-
-ImportMemoryHostPointerInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- handleType: ExternalMemoryHandleTypeFlags,
- pHostPointer: rawptr,
-}
-
-MemoryHostPointerPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- memoryTypeBits: u32,
-}
-
-PhysicalDeviceExternalMemoryHostPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- minImportedHostPointerAlignment: DeviceSize,
-}
-
-PipelineCompilerControlCreateInfoAMD :: struct {
- sType: StructureType,
- pNext: rawptr,
- compilerControlFlags: PipelineCompilerControlFlagsAMD,
-}
-
-CalibratedTimestampInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- timeDomain: TimeDomainEXT,
-}
-
-PhysicalDeviceShaderCorePropertiesAMD :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderEngineCount: u32,
- shaderArraysPerEngineCount: u32,
- computeUnitsPerShaderArray: u32,
- simdPerComputeUnit: u32,
- wavefrontsPerSimd: u32,
- wavefrontSize: u32,
- sgprsPerSimd: u32,
- minSgprAllocation: u32,
- maxSgprAllocation: u32,
- sgprAllocationGranularity: u32,
- vgprsPerSimd: u32,
- minVgprAllocation: u32,
- maxVgprAllocation: u32,
- vgprAllocationGranularity: u32,
-}
-
-DeviceMemoryOverallocationCreateInfoAMD :: struct {
- sType: StructureType,
- pNext: rawptr,
- overallocationBehavior: MemoryOverallocationBehaviorAMD,
-}
-
-PhysicalDeviceVertexAttributeDivisorPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxVertexAttribDivisor: u32,
-}
-
-VertexInputBindingDivisorDescriptionEXT :: struct {
- binding: u32,
- divisor: u32,
-}
-
-PipelineVertexInputDivisorStateCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- vertexBindingDivisorCount: u32,
- pVertexBindingDivisors: [^]VertexInputBindingDivisorDescriptionEXT,
-}
-
-PhysicalDeviceVertexAttributeDivisorFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- vertexAttributeInstanceRateDivisor: b32,
- vertexAttributeInstanceRateZeroDivisor: b32,
-}
-
-PhysicalDeviceComputeShaderDerivativesFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- computeDerivativeGroupQuads: b32,
- computeDerivativeGroupLinear: b32,
-}
-
-PhysicalDeviceMeshShaderFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- taskShader: b32,
- meshShader: b32,
-}
-
-PhysicalDeviceMeshShaderPropertiesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxDrawMeshTasksCount: u32,
- maxTaskWorkGroupInvocations: u32,
- maxTaskWorkGroupSize: [3]u32,
- maxTaskTotalMemorySize: u32,
- maxTaskOutputCount: u32,
- maxMeshWorkGroupInvocations: u32,
- maxMeshWorkGroupSize: [3]u32,
- maxMeshTotalMemorySize: u32,
- maxMeshOutputVertices: u32,
- maxMeshOutputPrimitives: u32,
- maxMeshMultiviewViewCount: u32,
- meshOutputPerVertexGranularity: u32,
- meshOutputPerPrimitiveGranularity: u32,
-}
-
-DrawMeshTasksIndirectCommandNV :: struct {
- taskCount: u32,
- firstTask: u32,
-}
-
-PhysicalDeviceShaderImageFootprintFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- imageFootprint: b32,
-}
-
-PipelineViewportExclusiveScissorStateCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- exclusiveScissorCount: u32,
- pExclusiveScissors: [^]Rect2D,
-}
-
-PhysicalDeviceExclusiveScissorFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- exclusiveScissor: b32,
-}
-
-QueueFamilyCheckpointPropertiesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- checkpointExecutionStageMask: PipelineStageFlags,
-}
-
-CheckpointDataNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- stage: PipelineStageFlags,
- pCheckpointMarker: rawptr,
-}
-
-PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderIntegerFunctions2: b32,
-}
-
-PerformanceValueDataINTEL :: struct #raw_union {
- value32: u32,
- value64: u64,
- valueFloat: f32,
- valueBool: b32,
- valueString: cstring,
-}
-
-PerformanceValueINTEL :: struct {
- type: PerformanceValueTypeINTEL,
- data: PerformanceValueDataINTEL,
-}
-
-InitializePerformanceApiInfoINTEL :: struct {
- sType: StructureType,
- pNext: rawptr,
- pUserData: rawptr,
-}
-
-QueryPoolPerformanceQueryCreateInfoINTEL :: struct {
- sType: StructureType,
- pNext: rawptr,
- performanceCountersSampling: QueryPoolSamplingModeINTEL,
-}
-
-PerformanceMarkerInfoINTEL :: struct {
- sType: StructureType,
- pNext: rawptr,
- marker: u64,
-}
-
-PerformanceStreamMarkerInfoINTEL :: struct {
- sType: StructureType,
- pNext: rawptr,
- marker: u32,
-}
-
-PerformanceOverrideInfoINTEL :: struct {
- sType: StructureType,
- pNext: rawptr,
- type: PerformanceOverrideTypeINTEL,
- enable: b32,
- parameter: u64,
-}
-
-PerformanceConfigurationAcquireInfoINTEL :: struct {
- sType: StructureType,
- pNext: rawptr,
- type: PerformanceConfigurationTypeINTEL,
-}
-
-PhysicalDevicePCIBusInfoPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- pciDomain: u32,
- pciBus: u32,
- pciDevice: u32,
- pciFunction: u32,
-}
-
-DisplayNativeHdrSurfaceCapabilitiesAMD :: struct {
- sType: StructureType,
- pNext: rawptr,
- localDimmingSupport: b32,
-}
-
-SwapchainDisplayNativeHdrCreateInfoAMD :: struct {
- sType: StructureType,
- pNext: rawptr,
- localDimmingEnable: b32,
-}
-
-PhysicalDeviceFragmentDensityMapFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- fragmentDensityMap: b32,
- fragmentDensityMapDynamic: b32,
- fragmentDensityMapNonSubsampledImages: b32,
-}
-
-PhysicalDeviceFragmentDensityMapPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- minFragmentDensityTexelSize: Extent2D,
- maxFragmentDensityTexelSize: Extent2D,
- fragmentDensityInvocations: b32,
-}
-
-RenderPassFragmentDensityMapCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- fragmentDensityMapAttachment: AttachmentReference,
-}
-
-PhysicalDeviceShaderCoreProperties2AMD :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderCoreFeatures: ShaderCorePropertiesFlagsAMD,
- activeComputeUnitCount: u32,
-}
-
-PhysicalDeviceCoherentMemoryFeaturesAMD :: struct {
- sType: StructureType,
- pNext: rawptr,
- deviceCoherentMemory: b32,
-}
-
-PhysicalDeviceShaderImageAtomicInt64FeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderImageInt64Atomics: b32,
- sparseImageInt64Atomics: b32,
-}
-
-PhysicalDeviceMemoryBudgetPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- heapBudget: [MAX_MEMORY_HEAPS]DeviceSize,
- heapUsage: [MAX_MEMORY_HEAPS]DeviceSize,
-}
-
-PhysicalDeviceMemoryPriorityFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- memoryPriority: b32,
-}
-
-MemoryPriorityAllocateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- priority: f32,
-}
-
-PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- dedicatedAllocationImageAliasing: b32,
-}
-
-PhysicalDeviceBufferDeviceAddressFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- bufferDeviceAddress: b32,
- bufferDeviceAddressCaptureReplay: b32,
- bufferDeviceAddressMultiDevice: b32,
-}
-
-BufferDeviceAddressCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- deviceAddress: DeviceAddress,
-}
-
-ValidationFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- enabledValidationFeatureCount: u32,
- pEnabledValidationFeatures: [^]ValidationFeatureEnableEXT,
- disabledValidationFeatureCount: u32,
- pDisabledValidationFeatures: [^]ValidationFeatureDisableEXT,
-}
-
-CooperativeMatrixPropertiesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- MSize: u32,
- NSize: u32,
- KSize: u32,
- AType: ComponentTypeNV,
- BType: ComponentTypeNV,
- CType: ComponentTypeNV,
- DType: ComponentTypeNV,
- scope: ScopeNV,
-}
-
-PhysicalDeviceCooperativeMatrixFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- cooperativeMatrix: b32,
- cooperativeMatrixRobustBufferAccess: b32,
-}
-
-PhysicalDeviceCooperativeMatrixPropertiesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- cooperativeMatrixSupportedStages: ShaderStageFlags,
-}
-
-PhysicalDeviceCoverageReductionModeFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- coverageReductionMode: b32,
-}
-
-PipelineCoverageReductionStateCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineCoverageReductionStateCreateFlagsNV,
- coverageReductionMode: CoverageReductionModeNV,
-}
-
-FramebufferMixedSamplesCombinationNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- coverageReductionMode: CoverageReductionModeNV,
- rasterizationSamples: SampleCountFlags,
- depthStencilSamples: SampleCountFlags,
- colorSamples: SampleCountFlags,
-}
-
-PhysicalDeviceFragmentShaderInterlockFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- fragmentShaderSampleInterlock: b32,
- fragmentShaderPixelInterlock: b32,
- fragmentShaderShadingRateInterlock: b32,
-}
-
-PhysicalDeviceYcbcrImageArraysFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- ycbcrImageArrays: b32,
-}
-
-PhysicalDeviceProvokingVertexFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- provokingVertexLast: b32,
- transformFeedbackPreservesProvokingVertex: b32,
-}
-
-PhysicalDeviceProvokingVertexPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- provokingVertexModePerPipeline: b32,
- transformFeedbackPreservesTriangleFanProvokingVertex: b32,
-}
-
-PipelineRasterizationProvokingVertexStateCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- provokingVertexMode: ProvokingVertexModeEXT,
-}
-
-HeadlessSurfaceCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: HeadlessSurfaceCreateFlagsEXT,
-}
-
-PhysicalDeviceLineRasterizationFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- rectangularLines: b32,
- bresenhamLines: b32,
- smoothLines: b32,
- stippledRectangularLines: b32,
- stippledBresenhamLines: b32,
- stippledSmoothLines: b32,
-}
-
-PhysicalDeviceLineRasterizationPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- lineSubPixelPrecisionBits: u32,
-}
-
-PipelineRasterizationLineStateCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- lineRasterizationMode: LineRasterizationModeEXT,
- stippledLineEnable: b32,
- lineStippleFactor: u32,
- lineStipplePattern: u16,
-}
-
-PhysicalDeviceShaderAtomicFloatFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderBufferFloat32Atomics: b32,
- shaderBufferFloat32AtomicAdd: b32,
- shaderBufferFloat64Atomics: b32,
- shaderBufferFloat64AtomicAdd: b32,
- shaderSharedFloat32Atomics: b32,
- shaderSharedFloat32AtomicAdd: b32,
- shaderSharedFloat64Atomics: b32,
- shaderSharedFloat64AtomicAdd: b32,
- shaderImageFloat32Atomics: b32,
- shaderImageFloat32AtomicAdd: b32,
- sparseImageFloat32Atomics: b32,
- sparseImageFloat32AtomicAdd: b32,
-}
-
-PhysicalDeviceIndexTypeUint8FeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- indexTypeUint8: b32,
-}
-
-PhysicalDeviceExtendedDynamicStateFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- extendedDynamicState: b32,
-}
-
-PhysicalDeviceShaderAtomicFloat2FeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderBufferFloat16Atomics: b32,
- shaderBufferFloat16AtomicAdd: b32,
- shaderBufferFloat16AtomicMinMax: b32,
- shaderBufferFloat32AtomicMinMax: b32,
- shaderBufferFloat64AtomicMinMax: b32,
- shaderSharedFloat16Atomics: b32,
- shaderSharedFloat16AtomicAdd: b32,
- shaderSharedFloat16AtomicMinMax: b32,
- shaderSharedFloat32AtomicMinMax: b32,
- shaderSharedFloat64AtomicMinMax: b32,
- shaderImageFloat32AtomicMinMax: b32,
- sparseImageFloat32AtomicMinMax: b32,
-}
-
-SurfacePresentModeEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- presentMode: PresentModeKHR,
-}
-
-SurfacePresentScalingCapabilitiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- supportedPresentScaling: PresentScalingFlagsEXT,
- supportedPresentGravityX: PresentGravityFlagsEXT,
- supportedPresentGravityY: PresentGravityFlagsEXT,
- minScaledImageExtent: Extent2D,
- maxScaledImageExtent: Extent2D,
-}
-
-SurfacePresentModeCompatibilityEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- presentModeCount: u32,
- pPresentModes: [^]PresentModeKHR,
-}
-
-PhysicalDeviceSwapchainMaintenance1FeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- swapchainMaintenance1: b32,
-}
-
-SwapchainPresentFenceInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- swapchainCount: u32,
- pFences: [^]Fence,
-}
-
-SwapchainPresentModesCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- presentModeCount: u32,
- pPresentModes: [^]PresentModeKHR,
-}
-
-SwapchainPresentModeInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- swapchainCount: u32,
- pPresentModes: [^]PresentModeKHR,
-}
-
-SwapchainPresentScalingCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- scalingBehavior: PresentScalingFlagsEXT,
- presentGravityX: PresentGravityFlagsEXT,
- presentGravityY: PresentGravityFlagsEXT,
-}
-
-ReleaseSwapchainImagesInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- swapchain: SwapchainKHR,
- imageIndexCount: u32,
- pImageIndices: [^]u32,
-}
-
-PhysicalDeviceDeviceGeneratedCommandsPropertiesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxGraphicsShaderGroupCount: u32,
- maxIndirectSequenceCount: u32,
- maxIndirectCommandsTokenCount: u32,
- maxIndirectCommandsStreamCount: u32,
- maxIndirectCommandsTokenOffset: u32,
- maxIndirectCommandsStreamStride: u32,
- minSequencesCountBufferOffsetAlignment: u32,
- minSequencesIndexBufferOffsetAlignment: u32,
- minIndirectCommandsBufferOffsetAlignment: u32,
-}
-
-PhysicalDeviceDeviceGeneratedCommandsFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- deviceGeneratedCommands: b32,
-}
-
-GraphicsShaderGroupCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- stageCount: u32,
- pStages: [^]PipelineShaderStageCreateInfo,
- pVertexInputState: ^PipelineVertexInputStateCreateInfo,
- pTessellationState: ^PipelineTessellationStateCreateInfo,
-}
-
-GraphicsPipelineShaderGroupsCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- groupCount: u32,
- pGroups: [^]GraphicsShaderGroupCreateInfoNV,
- pipelineCount: u32,
- pPipelines: [^]Pipeline,
-}
-
-BindShaderGroupIndirectCommandNV :: struct {
- groupIndex: u32,
-}
-
-BindIndexBufferIndirectCommandNV :: struct {
- bufferAddress: DeviceAddress,
- size: u32,
- indexType: IndexType,
-}
-
-BindVertexBufferIndirectCommandNV :: struct {
- bufferAddress: DeviceAddress,
- size: u32,
- stride: u32,
-}
-
-SetStateFlagsIndirectCommandNV :: struct {
- data: u32,
-}
-
-IndirectCommandsStreamNV :: struct {
- buffer: Buffer,
- offset: DeviceSize,
-}
-
-IndirectCommandsLayoutTokenNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- tokenType: IndirectCommandsTokenTypeNV,
- stream: u32,
- offset: u32,
- vertexBindingUnit: u32,
- vertexDynamicStride: b32,
- pushconstantPipelineLayout: PipelineLayout,
- pushconstantShaderStageFlags: ShaderStageFlags,
- pushconstantOffset: u32,
- pushconstantSize: u32,
- indirectStateFlags: IndirectStateFlagsNV,
- indexTypeCount: u32,
- pIndexTypes: [^]IndexType,
- pIndexTypeValues: [^]u32,
-}
-
-IndirectCommandsLayoutCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: IndirectCommandsLayoutUsageFlagsNV,
- pipelineBindPoint: PipelineBindPoint,
- tokenCount: u32,
- pTokens: [^]IndirectCommandsLayoutTokenNV,
- streamCount: u32,
- pStreamStrides: [^]u32,
-}
-
-GeneratedCommandsInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- pipelineBindPoint: PipelineBindPoint,
- pipeline: Pipeline,
- indirectCommandsLayout: IndirectCommandsLayoutNV,
- streamCount: u32,
- pStreams: [^]IndirectCommandsStreamNV,
- sequencesCount: u32,
- preprocessBuffer: Buffer,
- preprocessOffset: DeviceSize,
- preprocessSize: DeviceSize,
- sequencesCountBuffer: Buffer,
- sequencesCountOffset: DeviceSize,
- sequencesIndexBuffer: Buffer,
- sequencesIndexOffset: DeviceSize,
-}
-
-GeneratedCommandsMemoryRequirementsInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- pipelineBindPoint: PipelineBindPoint,
- pipeline: Pipeline,
- indirectCommandsLayout: IndirectCommandsLayoutNV,
- maxSequencesCount: u32,
-}
-
-PhysicalDeviceInheritedViewportScissorFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- inheritedViewportScissor2D: b32,
-}
-
-CommandBufferInheritanceViewportScissorInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- viewportScissor2D: b32,
- viewportDepthCount: u32,
- pViewportDepths: [^]Viewport,
-}
-
-PhysicalDeviceTexelBufferAlignmentFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- texelBufferAlignment: b32,
-}
-
-RenderPassTransformBeginInfoQCOM :: struct {
- sType: StructureType,
- pNext: rawptr,
- transform: SurfaceTransformFlagsKHR,
-}
-
-CommandBufferInheritanceRenderPassTransformInfoQCOM :: struct {
- sType: StructureType,
- pNext: rawptr,
- transform: SurfaceTransformFlagsKHR,
- renderArea: Rect2D,
-}
-
-PhysicalDeviceDeviceMemoryReportFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- deviceMemoryReport: b32,
-}
-
-DeviceMemoryReportCallbackDataEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DeviceMemoryReportFlagsEXT,
- type: DeviceMemoryReportEventTypeEXT,
- memoryObjectId: u64,
- size: DeviceSize,
- objectType: ObjectType,
- objectHandle: u64,
- heapIndex: u32,
-}
-
-DeviceDeviceMemoryReportCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DeviceMemoryReportFlagsEXT,
- pfnUserCallback: ProcDeviceMemoryReportCallbackEXT,
- pUserData: rawptr,
-}
-
-PhysicalDeviceRobustness2FeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- robustBufferAccess2: b32,
- robustImageAccess2: b32,
- nullDescriptor: b32,
-}
-
-PhysicalDeviceRobustness2PropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- robustStorageBufferAccessSizeAlignment: DeviceSize,
- robustUniformBufferAccessSizeAlignment: DeviceSize,
-}
-
-SamplerCustomBorderColorCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- customBorderColor: ClearColorValue,
- format: Format,
-}
-
-PhysicalDeviceCustomBorderColorPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxCustomBorderColorSamplers: u32,
-}
-
-PhysicalDeviceCustomBorderColorFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- customBorderColors: b32,
- customBorderColorWithoutFormat: b32,
-}
-
-PhysicalDevicePresentBarrierFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- presentBarrier: b32,
-}
-
-SurfaceCapabilitiesPresentBarrierNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- presentBarrierSupported: b32,
-}
-
-SwapchainPresentBarrierCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- presentBarrierEnable: b32,
-}
-
-PhysicalDeviceDiagnosticsConfigFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- diagnosticsConfig: b32,
-}
-
-DeviceDiagnosticsConfigCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DeviceDiagnosticsConfigFlagsNV,
-}
-
-QueryLowLatencySupportNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- pQueriedLowLatencyData: rawptr,
-}
-
-PhysicalDeviceDescriptorBufferPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- combinedImageSamplerDescriptorSingleArray: b32,
- bufferlessPushDescriptors: b32,
- allowSamplerImageViewPostSubmitCreation: b32,
- descriptorBufferOffsetAlignment: DeviceSize,
- maxDescriptorBufferBindings: u32,
- maxResourceDescriptorBufferBindings: u32,
- maxSamplerDescriptorBufferBindings: u32,
- maxEmbeddedImmutableSamplerBindings: u32,
- maxEmbeddedImmutableSamplers: u32,
- bufferCaptureReplayDescriptorDataSize: int,
- imageCaptureReplayDescriptorDataSize: int,
- imageViewCaptureReplayDescriptorDataSize: int,
- samplerCaptureReplayDescriptorDataSize: int,
- accelerationStructureCaptureReplayDescriptorDataSize: int,
- samplerDescriptorSize: int,
- combinedImageSamplerDescriptorSize: int,
- sampledImageDescriptorSize: int,
- storageImageDescriptorSize: int,
- uniformTexelBufferDescriptorSize: int,
- robustUniformTexelBufferDescriptorSize: int,
- storageTexelBufferDescriptorSize: int,
- robustStorageTexelBufferDescriptorSize: int,
- uniformBufferDescriptorSize: int,
- robustUniformBufferDescriptorSize: int,
- storageBufferDescriptorSize: int,
- robustStorageBufferDescriptorSize: int,
- inputAttachmentDescriptorSize: int,
- accelerationStructureDescriptorSize: int,
- maxSamplerDescriptorBufferRange: DeviceSize,
- maxResourceDescriptorBufferRange: DeviceSize,
- samplerDescriptorBufferAddressSpaceSize: DeviceSize,
- resourceDescriptorBufferAddressSpaceSize: DeviceSize,
- descriptorBufferAddressSpaceSize: DeviceSize,
-}
-
-PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- combinedImageSamplerDensityMapDescriptorSize: int,
-}
-
-PhysicalDeviceDescriptorBufferFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- descriptorBuffer: b32,
- descriptorBufferCaptureReplay: b32,
- descriptorBufferImageLayoutIgnored: b32,
- descriptorBufferPushDescriptors: b32,
-}
-
-DescriptorAddressInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- address: DeviceAddress,
- range: DeviceSize,
- format: Format,
-}
-
-DescriptorBufferBindingInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- address: DeviceAddress,
- usage: BufferUsageFlags,
-}
-
-DescriptorBufferBindingPushDescriptorBufferHandleEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- buffer: Buffer,
-}
-
-DescriptorDataEXT :: struct #raw_union {
- pSampler: ^Sampler,
- pCombinedImageSampler: ^DescriptorImageInfo,
- pInputAttachmentImage: ^DescriptorImageInfo,
- pSampledImage: ^DescriptorImageInfo,
- pStorageImage: ^DescriptorImageInfo,
- pUniformTexelBuffer: ^DescriptorAddressInfoEXT,
- pStorageTexelBuffer: ^DescriptorAddressInfoEXT,
- pUniformBuffer: ^DescriptorAddressInfoEXT,
- pStorageBuffer: ^DescriptorAddressInfoEXT,
- accelerationStructure: DeviceAddress,
-}
-
-DescriptorGetInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- type: DescriptorType,
- data: DescriptorDataEXT,
-}
-
-BufferCaptureDescriptorDataInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- buffer: Buffer,
-}
-
-ImageCaptureDescriptorDataInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- image: Image,
-}
-
-ImageViewCaptureDescriptorDataInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- imageView: ImageView,
-}
-
-SamplerCaptureDescriptorDataInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- sampler: Sampler,
-}
-
-OpaqueCaptureDescriptorDataCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- opaqueCaptureDescriptorData: rawptr,
-}
-
-AccelerationStructureCaptureDescriptorDataInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- accelerationStructure: AccelerationStructureKHR,
- accelerationStructureNV: AccelerationStructureNV,
-}
-
-PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- graphicsPipelineLibrary: b32,
-}
-
-PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- graphicsPipelineLibraryFastLinking: b32,
- graphicsPipelineLibraryIndependentInterpolationDecoration: b32,
-}
-
-GraphicsPipelineLibraryCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: GraphicsPipelineLibraryFlagsEXT,
-}
-
-PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderEarlyAndLateFragmentTests: b32,
-}
-
-PhysicalDeviceFragmentShadingRateEnumsFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- fragmentShadingRateEnums: b32,
- supersampleFragmentShadingRates: b32,
- noInvocationFragmentShadingRates: b32,
-}
-
-PhysicalDeviceFragmentShadingRateEnumsPropertiesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxFragmentShadingRateInvocationCount: SampleCountFlags,
-}
-
-PipelineFragmentShadingRateEnumStateCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- shadingRateType: FragmentShadingRateTypeNV,
- shadingRate: FragmentShadingRateNV,
- combinerOps: [2]FragmentShadingRateCombinerOpKHR,
-}
-
-DeviceOrHostAddressConstKHR :: struct #raw_union {
- deviceAddress: DeviceAddress,
- hostAddress: rawptr,
-}
-
-AccelerationStructureGeometryMotionTrianglesDataNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- vertexData: DeviceOrHostAddressConstKHR,
-}
-
-AccelerationStructureMotionInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxInstances: u32,
- flags: AccelerationStructureMotionInfoFlagsNV,
-}
-
-AccelerationStructureMatrixMotionInstanceNV :: struct {
- transformT0: TransformMatrixKHR,
- transformT1: TransformMatrixKHR,
- accelerationStructureReference: u64,
-}
-
-SRTDataNV :: struct {
- sx: f32,
- a: f32,
- b: f32,
- pvx: f32,
- sy: f32,
- c: f32,
- pvy: f32,
- sz: f32,
- pvz: f32,
- qx: f32,
- qy: f32,
- qz: f32,
- qw: f32,
- tx: f32,
- ty: f32,
- tz: f32,
-}
-
-AccelerationStructureSRTMotionInstanceNV :: struct {
- transformT0: SRTDataNV,
- transformT1: SRTDataNV,
- accelerationStructureReference: u64,
-}
-
-AccelerationStructureMotionInstanceDataNV :: struct #raw_union {
- staticInstance: AccelerationStructureInstanceKHR,
- matrixMotionInstance: AccelerationStructureMatrixMotionInstanceNV,
- srtMotionInstance: AccelerationStructureSRTMotionInstanceNV,
-}
-
-AccelerationStructureMotionInstanceNV :: struct {
- type: AccelerationStructureMotionInstanceTypeNV,
- flags: AccelerationStructureMotionInstanceFlagsNV,
- data: AccelerationStructureMotionInstanceDataNV,
-}
-
-PhysicalDeviceRayTracingMotionBlurFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- rayTracingMotionBlur: b32,
- rayTracingMotionBlurPipelineTraceRaysIndirect: b32,
-}
-
-PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- ycbcr2plane444Formats: b32,
-}
-
-PhysicalDeviceFragmentDensityMap2FeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- fragmentDensityMapDeferred: b32,
-}
-
-PhysicalDeviceFragmentDensityMap2PropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- subsampledLoads: b32,
- subsampledCoarseReconstructionEarlyAccess: b32,
- maxSubsampledArrayLayers: u32,
- maxDescriptorSetSubsampledSamplers: u32,
-}
-
-CopyCommandTransformInfoQCOM :: struct {
- sType: StructureType,
- pNext: rawptr,
- transform: SurfaceTransformFlagsKHR,
-}
-
-PhysicalDeviceImageCompressionControlFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- imageCompressionControl: b32,
-}
-
-ImageCompressionControlEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: ImageCompressionFlagsEXT,
- compressionControlPlaneCount: u32,
- pFixedRateFlags: [^]ImageCompressionFixedRateFlagsEXT,
-}
-
-SubresourceLayout2EXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- subresourceLayout: SubresourceLayout,
-}
-
-ImageSubresource2EXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- imageSubresource: ImageSubresource,
-}
-
-ImageCompressionPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- imageCompressionFlags: ImageCompressionFlagsEXT,
- imageCompressionFixedRateFlags: ImageCompressionFixedRateFlagsEXT,
-}
-
-PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- attachmentFeedbackLoopLayout: b32,
-}
-
-PhysicalDevice4444FormatsFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- formatA4R4G4B4: b32,
- formatA4B4G4R4: b32,
-}
-
-PhysicalDeviceFaultFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- deviceFault: b32,
- deviceFaultVendorBinary: b32,
-}
-
-DeviceFaultCountsEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- addressInfoCount: u32,
- vendorInfoCount: u32,
- vendorBinarySize: DeviceSize,
-}
-
-DeviceFaultAddressInfoEXT :: struct {
- addressType: DeviceFaultAddressTypeEXT,
- reportedAddress: DeviceAddress,
- addressPrecision: DeviceSize,
-}
-
-DeviceFaultVendorInfoEXT :: struct {
- description: [MAX_DESCRIPTION_SIZE]byte,
- vendorFaultCode: u64,
- vendorFaultData: u64,
-}
-
-DeviceFaultInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- description: [MAX_DESCRIPTION_SIZE]byte,
- pAddressInfos: [^]DeviceFaultAddressInfoEXT,
- pVendorInfos: [^]DeviceFaultVendorInfoEXT,
- pVendorBinaryData: rawptr,
-}
-
-DeviceFaultVendorBinaryHeaderVersionOneEXT :: struct {
- headerSize: u32,
- headerVersion: DeviceFaultVendorBinaryHeaderVersionEXT,
- vendorID: u32,
- deviceID: u32,
- driverVersion: u32,
- pipelineCacheUUID: [UUID_SIZE]u8,
- applicationNameOffset: u32,
- applicationVersion: u32,
- engineNameOffset: u32,
- engineVersion: u32,
- apiVersion: u32,
-}
-
-PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- rasterizationOrderColorAttachmentAccess: b32,
- rasterizationOrderDepthAttachmentAccess: b32,
- rasterizationOrderStencilAttachmentAccess: b32,
-}
-
-PhysicalDeviceRGBA10X6FormatsFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- formatRgba10x6WithoutYCbCrSampler: b32,
-}
-
-PhysicalDeviceMutableDescriptorTypeFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- mutableDescriptorType: b32,
-}
-
-MutableDescriptorTypeListEXT :: struct {
- descriptorTypeCount: u32,
- pDescriptorTypes: [^]DescriptorType,
-}
-
-MutableDescriptorTypeCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- mutableDescriptorTypeListCount: u32,
- pMutableDescriptorTypeLists: [^]MutableDescriptorTypeListEXT,
-}
-
-PhysicalDeviceVertexInputDynamicStateFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- vertexInputDynamicState: b32,
-}
-
-VertexInputBindingDescription2EXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- binding: u32,
- stride: u32,
- inputRate: VertexInputRate,
- divisor: u32,
-}
-
-VertexInputAttributeDescription2EXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- location: u32,
- binding: u32,
- format: Format,
- offset: u32,
-}
-
-PhysicalDeviceDrmPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- hasPrimary: b32,
- hasRender: b32,
- primaryMajor: i64,
- primaryMinor: i64,
- renderMajor: i64,
- renderMinor: i64,
-}
-
-PhysicalDeviceAddressBindingReportFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- reportAddressBinding: b32,
-}
-
-DeviceAddressBindingCallbackDataEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DeviceAddressBindingFlagsEXT,
- baseAddress: DeviceAddress,
- size: DeviceSize,
- bindingType: DeviceAddressBindingTypeEXT,
-}
-
-PhysicalDeviceDepthClipControlFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- depthClipControl: b32,
-}
-
-PipelineViewportDepthClipControlCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- negativeOneToOne: b32,
-}
-
-PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- primitiveTopologyListRestart: b32,
- primitiveTopologyPatchListRestart: b32,
-}
-
-SubpassShadingPipelineCreateInfoHUAWEI :: struct {
- sType: StructureType,
- pNext: rawptr,
- renderPass: RenderPass,
- subpass: u32,
-}
-
-PhysicalDeviceSubpassShadingFeaturesHUAWEI :: struct {
- sType: StructureType,
- pNext: rawptr,
- subpassShading: b32,
-}
-
-PhysicalDeviceSubpassShadingPropertiesHUAWEI :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxSubpassShadingWorkgroupSizeAspectRatio: u32,
-}
-
-PhysicalDeviceInvocationMaskFeaturesHUAWEI :: struct {
- sType: StructureType,
- pNext: rawptr,
- invocationMask: b32,
-}
-
-MemoryGetRemoteAddressInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- memory: DeviceMemory,
- handleType: ExternalMemoryHandleTypeFlags,
-}
-
-PhysicalDeviceExternalMemoryRDMAFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- externalMemoryRDMA: b32,
-}
-
-PipelinePropertiesIdentifierEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- pipelineIdentifier: [UUID_SIZE]u8,
-}
-
-PhysicalDevicePipelinePropertiesFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- pipelinePropertiesIdentifier: b32,
-}
-
-PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- multisampledRenderToSingleSampled: b32,
-}
-
-SubpassResolvePerformanceQueryEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- optimal: b32,
-}
-
-MultisampledRenderToSingleSampledInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- multisampledRenderToSingleSampledEnable: b32,
- rasterizationSamples: SampleCountFlags,
-}
-
-PhysicalDeviceExtendedDynamicState2FeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- extendedDynamicState2: b32,
- extendedDynamicState2LogicOp: b32,
- extendedDynamicState2PatchControlPoints: b32,
-}
-
-PhysicalDeviceColorWriteEnableFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- colorWriteEnable: b32,
-}
-
-PipelineColorWriteCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- attachmentCount: u32,
- pColorWriteEnables: [^]b32,
-}
-
-PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- primitivesGeneratedQuery: b32,
- primitivesGeneratedQueryWithRasterizerDiscard: b32,
- primitivesGeneratedQueryWithNonZeroStreams: b32,
-}
-
-PhysicalDeviceImageViewMinLodFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- minLod: b32,
-}
-
-ImageViewMinLodCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- minLod: f32,
-}
-
-PhysicalDeviceMultiDrawFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- multiDraw: b32,
-}
-
-PhysicalDeviceMultiDrawPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxMultiDrawCount: u32,
-}
-
-MultiDrawInfoEXT :: struct {
- firstVertex: u32,
- vertexCount: u32,
-}
-
-MultiDrawIndexedInfoEXT :: struct {
- firstIndex: u32,
- indexCount: u32,
- vertexOffset: i32,
-}
-
-PhysicalDeviceImage2DViewOf3DFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- image2DViewOf3D: b32,
- sampler2DViewOf3D: b32,
-}
-
-PhysicalDeviceShaderTileImageFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderTileImageColorReadAccess: b32,
- shaderTileImageDepthReadAccess: b32,
- shaderTileImageStencilReadAccess: b32,
-}
-
-PhysicalDeviceShaderTileImagePropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderTileImageCoherentReadAccelerated: b32,
- shaderTileImageReadSampleFromPixelRateInvocation: b32,
- shaderTileImageReadFromHelperInvocation: b32,
-}
-
-MicromapUsageEXT :: struct {
- count: u32,
- subdivisionLevel: u32,
- format: u32,
-}
-
-DeviceOrHostAddressKHR :: struct #raw_union {
- deviceAddress: DeviceAddress,
- hostAddress: rawptr,
-}
-
-MicromapBuildInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- type: MicromapTypeEXT,
- flags: BuildMicromapFlagsEXT,
- mode: BuildMicromapModeEXT,
- dstMicromap: MicromapEXT,
- usageCountsCount: u32,
- pUsageCounts: [^]MicromapUsageEXT,
- ppUsageCounts: ^[^]MicromapUsageEXT,
- data: DeviceOrHostAddressConstKHR,
- scratchData: DeviceOrHostAddressKHR,
- triangleArray: DeviceOrHostAddressConstKHR,
- triangleArrayStride: DeviceSize,
-}
-
-MicromapCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- createFlags: MicromapCreateFlagsEXT,
- buffer: Buffer,
- offset: DeviceSize,
- size: DeviceSize,
- type: MicromapTypeEXT,
- deviceAddress: DeviceAddress,
-}
-
-PhysicalDeviceOpacityMicromapFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- micromap: b32,
- micromapCaptureReplay: b32,
- micromapHostCommands: b32,
-}
-
-PhysicalDeviceOpacityMicromapPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxOpacity2StateSubdivisionLevel: u32,
- maxOpacity4StateSubdivisionLevel: u32,
-}
-
-MicromapVersionInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- pVersionData: ^u8,
-}
-
-CopyMicromapToMemoryInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- src: MicromapEXT,
- dst: DeviceOrHostAddressKHR,
- mode: CopyMicromapModeEXT,
-}
-
-CopyMemoryToMicromapInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- src: DeviceOrHostAddressConstKHR,
- dst: MicromapEXT,
- mode: CopyMicromapModeEXT,
-}
-
-CopyMicromapInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- src: MicromapEXT,
- dst: MicromapEXT,
- mode: CopyMicromapModeEXT,
-}
-
-MicromapBuildSizesInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- micromapSize: DeviceSize,
- buildScratchSize: DeviceSize,
- discardable: b32,
-}
-
-AccelerationStructureTrianglesOpacityMicromapEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- indexType: IndexType,
- indexBuffer: DeviceOrHostAddressConstKHR,
- indexStride: DeviceSize,
- baseTriangle: u32,
- usageCountsCount: u32,
- pUsageCounts: [^]MicromapUsageEXT,
- ppUsageCounts: ^[^]MicromapUsageEXT,
- micromap: MicromapEXT,
-}
-
-MicromapTriangleEXT :: struct {
- dataOffset: u32,
- subdivisionLevel: u16,
- format: u16,
-}
-
-PhysicalDeviceClusterCullingShaderFeaturesHUAWEI :: struct {
- sType: StructureType,
- pNext: rawptr,
- clustercullingShader: b32,
- multiviewClusterCullingShader: b32,
-}
-
-PhysicalDeviceClusterCullingShaderPropertiesHUAWEI :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxWorkGroupCount: [3]u32,
- maxWorkGroupSize: [3]u32,
- maxOutputClusterCount: u32,
- indirectBufferOffsetAlignment: DeviceSize,
-}
-
-PhysicalDeviceBorderColorSwizzleFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- borderColorSwizzle: b32,
- borderColorSwizzleFromImage: b32,
-}
-
-SamplerBorderColorComponentMappingCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- components: ComponentMapping,
- srgb: b32,
-}
-
-PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- pageableDeviceLocalMemory: b32,
-}
-
-PhysicalDeviceShaderCorePropertiesARM :: struct {
- sType: StructureType,
- pNext: rawptr,
- pixelRate: u32,
- texelRate: u32,
- fmaRate: u32,
-}
-
-PhysicalDeviceImageSlicedViewOf3DFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- imageSlicedViewOf3D: b32,
-}
-
-ImageViewSlicedCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- sliceOffset: u32,
- sliceCount: u32,
-}
-
-PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE :: struct {
- sType: StructureType,
- pNext: rawptr,
- descriptorSetHostMapping: b32,
-}
-
-DescriptorSetBindingReferenceVALVE :: struct {
- sType: StructureType,
- pNext: rawptr,
- descriptorSetLayout: DescriptorSetLayout,
- binding: u32,
-}
-
-DescriptorSetLayoutHostMappingInfoVALVE :: struct {
- sType: StructureType,
- pNext: rawptr,
- descriptorOffset: int,
- descriptorSize: u32,
-}
-
-PhysicalDeviceDepthClampZeroOneFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- depthClampZeroOne: b32,
-}
-
-PhysicalDeviceNonSeamlessCubeMapFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- nonSeamlessCubeMap: b32,
-}
-
-PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM :: struct {
- sType: StructureType,
- pNext: rawptr,
- fragmentDensityMapOffset: b32,
-}
-
-PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM :: struct {
- sType: StructureType,
- pNext: rawptr,
- fragmentDensityOffsetGranularity: Extent2D,
-}
-
-SubpassFragmentDensityMapOffsetEndInfoQCOM :: struct {
- sType: StructureType,
- pNext: rawptr,
- fragmentDensityOffsetCount: u32,
- pFragmentDensityOffsets: [^]Offset2D,
-}
-
-CopyMemoryIndirectCommandNV :: struct {
- srcAddress: DeviceAddress,
- dstAddress: DeviceAddress,
- size: DeviceSize,
-}
-
-CopyMemoryToImageIndirectCommandNV :: struct {
- srcAddress: DeviceAddress,
- bufferRowLength: u32,
- bufferImageHeight: u32,
- imageSubresource: ImageSubresourceLayers,
- imageOffset: Offset3D,
- imageExtent: Extent3D,
-}
-
-PhysicalDeviceCopyMemoryIndirectFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- indirectCopy: b32,
-}
-
-PhysicalDeviceCopyMemoryIndirectPropertiesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- supportedQueues: QueueFlags,
-}
-
-DecompressMemoryRegionNV :: struct {
- srcAddress: DeviceAddress,
- dstAddress: DeviceAddress,
- compressedSize: DeviceSize,
- decompressedSize: DeviceSize,
- decompressionMethod: MemoryDecompressionMethodFlagsNV,
-}
-
-PhysicalDeviceMemoryDecompressionFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- memoryDecompression: b32,
-}
-
-PhysicalDeviceMemoryDecompressionPropertiesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- decompressionMethods: MemoryDecompressionMethodFlagsNV,
- maxDecompressionIndirectCount: u64,
-}
-
-PhysicalDeviceLinearColorAttachmentFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- linearColorAttachment: b32,
-}
-
-PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- imageCompressionControlSwapchain: b32,
-}
-
-ImageViewSampleWeightCreateInfoQCOM :: struct {
- sType: StructureType,
- pNext: rawptr,
- filterCenter: Offset2D,
- filterSize: Extent2D,
- numPhases: u32,
-}
-
-PhysicalDeviceImageProcessingFeaturesQCOM :: struct {
- sType: StructureType,
- pNext: rawptr,
- textureSampleWeighted: b32,
- textureBoxFilter: b32,
- textureBlockMatch: b32,
-}
-
-PhysicalDeviceImageProcessingPropertiesQCOM :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxWeightFilterPhases: u32,
- maxWeightFilterDimension: Extent2D,
- maxBlockMatchRegion: Extent2D,
- maxBoxFilterBlockSize: Extent2D,
-}
-
-PhysicalDeviceExtendedDynamicState3FeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- extendedDynamicState3TessellationDomainOrigin: b32,
- extendedDynamicState3DepthClampEnable: b32,
- extendedDynamicState3PolygonMode: b32,
- extendedDynamicState3RasterizationSamples: b32,
- extendedDynamicState3SampleMask: b32,
- extendedDynamicState3AlphaToCoverageEnable: b32,
- extendedDynamicState3AlphaToOneEnable: b32,
- extendedDynamicState3LogicOpEnable: b32,
- extendedDynamicState3ColorBlendEnable: b32,
- extendedDynamicState3ColorBlendEquation: b32,
- extendedDynamicState3ColorWriteMask: b32,
- extendedDynamicState3RasterizationStream: b32,
- extendedDynamicState3ConservativeRasterizationMode: b32,
- extendedDynamicState3ExtraPrimitiveOverestimationSize: b32,
- extendedDynamicState3DepthClipEnable: b32,
- extendedDynamicState3SampleLocationsEnable: b32,
- extendedDynamicState3ColorBlendAdvanced: b32,
- extendedDynamicState3ProvokingVertexMode: b32,
- extendedDynamicState3LineRasterizationMode: b32,
- extendedDynamicState3LineStippleEnable: b32,
- extendedDynamicState3DepthClipNegativeOneToOne: b32,
- extendedDynamicState3ViewportWScalingEnable: b32,
- extendedDynamicState3ViewportSwizzle: b32,
- extendedDynamicState3CoverageToColorEnable: b32,
- extendedDynamicState3CoverageToColorLocation: b32,
- extendedDynamicState3CoverageModulationMode: b32,
- extendedDynamicState3CoverageModulationTableEnable: b32,
- extendedDynamicState3CoverageModulationTable: b32,
- extendedDynamicState3CoverageReductionMode: b32,
- extendedDynamicState3RepresentativeFragmentTestEnable: b32,
- extendedDynamicState3ShadingRateImageEnable: b32,
-}
-
-PhysicalDeviceExtendedDynamicState3PropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- dynamicPrimitiveTopologyUnrestricted: b32,
-}
-
-ColorBlendEquationEXT :: struct {
- srcColorBlendFactor: BlendFactor,
- dstColorBlendFactor: BlendFactor,
- colorBlendOp: BlendOp,
- srcAlphaBlendFactor: BlendFactor,
- dstAlphaBlendFactor: BlendFactor,
- alphaBlendOp: BlendOp,
-}
-
-ColorBlendAdvancedEXT :: struct {
- advancedBlendOp: BlendOp,
- srcPremultiplied: b32,
- dstPremultiplied: b32,
- blendOverlap: BlendOverlapEXT,
- clampResults: b32,
-}
-
-PhysicalDeviceSubpassMergeFeedbackFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- subpassMergeFeedback: b32,
-}
-
-RenderPassCreationControlEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- disallowMerging: b32,
-}
-
-RenderPassCreationFeedbackInfoEXT :: struct {
- postMergeSubpassCount: u32,
-}
-
-RenderPassCreationFeedbackCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- pRenderPassFeedback: ^RenderPassCreationFeedbackInfoEXT,
-}
-
-RenderPassSubpassFeedbackInfoEXT :: struct {
- subpassMergeStatus: SubpassMergeStatusEXT,
- description: [MAX_DESCRIPTION_SIZE]byte,
- postMergeIndex: u32,
-}
-
-RenderPassSubpassFeedbackCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- pSubpassFeedback: ^RenderPassSubpassFeedbackInfoEXT,
-}
-
-DirectDriverLoadingInfoLUNARG :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: DirectDriverLoadingFlagsLUNARG,
- pfnGetInstanceProcAddr: ProcGetInstanceProcAddrLUNARG,
-}
-
-DirectDriverLoadingListLUNARG :: struct {
- sType: StructureType,
- pNext: rawptr,
- mode: DirectDriverLoadingModeLUNARG,
- driverCount: u32,
- pDrivers: [^]DirectDriverLoadingInfoLUNARG,
-}
-
-PhysicalDeviceShaderModuleIdentifierFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderModuleIdentifier: b32,
-}
-
-PhysicalDeviceShaderModuleIdentifierPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderModuleIdentifierAlgorithmUUID: [UUID_SIZE]u8,
-}
-
-PipelineShaderStageModuleIdentifierCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- identifierSize: u32,
- pIdentifier: ^u8,
-}
-
-ShaderModuleIdentifierEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- identifierSize: u32,
- identifier: [MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]u8,
-}
-
-PhysicalDeviceOpticalFlowFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- opticalFlow: b32,
-}
-
-PhysicalDeviceOpticalFlowPropertiesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- supportedOutputGridSizes: OpticalFlowGridSizeFlagsNV,
- supportedHintGridSizes: OpticalFlowGridSizeFlagsNV,
- hintSupported: b32,
- costSupported: b32,
- bidirectionalFlowSupported: b32,
- globalFlowSupported: b32,
- minWidth: u32,
- minHeight: u32,
- maxWidth: u32,
- maxHeight: u32,
- maxNumRegionsOfInterest: u32,
-}
-
-OpticalFlowImageFormatInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- usage: OpticalFlowUsageFlagsNV,
-}
-
-OpticalFlowImageFormatPropertiesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- format: Format,
-}
-
-OpticalFlowSessionCreateInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- width: u32,
- height: u32,
- imageFormat: Format,
- flowVectorFormat: Format,
- costFormat: Format,
- outputGridSize: OpticalFlowGridSizeFlagsNV,
- hintGridSize: OpticalFlowGridSizeFlagsNV,
- performanceLevel: OpticalFlowPerformanceLevelNV,
- flags: OpticalFlowSessionCreateFlagsNV,
-}
-
-OpticalFlowSessionCreatePrivateDataInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- id: u32,
- size: u32,
- pPrivateData: rawptr,
-}
-
-OpticalFlowExecuteInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: OpticalFlowExecuteFlagsNV,
- regionCount: u32,
- pRegions: [^]Rect2D,
-}
-
-PhysicalDeviceLegacyDitheringFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- legacyDithering: b32,
-}
-
-PhysicalDevicePipelineProtectedAccessFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- pipelineProtectedAccess: b32,
-}
-
-PhysicalDeviceShaderObjectFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderObject: b32,
-}
-
-PhysicalDeviceShaderObjectPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderBinaryUUID: [UUID_SIZE]u8,
- shaderBinaryVersion: u32,
-}
-
-ShaderCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: ShaderCreateFlagsEXT,
- stage: ShaderStageFlags,
- nextStage: ShaderStageFlags,
- codeType: ShaderCodeTypeEXT,
- codeSize: int,
- pCode: rawptr,
- pName: cstring,
- setLayoutCount: u32,
- pSetLayouts: [^]DescriptorSetLayout,
- pushConstantRangeCount: u32,
- pPushConstantRanges: [^]PushConstantRange,
- pSpecializationInfo: ^SpecializationInfo,
-}
-
-PhysicalDeviceTilePropertiesFeaturesQCOM :: struct {
- sType: StructureType,
- pNext: rawptr,
- tileProperties: b32,
-}
-
-TilePropertiesQCOM :: struct {
- sType: StructureType,
- pNext: rawptr,
- tileSize: Extent3D,
- apronSize: Extent2D,
- origin: Offset2D,
-}
-
-PhysicalDeviceAmigoProfilingFeaturesSEC :: struct {
- sType: StructureType,
- pNext: rawptr,
- amigoProfiling: b32,
-}
-
-AmigoProfilingSubmitInfoSEC :: struct {
- sType: StructureType,
- pNext: rawptr,
- firstDrawTimestamp: u64,
- swapBufferTimestamp: u64,
-}
-
-PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM :: struct {
- sType: StructureType,
- pNext: rawptr,
- multiviewPerViewViewports: b32,
-}
-
-PhysicalDeviceRayTracingInvocationReorderPropertiesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- rayTracingInvocationReorderReorderingHint: RayTracingInvocationReorderModeNV,
-}
-
-PhysicalDeviceRayTracingInvocationReorderFeaturesNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- rayTracingInvocationReorder: b32,
-}
-
-PhysicalDeviceShaderCoreBuiltinsFeaturesARM :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderCoreBuiltins: b32,
-}
-
-PhysicalDeviceShaderCoreBuiltinsPropertiesARM :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderCoreMask: u64,
- shaderCoreCount: u32,
- shaderWarpsPerCore: u32,
-}
-
-PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- pipelineLibraryGroupHandles: b32,
-}
-
-PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM :: struct {
- sType: StructureType,
- pNext: rawptr,
- multiviewPerViewRenderAreas: b32,
-}
-
-MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM :: struct {
- sType: StructureType,
- pNext: rawptr,
- perViewRenderAreaCount: u32,
- pPerViewRenderAreas: [^]Rect2D,
-}
-
-PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- attachmentFeedbackLoopDynamicState: b32,
-}
-
-AccelerationStructureBuildRangeInfoKHR :: struct {
- primitiveCount: u32,
- primitiveOffset: u32,
- firstVertex: u32,
- transformOffset: u32,
-}
-
-AccelerationStructureGeometryTrianglesDataKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- vertexFormat: Format,
- vertexData: DeviceOrHostAddressConstKHR,
- vertexStride: DeviceSize,
- maxVertex: u32,
- indexType: IndexType,
- indexData: DeviceOrHostAddressConstKHR,
- transformData: DeviceOrHostAddressConstKHR,
-}
-
-AccelerationStructureGeometryAabbsDataKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- data: DeviceOrHostAddressConstKHR,
- stride: DeviceSize,
-}
-
-AccelerationStructureGeometryInstancesDataKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- arrayOfPointers: b32,
- data: DeviceOrHostAddressConstKHR,
-}
-
-AccelerationStructureGeometryDataKHR :: struct #raw_union {
- triangles: AccelerationStructureGeometryTrianglesDataKHR,
- aabbs: AccelerationStructureGeometryAabbsDataKHR,
- instances: AccelerationStructureGeometryInstancesDataKHR,
-}
-
-AccelerationStructureGeometryKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- geometryType: GeometryTypeKHR,
- geometry: AccelerationStructureGeometryDataKHR,
- flags: GeometryFlagsKHR,
-}
-
-AccelerationStructureBuildGeometryInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- type: AccelerationStructureTypeKHR,
- flags: BuildAccelerationStructureFlagsKHR,
- mode: BuildAccelerationStructureModeKHR,
- srcAccelerationStructure: AccelerationStructureKHR,
- dstAccelerationStructure: AccelerationStructureKHR,
- geometryCount: u32,
- pGeometries: [^]AccelerationStructureGeometryKHR,
- ppGeometries: ^[^]AccelerationStructureGeometryKHR,
- scratchData: DeviceOrHostAddressKHR,
-}
-
-AccelerationStructureCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- createFlags: AccelerationStructureCreateFlagsKHR,
- buffer: Buffer,
- offset: DeviceSize,
- size: DeviceSize,
- type: AccelerationStructureTypeKHR,
- deviceAddress: DeviceAddress,
-}
-
-WriteDescriptorSetAccelerationStructureKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- accelerationStructureCount: u32,
- pAccelerationStructures: [^]AccelerationStructureKHR,
-}
-
-PhysicalDeviceAccelerationStructureFeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- accelerationStructure: b32,
- accelerationStructureCaptureReplay: b32,
- accelerationStructureIndirectBuild: b32,
- accelerationStructureHostCommands: b32,
- descriptorBindingAccelerationStructureUpdateAfterBind: b32,
-}
-
-PhysicalDeviceAccelerationStructurePropertiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxGeometryCount: u64,
- maxInstanceCount: u64,
- maxPrimitiveCount: u64,
- maxPerStageDescriptorAccelerationStructures: u32,
- maxPerStageDescriptorUpdateAfterBindAccelerationStructures: u32,
- maxDescriptorSetAccelerationStructures: u32,
- maxDescriptorSetUpdateAfterBindAccelerationStructures: u32,
- minAccelerationStructureScratchOffsetAlignment: u32,
-}
-
-AccelerationStructureDeviceAddressInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- accelerationStructure: AccelerationStructureKHR,
-}
-
-AccelerationStructureVersionInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- pVersionData: ^u8,
-}
-
-CopyAccelerationStructureToMemoryInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- src: AccelerationStructureKHR,
- dst: DeviceOrHostAddressKHR,
- mode: CopyAccelerationStructureModeKHR,
-}
-
-CopyMemoryToAccelerationStructureInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- src: DeviceOrHostAddressConstKHR,
- dst: AccelerationStructureKHR,
- mode: CopyAccelerationStructureModeKHR,
-}
-
-CopyAccelerationStructureInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- src: AccelerationStructureKHR,
- dst: AccelerationStructureKHR,
- mode: CopyAccelerationStructureModeKHR,
-}
-
-AccelerationStructureBuildSizesInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- accelerationStructureSize: DeviceSize,
- updateScratchSize: DeviceSize,
- buildScratchSize: DeviceSize,
-}
-
-RayTracingShaderGroupCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- type: RayTracingShaderGroupTypeKHR,
- generalShader: u32,
- closestHitShader: u32,
- anyHitShader: u32,
- intersectionShader: u32,
- pShaderGroupCaptureReplayHandle: rawptr,
-}
-
-RayTracingPipelineInterfaceCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxPipelineRayPayloadSize: u32,
- maxPipelineRayHitAttributeSize: u32,
-}
-
-RayTracingPipelineCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: PipelineCreateFlags,
- stageCount: u32,
- pStages: [^]PipelineShaderStageCreateInfo,
- groupCount: u32,
- pGroups: [^]RayTracingShaderGroupCreateInfoKHR,
- maxPipelineRayRecursionDepth: u32,
- pLibraryInfo: ^PipelineLibraryCreateInfoKHR,
- pLibraryInterface: ^RayTracingPipelineInterfaceCreateInfoKHR,
- pDynamicState: ^PipelineDynamicStateCreateInfo,
- layout: PipelineLayout,
- basePipelineHandle: Pipeline,
- basePipelineIndex: i32,
-}
-
-PhysicalDeviceRayTracingPipelineFeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- rayTracingPipeline: b32,
- rayTracingPipelineShaderGroupHandleCaptureReplay: b32,
- rayTracingPipelineShaderGroupHandleCaptureReplayMixed: b32,
- rayTracingPipelineTraceRaysIndirect: b32,
- rayTraversalPrimitiveCulling: b32,
-}
-
-PhysicalDeviceRayTracingPipelinePropertiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- shaderGroupHandleSize: u32,
- maxRayRecursionDepth: u32,
- maxShaderGroupStride: u32,
- shaderGroupBaseAlignment: u32,
- shaderGroupHandleCaptureReplaySize: u32,
- maxRayDispatchInvocationCount: u32,
- shaderGroupHandleAlignment: u32,
- maxRayHitAttributeSize: u32,
-}
-
-StridedDeviceAddressRegionKHR :: struct {
- deviceAddress: DeviceAddress,
- stride: DeviceSize,
- size: DeviceSize,
-}
-
-TraceRaysIndirectCommandKHR :: struct {
- width: u32,
- height: u32,
- depth: u32,
-}
-
-PhysicalDeviceRayQueryFeaturesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- rayQuery: b32,
-}
-
-PhysicalDeviceMeshShaderFeaturesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- taskShader: b32,
- meshShader: b32,
- multiviewMeshShader: b32,
- primitiveFragmentShadingRateMeshShader: b32,
- meshShaderQueries: b32,
-}
-
-PhysicalDeviceMeshShaderPropertiesEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- maxTaskWorkGroupTotalCount: u32,
- maxTaskWorkGroupCount: [3]u32,
- maxTaskWorkGroupInvocations: u32,
- maxTaskWorkGroupSize: [3]u32,
- maxTaskPayloadSize: u32,
- maxTaskSharedMemorySize: u32,
- maxTaskPayloadAndSharedMemorySize: u32,
- maxMeshWorkGroupTotalCount: u32,
- maxMeshWorkGroupCount: [3]u32,
- maxMeshWorkGroupInvocations: u32,
- maxMeshWorkGroupSize: [3]u32,
- maxMeshSharedMemorySize: u32,
- maxMeshPayloadAndSharedMemorySize: u32,
- maxMeshOutputMemorySize: u32,
- maxMeshPayloadAndOutputMemorySize: u32,
- maxMeshOutputComponents: u32,
- maxMeshOutputVertices: u32,
- maxMeshOutputPrimitives: u32,
- maxMeshOutputLayers: u32,
- maxMeshMultiviewViewCount: u32,
- meshOutputPerVertexGranularity: u32,
- meshOutputPerPrimitiveGranularity: u32,
- maxPreferredTaskWorkGroupInvocations: u32,
- maxPreferredMeshWorkGroupInvocations: u32,
- prefersLocalInvocationVertexOutput: b32,
- prefersLocalInvocationPrimitiveOutput: b32,
- prefersCompactVertexOutput: b32,
- prefersCompactPrimitiveOutput: b32,
-}
-
-DrawMeshTasksIndirectCommandEXT :: struct {
- groupCountX: u32,
- groupCountY: u32,
- groupCountZ: u32,
-}
-
-Win32SurfaceCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: Win32SurfaceCreateFlagsKHR,
- hinstance: HINSTANCE,
- hwnd: HWND,
-}
-
-ImportMemoryWin32HandleInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- handleType: ExternalMemoryHandleTypeFlags,
- handle: HANDLE,
- name: LPCWSTR,
-}
-
-ExportMemoryWin32HandleInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- pAttributes: [^]SECURITY_ATTRIBUTES,
- dwAccess: DWORD,
- name: LPCWSTR,
-}
-
-MemoryWin32HandlePropertiesKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- memoryTypeBits: u32,
-}
-
-MemoryGetWin32HandleInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- memory: DeviceMemory,
- handleType: ExternalMemoryHandleTypeFlags,
-}
-
-Win32KeyedMutexAcquireReleaseInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- acquireCount: u32,
- pAcquireSyncs: [^]DeviceMemory,
- pAcquireKeys: [^]u64,
- pAcquireTimeouts: [^]u32,
- releaseCount: u32,
- pReleaseSyncs: [^]DeviceMemory,
- pReleaseKeys: [^]u64,
-}
-
-ImportSemaphoreWin32HandleInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- semaphore: Semaphore,
- flags: SemaphoreImportFlags,
- handleType: ExternalSemaphoreHandleTypeFlags,
- handle: HANDLE,
- name: LPCWSTR,
-}
-
-ExportSemaphoreWin32HandleInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- pAttributes: [^]SECURITY_ATTRIBUTES,
- dwAccess: DWORD,
- name: LPCWSTR,
-}
-
-D3D12FenceSubmitInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- waitSemaphoreValuesCount: u32,
- pWaitSemaphoreValues: [^]u64,
- signalSemaphoreValuesCount: u32,
- pSignalSemaphoreValues: [^]u64,
-}
-
-SemaphoreGetWin32HandleInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- semaphore: Semaphore,
- handleType: ExternalSemaphoreHandleTypeFlags,
-}
-
-ImportFenceWin32HandleInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- fence: Fence,
- flags: FenceImportFlags,
- handleType: ExternalFenceHandleTypeFlags,
- handle: HANDLE,
- name: LPCWSTR,
-}
-
-ExportFenceWin32HandleInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- pAttributes: [^]SECURITY_ATTRIBUTES,
- dwAccess: DWORD,
- name: LPCWSTR,
-}
-
-FenceGetWin32HandleInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- fence: Fence,
- handleType: ExternalFenceHandleTypeFlags,
-}
-
-ImportMemoryWin32HandleInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- handleType: ExternalMemoryHandleTypeFlagsNV,
- handle: HANDLE,
-}
-
-ExportMemoryWin32HandleInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- pAttributes: [^]SECURITY_ATTRIBUTES,
- dwAccess: DWORD,
-}
-
-Win32KeyedMutexAcquireReleaseInfoNV :: struct {
- sType: StructureType,
- pNext: rawptr,
- acquireCount: u32,
- pAcquireSyncs: [^]DeviceMemory,
- pAcquireKeys: [^]u64,
- pAcquireTimeoutMilliseconds: [^]u32,
- releaseCount: u32,
- pReleaseSyncs: [^]DeviceMemory,
- pReleaseKeys: [^]u64,
-}
-
-SurfaceFullScreenExclusiveInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- fullScreenExclusive: FullScreenExclusiveEXT,
-}
-
-SurfaceCapabilitiesFullScreenExclusiveEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- fullScreenExclusiveSupported: b32,
-}
-
-SurfaceFullScreenExclusiveWin32InfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- hmonitor: HMONITOR,
-}
-
-MetalSurfaceCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: MetalSurfaceCreateFlagsEXT,
- pLayer: ^CAMetalLayer,
-}
-
-ExportMetalObjectCreateInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- exportObjectType: ExportMetalObjectTypeFlagsEXT,
-}
-
-ExportMetalObjectsInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
-}
-
-ExportMetalDeviceInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- mtlDevice: MTLDevice_id,
-}
-
-ExportMetalCommandQueueInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- queue: Queue,
- mtlCommandQueue: MTLCommandQueue_id,
-}
-
-ExportMetalBufferInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- memory: DeviceMemory,
- mtlBuffer: MTLBuffer_id,
-}
-
-ImportMetalBufferInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- mtlBuffer: MTLBuffer_id,
-}
-
-ExportMetalTextureInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- image: Image,
- imageView: ImageView,
- bufferView: BufferView,
- plane: ImageAspectFlags,
- mtlTexture: MTLTexture_id,
-}
-
-ImportMetalTextureInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- plane: ImageAspectFlags,
- mtlTexture: MTLTexture_id,
-}
-
-ExportMetalIOSurfaceInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- image: Image,
- ioSurface: IOSurfaceRef,
-}
-
-ImportMetalIOSurfaceInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- ioSurface: IOSurfaceRef,
-}
-
-ExportMetalSharedEventInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- semaphore: Semaphore,
- event: Event,
- mtlSharedEvent: MTLSharedEvent_id,
-}
-
-ImportMetalSharedEventInfoEXT :: struct {
- sType: StructureType,
- pNext: rawptr,
- mtlSharedEvent: MTLSharedEvent_id,
-}
-
-MacOSSurfaceCreateInfoMVK :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: MacOSSurfaceCreateFlagsMVK,
- pView: rawptr,
-}
-
-IOSSurfaceCreateInfoMVK :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: IOSSurfaceCreateFlagsMVK,
- pView: rawptr,
-}
-
-WaylandSurfaceCreateInfoKHR :: struct {
- sType: StructureType,
- pNext: rawptr,
- flags: WaylandSurfaceCreateFlagsKHR,
- display: ^wl_display,
- surface: ^wl_surface,
-}
-
-VideoH264SpsVuiFlags :: struct {
- bit_field: u32,
-}
-
-VideoH264HrdParameters :: struct {
- cpb_cnt_minus1: u8,
- bit_rate_scale: u8,
- cpb_size_scale: u8,
- reserved1: u8,
- bit_rate_value_minus1: [VIDEO_H264_CPB_CNT_LIST_SIZE]u32,
- cpb_size_value_minus1: [VIDEO_H264_CPB_CNT_LIST_SIZE]u32,
- cbr_flag: [VIDEO_H264_CPB_CNT_LIST_SIZE]u8,
- initial_cpb_removal_delay_length_minus1: u32,
- cpb_removal_delay_length_minus1: u32,
- dpb_output_delay_length_minus1: u32,
- time_offset_length: u32,
-}
-
-VideoH264SequenceParameterSetVui :: struct {
- flags: VideoH264SpsVuiFlags,
- aspect_ratio_idc: VideoH264AspectRatioIdc,
- sar_width: u16,
- sar_height: u16,
- video_format: u8,
- colour_primaries: u8,
- transfer_characteristics: u8,
- matrix_coefficients: u8,
- num_units_in_tick: u32,
- time_scale: u32,
- max_num_reorder_frames: u8,
- max_dec_frame_buffering: u8,
- chroma_sample_loc_type_top_field: u8,
- chroma_sample_loc_type_bottom_field: u8,
- reserved1: u32,
- pHrdParameters: [^]VideoH264HrdParameters,
-}
-
-VideoH264SpsFlags :: struct {
- bit_field: u32,
-}
-
-VideoH264ScalingLists :: struct {
- scaling_list_present_mask: u16,
- use_default_scaling_matrix_mask: u16,
- ScalingList4x4: [VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS]u8,
- ScalingList8x8: [VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS]u8,
-}
-
-VideoH264SequenceParameterSet :: struct {
- flags: VideoH264SpsFlags,
- profile_idc: VideoH264ProfileIdc,
- level_idc: VideoH264LevelIdc,
- chroma_format_idc: VideoH264ChromaFormatIdc,
- seq_parameter_set_id: u8,
- bit_depth_luma_minus8: u8,
- bit_depth_chroma_minus8: u8,
- log2_max_frame_num_minus4: u8,
- pic_order_cnt_type: VideoH264PocType,
- offset_for_non_ref_pic: i32,
- offset_for_top_to_bottom_field: i32,
- log2_max_pic_order_cnt_lsb_minus4: u8,
- num_ref_frames_in_pic_order_cnt_cycle: u8,
- max_num_ref_frames: u8,
- reserved1: u8,
- pic_width_in_mbs_minus1: u32,
- pic_height_in_map_units_minus1: u32,
- frame_crop_left_offset: u32,
- frame_crop_right_offset: u32,
- frame_crop_top_offset: u32,
- frame_crop_bottom_offset: u32,
- reserved2: u32,
- pOffsetForRefFrame: ^i32,
- pScalingLists: [^]VideoH264ScalingLists,
- pSequenceParameterSetVui: ^VideoH264SequenceParameterSetVui,
-}
-
-VideoH264PpsFlags :: struct {
- bit_field: u32,
-}
-
-VideoH264PictureParameterSet :: struct {
- flags: VideoH264PpsFlags,
- seq_parameter_set_id: u8,
- pic_parameter_set_id: u8,
- num_ref_idx_l0_default_active_minus1: u8,
- num_ref_idx_l1_default_active_minus1: u8,
- weighted_bipred_idc: VideoH264WeightedBipredIdc,
- pic_init_qp_minus26: i8,
- pic_init_qs_minus26: i8,
- chroma_qp_index_offset: i8,
- second_chroma_qp_index_offset: i8,
- pScalingLists: [^]VideoH264ScalingLists,
-}
-
-VideoH265DecPicBufMgr :: struct {
- max_latency_increase_plus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u32,
- max_dec_pic_buffering_minus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u8,
- max_num_reorder_pics: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u8,
-}
-
-VideoH265SubLayerHrdParameters :: struct {
- bit_rate_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32,
- cpb_size_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32,
- cpb_size_du_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32,
- bit_rate_du_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32,
- cbr_flag: u32,
-}
-
-VideoH265HrdFlags :: struct {
- bit_field: u32,
-}
-
-VideoH265HrdParameters :: struct {
- flags: VideoH265HrdFlags,
- tick_divisor_minus2: u8,
- du_cpb_removal_delay_increment_length_minus1: u8,
- dpb_output_delay_du_length_minus1: u8,
- bit_rate_scale: u8,
- cpb_size_scale: u8,
- cpb_size_du_scale: u8,
- initial_cpb_removal_delay_length_minus1: u8,
- au_cpb_removal_delay_length_minus1: u8,
- dpb_output_delay_length_minus1: u8,
- cpb_cnt_minus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u8,
- elemental_duration_in_tc_minus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u16,
- reserved: [3]u16,
- pSubLayerHrdParametersNal: ^VideoH265SubLayerHrdParameters,
- pSubLayerHrdParametersVcl: ^VideoH265SubLayerHrdParameters,
-}
-
-VideoH265VpsFlags :: struct {
- bit_field: u32,
-}
-
-VideoH265ProfileTierLevelFlags :: struct {
- bit_field: u32,
-}
-
-VideoH265ProfileTierLevel :: struct {
- flags: VideoH265ProfileTierLevelFlags,
- general_profile_idc: VideoH265ProfileIdc,
- general_level_idc: VideoH265LevelIdc,
-}
-
-VideoH265VideoParameterSet :: struct {
- flags: VideoH265VpsFlags,
- vps_video_parameter_set_id: u8,
- vps_max_sub_layers_minus1: u8,
- reserved1: u8,
- reserved2: u8,
- vps_num_units_in_tick: u32,
- vps_time_scale: u32,
- vps_num_ticks_poc_diff_one_minus1: u32,
- reserved3: u32,
- pDecPicBufMgr: ^VideoH265DecPicBufMgr,
- pHrdParameters: [^]VideoH265HrdParameters,
- pProfileTierLevel: ^VideoH265ProfileTierLevel,
-}
-
-VideoH265ScalingLists :: struct {
- ScalingList4x4: [VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS]u8,
- ScalingList8x8: [VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS]u8,
- ScalingList16x16: [VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS]u8,
- ScalingList32x32: [VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS]u8,
- ScalingListDCCoef16x16: [VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS]u8,
- ScalingListDCCoef32x32: [VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS]u8,
-}
-
-VideoH265SpsVuiFlags :: struct {
- bit_field: u32,
-}
-
-VideoH265SequenceParameterSetVui :: struct {
- flags: VideoH265SpsVuiFlags,
- aspect_ratio_idc: VideoH265AspectRatioIdc,
- sar_width: u16,
- sar_height: u16,
- video_format: u8,
- colour_primaries: u8,
- transfer_characteristics: u8,
- matrix_coeffs: u8,
- chroma_sample_loc_type_top_field: u8,
- chroma_sample_loc_type_bottom_field: u8,
- reserved1: u8,
- reserved2: u8,
- def_disp_win_left_offset: u16,
- def_disp_win_right_offset: u16,
- def_disp_win_top_offset: u16,
- def_disp_win_bottom_offset: u16,
- vui_num_units_in_tick: u32,
- vui_time_scale: u32,
- vui_num_ticks_poc_diff_one_minus1: u32,
- min_spatial_segmentation_idc: u16,
- reserved3: u16,
- max_bytes_per_pic_denom: u8,
- max_bits_per_min_cu_denom: u8,
- log2_max_mv_length_horizontal: u8,
- log2_max_mv_length_vertical: u8,
- pHrdParameters: [^]VideoH265HrdParameters,
-}
-
-VideoH265PredictorPaletteEntries :: struct {
- PredictorPaletteEntries: [VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE]u16,
-}
-
-VideoH265SpsFlags :: struct {
- bit_field: u32,
-}
-
-VideoH265ShortTermRefPicSetFlags :: struct {
- bit_field: u32,
-}
-
-VideoH265ShortTermRefPicSet :: struct {
- flags: VideoH265ShortTermRefPicSetFlags,
- delta_idx_minus1: u32,
- use_delta_flag: u16,
- abs_delta_rps_minus1: u16,
- used_by_curr_pic_flag: u16,
- used_by_curr_pic_s0_flag: u16,
- used_by_curr_pic_s1_flag: u16,
- reserved1: u16,
- reserved2: u8,
- reserved3: u8,
- num_negative_pics: u8,
- num_positive_pics: u8,
- delta_poc_s0_minus1: [VIDEO_H265_MAX_DPB_SIZE]u16,
- delta_poc_s1_minus1: [VIDEO_H265_MAX_DPB_SIZE]u16,
-}
-
-VideoH265LongTermRefPicsSps :: struct {
- used_by_curr_pic_lt_sps_flag: u32,
- lt_ref_pic_poc_lsb_sps: [VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS]u32,
-}
-
-VideoH265SequenceParameterSet :: struct {
- flags: VideoH265SpsFlags,
- chroma_format_idc: VideoH265ChromaFormatIdc,
- pic_width_in_luma_samples: u32,
- pic_height_in_luma_samples: u32,
- sps_video_parameter_set_id: u8,
- sps_max_sub_layers_minus1: u8,
- sps_seq_parameter_set_id: u8,
- bit_depth_luma_minus8: u8,
- bit_depth_chroma_minus8: u8,
- log2_max_pic_order_cnt_lsb_minus4: u8,
- log2_min_luma_coding_block_size_minus3: u8,
- log2_diff_max_min_luma_coding_block_size: u8,
- log2_min_luma_transform_block_size_minus2: u8,
- log2_diff_max_min_luma_transform_block_size: u8,
- max_transform_hierarchy_depth_inter: u8,
- max_transform_hierarchy_depth_intra: u8,
- num_short_term_ref_pic_sets: u8,
- num_long_term_ref_pics_sps: u8,
- pcm_sample_bit_depth_luma_minus1: u8,
- pcm_sample_bit_depth_chroma_minus1: u8,
- log2_min_pcm_luma_coding_block_size_minus3: u8,
- log2_diff_max_min_pcm_luma_coding_block_size: u8,
- reserved1: u8,
- reserved2: u8,
- palette_max_size: u8,
- delta_palette_max_predictor_size: u8,
- motion_vector_resolution_control_idc: u8,
- sps_num_palette_predictor_initializers_minus1: u8,
- conf_win_left_offset: u32,
- conf_win_right_offset: u32,
- conf_win_top_offset: u32,
- conf_win_bottom_offset: u32,
- pProfileTierLevel: ^VideoH265ProfileTierLevel,
- pDecPicBufMgr: ^VideoH265DecPicBufMgr,
- pScalingLists: [^]VideoH265ScalingLists,
- pShortTermRefPicSet: ^VideoH265ShortTermRefPicSet,
- pLongTermRefPicsSps: [^]VideoH265LongTermRefPicsSps,
- pSequenceParameterSetVui: ^VideoH265SequenceParameterSetVui,
- pPredictorPaletteEntries: [^]VideoH265PredictorPaletteEntries,
-}
-
-VideoH265PpsFlags :: struct {
- bit_field: u32,
-}
-
-VideoH265PictureParameterSet :: struct {
- flags: VideoH265PpsFlags,
- pps_pic_parameter_set_id: u8,
- pps_seq_parameter_set_id: u8,
- sps_video_parameter_set_id: u8,
- num_extra_slice_header_bits: u8,
- num_ref_idx_l0_default_active_minus1: u8,
- num_ref_idx_l1_default_active_minus1: u8,
- init_qp_minus26: i8,
- diff_cu_qp_delta_depth: u8,
- pps_cb_qp_offset: i8,
- pps_cr_qp_offset: i8,
- pps_beta_offset_div2: i8,
- pps_tc_offset_div2: i8,
- log2_parallel_merge_level_minus2: u8,
- log2_max_transform_skip_block_size_minus2: u8,
- diff_cu_chroma_qp_offset_depth: u8,
- chroma_qp_offset_list_len_minus1: u8,
- cb_qp_offset_list: [VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]i8,
- cr_qp_offset_list: [VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]i8,
- log2_sao_offset_scale_luma: u8,
- log2_sao_offset_scale_chroma: u8,
- pps_act_y_qp_offset_plus5: i8,
- pps_act_cb_qp_offset_plus5: i8,
- pps_act_cr_qp_offset_plus3: i8,
- pps_num_palette_predictor_initializers: u8,
- luma_bit_depth_entry_minus8: u8,
- chroma_bit_depth_entry_minus8: u8,
- num_tile_columns_minus1: u8,
- num_tile_rows_minus1: u8,
- reserved1: u8,
- reserved2: u8,
- column_width_minus1: [VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE]u16,
- row_height_minus1: [VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE]u16,
- reserved3: u32,
- pScalingLists: [^]VideoH265ScalingLists,
- pPredictorPaletteEntries: [^]VideoH265PredictorPaletteEntries,
-}
-
-VideoDecodeH264PictureInfoFlags :: struct {
- bit_field: u32,
-}
-
-VideoDecodeH264PictureInfo :: struct {
- flags: VideoDecodeH264PictureInfoFlags,
- seq_parameter_set_id: u8,
- pic_parameter_set_id: u8,
- reserved1: u8,
- reserved2: u8,
- frame_num: u16,
- idr_pic_id: u16,
- PicOrderCnt: [VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]i32,
-}
-
-VideoDecodeH264ReferenceInfoFlags :: struct {
- bit_field: u32,
-}
-
-VideoDecodeH264ReferenceInfo :: struct {
- flags: VideoDecodeH264ReferenceInfoFlags,
- FrameNum: u16,
- reserved: u16,
- PicOrderCnt: [VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]i32,
-}
-
-VideoDecodeH265PictureInfoFlags :: struct {
- bit_field: u32,
-}
-
-VideoDecodeH265PictureInfo :: struct {
- flags: VideoDecodeH265PictureInfoFlags,
- sps_video_parameter_set_id: u8,
- pps_seq_parameter_set_id: u8,
- pps_pic_parameter_set_id: u8,
- NumDeltaPocsOfRefRpsIdx: u8,
- PicOrderCntVal: i32,
- NumBitsForSTRefPicSetInSlice: u16,
- reserved: u16,
- RefPicSetStCurrBefore: [VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]u8,
- RefPicSetStCurrAfter: [VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]u8,
- RefPicSetLtCurr: [VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]u8,
-}
-
-VideoDecodeH265ReferenceInfoFlags :: struct {
- bit_field: u32,
-}
-
-VideoDecodeH265ReferenceInfo :: struct {
- flags: VideoDecodeH265ReferenceInfoFlags,
- PicOrderCntVal: i32,
-}
-
-// Opaque structs
-
-wl_surface :: struct {} // Opaque struct defined by Wayland
-wl_display :: struct {} // Opaque struct defined by Wayland
-IOSurfaceRef :: struct {} // Opaque struct defined by Apple’s CoreGraphics framework
-// Aliases
-PhysicalDeviceVariablePointerFeatures :: PhysicalDeviceVariablePointersFeatures
-PhysicalDeviceShaderDrawParameterFeatures :: PhysicalDeviceShaderDrawParametersFeatures
-RenderingFlagsKHR :: RenderingFlags
-RenderingFlagKHR :: RenderingFlag
-RenderingInfoKHR :: RenderingInfo
-RenderingAttachmentInfoKHR :: RenderingAttachmentInfo
-PipelineRenderingCreateInfoKHR :: PipelineRenderingCreateInfo
-PhysicalDeviceDynamicRenderingFeaturesKHR :: PhysicalDeviceDynamicRenderingFeatures
-CommandBufferInheritanceRenderingInfoKHR :: CommandBufferInheritanceRenderingInfo
-AttachmentSampleCountInfoNV :: AttachmentSampleCountInfoAMD
-RenderPassMultiviewCreateInfoKHR :: RenderPassMultiviewCreateInfo
-PhysicalDeviceMultiviewFeaturesKHR :: PhysicalDeviceMultiviewFeatures
-PhysicalDeviceMultiviewPropertiesKHR :: PhysicalDeviceMultiviewProperties
-PhysicalDeviceFeatures2KHR :: PhysicalDeviceFeatures2
-PhysicalDeviceProperties2KHR :: PhysicalDeviceProperties2
-FormatProperties2KHR :: FormatProperties2
-ImageFormatProperties2KHR :: ImageFormatProperties2
-PhysicalDeviceImageFormatInfo2KHR :: PhysicalDeviceImageFormatInfo2
-QueueFamilyProperties2KHR :: QueueFamilyProperties2
-PhysicalDeviceMemoryProperties2KHR :: PhysicalDeviceMemoryProperties2
-SparseImageFormatProperties2KHR :: SparseImageFormatProperties2
-PhysicalDeviceSparseImageFormatInfo2KHR :: PhysicalDeviceSparseImageFormatInfo2
-PeerMemoryFeatureFlagsKHR :: PeerMemoryFeatureFlags
-PeerMemoryFeatureFlagKHR :: PeerMemoryFeatureFlag
-MemoryAllocateFlagsKHR :: MemoryAllocateFlags
-MemoryAllocateFlagKHR :: MemoryAllocateFlag
-MemoryAllocateFlagsInfoKHR :: MemoryAllocateFlagsInfo
-DeviceGroupRenderPassBeginInfoKHR :: DeviceGroupRenderPassBeginInfo
-DeviceGroupCommandBufferBeginInfoKHR :: DeviceGroupCommandBufferBeginInfo
-DeviceGroupSubmitInfoKHR :: DeviceGroupSubmitInfo
-DeviceGroupBindSparseInfoKHR :: DeviceGroupBindSparseInfo
-BindBufferMemoryDeviceGroupInfoKHR :: BindBufferMemoryDeviceGroupInfo
-BindImageMemoryDeviceGroupInfoKHR :: BindImageMemoryDeviceGroupInfo
-CommandPoolTrimFlagsKHR :: CommandPoolTrimFlags
-PhysicalDeviceGroupPropertiesKHR :: PhysicalDeviceGroupProperties
-DeviceGroupDeviceCreateInfoKHR :: DeviceGroupDeviceCreateInfo
-ExternalMemoryHandleTypeFlagsKHR :: ExternalMemoryHandleTypeFlags
-ExternalMemoryHandleTypeFlagKHR :: ExternalMemoryHandleTypeFlag
-ExternalMemoryFeatureFlagsKHR :: ExternalMemoryFeatureFlags
-ExternalMemoryFeatureFlagKHR :: ExternalMemoryFeatureFlag
-ExternalMemoryPropertiesKHR :: ExternalMemoryProperties
-PhysicalDeviceExternalImageFormatInfoKHR :: PhysicalDeviceExternalImageFormatInfo
-ExternalImageFormatPropertiesKHR :: ExternalImageFormatProperties
-PhysicalDeviceExternalBufferInfoKHR :: PhysicalDeviceExternalBufferInfo
-ExternalBufferPropertiesKHR :: ExternalBufferProperties
-PhysicalDeviceIDPropertiesKHR :: PhysicalDeviceIDProperties
-ExternalMemoryImageCreateInfoKHR :: ExternalMemoryImageCreateInfo
-ExternalMemoryBufferCreateInfoKHR :: ExternalMemoryBufferCreateInfo
-ExportMemoryAllocateInfoKHR :: ExportMemoryAllocateInfo
-ExternalSemaphoreHandleTypeFlagsKHR :: ExternalSemaphoreHandleTypeFlags
-ExternalSemaphoreHandleTypeFlagKHR :: ExternalSemaphoreHandleTypeFlag
-ExternalSemaphoreFeatureFlagsKHR :: ExternalSemaphoreFeatureFlags
-ExternalSemaphoreFeatureFlagKHR :: ExternalSemaphoreFeatureFlag
-PhysicalDeviceExternalSemaphoreInfoKHR :: PhysicalDeviceExternalSemaphoreInfo
-ExternalSemaphorePropertiesKHR :: ExternalSemaphoreProperties
-SemaphoreImportFlagsKHR :: SemaphoreImportFlags
-SemaphoreImportFlagKHR :: SemaphoreImportFlag
-ExportSemaphoreCreateInfoKHR :: ExportSemaphoreCreateInfo
-PhysicalDeviceShaderFloat16Int8FeaturesKHR :: PhysicalDeviceShaderFloat16Int8Features
-PhysicalDeviceFloat16Int8FeaturesKHR :: PhysicalDeviceShaderFloat16Int8Features
-PhysicalDevice16BitStorageFeaturesKHR :: PhysicalDevice16BitStorageFeatures
-DescriptorUpdateTemplateKHR :: DescriptorUpdateTemplate
-DescriptorUpdateTemplateTypeKHR :: DescriptorUpdateTemplateType
-DescriptorUpdateTemplateCreateFlagsKHR :: DescriptorUpdateTemplateCreateFlags
-DescriptorUpdateTemplateEntryKHR :: DescriptorUpdateTemplateEntry
-DescriptorUpdateTemplateCreateInfoKHR :: DescriptorUpdateTemplateCreateInfo
-PhysicalDeviceImagelessFramebufferFeaturesKHR :: PhysicalDeviceImagelessFramebufferFeatures
-FramebufferAttachmentsCreateInfoKHR :: FramebufferAttachmentsCreateInfo
-FramebufferAttachmentImageInfoKHR :: FramebufferAttachmentImageInfo
-RenderPassAttachmentBeginInfoKHR :: RenderPassAttachmentBeginInfo
-RenderPassCreateInfo2KHR :: RenderPassCreateInfo2
-AttachmentDescription2KHR :: AttachmentDescription2
-AttachmentReference2KHR :: AttachmentReference2
-SubpassDescription2KHR :: SubpassDescription2
-SubpassDependency2KHR :: SubpassDependency2
-SubpassBeginInfoKHR :: SubpassBeginInfo
-SubpassEndInfoKHR :: SubpassEndInfo
-ExternalFenceHandleTypeFlagsKHR :: ExternalFenceHandleTypeFlags
-ExternalFenceHandleTypeFlagKHR :: ExternalFenceHandleTypeFlag
-ExternalFenceFeatureFlagsKHR :: ExternalFenceFeatureFlags
-ExternalFenceFeatureFlagKHR :: ExternalFenceFeatureFlag
-PhysicalDeviceExternalFenceInfoKHR :: PhysicalDeviceExternalFenceInfo
-ExternalFencePropertiesKHR :: ExternalFenceProperties
-FenceImportFlagsKHR :: FenceImportFlags
-FenceImportFlagKHR :: FenceImportFlag
-ExportFenceCreateInfoKHR :: ExportFenceCreateInfo
-PointClippingBehaviorKHR :: PointClippingBehavior
-TessellationDomainOriginKHR :: TessellationDomainOrigin
-PhysicalDevicePointClippingPropertiesKHR :: PhysicalDevicePointClippingProperties
-RenderPassInputAttachmentAspectCreateInfoKHR :: RenderPassInputAttachmentAspectCreateInfo
-InputAttachmentAspectReferenceKHR :: InputAttachmentAspectReference
-ImageViewUsageCreateInfoKHR :: ImageViewUsageCreateInfo
-PipelineTessellationDomainOriginStateCreateInfoKHR :: PipelineTessellationDomainOriginStateCreateInfo
-PhysicalDeviceVariablePointerFeaturesKHR :: PhysicalDeviceVariablePointersFeatures
-PhysicalDeviceVariablePointersFeaturesKHR :: PhysicalDeviceVariablePointersFeatures
-MemoryDedicatedRequirementsKHR :: MemoryDedicatedRequirements
-MemoryDedicatedAllocateInfoKHR :: MemoryDedicatedAllocateInfo
-BufferMemoryRequirementsInfo2KHR :: BufferMemoryRequirementsInfo2
-ImageMemoryRequirementsInfo2KHR :: ImageMemoryRequirementsInfo2
-ImageSparseMemoryRequirementsInfo2KHR :: ImageSparseMemoryRequirementsInfo2
-MemoryRequirements2KHR :: MemoryRequirements2
-SparseImageMemoryRequirements2KHR :: SparseImageMemoryRequirements2
-ImageFormatListCreateInfoKHR :: ImageFormatListCreateInfo
-SamplerYcbcrConversionKHR :: SamplerYcbcrConversion
-SamplerYcbcrModelConversionKHR :: SamplerYcbcrModelConversion
-SamplerYcbcrRangeKHR :: SamplerYcbcrRange
-ChromaLocationKHR :: ChromaLocation
-SamplerYcbcrConversionCreateInfoKHR :: SamplerYcbcrConversionCreateInfo
-SamplerYcbcrConversionInfoKHR :: SamplerYcbcrConversionInfo
-BindImagePlaneMemoryInfoKHR :: BindImagePlaneMemoryInfo
-ImagePlaneMemoryRequirementsInfoKHR :: ImagePlaneMemoryRequirementsInfo
-PhysicalDeviceSamplerYcbcrConversionFeaturesKHR :: PhysicalDeviceSamplerYcbcrConversionFeatures
-SamplerYcbcrConversionImageFormatPropertiesKHR :: SamplerYcbcrConversionImageFormatProperties
-BindBufferMemoryInfoKHR :: BindBufferMemoryInfo
-BindImageMemoryInfoKHR :: BindImageMemoryInfo
-PhysicalDeviceMaintenance3PropertiesKHR :: PhysicalDeviceMaintenance3Properties
-DescriptorSetLayoutSupportKHR :: DescriptorSetLayoutSupport
-PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR :: PhysicalDeviceShaderSubgroupExtendedTypesFeatures
-PhysicalDevice8BitStorageFeaturesKHR :: PhysicalDevice8BitStorageFeatures
-PhysicalDeviceShaderAtomicInt64FeaturesKHR :: PhysicalDeviceShaderAtomicInt64Features
-DriverIdKHR :: DriverId
-ConformanceVersionKHR :: ConformanceVersion
-PhysicalDeviceDriverPropertiesKHR :: PhysicalDeviceDriverProperties
-ShaderFloatControlsIndependenceKHR :: ShaderFloatControlsIndependence
-PhysicalDeviceFloatControlsPropertiesKHR :: PhysicalDeviceFloatControlsProperties
-ResolveModeFlagKHR :: ResolveModeFlag
-ResolveModeFlagsKHR :: ResolveModeFlags
-SubpassDescriptionDepthStencilResolveKHR :: SubpassDescriptionDepthStencilResolve
-PhysicalDeviceDepthStencilResolvePropertiesKHR :: PhysicalDeviceDepthStencilResolveProperties
-SemaphoreTypeKHR :: SemaphoreType
-SemaphoreWaitFlagKHR :: SemaphoreWaitFlag
-SemaphoreWaitFlagsKHR :: SemaphoreWaitFlags
-PhysicalDeviceTimelineSemaphoreFeaturesKHR :: PhysicalDeviceTimelineSemaphoreFeatures
-PhysicalDeviceTimelineSemaphorePropertiesKHR :: PhysicalDeviceTimelineSemaphoreProperties
-SemaphoreTypeCreateInfoKHR :: SemaphoreTypeCreateInfo
-TimelineSemaphoreSubmitInfoKHR :: TimelineSemaphoreSubmitInfo
-SemaphoreWaitInfoKHR :: SemaphoreWaitInfo
-SemaphoreSignalInfoKHR :: SemaphoreSignalInfo
-PhysicalDeviceVulkanMemoryModelFeaturesKHR :: PhysicalDeviceVulkanMemoryModelFeatures
-PhysicalDeviceShaderTerminateInvocationFeaturesKHR :: PhysicalDeviceShaderTerminateInvocationFeatures
-PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR :: PhysicalDeviceSeparateDepthStencilLayoutsFeatures
-AttachmentReferenceStencilLayoutKHR :: AttachmentReferenceStencilLayout
-AttachmentDescriptionStencilLayoutKHR :: AttachmentDescriptionStencilLayout
-PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR :: PhysicalDeviceUniformBufferStandardLayoutFeatures
-PhysicalDeviceBufferDeviceAddressFeaturesKHR :: PhysicalDeviceBufferDeviceAddressFeatures
-BufferDeviceAddressInfoKHR :: BufferDeviceAddressInfo
-BufferOpaqueCaptureAddressCreateInfoKHR :: BufferOpaqueCaptureAddressCreateInfo
-MemoryOpaqueCaptureAddressAllocateInfoKHR :: MemoryOpaqueCaptureAddressAllocateInfo
-DeviceMemoryOpaqueCaptureAddressInfoKHR :: DeviceMemoryOpaqueCaptureAddressInfo
-PhysicalDeviceShaderIntegerDotProductFeaturesKHR :: PhysicalDeviceShaderIntegerDotProductFeatures
-PhysicalDeviceShaderIntegerDotProductPropertiesKHR :: PhysicalDeviceShaderIntegerDotProductProperties
-PipelineStageFlags2KHR :: PipelineStageFlags2
-PipelineStageFlag2KHR :: PipelineStageFlag2
-AccessFlags2KHR :: AccessFlags2
-AccessFlag2KHR :: AccessFlag2
-SubmitFlagKHR :: SubmitFlag
-SubmitFlagsKHR :: SubmitFlags
-MemoryBarrier2KHR :: MemoryBarrier2
-BufferMemoryBarrier2KHR :: BufferMemoryBarrier2
-ImageMemoryBarrier2KHR :: ImageMemoryBarrier2
-DependencyInfoKHR :: DependencyInfo
-SubmitInfo2KHR :: SubmitInfo2
-SemaphoreSubmitInfoKHR :: SemaphoreSubmitInfo
-CommandBufferSubmitInfoKHR :: CommandBufferSubmitInfo
-PhysicalDeviceSynchronization2FeaturesKHR :: PhysicalDeviceSynchronization2Features
-PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR :: PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
-CopyBufferInfo2KHR :: CopyBufferInfo2
-CopyImageInfo2KHR :: CopyImageInfo2
-CopyBufferToImageInfo2KHR :: CopyBufferToImageInfo2
-CopyImageToBufferInfo2KHR :: CopyImageToBufferInfo2
-BlitImageInfo2KHR :: BlitImageInfo2
-ResolveImageInfo2KHR :: ResolveImageInfo2
-BufferCopy2KHR :: BufferCopy2
-ImageCopy2KHR :: ImageCopy2
-ImageBlit2KHR :: ImageBlit2
-BufferImageCopy2KHR :: BufferImageCopy2
-ImageResolve2KHR :: ImageResolve2
-FormatFeatureFlags2KHR :: FormatFeatureFlags2
-FormatFeatureFlag2KHR :: FormatFeatureFlag2
-FormatProperties3KHR :: FormatProperties3
-PhysicalDeviceMaintenance4FeaturesKHR :: PhysicalDeviceMaintenance4Features
-PhysicalDeviceMaintenance4PropertiesKHR :: PhysicalDeviceMaintenance4Properties
-DeviceBufferMemoryRequirementsKHR :: DeviceBufferMemoryRequirements
-DeviceImageMemoryRequirementsKHR :: DeviceImageMemoryRequirements
-PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT :: PhysicalDeviceTextureCompressionASTCHDRFeatures
-SamplerReductionModeEXT :: SamplerReductionMode
-SamplerReductionModeCreateInfoEXT :: SamplerReductionModeCreateInfo
-PhysicalDeviceSamplerFilterMinmaxPropertiesEXT :: PhysicalDeviceSamplerFilterMinmaxProperties
-PhysicalDeviceInlineUniformBlockFeaturesEXT :: PhysicalDeviceInlineUniformBlockFeatures
-PhysicalDeviceInlineUniformBlockPropertiesEXT :: PhysicalDeviceInlineUniformBlockProperties
-WriteDescriptorSetInlineUniformBlockEXT :: WriteDescriptorSetInlineUniformBlock
-DescriptorPoolInlineUniformBlockCreateInfoEXT :: DescriptorPoolInlineUniformBlockCreateInfo
-DescriptorBindingFlagEXT :: DescriptorBindingFlag
-DescriptorBindingFlagsEXT :: DescriptorBindingFlags
-DescriptorSetLayoutBindingFlagsCreateInfoEXT :: DescriptorSetLayoutBindingFlagsCreateInfo
-PhysicalDeviceDescriptorIndexingFeaturesEXT :: PhysicalDeviceDescriptorIndexingFeatures
-PhysicalDeviceDescriptorIndexingPropertiesEXT :: PhysicalDeviceDescriptorIndexingProperties
-DescriptorSetVariableDescriptorCountAllocateInfoEXT :: DescriptorSetVariableDescriptorCountAllocateInfo
-DescriptorSetVariableDescriptorCountLayoutSupportEXT :: DescriptorSetVariableDescriptorCountLayoutSupport
-RayTracingShaderGroupTypeNV :: RayTracingShaderGroupTypeKHR
-GeometryTypeNV :: GeometryTypeKHR
-AccelerationStructureTypeNV :: AccelerationStructureTypeKHR
-CopyAccelerationStructureModeNV :: CopyAccelerationStructureModeKHR
-GeometryFlagsNV :: GeometryFlagsKHR
-GeometryFlagNV :: GeometryFlagKHR
-GeometryInstanceFlagsNV :: GeometryInstanceFlagsKHR
-GeometryInstanceFlagNV :: GeometryInstanceFlagKHR
-BuildAccelerationStructureFlagsNV :: BuildAccelerationStructureFlagsKHR
-BuildAccelerationStructureFlagNV :: BuildAccelerationStructureFlagKHR
-TransformMatrixNV :: TransformMatrixKHR
-AabbPositionsNV :: AabbPositionsKHR
-AccelerationStructureInstanceNV :: AccelerationStructureInstanceKHR
-QueueGlobalPriorityEXT :: QueueGlobalPriorityKHR
-DeviceQueueGlobalPriorityCreateInfoEXT :: DeviceQueueGlobalPriorityCreateInfoKHR
-PipelineCreationFeedbackFlagEXT :: PipelineCreationFeedbackFlag
-PipelineCreationFeedbackFlagsEXT :: PipelineCreationFeedbackFlags
-PipelineCreationFeedbackCreateInfoEXT :: PipelineCreationFeedbackCreateInfo
-PipelineCreationFeedbackEXT :: PipelineCreationFeedback
-PhysicalDeviceFragmentShaderBarycentricFeaturesNV :: PhysicalDeviceFragmentShaderBarycentricFeaturesKHR
-QueryPoolCreateInfoINTEL :: QueryPoolPerformanceQueryCreateInfoINTEL
-PhysicalDeviceScalarBlockLayoutFeaturesEXT :: PhysicalDeviceScalarBlockLayoutFeatures
-PhysicalDeviceSubgroupSizeControlFeaturesEXT :: PhysicalDeviceSubgroupSizeControlFeatures
-PhysicalDeviceSubgroupSizeControlPropertiesEXT :: PhysicalDeviceSubgroupSizeControlProperties
-PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT :: PipelineShaderStageRequiredSubgroupSizeCreateInfo
-PhysicalDeviceBufferAddressFeaturesEXT :: PhysicalDeviceBufferDeviceAddressFeaturesEXT
-BufferDeviceAddressInfoEXT :: BufferDeviceAddressInfo
-ToolPurposeFlagEXT :: ToolPurposeFlag
-ToolPurposeFlagsEXT :: ToolPurposeFlags
-PhysicalDeviceToolPropertiesEXT :: PhysicalDeviceToolProperties
-ImageStencilUsageCreateInfoEXT :: ImageStencilUsageCreateInfo
-PhysicalDeviceHostQueryResetFeaturesEXT :: PhysicalDeviceHostQueryResetFeatures
-PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT :: PhysicalDeviceShaderDemoteToHelperInvocationFeatures
-PhysicalDeviceTexelBufferAlignmentPropertiesEXT :: PhysicalDeviceTexelBufferAlignmentProperties
-PrivateDataSlotEXT :: PrivateDataSlot
-PrivateDataSlotCreateFlagsEXT :: PrivateDataSlotCreateFlags
-PhysicalDevicePrivateDataFeaturesEXT :: PhysicalDevicePrivateDataFeatures
-DevicePrivateDataCreateInfoEXT :: DevicePrivateDataCreateInfo
-PrivateDataSlotCreateInfoEXT :: PrivateDataSlotCreateInfo
-PhysicalDevicePipelineCreationCacheControlFeaturesEXT :: PhysicalDevicePipelineCreationCacheControlFeatures
-PhysicalDeviceImageRobustnessFeaturesEXT :: PhysicalDeviceImageRobustnessFeatures
-PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM :: PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
-PhysicalDeviceMutableDescriptorTypeFeaturesVALVE :: PhysicalDeviceMutableDescriptorTypeFeaturesEXT
-MutableDescriptorTypeListVALVE :: MutableDescriptorTypeListEXT
-MutableDescriptorTypeCreateInfoVALVE :: MutableDescriptorTypeCreateInfoEXT
-PipelineInfoEXT :: PipelineInfoKHR
-PhysicalDeviceGlobalPriorityQueryFeaturesEXT :: PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-QueueFamilyGlobalPriorityPropertiesEXT :: QueueFamilyGlobalPriorityPropertiesKHR
-MemoryDecompressionMethodFlagNV :: Flags64
-MemoryDecompressionMethodFlagsNV :: Flags64
-ShaderRequiredSubgroupSizeCreateInfoEXT :: PipelineShaderStageRequiredSubgroupSizeCreateInfo
-
-
+// +// Vulkan wrapper generated from "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/master/include/vulkan/vulkan_core.h" +// +package vulkan + +import "core:c" + +import win32 "core:sys/windows" +_ :: win32 +when ODIN_OS == .Windows { + HINSTANCE :: win32.HINSTANCE + HWND :: win32.HWND + HMONITOR :: win32.HMONITOR + HANDLE :: win32.HANDLE + LPCWSTR :: win32.LPCWSTR + SECURITY_ATTRIBUTES :: win32.SECURITY_ATTRIBUTES + DWORD :: win32.DWORD + LONG :: win32.LONG + LUID :: win32.LUID +} else { + HINSTANCE :: distinct rawptr + HWND :: distinct rawptr + HMONITOR :: distinct rawptr + HANDLE :: distinct rawptr + LPCWSTR :: ^u16 + SECURITY_ATTRIBUTES :: struct {} + DWORD :: u32 + LONG :: c.long + LUID :: struct { + LowPart: DWORD, + HighPart: LONG, + } +} + +CAMetalLayer :: struct {} + +MTLBuffer_id :: rawptr +MTLTexture_id :: rawptr +MTLSharedEvent_id :: rawptr +MTLDevice_id :: rawptr +MTLCommandQueue_id :: rawptr + +/********************************/ + +Extent2D :: struct { + width: u32, + height: u32, +} + +Extent3D :: struct { + width: u32, + height: u32, + depth: u32, +} + +Offset2D :: struct { + x: i32, + y: i32, +} + +Offset3D :: struct { + x: i32, + y: i32, + z: i32, +} + +Rect2D :: struct { + offset: Offset2D, + extent: Extent2D, +} + +BaseInStructure :: struct { + sType: StructureType, + pNext: ^BaseInStructure, +} + +BaseOutStructure :: struct { + sType: StructureType, + pNext: ^BaseOutStructure, +} + +BufferMemoryBarrier :: struct { + sType: StructureType, + pNext: rawptr, + srcAccessMask: AccessFlags, + dstAccessMask: AccessFlags, + srcQueueFamilyIndex: u32, + dstQueueFamilyIndex: u32, + buffer: Buffer, + offset: DeviceSize, + size: DeviceSize, +} + +DispatchIndirectCommand :: struct { + x: u32, + y: u32, + z: u32, +} + +DrawIndexedIndirectCommand :: struct { + indexCount: u32, + instanceCount: u32, + firstIndex: u32, + vertexOffset: i32, + firstInstance: u32, +} + +DrawIndirectCommand :: struct { + vertexCount: u32, + instanceCount: u32, + firstVertex: u32, + firstInstance: u32, +} + +ImageSubresourceRange :: struct { + aspectMask: ImageAspectFlags, + baseMipLevel: u32, + levelCount: u32, + baseArrayLayer: u32, + layerCount: u32, +} + +ImageMemoryBarrier :: struct { + sType: StructureType, + pNext: rawptr, + srcAccessMask: AccessFlags, + dstAccessMask: AccessFlags, + oldLayout: ImageLayout, + newLayout: ImageLayout, + srcQueueFamilyIndex: u32, + dstQueueFamilyIndex: u32, + image: Image, + subresourceRange: ImageSubresourceRange, +} + +MemoryBarrier :: struct { + sType: StructureType, + pNext: rawptr, + srcAccessMask: AccessFlags, + dstAccessMask: AccessFlags, +} + +PipelineCacheHeaderVersionOne :: struct { + headerSize: u32, + headerVersion: PipelineCacheHeaderVersion, + vendorID: u32, + deviceID: u32, + pipelineCacheUUID: [UUID_SIZE]u8, +} + +AllocationCallbacks :: struct { + pUserData: rawptr, + pfnAllocation: ProcAllocationFunction, + pfnReallocation: ProcReallocationFunction, + pfnFree: ProcFreeFunction, + pfnInternalAllocation: ProcInternalAllocationNotification, + pfnInternalFree: ProcInternalFreeNotification, +} + +ApplicationInfo :: struct { + sType: StructureType, + pNext: rawptr, + pApplicationName: cstring, + applicationVersion: u32, + pEngineName: cstring, + engineVersion: u32, + apiVersion: u32, +} + +FormatProperties :: struct { + linearTilingFeatures: FormatFeatureFlags, + optimalTilingFeatures: FormatFeatureFlags, + bufferFeatures: FormatFeatureFlags, +} + +ImageFormatProperties :: struct { + maxExtent: Extent3D, + maxMipLevels: u32, + maxArrayLayers: u32, + sampleCounts: SampleCountFlags, + maxResourceSize: DeviceSize, +} + +InstanceCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: InstanceCreateFlags, + pApplicationInfo: ^ApplicationInfo, + enabledLayerCount: u32, + ppEnabledLayerNames: [^]cstring, + enabledExtensionCount: u32, + ppEnabledExtensionNames: [^]cstring, +} + +MemoryHeap :: struct { + size: DeviceSize, + flags: MemoryHeapFlags, +} + +MemoryType :: struct { + propertyFlags: MemoryPropertyFlags, + heapIndex: u32, +} + +PhysicalDeviceFeatures :: struct { + robustBufferAccess: b32, + fullDrawIndexUint32: b32, + imageCubeArray: b32, + independentBlend: b32, + geometryShader: b32, + tessellationShader: b32, + sampleRateShading: b32, + dualSrcBlend: b32, + logicOp: b32, + multiDrawIndirect: b32, + drawIndirectFirstInstance: b32, + depthClamp: b32, + depthBiasClamp: b32, + fillModeNonSolid: b32, + depthBounds: b32, + wideLines: b32, + largePoints: b32, + alphaToOne: b32, + multiViewport: b32, + samplerAnisotropy: b32, + textureCompressionETC2: b32, + textureCompressionASTC_LDR: b32, + textureCompressionBC: b32, + occlusionQueryPrecise: b32, + pipelineStatisticsQuery: b32, + vertexPipelineStoresAndAtomics: b32, + fragmentStoresAndAtomics: b32, + shaderTessellationAndGeometryPointSize: b32, + shaderImageGatherExtended: b32, + shaderStorageImageExtendedFormats: b32, + shaderStorageImageMultisample: b32, + shaderStorageImageReadWithoutFormat: b32, + shaderStorageImageWriteWithoutFormat: b32, + shaderUniformBufferArrayDynamicIndexing: b32, + shaderSampledImageArrayDynamicIndexing: b32, + shaderStorageBufferArrayDynamicIndexing: b32, + shaderStorageImageArrayDynamicIndexing: b32, + shaderClipDistance: b32, + shaderCullDistance: b32, + shaderFloat64: b32, + shaderInt64: b32, + shaderInt16: b32, + shaderResourceResidency: b32, + shaderResourceMinLod: b32, + sparseBinding: b32, + sparseResidencyBuffer: b32, + sparseResidencyImage2D: b32, + sparseResidencyImage3D: b32, + sparseResidency2Samples: b32, + sparseResidency4Samples: b32, + sparseResidency8Samples: b32, + sparseResidency16Samples: b32, + sparseResidencyAliased: b32, + variableMultisampleRate: b32, + inheritedQueries: b32, +} + +PhysicalDeviceLimits :: struct { + maxImageDimension1D: u32, + maxImageDimension2D: u32, + maxImageDimension3D: u32, + maxImageDimensionCube: u32, + maxImageArrayLayers: u32, + maxTexelBufferElements: u32, + maxUniformBufferRange: u32, + maxStorageBufferRange: u32, + maxPushConstantsSize: u32, + maxMemoryAllocationCount: u32, + maxSamplerAllocationCount: u32, + bufferImageGranularity: DeviceSize, + sparseAddressSpaceSize: DeviceSize, + maxBoundDescriptorSets: u32, + maxPerStageDescriptorSamplers: u32, + maxPerStageDescriptorUniformBuffers: u32, + maxPerStageDescriptorStorageBuffers: u32, + maxPerStageDescriptorSampledImages: u32, + maxPerStageDescriptorStorageImages: u32, + maxPerStageDescriptorInputAttachments: u32, + maxPerStageResources: u32, + maxDescriptorSetSamplers: u32, + maxDescriptorSetUniformBuffers: u32, + maxDescriptorSetUniformBuffersDynamic: u32, + maxDescriptorSetStorageBuffers: u32, + maxDescriptorSetStorageBuffersDynamic: u32, + maxDescriptorSetSampledImages: u32, + maxDescriptorSetStorageImages: u32, + maxDescriptorSetInputAttachments: u32, + maxVertexInputAttributes: u32, + maxVertexInputBindings: u32, + maxVertexInputAttributeOffset: u32, + maxVertexInputBindingStride: u32, + maxVertexOutputComponents: u32, + maxTessellationGenerationLevel: u32, + maxTessellationPatchSize: u32, + maxTessellationControlPerVertexInputComponents: u32, + maxTessellationControlPerVertexOutputComponents: u32, + maxTessellationControlPerPatchOutputComponents: u32, + maxTessellationControlTotalOutputComponents: u32, + maxTessellationEvaluationInputComponents: u32, + maxTessellationEvaluationOutputComponents: u32, + maxGeometryShaderInvocations: u32, + maxGeometryInputComponents: u32, + maxGeometryOutputComponents: u32, + maxGeometryOutputVertices: u32, + maxGeometryTotalOutputComponents: u32, + maxFragmentInputComponents: u32, + maxFragmentOutputAttachments: u32, + maxFragmentDualSrcAttachments: u32, + maxFragmentCombinedOutputResources: u32, + maxComputeSharedMemorySize: u32, + maxComputeWorkGroupCount: [3]u32, + maxComputeWorkGroupInvocations: u32, + maxComputeWorkGroupSize: [3]u32, + subPixelPrecisionBits: u32, + subTexelPrecisionBits: u32, + mipmapPrecisionBits: u32, + maxDrawIndexedIndexValue: u32, + maxDrawIndirectCount: u32, + maxSamplerLodBias: f32, + maxSamplerAnisotropy: f32, + maxViewports: u32, + maxViewportDimensions: [2]u32, + viewportBoundsRange: [2]f32, + viewportSubPixelBits: u32, + minMemoryMapAlignment: int, + minTexelBufferOffsetAlignment: DeviceSize, + minUniformBufferOffsetAlignment: DeviceSize, + minStorageBufferOffsetAlignment: DeviceSize, + minTexelOffset: i32, + maxTexelOffset: u32, + minTexelGatherOffset: i32, + maxTexelGatherOffset: u32, + minInterpolationOffset: f32, + maxInterpolationOffset: f32, + subPixelInterpolationOffsetBits: u32, + maxFramebufferWidth: u32, + maxFramebufferHeight: u32, + maxFramebufferLayers: u32, + framebufferColorSampleCounts: SampleCountFlags, + framebufferDepthSampleCounts: SampleCountFlags, + framebufferStencilSampleCounts: SampleCountFlags, + framebufferNoAttachmentsSampleCounts: SampleCountFlags, + maxColorAttachments: u32, + sampledImageColorSampleCounts: SampleCountFlags, + sampledImageIntegerSampleCounts: SampleCountFlags, + sampledImageDepthSampleCounts: SampleCountFlags, + sampledImageStencilSampleCounts: SampleCountFlags, + storageImageSampleCounts: SampleCountFlags, + maxSampleMaskWords: u32, + timestampComputeAndGraphics: b32, + timestampPeriod: f32, + maxClipDistances: u32, + maxCullDistances: u32, + maxCombinedClipAndCullDistances: u32, + discreteQueuePriorities: u32, + pointSizeRange: [2]f32, + lineWidthRange: [2]f32, + pointSizeGranularity: f32, + lineWidthGranularity: f32, + strictLines: b32, + standardSampleLocations: b32, + optimalBufferCopyOffsetAlignment: DeviceSize, + optimalBufferCopyRowPitchAlignment: DeviceSize, + nonCoherentAtomSize: DeviceSize, +} + +PhysicalDeviceMemoryProperties :: struct { + memoryTypeCount: u32, + memoryTypes: [MAX_MEMORY_TYPES]MemoryType, + memoryHeapCount: u32, + memoryHeaps: [MAX_MEMORY_HEAPS]MemoryHeap, +} + +PhysicalDeviceSparseProperties :: struct { + residencyStandard2DBlockShape: b32, + residencyStandard2DMultisampleBlockShape: b32, + residencyStandard3DBlockShape: b32, + residencyAlignedMipSize: b32, + residencyNonResidentStrict: b32, +} + +PhysicalDeviceProperties :: struct { + apiVersion: u32, + driverVersion: u32, + vendorID: u32, + deviceID: u32, + deviceType: PhysicalDeviceType, + deviceName: [MAX_PHYSICAL_DEVICE_NAME_SIZE]byte, + pipelineCacheUUID: [UUID_SIZE]u8, + limits: PhysicalDeviceLimits, + sparseProperties: PhysicalDeviceSparseProperties, +} + +QueueFamilyProperties :: struct { + queueFlags: QueueFlags, + queueCount: u32, + timestampValidBits: u32, + minImageTransferGranularity: Extent3D, +} + +DeviceQueueCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: DeviceQueueCreateFlags, + queueFamilyIndex: u32, + queueCount: u32, + pQueuePriorities: [^]f32, +} + +DeviceCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: DeviceCreateFlags, + queueCreateInfoCount: u32, + pQueueCreateInfos: [^]DeviceQueueCreateInfo, + enabledLayerCount: u32, + ppEnabledLayerNames: [^]cstring, + enabledExtensionCount: u32, + ppEnabledExtensionNames: [^]cstring, + pEnabledFeatures: [^]PhysicalDeviceFeatures, +} + +ExtensionProperties :: struct { + extensionName: [MAX_EXTENSION_NAME_SIZE]byte, + specVersion: u32, +} + +LayerProperties :: struct { + layerName: [MAX_EXTENSION_NAME_SIZE]byte, + specVersion: u32, + implementationVersion: u32, + description: [MAX_DESCRIPTION_SIZE]byte, +} + +SubmitInfo :: struct { + sType: StructureType, + pNext: rawptr, + waitSemaphoreCount: u32, + pWaitSemaphores: [^]Semaphore, + pWaitDstStageMask: [^]PipelineStageFlags, + commandBufferCount: u32, + pCommandBuffers: [^]CommandBuffer, + signalSemaphoreCount: u32, + pSignalSemaphores: [^]Semaphore, +} + +MappedMemoryRange :: struct { + sType: StructureType, + pNext: rawptr, + memory: DeviceMemory, + offset: DeviceSize, + size: DeviceSize, +} + +MemoryAllocateInfo :: struct { + sType: StructureType, + pNext: rawptr, + allocationSize: DeviceSize, + memoryTypeIndex: u32, +} + +MemoryRequirements :: struct { + size: DeviceSize, + alignment: DeviceSize, + memoryTypeBits: u32, +} + +SparseMemoryBind :: struct { + resourceOffset: DeviceSize, + size: DeviceSize, + memory: DeviceMemory, + memoryOffset: DeviceSize, + flags: SparseMemoryBindFlags, +} + +SparseBufferMemoryBindInfo :: struct { + buffer: Buffer, + bindCount: u32, + pBinds: [^]SparseMemoryBind, +} + +SparseImageOpaqueMemoryBindInfo :: struct { + image: Image, + bindCount: u32, + pBinds: [^]SparseMemoryBind, +} + +ImageSubresource :: struct { + aspectMask: ImageAspectFlags, + mipLevel: u32, + arrayLayer: u32, +} + +SparseImageMemoryBind :: struct { + subresource: ImageSubresource, + offset: Offset3D, + extent: Extent3D, + memory: DeviceMemory, + memoryOffset: DeviceSize, + flags: SparseMemoryBindFlags, +} + +SparseImageMemoryBindInfo :: struct { + image: Image, + bindCount: u32, + pBinds: [^]SparseImageMemoryBind, +} + +BindSparseInfo :: struct { + sType: StructureType, + pNext: rawptr, + waitSemaphoreCount: u32, + pWaitSemaphores: [^]Semaphore, + bufferBindCount: u32, + pBufferBinds: [^]SparseBufferMemoryBindInfo, + imageOpaqueBindCount: u32, + pImageOpaqueBinds: [^]SparseImageOpaqueMemoryBindInfo, + imageBindCount: u32, + pImageBinds: [^]SparseImageMemoryBindInfo, + signalSemaphoreCount: u32, + pSignalSemaphores: [^]Semaphore, +} + +SparseImageFormatProperties :: struct { + aspectMask: ImageAspectFlags, + imageGranularity: Extent3D, + flags: SparseImageFormatFlags, +} + +SparseImageMemoryRequirements :: struct { + formatProperties: SparseImageFormatProperties, + imageMipTailFirstLod: u32, + imageMipTailSize: DeviceSize, + imageMipTailOffset: DeviceSize, + imageMipTailStride: DeviceSize, +} + +FenceCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: FenceCreateFlags, +} + +SemaphoreCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: SemaphoreCreateFlags, +} + +EventCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: EventCreateFlags, +} + +QueryPoolCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: QueryPoolCreateFlags, + queryType: QueryType, + queryCount: u32, + pipelineStatistics: QueryPipelineStatisticFlags, +} + +BufferCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: BufferCreateFlags, + size: DeviceSize, + usage: BufferUsageFlags, + sharingMode: SharingMode, + queueFamilyIndexCount: u32, + pQueueFamilyIndices: [^]u32, +} + +BufferViewCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: BufferViewCreateFlags, + buffer: Buffer, + format: Format, + offset: DeviceSize, + range: DeviceSize, +} + +ImageCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: ImageCreateFlags, + imageType: ImageType, + format: Format, + extent: Extent3D, + mipLevels: u32, + arrayLayers: u32, + samples: SampleCountFlags, + tiling: ImageTiling, + usage: ImageUsageFlags, + sharingMode: SharingMode, + queueFamilyIndexCount: u32, + pQueueFamilyIndices: [^]u32, + initialLayout: ImageLayout, +} + +SubresourceLayout :: struct { + offset: DeviceSize, + size: DeviceSize, + rowPitch: DeviceSize, + arrayPitch: DeviceSize, + depthPitch: DeviceSize, +} + +ComponentMapping :: struct { + r: ComponentSwizzle, + g: ComponentSwizzle, + b: ComponentSwizzle, + a: ComponentSwizzle, +} + +ImageViewCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: ImageViewCreateFlags, + image: Image, + viewType: ImageViewType, + format: Format, + components: ComponentMapping, + subresourceRange: ImageSubresourceRange, +} + +ShaderModuleCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: ShaderModuleCreateFlags, + codeSize: int, + pCode: ^u32, +} + +PipelineCacheCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineCacheCreateFlags, + initialDataSize: int, + pInitialData: rawptr, +} + +SpecializationMapEntry :: struct { + constantID: u32, + offset: u32, + size: int, +} + +SpecializationInfo :: struct { + mapEntryCount: u32, + pMapEntries: [^]SpecializationMapEntry, + dataSize: int, + pData: rawptr, +} + +PipelineShaderStageCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineShaderStageCreateFlags, + stage: ShaderStageFlags, + module: ShaderModule, + pName: cstring, + pSpecializationInfo: ^SpecializationInfo, +} + +ComputePipelineCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineCreateFlags, + stage: PipelineShaderStageCreateInfo, + layout: PipelineLayout, + basePipelineHandle: Pipeline, + basePipelineIndex: i32, +} + +VertexInputBindingDescription :: struct { + binding: u32, + stride: u32, + inputRate: VertexInputRate, +} + +VertexInputAttributeDescription :: struct { + location: u32, + binding: u32, + format: Format, + offset: u32, +} + +PipelineVertexInputStateCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineVertexInputStateCreateFlags, + vertexBindingDescriptionCount: u32, + pVertexBindingDescriptions: [^]VertexInputBindingDescription, + vertexAttributeDescriptionCount: u32, + pVertexAttributeDescriptions: [^]VertexInputAttributeDescription, +} + +PipelineInputAssemblyStateCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineInputAssemblyStateCreateFlags, + topology: PrimitiveTopology, + primitiveRestartEnable: b32, +} + +PipelineTessellationStateCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineTessellationStateCreateFlags, + patchControlPoints: u32, +} + +Viewport :: struct { + x: f32, + y: f32, + width: f32, + height: f32, + minDepth: f32, + maxDepth: f32, +} + +PipelineViewportStateCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineViewportStateCreateFlags, + viewportCount: u32, + pViewports: [^]Viewport, + scissorCount: u32, + pScissors: [^]Rect2D, +} + +PipelineRasterizationStateCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineRasterizationStateCreateFlags, + depthClampEnable: b32, + rasterizerDiscardEnable: b32, + polygonMode: PolygonMode, + cullMode: CullModeFlags, + frontFace: FrontFace, + depthBiasEnable: b32, + depthBiasConstantFactor: f32, + depthBiasClamp: f32, + depthBiasSlopeFactor: f32, + lineWidth: f32, +} + +PipelineMultisampleStateCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineMultisampleStateCreateFlags, + rasterizationSamples: SampleCountFlags, + sampleShadingEnable: b32, + minSampleShading: f32, + pSampleMask: ^SampleMask, + alphaToCoverageEnable: b32, + alphaToOneEnable: b32, +} + +StencilOpState :: struct { + failOp: StencilOp, + passOp: StencilOp, + depthFailOp: StencilOp, + compareOp: CompareOp, + compareMask: u32, + writeMask: u32, + reference: u32, +} + +PipelineDepthStencilStateCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineDepthStencilStateCreateFlags, + depthTestEnable: b32, + depthWriteEnable: b32, + depthCompareOp: CompareOp, + depthBoundsTestEnable: b32, + stencilTestEnable: b32, + front: StencilOpState, + back: StencilOpState, + minDepthBounds: f32, + maxDepthBounds: f32, +} + +PipelineColorBlendAttachmentState :: struct { + blendEnable: b32, + srcColorBlendFactor: BlendFactor, + dstColorBlendFactor: BlendFactor, + colorBlendOp: BlendOp, + srcAlphaBlendFactor: BlendFactor, + dstAlphaBlendFactor: BlendFactor, + alphaBlendOp: BlendOp, + colorWriteMask: ColorComponentFlags, +} + +PipelineColorBlendStateCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineColorBlendStateCreateFlags, + logicOpEnable: b32, + logicOp: LogicOp, + attachmentCount: u32, + pAttachments: [^]PipelineColorBlendAttachmentState, + blendConstants: [4]f32, +} + +PipelineDynamicStateCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineDynamicStateCreateFlags, + dynamicStateCount: u32, + pDynamicStates: [^]DynamicState, +} + +GraphicsPipelineCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineCreateFlags, + stageCount: u32, + pStages: [^]PipelineShaderStageCreateInfo, + pVertexInputState: ^PipelineVertexInputStateCreateInfo, + pInputAssemblyState: ^PipelineInputAssemblyStateCreateInfo, + pTessellationState: ^PipelineTessellationStateCreateInfo, + pViewportState: ^PipelineViewportStateCreateInfo, + pRasterizationState: ^PipelineRasterizationStateCreateInfo, + pMultisampleState: ^PipelineMultisampleStateCreateInfo, + pDepthStencilState: ^PipelineDepthStencilStateCreateInfo, + pColorBlendState: ^PipelineColorBlendStateCreateInfo, + pDynamicState: ^PipelineDynamicStateCreateInfo, + layout: PipelineLayout, + renderPass: RenderPass, + subpass: u32, + basePipelineHandle: Pipeline, + basePipelineIndex: i32, +} + +PushConstantRange :: struct { + stageFlags: ShaderStageFlags, + offset: u32, + size: u32, +} + +PipelineLayoutCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineLayoutCreateFlags, + setLayoutCount: u32, + pSetLayouts: [^]DescriptorSetLayout, + pushConstantRangeCount: u32, + pPushConstantRanges: [^]PushConstantRange, +} + +SamplerCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: SamplerCreateFlags, + magFilter: Filter, + minFilter: Filter, + mipmapMode: SamplerMipmapMode, + addressModeU: SamplerAddressMode, + addressModeV: SamplerAddressMode, + addressModeW: SamplerAddressMode, + mipLodBias: f32, + anisotropyEnable: b32, + maxAnisotropy: f32, + compareEnable: b32, + compareOp: CompareOp, + minLod: f32, + maxLod: f32, + borderColor: BorderColor, + unnormalizedCoordinates: b32, +} + +CopyDescriptorSet :: struct { + sType: StructureType, + pNext: rawptr, + srcSet: DescriptorSet, + srcBinding: u32, + srcArrayElement: u32, + dstSet: DescriptorSet, + dstBinding: u32, + dstArrayElement: u32, + descriptorCount: u32, +} + +DescriptorBufferInfo :: struct { + buffer: Buffer, + offset: DeviceSize, + range: DeviceSize, +} + +DescriptorImageInfo :: struct { + sampler: Sampler, + imageView: ImageView, + imageLayout: ImageLayout, +} + +DescriptorPoolSize :: struct { + type: DescriptorType, + descriptorCount: u32, +} + +DescriptorPoolCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: DescriptorPoolCreateFlags, + maxSets: u32, + poolSizeCount: u32, + pPoolSizes: [^]DescriptorPoolSize, +} + +DescriptorSetAllocateInfo :: struct { + sType: StructureType, + pNext: rawptr, + descriptorPool: DescriptorPool, + descriptorSetCount: u32, + pSetLayouts: [^]DescriptorSetLayout, +} + +DescriptorSetLayoutBinding :: struct { + binding: u32, + descriptorType: DescriptorType, + descriptorCount: u32, + stageFlags: ShaderStageFlags, + pImmutableSamplers: [^]Sampler, +} + +DescriptorSetLayoutCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: DescriptorSetLayoutCreateFlags, + bindingCount: u32, + pBindings: [^]DescriptorSetLayoutBinding, +} + +WriteDescriptorSet :: struct { + sType: StructureType, + pNext: rawptr, + dstSet: DescriptorSet, + dstBinding: u32, + dstArrayElement: u32, + descriptorCount: u32, + descriptorType: DescriptorType, + pImageInfo: ^DescriptorImageInfo, + pBufferInfo: ^DescriptorBufferInfo, + pTexelBufferView: ^BufferView, +} + +AttachmentDescription :: struct { + flags: AttachmentDescriptionFlags, + format: Format, + samples: SampleCountFlags, + loadOp: AttachmentLoadOp, + storeOp: AttachmentStoreOp, + stencilLoadOp: AttachmentLoadOp, + stencilStoreOp: AttachmentStoreOp, + initialLayout: ImageLayout, + finalLayout: ImageLayout, +} + +AttachmentReference :: struct { + attachment: u32, + layout: ImageLayout, +} + +FramebufferCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: FramebufferCreateFlags, + renderPass: RenderPass, + attachmentCount: u32, + pAttachments: [^]ImageView, + width: u32, + height: u32, + layers: u32, +} + +SubpassDescription :: struct { + flags: SubpassDescriptionFlags, + pipelineBindPoint: PipelineBindPoint, + inputAttachmentCount: u32, + pInputAttachments: [^]AttachmentReference, + colorAttachmentCount: u32, + pColorAttachments: [^]AttachmentReference, + pResolveAttachments: [^]AttachmentReference, + pDepthStencilAttachment: ^AttachmentReference, + preserveAttachmentCount: u32, + pPreserveAttachments: [^]u32, +} + +SubpassDependency :: struct { + srcSubpass: u32, + dstSubpass: u32, + srcStageMask: PipelineStageFlags, + dstStageMask: PipelineStageFlags, + srcAccessMask: AccessFlags, + dstAccessMask: AccessFlags, + dependencyFlags: DependencyFlags, +} + +RenderPassCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: RenderPassCreateFlags, + attachmentCount: u32, + pAttachments: [^]AttachmentDescription, + subpassCount: u32, + pSubpasses: [^]SubpassDescription, + dependencyCount: u32, + pDependencies: [^]SubpassDependency, +} + +CommandPoolCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: CommandPoolCreateFlags, + queueFamilyIndex: u32, +} + +CommandBufferAllocateInfo :: struct { + sType: StructureType, + pNext: rawptr, + commandPool: CommandPool, + level: CommandBufferLevel, + commandBufferCount: u32, +} + +CommandBufferInheritanceInfo :: struct { + sType: StructureType, + pNext: rawptr, + renderPass: RenderPass, + subpass: u32, + framebuffer: Framebuffer, + occlusionQueryEnable: b32, + queryFlags: QueryControlFlags, + pipelineStatistics: QueryPipelineStatisticFlags, +} + +CommandBufferBeginInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: CommandBufferUsageFlags, + pInheritanceInfo: ^CommandBufferInheritanceInfo, +} + +BufferCopy :: struct { + srcOffset: DeviceSize, + dstOffset: DeviceSize, + size: DeviceSize, +} + +ImageSubresourceLayers :: struct { + aspectMask: ImageAspectFlags, + mipLevel: u32, + baseArrayLayer: u32, + layerCount: u32, +} + +BufferImageCopy :: struct { + bufferOffset: DeviceSize, + bufferRowLength: u32, + bufferImageHeight: u32, + imageSubresource: ImageSubresourceLayers, + imageOffset: Offset3D, + imageExtent: Extent3D, +} + +ClearColorValue :: struct #raw_union { + float32: [4]f32, + int32: [4]i32, + uint32: [4]u32, +} + +ClearDepthStencilValue :: struct { + depth: f32, + stencil: u32, +} + +ClearValue :: struct #raw_union { + color: ClearColorValue, + depthStencil: ClearDepthStencilValue, +} + +ClearAttachment :: struct { + aspectMask: ImageAspectFlags, + colorAttachment: u32, + clearValue: ClearValue, +} + +ClearRect :: struct { + rect: Rect2D, + baseArrayLayer: u32, + layerCount: u32, +} + +ImageBlit :: struct { + srcSubresource: ImageSubresourceLayers, + srcOffsets: [2]Offset3D, + dstSubresource: ImageSubresourceLayers, + dstOffsets: [2]Offset3D, +} + +ImageCopy :: struct { + srcSubresource: ImageSubresourceLayers, + srcOffset: Offset3D, + dstSubresource: ImageSubresourceLayers, + dstOffset: Offset3D, + extent: Extent3D, +} + +ImageResolve :: struct { + srcSubresource: ImageSubresourceLayers, + srcOffset: Offset3D, + dstSubresource: ImageSubresourceLayers, + dstOffset: Offset3D, + extent: Extent3D, +} + +RenderPassBeginInfo :: struct { + sType: StructureType, + pNext: rawptr, + renderPass: RenderPass, + framebuffer: Framebuffer, + renderArea: Rect2D, + clearValueCount: u32, + pClearValues: [^]ClearValue, +} + +PhysicalDeviceSubgroupProperties :: struct { + sType: StructureType, + pNext: rawptr, + subgroupSize: u32, + supportedStages: ShaderStageFlags, + supportedOperations: SubgroupFeatureFlags, + quadOperationsInAllStages: b32, +} + +BindBufferMemoryInfo :: struct { + sType: StructureType, + pNext: rawptr, + buffer: Buffer, + memory: DeviceMemory, + memoryOffset: DeviceSize, +} + +BindImageMemoryInfo :: struct { + sType: StructureType, + pNext: rawptr, + image: Image, + memory: DeviceMemory, + memoryOffset: DeviceSize, +} + +PhysicalDevice16BitStorageFeatures :: struct { + sType: StructureType, + pNext: rawptr, + storageBuffer16BitAccess: b32, + uniformAndStorageBuffer16BitAccess: b32, + storagePushConstant16: b32, + storageInputOutput16: b32, +} + +MemoryDedicatedRequirements :: struct { + sType: StructureType, + pNext: rawptr, + prefersDedicatedAllocation: b32, + requiresDedicatedAllocation: b32, +} + +MemoryDedicatedAllocateInfo :: struct { + sType: StructureType, + pNext: rawptr, + image: Image, + buffer: Buffer, +} + +MemoryAllocateFlagsInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: MemoryAllocateFlags, + deviceMask: u32, +} + +DeviceGroupRenderPassBeginInfo :: struct { + sType: StructureType, + pNext: rawptr, + deviceMask: u32, + deviceRenderAreaCount: u32, + pDeviceRenderAreas: [^]Rect2D, +} + +DeviceGroupCommandBufferBeginInfo :: struct { + sType: StructureType, + pNext: rawptr, + deviceMask: u32, +} + +DeviceGroupSubmitInfo :: struct { + sType: StructureType, + pNext: rawptr, + waitSemaphoreCount: u32, + pWaitSemaphoreDeviceIndices: [^]u32, + commandBufferCount: u32, + pCommandBufferDeviceMasks: [^]u32, + signalSemaphoreCount: u32, + pSignalSemaphoreDeviceIndices: [^]u32, +} + +DeviceGroupBindSparseInfo :: struct { + sType: StructureType, + pNext: rawptr, + resourceDeviceIndex: u32, + memoryDeviceIndex: u32, +} + +BindBufferMemoryDeviceGroupInfo :: struct { + sType: StructureType, + pNext: rawptr, + deviceIndexCount: u32, + pDeviceIndices: [^]u32, +} + +BindImageMemoryDeviceGroupInfo :: struct { + sType: StructureType, + pNext: rawptr, + deviceIndexCount: u32, + pDeviceIndices: [^]u32, + splitInstanceBindRegionCount: u32, + pSplitInstanceBindRegions: [^]Rect2D, +} + +PhysicalDeviceGroupProperties :: struct { + sType: StructureType, + pNext: rawptr, + physicalDeviceCount: u32, + physicalDevices: [MAX_DEVICE_GROUP_SIZE]PhysicalDevice, + subsetAllocation: b32, +} + +DeviceGroupDeviceCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + physicalDeviceCount: u32, + pPhysicalDevices: [^]PhysicalDevice, +} + +BufferMemoryRequirementsInfo2 :: struct { + sType: StructureType, + pNext: rawptr, + buffer: Buffer, +} + +ImageMemoryRequirementsInfo2 :: struct { + sType: StructureType, + pNext: rawptr, + image: Image, +} + +ImageSparseMemoryRequirementsInfo2 :: struct { + sType: StructureType, + pNext: rawptr, + image: Image, +} + +MemoryRequirements2 :: struct { + sType: StructureType, + pNext: rawptr, + memoryRequirements: MemoryRequirements, +} + +SparseImageMemoryRequirements2 :: struct { + sType: StructureType, + pNext: rawptr, + memoryRequirements: SparseImageMemoryRequirements, +} + +PhysicalDeviceFeatures2 :: struct { + sType: StructureType, + pNext: rawptr, + features: PhysicalDeviceFeatures, +} + +PhysicalDeviceProperties2 :: struct { + sType: StructureType, + pNext: rawptr, + properties: PhysicalDeviceProperties, +} + +FormatProperties2 :: struct { + sType: StructureType, + pNext: rawptr, + formatProperties: FormatProperties, +} + +ImageFormatProperties2 :: struct { + sType: StructureType, + pNext: rawptr, + imageFormatProperties: ImageFormatProperties, +} + +PhysicalDeviceImageFormatInfo2 :: struct { + sType: StructureType, + pNext: rawptr, + format: Format, + type: ImageType, + tiling: ImageTiling, + usage: ImageUsageFlags, + flags: ImageCreateFlags, +} + +QueueFamilyProperties2 :: struct { + sType: StructureType, + pNext: rawptr, + queueFamilyProperties: QueueFamilyProperties, +} + +PhysicalDeviceMemoryProperties2 :: struct { + sType: StructureType, + pNext: rawptr, + memoryProperties: PhysicalDeviceMemoryProperties, +} + +SparseImageFormatProperties2 :: struct { + sType: StructureType, + pNext: rawptr, + properties: SparseImageFormatProperties, +} + +PhysicalDeviceSparseImageFormatInfo2 :: struct { + sType: StructureType, + pNext: rawptr, + format: Format, + type: ImageType, + samples: SampleCountFlags, + usage: ImageUsageFlags, + tiling: ImageTiling, +} + +PhysicalDevicePointClippingProperties :: struct { + sType: StructureType, + pNext: rawptr, + pointClippingBehavior: PointClippingBehavior, +} + +InputAttachmentAspectReference :: struct { + subpass: u32, + inputAttachmentIndex: u32, + aspectMask: ImageAspectFlags, +} + +RenderPassInputAttachmentAspectCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + aspectReferenceCount: u32, + pAspectReferences: [^]InputAttachmentAspectReference, +} + +ImageViewUsageCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + usage: ImageUsageFlags, +} + +PipelineTessellationDomainOriginStateCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + domainOrigin: TessellationDomainOrigin, +} + +RenderPassMultiviewCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + subpassCount: u32, + pViewMasks: [^]u32, + dependencyCount: u32, + pViewOffsets: [^]i32, + correlationMaskCount: u32, + pCorrelationMasks: [^]u32, +} + +PhysicalDeviceMultiviewFeatures :: struct { + sType: StructureType, + pNext: rawptr, + multiview: b32, + multiviewGeometryShader: b32, + multiviewTessellationShader: b32, +} + +PhysicalDeviceMultiviewProperties :: struct { + sType: StructureType, + pNext: rawptr, + maxMultiviewViewCount: u32, + maxMultiviewInstanceIndex: u32, +} + +PhysicalDeviceVariablePointersFeatures :: struct { + sType: StructureType, + pNext: rawptr, + variablePointersStorageBuffer: b32, + variablePointers: b32, +} + +PhysicalDeviceProtectedMemoryFeatures :: struct { + sType: StructureType, + pNext: rawptr, + protectedMemory: b32, +} + +PhysicalDeviceProtectedMemoryProperties :: struct { + sType: StructureType, + pNext: rawptr, + protectedNoFault: b32, +} + +DeviceQueueInfo2 :: struct { + sType: StructureType, + pNext: rawptr, + flags: DeviceQueueCreateFlags, + queueFamilyIndex: u32, + queueIndex: u32, +} + +ProtectedSubmitInfo :: struct { + sType: StructureType, + pNext: rawptr, + protectedSubmit: b32, +} + +SamplerYcbcrConversionCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + format: Format, + ycbcrModel: SamplerYcbcrModelConversion, + ycbcrRange: SamplerYcbcrRange, + components: ComponentMapping, + xChromaOffset: ChromaLocation, + yChromaOffset: ChromaLocation, + chromaFilter: Filter, + forceExplicitReconstruction: b32, +} + +SamplerYcbcrConversionInfo :: struct { + sType: StructureType, + pNext: rawptr, + conversion: SamplerYcbcrConversion, +} + +BindImagePlaneMemoryInfo :: struct { + sType: StructureType, + pNext: rawptr, + planeAspect: ImageAspectFlags, +} + +ImagePlaneMemoryRequirementsInfo :: struct { + sType: StructureType, + pNext: rawptr, + planeAspect: ImageAspectFlags, +} + +PhysicalDeviceSamplerYcbcrConversionFeatures :: struct { + sType: StructureType, + pNext: rawptr, + samplerYcbcrConversion: b32, +} + +SamplerYcbcrConversionImageFormatProperties :: struct { + sType: StructureType, + pNext: rawptr, + combinedImageSamplerDescriptorCount: u32, +} + +DescriptorUpdateTemplateEntry :: struct { + dstBinding: u32, + dstArrayElement: u32, + descriptorCount: u32, + descriptorType: DescriptorType, + offset: int, + stride: int, +} + +DescriptorUpdateTemplateCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: DescriptorUpdateTemplateCreateFlags, + descriptorUpdateEntryCount: u32, + pDescriptorUpdateEntries: [^]DescriptorUpdateTemplateEntry, + templateType: DescriptorUpdateTemplateType, + descriptorSetLayout: DescriptorSetLayout, + pipelineBindPoint: PipelineBindPoint, + pipelineLayout: PipelineLayout, + set: u32, +} + +ExternalMemoryProperties :: struct { + externalMemoryFeatures: ExternalMemoryFeatureFlags, + exportFromImportedHandleTypes: ExternalMemoryHandleTypeFlags, + compatibleHandleTypes: ExternalMemoryHandleTypeFlags, +} + +PhysicalDeviceExternalImageFormatInfo :: struct { + sType: StructureType, + pNext: rawptr, + handleType: ExternalMemoryHandleTypeFlags, +} + +ExternalImageFormatProperties :: struct { + sType: StructureType, + pNext: rawptr, + externalMemoryProperties: ExternalMemoryProperties, +} + +PhysicalDeviceExternalBufferInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: BufferCreateFlags, + usage: BufferUsageFlags, + handleType: ExternalMemoryHandleTypeFlags, +} + +ExternalBufferProperties :: struct { + sType: StructureType, + pNext: rawptr, + externalMemoryProperties: ExternalMemoryProperties, +} + +PhysicalDeviceIDProperties :: struct { + sType: StructureType, + pNext: rawptr, + deviceUUID: [UUID_SIZE]u8, + driverUUID: [UUID_SIZE]u8, + deviceLUID: [LUID_SIZE]u8, + deviceNodeMask: u32, + deviceLUIDValid: b32, +} + +ExternalMemoryImageCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + handleTypes: ExternalMemoryHandleTypeFlags, +} + +ExternalMemoryBufferCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + handleTypes: ExternalMemoryHandleTypeFlags, +} + +ExportMemoryAllocateInfo :: struct { + sType: StructureType, + pNext: rawptr, + handleTypes: ExternalMemoryHandleTypeFlags, +} + +PhysicalDeviceExternalFenceInfo :: struct { + sType: StructureType, + pNext: rawptr, + handleType: ExternalFenceHandleTypeFlags, +} + +ExternalFenceProperties :: struct { + sType: StructureType, + pNext: rawptr, + exportFromImportedHandleTypes: ExternalFenceHandleTypeFlags, + compatibleHandleTypes: ExternalFenceHandleTypeFlags, + externalFenceFeatures: ExternalFenceFeatureFlags, +} + +ExportFenceCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + handleTypes: ExternalFenceHandleTypeFlags, +} + +ExportSemaphoreCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + handleTypes: ExternalSemaphoreHandleTypeFlags, +} + +PhysicalDeviceExternalSemaphoreInfo :: struct { + sType: StructureType, + pNext: rawptr, + handleType: ExternalSemaphoreHandleTypeFlags, +} + +ExternalSemaphoreProperties :: struct { + sType: StructureType, + pNext: rawptr, + exportFromImportedHandleTypes: ExternalSemaphoreHandleTypeFlags, + compatibleHandleTypes: ExternalSemaphoreHandleTypeFlags, + externalSemaphoreFeatures: ExternalSemaphoreFeatureFlags, +} + +PhysicalDeviceMaintenance3Properties :: struct { + sType: StructureType, + pNext: rawptr, + maxPerSetDescriptors: u32, + maxMemoryAllocationSize: DeviceSize, +} + +DescriptorSetLayoutSupport :: struct { + sType: StructureType, + pNext: rawptr, + supported: b32, +} + +PhysicalDeviceShaderDrawParametersFeatures :: struct { + sType: StructureType, + pNext: rawptr, + shaderDrawParameters: b32, +} + +PhysicalDeviceVulkan11Features :: struct { + sType: StructureType, + pNext: rawptr, + storageBuffer16BitAccess: b32, + uniformAndStorageBuffer16BitAccess: b32, + storagePushConstant16: b32, + storageInputOutput16: b32, + multiview: b32, + multiviewGeometryShader: b32, + multiviewTessellationShader: b32, + variablePointersStorageBuffer: b32, + variablePointers: b32, + protectedMemory: b32, + samplerYcbcrConversion: b32, + shaderDrawParameters: b32, +} + +PhysicalDeviceVulkan11Properties :: struct { + sType: StructureType, + pNext: rawptr, + deviceUUID: [UUID_SIZE]u8, + driverUUID: [UUID_SIZE]u8, + deviceLUID: [LUID_SIZE]u8, + deviceNodeMask: u32, + deviceLUIDValid: b32, + subgroupSize: u32, + subgroupSupportedStages: ShaderStageFlags, + subgroupSupportedOperations: SubgroupFeatureFlags, + subgroupQuadOperationsInAllStages: b32, + pointClippingBehavior: PointClippingBehavior, + maxMultiviewViewCount: u32, + maxMultiviewInstanceIndex: u32, + protectedNoFault: b32, + maxPerSetDescriptors: u32, + maxMemoryAllocationSize: DeviceSize, +} + +PhysicalDeviceVulkan12Features :: struct { + sType: StructureType, + pNext: rawptr, + samplerMirrorClampToEdge: b32, + drawIndirectCount: b32, + storageBuffer8BitAccess: b32, + uniformAndStorageBuffer8BitAccess: b32, + storagePushConstant8: b32, + shaderBufferInt64Atomics: b32, + shaderSharedInt64Atomics: b32, + shaderFloat16: b32, + shaderInt8: b32, + descriptorIndexing: b32, + shaderInputAttachmentArrayDynamicIndexing: b32, + shaderUniformTexelBufferArrayDynamicIndexing: b32, + shaderStorageTexelBufferArrayDynamicIndexing: b32, + shaderUniformBufferArrayNonUniformIndexing: b32, + shaderSampledImageArrayNonUniformIndexing: b32, + shaderStorageBufferArrayNonUniformIndexing: b32, + shaderStorageImageArrayNonUniformIndexing: b32, + shaderInputAttachmentArrayNonUniformIndexing: b32, + shaderUniformTexelBufferArrayNonUniformIndexing: b32, + shaderStorageTexelBufferArrayNonUniformIndexing: b32, + descriptorBindingUniformBufferUpdateAfterBind: b32, + descriptorBindingSampledImageUpdateAfterBind: b32, + descriptorBindingStorageImageUpdateAfterBind: b32, + descriptorBindingStorageBufferUpdateAfterBind: b32, + descriptorBindingUniformTexelBufferUpdateAfterBind: b32, + descriptorBindingStorageTexelBufferUpdateAfterBind: b32, + descriptorBindingUpdateUnusedWhilePending: b32, + descriptorBindingPartiallyBound: b32, + descriptorBindingVariableDescriptorCount: b32, + runtimeDescriptorArray: b32, + samplerFilterMinmax: b32, + scalarBlockLayout: b32, + imagelessFramebuffer: b32, + uniformBufferStandardLayout: b32, + shaderSubgroupExtendedTypes: b32, + separateDepthStencilLayouts: b32, + hostQueryReset: b32, + timelineSemaphore: b32, + bufferDeviceAddress: b32, + bufferDeviceAddressCaptureReplay: b32, + bufferDeviceAddressMultiDevice: b32, + vulkanMemoryModel: b32, + vulkanMemoryModelDeviceScope: b32, + vulkanMemoryModelAvailabilityVisibilityChains: b32, + shaderOutputViewportIndex: b32, + shaderOutputLayer: b32, + subgroupBroadcastDynamicId: b32, +} + +ConformanceVersion :: struct { + major: u8, + minor: u8, + subminor: u8, + patch: u8, +} + +PhysicalDeviceVulkan12Properties :: struct { + sType: StructureType, + pNext: rawptr, + driverID: DriverId, + driverName: [MAX_DRIVER_NAME_SIZE]byte, + driverInfo: [MAX_DRIVER_INFO_SIZE]byte, + conformanceVersion: ConformanceVersion, + denormBehaviorIndependence: ShaderFloatControlsIndependence, + roundingModeIndependence: ShaderFloatControlsIndependence, + shaderSignedZeroInfNanPreserveFloat16: b32, + shaderSignedZeroInfNanPreserveFloat32: b32, + shaderSignedZeroInfNanPreserveFloat64: b32, + shaderDenormPreserveFloat16: b32, + shaderDenormPreserveFloat32: b32, + shaderDenormPreserveFloat64: b32, + shaderDenormFlushToZeroFloat16: b32, + shaderDenormFlushToZeroFloat32: b32, + shaderDenormFlushToZeroFloat64: b32, + shaderRoundingModeRTEFloat16: b32, + shaderRoundingModeRTEFloat32: b32, + shaderRoundingModeRTEFloat64: b32, + shaderRoundingModeRTZFloat16: b32, + shaderRoundingModeRTZFloat32: b32, + shaderRoundingModeRTZFloat64: b32, + maxUpdateAfterBindDescriptorsInAllPools: u32, + shaderUniformBufferArrayNonUniformIndexingNative: b32, + shaderSampledImageArrayNonUniformIndexingNative: b32, + shaderStorageBufferArrayNonUniformIndexingNative: b32, + shaderStorageImageArrayNonUniformIndexingNative: b32, + shaderInputAttachmentArrayNonUniformIndexingNative: b32, + robustBufferAccessUpdateAfterBind: b32, + quadDivergentImplicitLod: b32, + maxPerStageDescriptorUpdateAfterBindSamplers: u32, + maxPerStageDescriptorUpdateAfterBindUniformBuffers: u32, + maxPerStageDescriptorUpdateAfterBindStorageBuffers: u32, + maxPerStageDescriptorUpdateAfterBindSampledImages: u32, + maxPerStageDescriptorUpdateAfterBindStorageImages: u32, + maxPerStageDescriptorUpdateAfterBindInputAttachments: u32, + maxPerStageUpdateAfterBindResources: u32, + maxDescriptorSetUpdateAfterBindSamplers: u32, + maxDescriptorSetUpdateAfterBindUniformBuffers: u32, + maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32, + maxDescriptorSetUpdateAfterBindStorageBuffers: u32, + maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32, + maxDescriptorSetUpdateAfterBindSampledImages: u32, + maxDescriptorSetUpdateAfterBindStorageImages: u32, + maxDescriptorSetUpdateAfterBindInputAttachments: u32, + supportedDepthResolveModes: ResolveModeFlags, + supportedStencilResolveModes: ResolveModeFlags, + independentResolveNone: b32, + independentResolve: b32, + filterMinmaxSingleComponentFormats: b32, + filterMinmaxImageComponentMapping: b32, + maxTimelineSemaphoreValueDifference: u64, + framebufferIntegerColorSampleCounts: SampleCountFlags, +} + +ImageFormatListCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + viewFormatCount: u32, + pViewFormats: [^]Format, +} + +AttachmentDescription2 :: struct { + sType: StructureType, + pNext: rawptr, + flags: AttachmentDescriptionFlags, + format: Format, + samples: SampleCountFlags, + loadOp: AttachmentLoadOp, + storeOp: AttachmentStoreOp, + stencilLoadOp: AttachmentLoadOp, + stencilStoreOp: AttachmentStoreOp, + initialLayout: ImageLayout, + finalLayout: ImageLayout, +} + +AttachmentReference2 :: struct { + sType: StructureType, + pNext: rawptr, + attachment: u32, + layout: ImageLayout, + aspectMask: ImageAspectFlags, +} + +SubpassDescription2 :: struct { + sType: StructureType, + pNext: rawptr, + flags: SubpassDescriptionFlags, + pipelineBindPoint: PipelineBindPoint, + viewMask: u32, + inputAttachmentCount: u32, + pInputAttachments: [^]AttachmentReference2, + colorAttachmentCount: u32, + pColorAttachments: [^]AttachmentReference2, + pResolveAttachments: [^]AttachmentReference2, + pDepthStencilAttachment: ^AttachmentReference2, + preserveAttachmentCount: u32, + pPreserveAttachments: [^]u32, +} + +SubpassDependency2 :: struct { + sType: StructureType, + pNext: rawptr, + srcSubpass: u32, + dstSubpass: u32, + srcStageMask: PipelineStageFlags, + dstStageMask: PipelineStageFlags, + srcAccessMask: AccessFlags, + dstAccessMask: AccessFlags, + dependencyFlags: DependencyFlags, + viewOffset: i32, +} + +RenderPassCreateInfo2 :: struct { + sType: StructureType, + pNext: rawptr, + flags: RenderPassCreateFlags, + attachmentCount: u32, + pAttachments: [^]AttachmentDescription2, + subpassCount: u32, + pSubpasses: [^]SubpassDescription2, + dependencyCount: u32, + pDependencies: [^]SubpassDependency2, + correlatedViewMaskCount: u32, + pCorrelatedViewMasks: [^]u32, +} + +SubpassBeginInfo :: struct { + sType: StructureType, + pNext: rawptr, + contents: SubpassContents, +} + +SubpassEndInfo :: struct { + sType: StructureType, + pNext: rawptr, +} + +PhysicalDevice8BitStorageFeatures :: struct { + sType: StructureType, + pNext: rawptr, + storageBuffer8BitAccess: b32, + uniformAndStorageBuffer8BitAccess: b32, + storagePushConstant8: b32, +} + +PhysicalDeviceDriverProperties :: struct { + sType: StructureType, + pNext: rawptr, + driverID: DriverId, + driverName: [MAX_DRIVER_NAME_SIZE]byte, + driverInfo: [MAX_DRIVER_INFO_SIZE]byte, + conformanceVersion: ConformanceVersion, +} + +PhysicalDeviceShaderAtomicInt64Features :: struct { + sType: StructureType, + pNext: rawptr, + shaderBufferInt64Atomics: b32, + shaderSharedInt64Atomics: b32, +} + +PhysicalDeviceShaderFloat16Int8Features :: struct { + sType: StructureType, + pNext: rawptr, + shaderFloat16: b32, + shaderInt8: b32, +} + +PhysicalDeviceFloatControlsProperties :: struct { + sType: StructureType, + pNext: rawptr, + denormBehaviorIndependence: ShaderFloatControlsIndependence, + roundingModeIndependence: ShaderFloatControlsIndependence, + shaderSignedZeroInfNanPreserveFloat16: b32, + shaderSignedZeroInfNanPreserveFloat32: b32, + shaderSignedZeroInfNanPreserveFloat64: b32, + shaderDenormPreserveFloat16: b32, + shaderDenormPreserveFloat32: b32, + shaderDenormPreserveFloat64: b32, + shaderDenormFlushToZeroFloat16: b32, + shaderDenormFlushToZeroFloat32: b32, + shaderDenormFlushToZeroFloat64: b32, + shaderRoundingModeRTEFloat16: b32, + shaderRoundingModeRTEFloat32: b32, + shaderRoundingModeRTEFloat64: b32, + shaderRoundingModeRTZFloat16: b32, + shaderRoundingModeRTZFloat32: b32, + shaderRoundingModeRTZFloat64: b32, +} + +DescriptorSetLayoutBindingFlagsCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + bindingCount: u32, + pBindingFlags: [^]DescriptorBindingFlags, +} + +PhysicalDeviceDescriptorIndexingFeatures :: struct { + sType: StructureType, + pNext: rawptr, + shaderInputAttachmentArrayDynamicIndexing: b32, + shaderUniformTexelBufferArrayDynamicIndexing: b32, + shaderStorageTexelBufferArrayDynamicIndexing: b32, + shaderUniformBufferArrayNonUniformIndexing: b32, + shaderSampledImageArrayNonUniformIndexing: b32, + shaderStorageBufferArrayNonUniformIndexing: b32, + shaderStorageImageArrayNonUniformIndexing: b32, + shaderInputAttachmentArrayNonUniformIndexing: b32, + shaderUniformTexelBufferArrayNonUniformIndexing: b32, + shaderStorageTexelBufferArrayNonUniformIndexing: b32, + descriptorBindingUniformBufferUpdateAfterBind: b32, + descriptorBindingSampledImageUpdateAfterBind: b32, + descriptorBindingStorageImageUpdateAfterBind: b32, + descriptorBindingStorageBufferUpdateAfterBind: b32, + descriptorBindingUniformTexelBufferUpdateAfterBind: b32, + descriptorBindingStorageTexelBufferUpdateAfterBind: b32, + descriptorBindingUpdateUnusedWhilePending: b32, + descriptorBindingPartiallyBound: b32, + descriptorBindingVariableDescriptorCount: b32, + runtimeDescriptorArray: b32, +} + +PhysicalDeviceDescriptorIndexingProperties :: struct { + sType: StructureType, + pNext: rawptr, + maxUpdateAfterBindDescriptorsInAllPools: u32, + shaderUniformBufferArrayNonUniformIndexingNative: b32, + shaderSampledImageArrayNonUniformIndexingNative: b32, + shaderStorageBufferArrayNonUniformIndexingNative: b32, + shaderStorageImageArrayNonUniformIndexingNative: b32, + shaderInputAttachmentArrayNonUniformIndexingNative: b32, + robustBufferAccessUpdateAfterBind: b32, + quadDivergentImplicitLod: b32, + maxPerStageDescriptorUpdateAfterBindSamplers: u32, + maxPerStageDescriptorUpdateAfterBindUniformBuffers: u32, + maxPerStageDescriptorUpdateAfterBindStorageBuffers: u32, + maxPerStageDescriptorUpdateAfterBindSampledImages: u32, + maxPerStageDescriptorUpdateAfterBindStorageImages: u32, + maxPerStageDescriptorUpdateAfterBindInputAttachments: u32, + maxPerStageUpdateAfterBindResources: u32, + maxDescriptorSetUpdateAfterBindSamplers: u32, + maxDescriptorSetUpdateAfterBindUniformBuffers: u32, + maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32, + maxDescriptorSetUpdateAfterBindStorageBuffers: u32, + maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32, + maxDescriptorSetUpdateAfterBindSampledImages: u32, + maxDescriptorSetUpdateAfterBindStorageImages: u32, + maxDescriptorSetUpdateAfterBindInputAttachments: u32, +} + +DescriptorSetVariableDescriptorCountAllocateInfo :: struct { + sType: StructureType, + pNext: rawptr, + descriptorSetCount: u32, + pDescriptorCounts: [^]u32, +} + +DescriptorSetVariableDescriptorCountLayoutSupport :: struct { + sType: StructureType, + pNext: rawptr, + maxVariableDescriptorCount: u32, +} + +SubpassDescriptionDepthStencilResolve :: struct { + sType: StructureType, + pNext: rawptr, + depthResolveMode: ResolveModeFlags, + stencilResolveMode: ResolveModeFlags, + pDepthStencilResolveAttachment: ^AttachmentReference2, +} + +PhysicalDeviceDepthStencilResolveProperties :: struct { + sType: StructureType, + pNext: rawptr, + supportedDepthResolveModes: ResolveModeFlags, + supportedStencilResolveModes: ResolveModeFlags, + independentResolveNone: b32, + independentResolve: b32, +} + +PhysicalDeviceScalarBlockLayoutFeatures :: struct { + sType: StructureType, + pNext: rawptr, + scalarBlockLayout: b32, +} + +ImageStencilUsageCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + stencilUsage: ImageUsageFlags, +} + +SamplerReductionModeCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + reductionMode: SamplerReductionMode, +} + +PhysicalDeviceSamplerFilterMinmaxProperties :: struct { + sType: StructureType, + pNext: rawptr, + filterMinmaxSingleComponentFormats: b32, + filterMinmaxImageComponentMapping: b32, +} + +PhysicalDeviceVulkanMemoryModelFeatures :: struct { + sType: StructureType, + pNext: rawptr, + vulkanMemoryModel: b32, + vulkanMemoryModelDeviceScope: b32, + vulkanMemoryModelAvailabilityVisibilityChains: b32, +} + +PhysicalDeviceImagelessFramebufferFeatures :: struct { + sType: StructureType, + pNext: rawptr, + imagelessFramebuffer: b32, +} + +FramebufferAttachmentImageInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: ImageCreateFlags, + usage: ImageUsageFlags, + width: u32, + height: u32, + layerCount: u32, + viewFormatCount: u32, + pViewFormats: [^]Format, +} + +FramebufferAttachmentsCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + attachmentImageInfoCount: u32, + pAttachmentImageInfos: [^]FramebufferAttachmentImageInfo, +} + +RenderPassAttachmentBeginInfo :: struct { + sType: StructureType, + pNext: rawptr, + attachmentCount: u32, + pAttachments: [^]ImageView, +} + +PhysicalDeviceUniformBufferStandardLayoutFeatures :: struct { + sType: StructureType, + pNext: rawptr, + uniformBufferStandardLayout: b32, +} + +PhysicalDeviceShaderSubgroupExtendedTypesFeatures :: struct { + sType: StructureType, + pNext: rawptr, + shaderSubgroupExtendedTypes: b32, +} + +PhysicalDeviceSeparateDepthStencilLayoutsFeatures :: struct { + sType: StructureType, + pNext: rawptr, + separateDepthStencilLayouts: b32, +} + +AttachmentReferenceStencilLayout :: struct { + sType: StructureType, + pNext: rawptr, + stencilLayout: ImageLayout, +} + +AttachmentDescriptionStencilLayout :: struct { + sType: StructureType, + pNext: rawptr, + stencilInitialLayout: ImageLayout, + stencilFinalLayout: ImageLayout, +} + +PhysicalDeviceHostQueryResetFeatures :: struct { + sType: StructureType, + pNext: rawptr, + hostQueryReset: b32, +} + +PhysicalDeviceTimelineSemaphoreFeatures :: struct { + sType: StructureType, + pNext: rawptr, + timelineSemaphore: b32, +} + +PhysicalDeviceTimelineSemaphoreProperties :: struct { + sType: StructureType, + pNext: rawptr, + maxTimelineSemaphoreValueDifference: u64, +} + +SemaphoreTypeCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + semaphoreType: SemaphoreType, + initialValue: u64, +} + +TimelineSemaphoreSubmitInfo :: struct { + sType: StructureType, + pNext: rawptr, + waitSemaphoreValueCount: u32, + pWaitSemaphoreValues: [^]u64, + signalSemaphoreValueCount: u32, + pSignalSemaphoreValues: [^]u64, +} + +SemaphoreWaitInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: SemaphoreWaitFlags, + semaphoreCount: u32, + pSemaphores: [^]Semaphore, + pValues: [^]u64, +} + +SemaphoreSignalInfo :: struct { + sType: StructureType, + pNext: rawptr, + semaphore: Semaphore, + value: u64, +} + +PhysicalDeviceBufferDeviceAddressFeatures :: struct { + sType: StructureType, + pNext: rawptr, + bufferDeviceAddress: b32, + bufferDeviceAddressCaptureReplay: b32, + bufferDeviceAddressMultiDevice: b32, +} + +BufferDeviceAddressInfo :: struct { + sType: StructureType, + pNext: rawptr, + buffer: Buffer, +} + +BufferOpaqueCaptureAddressCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + opaqueCaptureAddress: u64, +} + +MemoryOpaqueCaptureAddressAllocateInfo :: struct { + sType: StructureType, + pNext: rawptr, + opaqueCaptureAddress: u64, +} + +DeviceMemoryOpaqueCaptureAddressInfo :: struct { + sType: StructureType, + pNext: rawptr, + memory: DeviceMemory, +} + +PhysicalDeviceVulkan13Features :: struct { + sType: StructureType, + pNext: rawptr, + robustImageAccess: b32, + inlineUniformBlock: b32, + descriptorBindingInlineUniformBlockUpdateAfterBind: b32, + pipelineCreationCacheControl: b32, + privateData: b32, + shaderDemoteToHelperInvocation: b32, + shaderTerminateInvocation: b32, + subgroupSizeControl: b32, + computeFullSubgroups: b32, + synchronization2: b32, + textureCompressionASTC_HDR: b32, + shaderZeroInitializeWorkgroupMemory: b32, + dynamicRendering: b32, + shaderIntegerDotProduct: b32, + maintenance4: b32, +} + +PhysicalDeviceVulkan13Properties :: struct { + sType: StructureType, + pNext: rawptr, + minSubgroupSize: u32, + maxSubgroupSize: u32, + maxComputeWorkgroupSubgroups: u32, + requiredSubgroupSizeStages: ShaderStageFlags, + maxInlineUniformBlockSize: u32, + maxPerStageDescriptorInlineUniformBlocks: u32, + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32, + maxDescriptorSetInlineUniformBlocks: u32, + maxDescriptorSetUpdateAfterBindInlineUniformBlocks: u32, + maxInlineUniformTotalSize: u32, + integerDotProduct8BitUnsignedAccelerated: b32, + integerDotProduct8BitSignedAccelerated: b32, + integerDotProduct8BitMixedSignednessAccelerated: b32, + integerDotProduct4x8BitPackedUnsignedAccelerated: b32, + integerDotProduct4x8BitPackedSignedAccelerated: b32, + integerDotProduct4x8BitPackedMixedSignednessAccelerated: b32, + integerDotProduct16BitUnsignedAccelerated: b32, + integerDotProduct16BitSignedAccelerated: b32, + integerDotProduct16BitMixedSignednessAccelerated: b32, + integerDotProduct32BitUnsignedAccelerated: b32, + integerDotProduct32BitSignedAccelerated: b32, + integerDotProduct32BitMixedSignednessAccelerated: b32, + integerDotProduct64BitUnsignedAccelerated: b32, + integerDotProduct64BitSignedAccelerated: b32, + integerDotProduct64BitMixedSignednessAccelerated: b32, + integerDotProductAccumulatingSaturating8BitUnsignedAccelerated: b32, + integerDotProductAccumulatingSaturating8BitSignedAccelerated: b32, + integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated: b32, + integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated: b32, + integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated: b32, + integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: b32, + integerDotProductAccumulatingSaturating16BitUnsignedAccelerated: b32, + integerDotProductAccumulatingSaturating16BitSignedAccelerated: b32, + integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated: b32, + integerDotProductAccumulatingSaturating32BitUnsignedAccelerated: b32, + integerDotProductAccumulatingSaturating32BitSignedAccelerated: b32, + integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated: b32, + integerDotProductAccumulatingSaturating64BitUnsignedAccelerated: b32, + integerDotProductAccumulatingSaturating64BitSignedAccelerated: b32, + integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated: b32, + storageTexelBufferOffsetAlignmentBytes: DeviceSize, + storageTexelBufferOffsetSingleTexelAlignment: b32, + uniformTexelBufferOffsetAlignmentBytes: DeviceSize, + uniformTexelBufferOffsetSingleTexelAlignment: b32, + maxBufferSize: DeviceSize, +} + +PipelineCreationFeedback :: struct { + flags: PipelineCreationFeedbackFlags, + duration: u64, +} + +PipelineCreationFeedbackCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + pPipelineCreationFeedback: ^PipelineCreationFeedback, + pipelineStageCreationFeedbackCount: u32, + pPipelineStageCreationFeedbacks: [^]PipelineCreationFeedback, +} + +PhysicalDeviceShaderTerminateInvocationFeatures :: struct { + sType: StructureType, + pNext: rawptr, + shaderTerminateInvocation: b32, +} + +PhysicalDeviceToolProperties :: struct { + sType: StructureType, + pNext: rawptr, + name: [MAX_EXTENSION_NAME_SIZE]byte, + version: [MAX_EXTENSION_NAME_SIZE]byte, + purposes: ToolPurposeFlags, + description: [MAX_DESCRIPTION_SIZE]byte, + layer: [MAX_EXTENSION_NAME_SIZE]byte, +} + +PhysicalDeviceShaderDemoteToHelperInvocationFeatures :: struct { + sType: StructureType, + pNext: rawptr, + shaderDemoteToHelperInvocation: b32, +} + +PhysicalDevicePrivateDataFeatures :: struct { + sType: StructureType, + pNext: rawptr, + privateData: b32, +} + +DevicePrivateDataCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + privateDataSlotRequestCount: u32, +} + +PrivateDataSlotCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: PrivateDataSlotCreateFlags, +} + +PhysicalDevicePipelineCreationCacheControlFeatures :: struct { + sType: StructureType, + pNext: rawptr, + pipelineCreationCacheControl: b32, +} + +MemoryBarrier2 :: struct { + sType: StructureType, + pNext: rawptr, + srcStageMask: PipelineStageFlags2, + srcAccessMask: AccessFlags2, + dstStageMask: PipelineStageFlags2, + dstAccessMask: AccessFlags2, +} + +BufferMemoryBarrier2 :: struct { + sType: StructureType, + pNext: rawptr, + srcStageMask: PipelineStageFlags2, + srcAccessMask: AccessFlags2, + dstStageMask: PipelineStageFlags2, + dstAccessMask: AccessFlags2, + srcQueueFamilyIndex: u32, + dstQueueFamilyIndex: u32, + buffer: Buffer, + offset: DeviceSize, + size: DeviceSize, +} + +ImageMemoryBarrier2 :: struct { + sType: StructureType, + pNext: rawptr, + srcStageMask: PipelineStageFlags2, + srcAccessMask: AccessFlags2, + dstStageMask: PipelineStageFlags2, + dstAccessMask: AccessFlags2, + oldLayout: ImageLayout, + newLayout: ImageLayout, + srcQueueFamilyIndex: u32, + dstQueueFamilyIndex: u32, + image: Image, + subresourceRange: ImageSubresourceRange, +} + +DependencyInfo :: struct { + sType: StructureType, + pNext: rawptr, + dependencyFlags: DependencyFlags, + memoryBarrierCount: u32, + pMemoryBarriers: [^]MemoryBarrier2, + bufferMemoryBarrierCount: u32, + pBufferMemoryBarriers: [^]BufferMemoryBarrier2, + imageMemoryBarrierCount: u32, + pImageMemoryBarriers: [^]ImageMemoryBarrier2, +} + +SemaphoreSubmitInfo :: struct { + sType: StructureType, + pNext: rawptr, + semaphore: Semaphore, + value: u64, + stageMask: PipelineStageFlags2, + deviceIndex: u32, +} + +CommandBufferSubmitInfo :: struct { + sType: StructureType, + pNext: rawptr, + commandBuffer: CommandBuffer, + deviceMask: u32, +} + +SubmitInfo2 :: struct { + sType: StructureType, + pNext: rawptr, + flags: SubmitFlags, + waitSemaphoreInfoCount: u32, + pWaitSemaphoreInfos: [^]SemaphoreSubmitInfo, + commandBufferInfoCount: u32, + pCommandBufferInfos: [^]CommandBufferSubmitInfo, + signalSemaphoreInfoCount: u32, + pSignalSemaphoreInfos: [^]SemaphoreSubmitInfo, +} + +PhysicalDeviceSynchronization2Features :: struct { + sType: StructureType, + pNext: rawptr, + synchronization2: b32, +} + +PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures :: struct { + sType: StructureType, + pNext: rawptr, + shaderZeroInitializeWorkgroupMemory: b32, +} + +PhysicalDeviceImageRobustnessFeatures :: struct { + sType: StructureType, + pNext: rawptr, + robustImageAccess: b32, +} + +BufferCopy2 :: struct { + sType: StructureType, + pNext: rawptr, + srcOffset: DeviceSize, + dstOffset: DeviceSize, + size: DeviceSize, +} + +CopyBufferInfo2 :: struct { + sType: StructureType, + pNext: rawptr, + srcBuffer: Buffer, + dstBuffer: Buffer, + regionCount: u32, + pRegions: [^]BufferCopy2, +} + +ImageCopy2 :: struct { + sType: StructureType, + pNext: rawptr, + srcSubresource: ImageSubresourceLayers, + srcOffset: Offset3D, + dstSubresource: ImageSubresourceLayers, + dstOffset: Offset3D, + extent: Extent3D, +} + +CopyImageInfo2 :: struct { + sType: StructureType, + pNext: rawptr, + srcImage: Image, + srcImageLayout: ImageLayout, + dstImage: Image, + dstImageLayout: ImageLayout, + regionCount: u32, + pRegions: [^]ImageCopy2, +} + +BufferImageCopy2 :: struct { + sType: StructureType, + pNext: rawptr, + bufferOffset: DeviceSize, + bufferRowLength: u32, + bufferImageHeight: u32, + imageSubresource: ImageSubresourceLayers, + imageOffset: Offset3D, + imageExtent: Extent3D, +} + +CopyBufferToImageInfo2 :: struct { + sType: StructureType, + pNext: rawptr, + srcBuffer: Buffer, + dstImage: Image, + dstImageLayout: ImageLayout, + regionCount: u32, + pRegions: [^]BufferImageCopy2, +} + +CopyImageToBufferInfo2 :: struct { + sType: StructureType, + pNext: rawptr, + srcImage: Image, + srcImageLayout: ImageLayout, + dstBuffer: Buffer, + regionCount: u32, + pRegions: [^]BufferImageCopy2, +} + +ImageBlit2 :: struct { + sType: StructureType, + pNext: rawptr, + srcSubresource: ImageSubresourceLayers, + srcOffsets: [2]Offset3D, + dstSubresource: ImageSubresourceLayers, + dstOffsets: [2]Offset3D, +} + +BlitImageInfo2 :: struct { + sType: StructureType, + pNext: rawptr, + srcImage: Image, + srcImageLayout: ImageLayout, + dstImage: Image, + dstImageLayout: ImageLayout, + regionCount: u32, + pRegions: [^]ImageBlit2, + filter: Filter, +} + +ImageResolve2 :: struct { + sType: StructureType, + pNext: rawptr, + srcSubresource: ImageSubresourceLayers, + srcOffset: Offset3D, + dstSubresource: ImageSubresourceLayers, + dstOffset: Offset3D, + extent: Extent3D, +} + +ResolveImageInfo2 :: struct { + sType: StructureType, + pNext: rawptr, + srcImage: Image, + srcImageLayout: ImageLayout, + dstImage: Image, + dstImageLayout: ImageLayout, + regionCount: u32, + pRegions: [^]ImageResolve2, +} + +PhysicalDeviceSubgroupSizeControlFeatures :: struct { + sType: StructureType, + pNext: rawptr, + subgroupSizeControl: b32, + computeFullSubgroups: b32, +} + +PhysicalDeviceSubgroupSizeControlProperties :: struct { + sType: StructureType, + pNext: rawptr, + minSubgroupSize: u32, + maxSubgroupSize: u32, + maxComputeWorkgroupSubgroups: u32, + requiredSubgroupSizeStages: ShaderStageFlags, +} + +PipelineShaderStageRequiredSubgroupSizeCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + requiredSubgroupSize: u32, +} + +PhysicalDeviceInlineUniformBlockFeatures :: struct { + sType: StructureType, + pNext: rawptr, + inlineUniformBlock: b32, + descriptorBindingInlineUniformBlockUpdateAfterBind: b32, +} + +PhysicalDeviceInlineUniformBlockProperties :: struct { + sType: StructureType, + pNext: rawptr, + maxInlineUniformBlockSize: u32, + maxPerStageDescriptorInlineUniformBlocks: u32, + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32, + maxDescriptorSetInlineUniformBlocks: u32, + maxDescriptorSetUpdateAfterBindInlineUniformBlocks: u32, +} + +WriteDescriptorSetInlineUniformBlock :: struct { + sType: StructureType, + pNext: rawptr, + dataSize: u32, + pData: rawptr, +} + +DescriptorPoolInlineUniformBlockCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + maxInlineUniformBlockBindings: u32, +} + +PhysicalDeviceTextureCompressionASTCHDRFeatures :: struct { + sType: StructureType, + pNext: rawptr, + textureCompressionASTC_HDR: b32, +} + +RenderingAttachmentInfo :: struct { + sType: StructureType, + pNext: rawptr, + imageView: ImageView, + imageLayout: ImageLayout, + resolveMode: ResolveModeFlags, + resolveImageView: ImageView, + resolveImageLayout: ImageLayout, + loadOp: AttachmentLoadOp, + storeOp: AttachmentStoreOp, + clearValue: ClearValue, +} + +RenderingInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: RenderingFlags, + renderArea: Rect2D, + layerCount: u32, + viewMask: u32, + colorAttachmentCount: u32, + pColorAttachments: [^]RenderingAttachmentInfo, + pDepthAttachment: ^RenderingAttachmentInfo, + pStencilAttachment: ^RenderingAttachmentInfo, +} + +PipelineRenderingCreateInfo :: struct { + sType: StructureType, + pNext: rawptr, + viewMask: u32, + colorAttachmentCount: u32, + pColorAttachmentFormats: [^]Format, + depthAttachmentFormat: Format, + stencilAttachmentFormat: Format, +} + +PhysicalDeviceDynamicRenderingFeatures :: struct { + sType: StructureType, + pNext: rawptr, + dynamicRendering: b32, +} + +CommandBufferInheritanceRenderingInfo :: struct { + sType: StructureType, + pNext: rawptr, + flags: RenderingFlags, + viewMask: u32, + colorAttachmentCount: u32, + pColorAttachmentFormats: [^]Format, + depthAttachmentFormat: Format, + stencilAttachmentFormat: Format, + rasterizationSamples: SampleCountFlags, +} + +PhysicalDeviceShaderIntegerDotProductFeatures :: struct { + sType: StructureType, + pNext: rawptr, + shaderIntegerDotProduct: b32, +} + +PhysicalDeviceShaderIntegerDotProductProperties :: struct { + sType: StructureType, + pNext: rawptr, + integerDotProduct8BitUnsignedAccelerated: b32, + integerDotProduct8BitSignedAccelerated: b32, + integerDotProduct8BitMixedSignednessAccelerated: b32, + integerDotProduct4x8BitPackedUnsignedAccelerated: b32, + integerDotProduct4x8BitPackedSignedAccelerated: b32, + integerDotProduct4x8BitPackedMixedSignednessAccelerated: b32, + integerDotProduct16BitUnsignedAccelerated: b32, + integerDotProduct16BitSignedAccelerated: b32, + integerDotProduct16BitMixedSignednessAccelerated: b32, + integerDotProduct32BitUnsignedAccelerated: b32, + integerDotProduct32BitSignedAccelerated: b32, + integerDotProduct32BitMixedSignednessAccelerated: b32, + integerDotProduct64BitUnsignedAccelerated: b32, + integerDotProduct64BitSignedAccelerated: b32, + integerDotProduct64BitMixedSignednessAccelerated: b32, + integerDotProductAccumulatingSaturating8BitUnsignedAccelerated: b32, + integerDotProductAccumulatingSaturating8BitSignedAccelerated: b32, + integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated: b32, + integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated: b32, + integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated: b32, + integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: b32, + integerDotProductAccumulatingSaturating16BitUnsignedAccelerated: b32, + integerDotProductAccumulatingSaturating16BitSignedAccelerated: b32, + integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated: b32, + integerDotProductAccumulatingSaturating32BitUnsignedAccelerated: b32, + integerDotProductAccumulatingSaturating32BitSignedAccelerated: b32, + integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated: b32, + integerDotProductAccumulatingSaturating64BitUnsignedAccelerated: b32, + integerDotProductAccumulatingSaturating64BitSignedAccelerated: b32, + integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated: b32, +} + +PhysicalDeviceTexelBufferAlignmentProperties :: struct { + sType: StructureType, + pNext: rawptr, + storageTexelBufferOffsetAlignmentBytes: DeviceSize, + storageTexelBufferOffsetSingleTexelAlignment: b32, + uniformTexelBufferOffsetAlignmentBytes: DeviceSize, + uniformTexelBufferOffsetSingleTexelAlignment: b32, +} + +FormatProperties3 :: struct { + sType: StructureType, + pNext: rawptr, + linearTilingFeatures: FormatFeatureFlags2, + optimalTilingFeatures: FormatFeatureFlags2, + bufferFeatures: FormatFeatureFlags2, +} + +PhysicalDeviceMaintenance4Features :: struct { + sType: StructureType, + pNext: rawptr, + maintenance4: b32, +} + +PhysicalDeviceMaintenance4Properties :: struct { + sType: StructureType, + pNext: rawptr, + maxBufferSize: DeviceSize, +} + +DeviceBufferMemoryRequirements :: struct { + sType: StructureType, + pNext: rawptr, + pCreateInfo: ^BufferCreateInfo, +} + +DeviceImageMemoryRequirements :: struct { + sType: StructureType, + pNext: rawptr, + pCreateInfo: ^ImageCreateInfo, + planeAspect: ImageAspectFlags, +} + +SurfaceCapabilitiesKHR :: struct { + minImageCount: u32, + maxImageCount: u32, + currentExtent: Extent2D, + minImageExtent: Extent2D, + maxImageExtent: Extent2D, + maxImageArrayLayers: u32, + supportedTransforms: SurfaceTransformFlagsKHR, + currentTransform: SurfaceTransformFlagsKHR, + supportedCompositeAlpha: CompositeAlphaFlagsKHR, + supportedUsageFlags: ImageUsageFlags, +} + +SurfaceFormatKHR :: struct { + format: Format, + colorSpace: ColorSpaceKHR, +} + +SwapchainCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: SwapchainCreateFlagsKHR, + surface: SurfaceKHR, + minImageCount: u32, + imageFormat: Format, + imageColorSpace: ColorSpaceKHR, + imageExtent: Extent2D, + imageArrayLayers: u32, + imageUsage: ImageUsageFlags, + imageSharingMode: SharingMode, + queueFamilyIndexCount: u32, + pQueueFamilyIndices: [^]u32, + preTransform: SurfaceTransformFlagsKHR, + compositeAlpha: CompositeAlphaFlagsKHR, + presentMode: PresentModeKHR, + clipped: b32, + oldSwapchain: SwapchainKHR, +} + +PresentInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + waitSemaphoreCount: u32, + pWaitSemaphores: [^]Semaphore, + swapchainCount: u32, + pSwapchains: [^]SwapchainKHR, + pImageIndices: [^]u32, + pResults: [^]Result, +} + +ImageSwapchainCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + swapchain: SwapchainKHR, +} + +BindImageMemorySwapchainInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + swapchain: SwapchainKHR, + imageIndex: u32, +} + +AcquireNextImageInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + swapchain: SwapchainKHR, + timeout: u64, + semaphore: Semaphore, + fence: Fence, + deviceMask: u32, +} + +DeviceGroupPresentCapabilitiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + presentMask: [MAX_DEVICE_GROUP_SIZE]u32, + modes: DeviceGroupPresentModeFlagsKHR, +} + +DeviceGroupPresentInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + swapchainCount: u32, + pDeviceMasks: [^]u32, + mode: DeviceGroupPresentModeFlagsKHR, +} + +DeviceGroupSwapchainCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + modes: DeviceGroupPresentModeFlagsKHR, +} + +DisplayModeParametersKHR :: struct { + visibleRegion: Extent2D, + refreshRate: u32, +} + +DisplayModeCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: DisplayModeCreateFlagsKHR, + parameters: DisplayModeParametersKHR, +} + +DisplayModePropertiesKHR :: struct { + displayMode: DisplayModeKHR, + parameters: DisplayModeParametersKHR, +} + +DisplayPlaneCapabilitiesKHR :: struct { + supportedAlpha: DisplayPlaneAlphaFlagsKHR, + minSrcPosition: Offset2D, + maxSrcPosition: Offset2D, + minSrcExtent: Extent2D, + maxSrcExtent: Extent2D, + minDstPosition: Offset2D, + maxDstPosition: Offset2D, + minDstExtent: Extent2D, + maxDstExtent: Extent2D, +} + +DisplayPlanePropertiesKHR :: struct { + currentDisplay: DisplayKHR, + currentStackIndex: u32, +} + +DisplayPropertiesKHR :: struct { + display: DisplayKHR, + displayName: cstring, + physicalDimensions: Extent2D, + physicalResolution: Extent2D, + supportedTransforms: SurfaceTransformFlagsKHR, + planeReorderPossible: b32, + persistentContent: b32, +} + +DisplaySurfaceCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: DisplaySurfaceCreateFlagsKHR, + displayMode: DisplayModeKHR, + planeIndex: u32, + planeStackIndex: u32, + transform: SurfaceTransformFlagsKHR, + globalAlpha: f32, + alphaMode: DisplayPlaneAlphaFlagsKHR, + imageExtent: Extent2D, +} + +DisplayPresentInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + srcRect: Rect2D, + dstRect: Rect2D, + persistent: b32, +} + +QueueFamilyQueryResultStatusPropertiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + queryResultStatusSupport: b32, +} + +QueueFamilyVideoPropertiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + videoCodecOperations: VideoCodecOperationFlagsKHR, +} + +VideoProfileInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + videoCodecOperation: VideoCodecOperationFlagsKHR, + chromaSubsampling: VideoChromaSubsamplingFlagsKHR, + lumaBitDepth: VideoComponentBitDepthFlagsKHR, + chromaBitDepth: VideoComponentBitDepthFlagsKHR, +} + +VideoProfileListInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + profileCount: u32, + pProfiles: [^]VideoProfileInfoKHR, +} + +VideoCapabilitiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: VideoCapabilityFlagsKHR, + minBitstreamBufferOffsetAlignment: DeviceSize, + minBitstreamBufferSizeAlignment: DeviceSize, + pictureAccessGranularity: Extent2D, + minCodedExtent: Extent2D, + maxCodedExtent: Extent2D, + maxDpbSlots: u32, + maxActiveReferencePictures: u32, + stdHeaderVersion: ExtensionProperties, +} + +PhysicalDeviceVideoFormatInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + imageUsage: ImageUsageFlags, +} + +VideoFormatPropertiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + format: Format, + componentMapping: ComponentMapping, + imageCreateFlags: ImageCreateFlags, + imageType: ImageType, + imageTiling: ImageTiling, + imageUsageFlags: ImageUsageFlags, +} + +VideoPictureResourceInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + codedOffset: Offset2D, + codedExtent: Extent2D, + baseArrayLayer: u32, + imageViewBinding: ImageView, +} + +VideoReferenceSlotInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + slotIndex: i32, + pPictureResource: ^VideoPictureResourceInfoKHR, +} + +VideoSessionMemoryRequirementsKHR :: struct { + sType: StructureType, + pNext: rawptr, + memoryBindIndex: u32, + memoryRequirements: MemoryRequirements, +} + +BindVideoSessionMemoryInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + memoryBindIndex: u32, + memory: DeviceMemory, + memoryOffset: DeviceSize, + memorySize: DeviceSize, +} + +VideoSessionCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + queueFamilyIndex: u32, + flags: VideoSessionCreateFlagsKHR, + pVideoProfile: ^VideoProfileInfoKHR, + pictureFormat: Format, + maxCodedExtent: Extent2D, + referencePictureFormat: Format, + maxDpbSlots: u32, + maxActiveReferencePictures: u32, + pStdHeaderVersion: ^ExtensionProperties, +} + +VideoSessionParametersCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: VideoSessionParametersCreateFlagsKHR, + videoSessionParametersTemplate: VideoSessionParametersKHR, + videoSession: VideoSessionKHR, +} + +VideoSessionParametersUpdateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + updateSequenceCount: u32, +} + +VideoBeginCodingInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: VideoBeginCodingFlagsKHR, + videoSession: VideoSessionKHR, + videoSessionParameters: VideoSessionParametersKHR, + referenceSlotCount: u32, + pReferenceSlots: [^]VideoReferenceSlotInfoKHR, +} + +VideoEndCodingInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: VideoEndCodingFlagsKHR, +} + +VideoCodingControlInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: VideoCodingControlFlagsKHR, +} + +VideoDecodeCapabilitiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: VideoDecodeCapabilityFlagsKHR, +} + +VideoDecodeUsageInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + videoUsageHints: VideoDecodeUsageFlagsKHR, +} + +VideoDecodeInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: VideoDecodeFlagsKHR, + srcBuffer: Buffer, + srcBufferOffset: DeviceSize, + srcBufferRange: DeviceSize, + dstPictureResource: VideoPictureResourceInfoKHR, + pSetupReferenceSlot: ^VideoReferenceSlotInfoKHR, + referenceSlotCount: u32, + pReferenceSlots: [^]VideoReferenceSlotInfoKHR, +} + +VideoDecodeH264ProfileInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + stdProfileIdc: VideoH264ProfileIdc, + pictureLayout: VideoDecodeH264PictureLayoutFlagsKHR, +} + +VideoDecodeH264CapabilitiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + maxLevelIdc: VideoH264LevelIdc, + fieldOffsetGranularity: Offset2D, +} + +VideoDecodeH264SessionParametersAddInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + stdSPSCount: u32, + pStdSPSs: [^]VideoH264SequenceParameterSet, + stdPPSCount: u32, + pStdPPSs: [^]VideoH264PictureParameterSet, +} + +VideoDecodeH264SessionParametersCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + maxStdSPSCount: u32, + maxStdPPSCount: u32, + pParametersAddInfo: ^VideoDecodeH264SessionParametersAddInfoKHR, +} + +VideoDecodeH264PictureInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + pStdPictureInfo: ^VideoDecodeH264PictureInfo, + sliceCount: u32, + pSliceOffsets: [^]u32, +} + +VideoDecodeH264DpbSlotInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + pStdReferenceInfo: ^VideoDecodeH264ReferenceInfo, +} + +RenderingFragmentShadingRateAttachmentInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + imageView: ImageView, + imageLayout: ImageLayout, + shadingRateAttachmentTexelSize: Extent2D, +} + +RenderingFragmentDensityMapAttachmentInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + imageView: ImageView, + imageLayout: ImageLayout, +} + +AttachmentSampleCountInfoAMD :: struct { + sType: StructureType, + pNext: rawptr, + colorAttachmentCount: u32, + pColorAttachmentSamples: [^]SampleCountFlags, + depthStencilAttachmentSamples: SampleCountFlags, +} + +MultiviewPerViewAttributesInfoNVX :: struct { + sType: StructureType, + pNext: rawptr, + perViewAttributes: b32, + perViewAttributesPositionXOnly: b32, +} + +ImportMemoryFdInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + handleType: ExternalMemoryHandleTypeFlags, + fd: c.int, +} + +MemoryFdPropertiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + memoryTypeBits: u32, +} + +MemoryGetFdInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + memory: DeviceMemory, + handleType: ExternalMemoryHandleTypeFlags, +} + +ImportSemaphoreFdInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + semaphore: Semaphore, + flags: SemaphoreImportFlags, + handleType: ExternalSemaphoreHandleTypeFlags, + fd: c.int, +} + +SemaphoreGetFdInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + semaphore: Semaphore, + handleType: ExternalSemaphoreHandleTypeFlags, +} + +PhysicalDevicePushDescriptorPropertiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + maxPushDescriptors: u32, +} + +RectLayerKHR :: struct { + offset: Offset2D, + extent: Extent2D, + layer: u32, +} + +PresentRegionKHR :: struct { + rectangleCount: u32, + pRectangles: [^]RectLayerKHR, +} + +PresentRegionsKHR :: struct { + sType: StructureType, + pNext: rawptr, + swapchainCount: u32, + pRegions: [^]PresentRegionKHR, +} + +SharedPresentSurfaceCapabilitiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + sharedPresentSupportedUsageFlags: ImageUsageFlags, +} + +ImportFenceFdInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + fence: Fence, + flags: FenceImportFlags, + handleType: ExternalFenceHandleTypeFlags, + fd: c.int, +} + +FenceGetFdInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + fence: Fence, + handleType: ExternalFenceHandleTypeFlags, +} + +PhysicalDevicePerformanceQueryFeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + performanceCounterQueryPools: b32, + performanceCounterMultipleQueryPools: b32, +} + +PhysicalDevicePerformanceQueryPropertiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + allowCommandBufferQueryCopies: b32, +} + +PerformanceCounterKHR :: struct { + sType: StructureType, + pNext: rawptr, + unit: PerformanceCounterUnitKHR, + scope: PerformanceCounterScopeKHR, + storage: PerformanceCounterStorageKHR, + uuid: [UUID_SIZE]u8, +} + +PerformanceCounterDescriptionKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: PerformanceCounterDescriptionFlagsKHR, + name: [MAX_DESCRIPTION_SIZE]byte, + category: [MAX_DESCRIPTION_SIZE]byte, + description: [MAX_DESCRIPTION_SIZE]byte, +} + +QueryPoolPerformanceCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + queueFamilyIndex: u32, + counterIndexCount: u32, + pCounterIndices: [^]u32, +} + +PerformanceCounterResultKHR :: struct #raw_union { + int32: i32, + int64: i64, + uint32: u32, + uint64: u64, + float32: f32, + float64: f64, +} + +AcquireProfilingLockInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: AcquireProfilingLockFlagsKHR, + timeout: u64, +} + +PerformanceQuerySubmitInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + counterPassIndex: u32, +} + +PhysicalDeviceSurfaceInfo2KHR :: struct { + sType: StructureType, + pNext: rawptr, + surface: SurfaceKHR, +} + +SurfaceCapabilities2KHR :: struct { + sType: StructureType, + pNext: rawptr, + surfaceCapabilities: SurfaceCapabilitiesKHR, +} + +SurfaceFormat2KHR :: struct { + sType: StructureType, + pNext: rawptr, + surfaceFormat: SurfaceFormatKHR, +} + +DisplayProperties2KHR :: struct { + sType: StructureType, + pNext: rawptr, + displayProperties: DisplayPropertiesKHR, +} + +DisplayPlaneProperties2KHR :: struct { + sType: StructureType, + pNext: rawptr, + displayPlaneProperties: DisplayPlanePropertiesKHR, +} + +DisplayModeProperties2KHR :: struct { + sType: StructureType, + pNext: rawptr, + displayModeProperties: DisplayModePropertiesKHR, +} + +DisplayPlaneInfo2KHR :: struct { + sType: StructureType, + pNext: rawptr, + mode: DisplayModeKHR, + planeIndex: u32, +} + +DisplayPlaneCapabilities2KHR :: struct { + sType: StructureType, + pNext: rawptr, + capabilities: DisplayPlaneCapabilitiesKHR, +} + +PhysicalDeviceShaderClockFeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + shaderSubgroupClock: b32, + shaderDeviceClock: b32, +} + +VideoDecodeH265ProfileInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + stdProfileIdc: VideoH265ProfileIdc, +} + +VideoDecodeH265CapabilitiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + maxLevelIdc: VideoH265LevelIdc, +} + +VideoDecodeH265SessionParametersAddInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + stdVPSCount: u32, + pStdVPSs: [^]VideoH265VideoParameterSet, + stdSPSCount: u32, + pStdSPSs: [^]VideoH265SequenceParameterSet, + stdPPSCount: u32, + pStdPPSs: [^]VideoH265PictureParameterSet, +} + +VideoDecodeH265SessionParametersCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + maxStdVPSCount: u32, + maxStdSPSCount: u32, + maxStdPPSCount: u32, + pParametersAddInfo: ^VideoDecodeH265SessionParametersAddInfoKHR, +} + +VideoDecodeH265PictureInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + pStdPictureInfo: ^VideoDecodeH265PictureInfo, + sliceSegmentCount: u32, + pSliceSegmentOffsets: [^]u32, +} + +VideoDecodeH265DpbSlotInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + pStdReferenceInfo: ^VideoDecodeH265ReferenceInfo, +} + +DeviceQueueGlobalPriorityCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + globalPriority: QueueGlobalPriorityKHR, +} + +PhysicalDeviceGlobalPriorityQueryFeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + globalPriorityQuery: b32, +} + +QueueFamilyGlobalPriorityPropertiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + priorityCount: u32, + priorities: [MAX_GLOBAL_PRIORITY_SIZE_KHR]QueueGlobalPriorityKHR, +} + +FragmentShadingRateAttachmentInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + pFragmentShadingRateAttachment: ^AttachmentReference2, + shadingRateAttachmentTexelSize: Extent2D, +} + +PipelineFragmentShadingRateStateCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + fragmentSize: Extent2D, + combinerOps: [2]FragmentShadingRateCombinerOpKHR, +} + +PhysicalDeviceFragmentShadingRateFeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + pipelineFragmentShadingRate: b32, + primitiveFragmentShadingRate: b32, + attachmentFragmentShadingRate: b32, +} + +PhysicalDeviceFragmentShadingRatePropertiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + minFragmentShadingRateAttachmentTexelSize: Extent2D, + maxFragmentShadingRateAttachmentTexelSize: Extent2D, + maxFragmentShadingRateAttachmentTexelSizeAspectRatio: u32, + primitiveFragmentShadingRateWithMultipleViewports: b32, + layeredShadingRateAttachments: b32, + fragmentShadingRateNonTrivialCombinerOps: b32, + maxFragmentSize: Extent2D, + maxFragmentSizeAspectRatio: u32, + maxFragmentShadingRateCoverageSamples: u32, + maxFragmentShadingRateRasterizationSamples: SampleCountFlags, + fragmentShadingRateWithShaderDepthStencilWrites: b32, + fragmentShadingRateWithSampleMask: b32, + fragmentShadingRateWithShaderSampleMask: b32, + fragmentShadingRateWithConservativeRasterization: b32, + fragmentShadingRateWithFragmentShaderInterlock: b32, + fragmentShadingRateWithCustomSampleLocations: b32, + fragmentShadingRateStrictMultiplyCombiner: b32, +} + +PhysicalDeviceFragmentShadingRateKHR :: struct { + sType: StructureType, + pNext: rawptr, + sampleCounts: SampleCountFlags, + fragmentSize: Extent2D, +} + +SurfaceProtectedCapabilitiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + supportsProtected: b32, +} + +PhysicalDevicePresentWaitFeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + presentWait: b32, +} + +PhysicalDevicePipelineExecutablePropertiesFeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + pipelineExecutableInfo: b32, +} + +PipelineInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + pipeline: Pipeline, +} + +PipelineExecutablePropertiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + stages: ShaderStageFlags, + name: [MAX_DESCRIPTION_SIZE]byte, + description: [MAX_DESCRIPTION_SIZE]byte, + subgroupSize: u32, +} + +PipelineExecutableInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + pipeline: Pipeline, + executableIndex: u32, +} + +PipelineExecutableStatisticValueKHR :: struct #raw_union { + b32: b32, + i64: i64, + u64: u64, + f64: f64, +} + +PipelineExecutableStatisticKHR :: struct { + sType: StructureType, + pNext: rawptr, + name: [MAX_DESCRIPTION_SIZE]byte, + description: [MAX_DESCRIPTION_SIZE]byte, + format: PipelineExecutableStatisticFormatKHR, + value: PipelineExecutableStatisticValueKHR, +} + +PipelineExecutableInternalRepresentationKHR :: struct { + sType: StructureType, + pNext: rawptr, + name: [MAX_DESCRIPTION_SIZE]byte, + description: [MAX_DESCRIPTION_SIZE]byte, + isText: b32, + dataSize: int, + pData: rawptr, +} + +MemoryMapInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: MemoryMapFlags, + memory: DeviceMemory, + offset: DeviceSize, + size: DeviceSize, +} + +MemoryUnmapInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: MemoryUnmapFlagsKHR, + memory: DeviceMemory, +} + +PipelineLibraryCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + libraryCount: u32, + pLibraries: [^]Pipeline, +} + +PresentIdKHR :: struct { + sType: StructureType, + pNext: rawptr, + swapchainCount: u32, + pPresentIds: [^]u64, +} + +PhysicalDevicePresentIdFeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + presentId: b32, +} + +QueueFamilyCheckpointProperties2NV :: struct { + sType: StructureType, + pNext: rawptr, + checkpointExecutionStageMask: PipelineStageFlags2, +} + +CheckpointData2NV :: struct { + sType: StructureType, + pNext: rawptr, + stage: PipelineStageFlags2, + pCheckpointMarker: rawptr, +} + +PhysicalDeviceFragmentShaderBarycentricFeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + fragmentShaderBarycentric: b32, +} + +PhysicalDeviceFragmentShaderBarycentricPropertiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + triStripVertexOrderIndependentOfProvokingVertex: b32, +} + +PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + shaderSubgroupUniformControlFlow: b32, +} + +PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + workgroupMemoryExplicitLayout: b32, + workgroupMemoryExplicitLayoutScalarBlockLayout: b32, + workgroupMemoryExplicitLayout8BitAccess: b32, + workgroupMemoryExplicitLayout16BitAccess: b32, +} + +PhysicalDeviceRayTracingMaintenance1FeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + rayTracingMaintenance1: b32, + rayTracingPipelineTraceRaysIndirect2: b32, +} + +TraceRaysIndirectCommand2KHR :: struct { + raygenShaderRecordAddress: DeviceAddress, + raygenShaderRecordSize: DeviceSize, + missShaderBindingTableAddress: DeviceAddress, + missShaderBindingTableSize: DeviceSize, + missShaderBindingTableStride: DeviceSize, + hitShaderBindingTableAddress: DeviceAddress, + hitShaderBindingTableSize: DeviceSize, + hitShaderBindingTableStride: DeviceSize, + callableShaderBindingTableAddress: DeviceAddress, + callableShaderBindingTableSize: DeviceSize, + callableShaderBindingTableStride: DeviceSize, + width: u32, + height: u32, + depth: u32, +} + +PhysicalDeviceRayTracingPositionFetchFeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + rayTracingPositionFetch: b32, +} + +DebugReportCallbackCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: DebugReportFlagsEXT, + pfnCallback: ProcDebugReportCallbackEXT, + pUserData: rawptr, +} + +PipelineRasterizationStateRasterizationOrderAMD :: struct { + sType: StructureType, + pNext: rawptr, + rasterizationOrder: RasterizationOrderAMD, +} + +DebugMarkerObjectNameInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + objectType: DebugReportObjectTypeEXT, + object: u64, + pObjectName: cstring, +} + +DebugMarkerObjectTagInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + objectType: DebugReportObjectTypeEXT, + object: u64, + tagName: u64, + tagSize: int, + pTag: rawptr, +} + +DebugMarkerMarkerInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + pMarkerName: cstring, + color: [4]f32, +} + +DedicatedAllocationImageCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + dedicatedAllocation: b32, +} + +DedicatedAllocationBufferCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + dedicatedAllocation: b32, +} + +DedicatedAllocationMemoryAllocateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + image: Image, + buffer: Buffer, +} + +PhysicalDeviceTransformFeedbackFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + transformFeedback: b32, + geometryStreams: b32, +} + +PhysicalDeviceTransformFeedbackPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + maxTransformFeedbackStreams: u32, + maxTransformFeedbackBuffers: u32, + maxTransformFeedbackBufferSize: DeviceSize, + maxTransformFeedbackStreamDataSize: u32, + maxTransformFeedbackBufferDataSize: u32, + maxTransformFeedbackBufferDataStride: u32, + transformFeedbackQueries: b32, + transformFeedbackStreamsLinesTriangles: b32, + transformFeedbackRasterizationStreamSelect: b32, + transformFeedbackDraw: b32, +} + +PipelineRasterizationStateStreamCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineRasterizationStateStreamCreateFlagsEXT, + rasterizationStream: u32, +} + +CuModuleCreateInfoNVX :: struct { + sType: StructureType, + pNext: rawptr, + dataSize: int, + pData: rawptr, +} + +CuFunctionCreateInfoNVX :: struct { + sType: StructureType, + pNext: rawptr, + module: CuModuleNVX, + pName: cstring, +} + +CuLaunchInfoNVX :: struct { + sType: StructureType, + pNext: rawptr, + function: CuFunctionNVX, + gridDimX: u32, + gridDimY: u32, + gridDimZ: u32, + blockDimX: u32, + blockDimY: u32, + blockDimZ: u32, + sharedMemBytes: u32, + paramCount: int, + pParams: [^]rawptr, + extraCount: int, + pExtras: [^]rawptr, +} + +ImageViewHandleInfoNVX :: struct { + sType: StructureType, + pNext: rawptr, + imageView: ImageView, + descriptorType: DescriptorType, + sampler: Sampler, +} + +ImageViewAddressPropertiesNVX :: struct { + sType: StructureType, + pNext: rawptr, + deviceAddress: DeviceAddress, + size: DeviceSize, +} + +TextureLODGatherFormatPropertiesAMD :: struct { + sType: StructureType, + pNext: rawptr, + supportsTextureGatherLODBiasAMD: b32, +} + +ShaderResourceUsageAMD :: struct { + numUsedVgprs: u32, + numUsedSgprs: u32, + ldsSizePerLocalWorkGroup: u32, + ldsUsageSizeInBytes: int, + scratchMemUsageInBytes: int, +} + +ShaderStatisticsInfoAMD :: struct { + shaderStageMask: ShaderStageFlags, + resourceUsage: ShaderResourceUsageAMD, + numPhysicalVgprs: u32, + numPhysicalSgprs: u32, + numAvailableVgprs: u32, + numAvailableSgprs: u32, + computeWorkGroupSize: [3]u32, +} + +PhysicalDeviceCornerSampledImageFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + cornerSampledImage: b32, +} + +ExternalImageFormatPropertiesNV :: struct { + imageFormatProperties: ImageFormatProperties, + externalMemoryFeatures: ExternalMemoryFeatureFlagsNV, + exportFromImportedHandleTypes: ExternalMemoryHandleTypeFlagsNV, + compatibleHandleTypes: ExternalMemoryHandleTypeFlagsNV, +} + +ExternalMemoryImageCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + handleTypes: ExternalMemoryHandleTypeFlagsNV, +} + +ExportMemoryAllocateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + handleTypes: ExternalMemoryHandleTypeFlagsNV, +} + +ValidationFlagsEXT :: struct { + sType: StructureType, + pNext: rawptr, + disabledValidationCheckCount: u32, + pDisabledValidationChecks: [^]ValidationCheckEXT, +} + +ImageViewASTCDecodeModeEXT :: struct { + sType: StructureType, + pNext: rawptr, + decodeMode: Format, +} + +PhysicalDeviceASTCDecodeFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + decodeModeSharedExponent: b32, +} + +PhysicalDevicePipelineRobustnessFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + pipelineRobustness: b32, +} + +PhysicalDevicePipelineRobustnessPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + defaultRobustnessStorageBuffers: PipelineRobustnessBufferBehaviorEXT, + defaultRobustnessUniformBuffers: PipelineRobustnessBufferBehaviorEXT, + defaultRobustnessVertexInputs: PipelineRobustnessBufferBehaviorEXT, + defaultRobustnessImages: PipelineRobustnessImageBehaviorEXT, +} + +PipelineRobustnessCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + storageBuffers: PipelineRobustnessBufferBehaviorEXT, + uniformBuffers: PipelineRobustnessBufferBehaviorEXT, + vertexInputs: PipelineRobustnessBufferBehaviorEXT, + images: PipelineRobustnessImageBehaviorEXT, +} + +ConditionalRenderingBeginInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + buffer: Buffer, + offset: DeviceSize, + flags: ConditionalRenderingFlagsEXT, +} + +PhysicalDeviceConditionalRenderingFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + conditionalRendering: b32, + inheritedConditionalRendering: b32, +} + +CommandBufferInheritanceConditionalRenderingInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + conditionalRenderingEnable: b32, +} + +ViewportWScalingNV :: struct { + xcoeff: f32, + ycoeff: f32, +} + +PipelineViewportWScalingStateCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + viewportWScalingEnable: b32, + viewportCount: u32, + pViewportWScalings: [^]ViewportWScalingNV, +} + +SurfaceCapabilities2EXT :: struct { + sType: StructureType, + pNext: rawptr, + minImageCount: u32, + maxImageCount: u32, + currentExtent: Extent2D, + minImageExtent: Extent2D, + maxImageExtent: Extent2D, + maxImageArrayLayers: u32, + supportedTransforms: SurfaceTransformFlagsKHR, + currentTransform: SurfaceTransformFlagsKHR, + supportedCompositeAlpha: CompositeAlphaFlagsKHR, + supportedUsageFlags: ImageUsageFlags, + supportedSurfaceCounters: SurfaceCounterFlagsEXT, +} + +DisplayPowerInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + powerState: DisplayPowerStateEXT, +} + +DeviceEventInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + deviceEvent: DeviceEventTypeEXT, +} + +DisplayEventInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + displayEvent: DisplayEventTypeEXT, +} + +SwapchainCounterCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + surfaceCounters: SurfaceCounterFlagsEXT, +} + +RefreshCycleDurationGOOGLE :: struct { + refreshDuration: u64, +} + +PastPresentationTimingGOOGLE :: struct { + presentID: u32, + desiredPresentTime: u64, + actualPresentTime: u64, + earliestPresentTime: u64, + presentMargin: u64, +} + +PresentTimeGOOGLE :: struct { + presentID: u32, + desiredPresentTime: u64, +} + +PresentTimesInfoGOOGLE :: struct { + sType: StructureType, + pNext: rawptr, + swapchainCount: u32, + pTimes: [^]PresentTimeGOOGLE, +} + +PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX :: struct { + sType: StructureType, + pNext: rawptr, + perViewPositionAllComponents: b32, +} + +ViewportSwizzleNV :: struct { + x: ViewportCoordinateSwizzleNV, + y: ViewportCoordinateSwizzleNV, + z: ViewportCoordinateSwizzleNV, + w: ViewportCoordinateSwizzleNV, +} + +PipelineViewportSwizzleStateCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineViewportSwizzleStateCreateFlagsNV, + viewportCount: u32, + pViewportSwizzles: [^]ViewportSwizzleNV, +} + +PhysicalDeviceDiscardRectanglePropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + maxDiscardRectangles: u32, +} + +PipelineDiscardRectangleStateCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineDiscardRectangleStateCreateFlagsEXT, + discardRectangleMode: DiscardRectangleModeEXT, + discardRectangleCount: u32, + pDiscardRectangles: [^]Rect2D, +} + +PhysicalDeviceConservativeRasterizationPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + primitiveOverestimationSize: f32, + maxExtraPrimitiveOverestimationSize: f32, + extraPrimitiveOverestimationSizeGranularity: f32, + primitiveUnderestimation: b32, + conservativePointAndLineRasterization: b32, + degenerateTrianglesRasterized: b32, + degenerateLinesRasterized: b32, + fullyCoveredFragmentShaderInputVariable: b32, + conservativeRasterizationPostDepthCoverage: b32, +} + +PipelineRasterizationConservativeStateCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineRasterizationConservativeStateCreateFlagsEXT, + conservativeRasterizationMode: ConservativeRasterizationModeEXT, + extraPrimitiveOverestimationSize: f32, +} + +PhysicalDeviceDepthClipEnableFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + depthClipEnable: b32, +} + +PipelineRasterizationDepthClipStateCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineRasterizationDepthClipStateCreateFlagsEXT, + depthClipEnable: b32, +} + +XYColorEXT :: struct { + x: f32, + y: f32, +} + +HdrMetadataEXT :: struct { + sType: StructureType, + pNext: rawptr, + displayPrimaryRed: XYColorEXT, + displayPrimaryGreen: XYColorEXT, + displayPrimaryBlue: XYColorEXT, + whitePoint: XYColorEXT, + maxLuminance: f32, + minLuminance: f32, + maxContentLightLevel: f32, + maxFrameAverageLightLevel: f32, +} + +DebugUtilsLabelEXT :: struct { + sType: StructureType, + pNext: rawptr, + pLabelName: cstring, + color: [4]f32, +} + +DebugUtilsObjectNameInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + objectType: ObjectType, + objectHandle: u64, + pObjectName: cstring, +} + +DebugUtilsMessengerCallbackDataEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: DebugUtilsMessengerCallbackDataFlagsEXT, + pMessageIdName: cstring, + messageIdNumber: i32, + pMessage: cstring, + queueLabelCount: u32, + pQueueLabels: [^]DebugUtilsLabelEXT, + cmdBufLabelCount: u32, + pCmdBufLabels: [^]DebugUtilsLabelEXT, + objectCount: u32, + pObjects: [^]DebugUtilsObjectNameInfoEXT, +} + +DebugUtilsMessengerCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: DebugUtilsMessengerCreateFlagsEXT, + messageSeverity: DebugUtilsMessageSeverityFlagsEXT, + messageType: DebugUtilsMessageTypeFlagsEXT, + pfnUserCallback: ProcDebugUtilsMessengerCallbackEXT, + pUserData: rawptr, +} + +DebugUtilsObjectTagInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + objectType: ObjectType, + objectHandle: u64, + tagName: u64, + tagSize: int, + pTag: rawptr, +} + +SampleLocationEXT :: struct { + x: f32, + y: f32, +} + +SampleLocationsInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + sampleLocationsPerPixel: SampleCountFlags, + sampleLocationGridSize: Extent2D, + sampleLocationsCount: u32, + pSampleLocations: [^]SampleLocationEXT, +} + +AttachmentSampleLocationsEXT :: struct { + attachmentIndex: u32, + sampleLocationsInfo: SampleLocationsInfoEXT, +} + +SubpassSampleLocationsEXT :: struct { + subpassIndex: u32, + sampleLocationsInfo: SampleLocationsInfoEXT, +} + +RenderPassSampleLocationsBeginInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + attachmentInitialSampleLocationsCount: u32, + pAttachmentInitialSampleLocations: [^]AttachmentSampleLocationsEXT, + postSubpassSampleLocationsCount: u32, + pPostSubpassSampleLocations: [^]SubpassSampleLocationsEXT, +} + +PipelineSampleLocationsStateCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + sampleLocationsEnable: b32, + sampleLocationsInfo: SampleLocationsInfoEXT, +} + +PhysicalDeviceSampleLocationsPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + sampleLocationSampleCounts: SampleCountFlags, + maxSampleLocationGridSize: Extent2D, + sampleLocationCoordinateRange: [2]f32, + sampleLocationSubPixelBits: u32, + variableSampleLocations: b32, +} + +MultisamplePropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + maxSampleLocationGridSize: Extent2D, +} + +PhysicalDeviceBlendOperationAdvancedFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + advancedBlendCoherentOperations: b32, +} + +PhysicalDeviceBlendOperationAdvancedPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + advancedBlendMaxColorAttachments: u32, + advancedBlendIndependentBlend: b32, + advancedBlendNonPremultipliedSrcColor: b32, + advancedBlendNonPremultipliedDstColor: b32, + advancedBlendCorrelatedOverlap: b32, + advancedBlendAllOperations: b32, +} + +PipelineColorBlendAdvancedStateCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + srcPremultiplied: b32, + dstPremultiplied: b32, + blendOverlap: BlendOverlapEXT, +} + +PipelineCoverageToColorStateCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineCoverageToColorStateCreateFlagsNV, + coverageToColorEnable: b32, + coverageToColorLocation: u32, +} + +PipelineCoverageModulationStateCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineCoverageModulationStateCreateFlagsNV, + coverageModulationMode: CoverageModulationModeNV, + coverageModulationTableEnable: b32, + coverageModulationTableCount: u32, + pCoverageModulationTable: [^]f32, +} + +PhysicalDeviceShaderSMBuiltinsPropertiesNV :: struct { + sType: StructureType, + pNext: rawptr, + shaderSMCount: u32, + shaderWarpsPerSM: u32, +} + +PhysicalDeviceShaderSMBuiltinsFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + shaderSMBuiltins: b32, +} + +DrmFormatModifierPropertiesEXT :: struct { + drmFormatModifier: u64, + drmFormatModifierPlaneCount: u32, + drmFormatModifierTilingFeatures: FormatFeatureFlags, +} + +DrmFormatModifierPropertiesListEXT :: struct { + sType: StructureType, + pNext: rawptr, + drmFormatModifierCount: u32, + pDrmFormatModifierProperties: [^]DrmFormatModifierPropertiesEXT, +} + +PhysicalDeviceImageDrmFormatModifierInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + drmFormatModifier: u64, + sharingMode: SharingMode, + queueFamilyIndexCount: u32, + pQueueFamilyIndices: [^]u32, +} + +ImageDrmFormatModifierListCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + drmFormatModifierCount: u32, + pDrmFormatModifiers: [^]u64, +} + +ImageDrmFormatModifierExplicitCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + drmFormatModifier: u64, + drmFormatModifierPlaneCount: u32, + pPlaneLayouts: [^]SubresourceLayout, +} + +ImageDrmFormatModifierPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + drmFormatModifier: u64, +} + +DrmFormatModifierProperties2EXT :: struct { + drmFormatModifier: u64, + drmFormatModifierPlaneCount: u32, + drmFormatModifierTilingFeatures: FormatFeatureFlags2, +} + +DrmFormatModifierPropertiesList2EXT :: struct { + sType: StructureType, + pNext: rawptr, + drmFormatModifierCount: u32, + pDrmFormatModifierProperties: [^]DrmFormatModifierProperties2EXT, +} + +ValidationCacheCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: ValidationCacheCreateFlagsEXT, + initialDataSize: int, + pInitialData: rawptr, +} + +ShaderModuleValidationCacheCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + validationCache: ValidationCacheEXT, +} + +ShadingRatePaletteNV :: struct { + shadingRatePaletteEntryCount: u32, + pShadingRatePaletteEntries: [^]ShadingRatePaletteEntryNV, +} + +PipelineViewportShadingRateImageStateCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + shadingRateImageEnable: b32, + viewportCount: u32, + pShadingRatePalettes: [^]ShadingRatePaletteNV, +} + +PhysicalDeviceShadingRateImageFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + shadingRateImage: b32, + shadingRateCoarseSampleOrder: b32, +} + +PhysicalDeviceShadingRateImagePropertiesNV :: struct { + sType: StructureType, + pNext: rawptr, + shadingRateTexelSize: Extent2D, + shadingRatePaletteSize: u32, + shadingRateMaxCoarseSamples: u32, +} + +CoarseSampleLocationNV :: struct { + pixelX: u32, + pixelY: u32, + sample: u32, +} + +CoarseSampleOrderCustomNV :: struct { + shadingRate: ShadingRatePaletteEntryNV, + sampleCount: u32, + sampleLocationCount: u32, + pSampleLocations: [^]CoarseSampleLocationNV, +} + +PipelineViewportCoarseSampleOrderStateCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + sampleOrderType: CoarseSampleOrderTypeNV, + customSampleOrderCount: u32, + pCustomSampleOrders: [^]CoarseSampleOrderCustomNV, +} + +RayTracingShaderGroupCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + type: RayTracingShaderGroupTypeKHR, + generalShader: u32, + closestHitShader: u32, + anyHitShader: u32, + intersectionShader: u32, +} + +RayTracingPipelineCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineCreateFlags, + stageCount: u32, + pStages: [^]PipelineShaderStageCreateInfo, + groupCount: u32, + pGroups: [^]RayTracingShaderGroupCreateInfoNV, + maxRecursionDepth: u32, + layout: PipelineLayout, + basePipelineHandle: Pipeline, + basePipelineIndex: i32, +} + +GeometryTrianglesNV :: struct { + sType: StructureType, + pNext: rawptr, + vertexData: Buffer, + vertexOffset: DeviceSize, + vertexCount: u32, + vertexStride: DeviceSize, + vertexFormat: Format, + indexData: Buffer, + indexOffset: DeviceSize, + indexCount: u32, + indexType: IndexType, + transformData: Buffer, + transformOffset: DeviceSize, +} + +GeometryAABBNV :: struct { + sType: StructureType, + pNext: rawptr, + aabbData: Buffer, + numAABBs: u32, + stride: u32, + offset: DeviceSize, +} + +GeometryDataNV :: struct { + triangles: GeometryTrianglesNV, + aabbs: GeometryAABBNV, +} + +GeometryNV :: struct { + sType: StructureType, + pNext: rawptr, + geometryType: GeometryTypeKHR, + geometry: GeometryDataNV, + flags: GeometryFlagsKHR, +} + +AccelerationStructureInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + type: AccelerationStructureTypeNV, + flags: BuildAccelerationStructureFlagsNV, + instanceCount: u32, + geometryCount: u32, + pGeometries: [^]GeometryNV, +} + +AccelerationStructureCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + compactedSize: DeviceSize, + info: AccelerationStructureInfoNV, +} + +BindAccelerationStructureMemoryInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + accelerationStructure: AccelerationStructureNV, + memory: DeviceMemory, + memoryOffset: DeviceSize, + deviceIndexCount: u32, + pDeviceIndices: [^]u32, +} + +WriteDescriptorSetAccelerationStructureNV :: struct { + sType: StructureType, + pNext: rawptr, + accelerationStructureCount: u32, + pAccelerationStructures: [^]AccelerationStructureNV, +} + +AccelerationStructureMemoryRequirementsInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + type: AccelerationStructureMemoryRequirementsTypeNV, + accelerationStructure: AccelerationStructureNV, +} + +PhysicalDeviceRayTracingPropertiesNV :: struct { + sType: StructureType, + pNext: rawptr, + shaderGroupHandleSize: u32, + maxRecursionDepth: u32, + maxShaderGroupStride: u32, + shaderGroupBaseAlignment: u32, + maxGeometryCount: u64, + maxInstanceCount: u64, + maxTriangleCount: u64, + maxDescriptorSetAccelerationStructures: u32, +} + +TransformMatrixKHR :: struct { + mat: [3][4]f32, +} + +AabbPositionsKHR :: struct { + minX: f32, + minY: f32, + minZ: f32, + maxX: f32, + maxY: f32, + maxZ: f32, +} + +AccelerationStructureInstanceKHR :: struct { + transform: TransformMatrixKHR, + instanceCustomIndexAndMask: u32, // Most significant byte is mask + instanceShaderBindingTableRecordOffsetAndFlags: u32, // Most significant byte is flags + accelerationStructureReference: u64, +} + +PhysicalDeviceRepresentativeFragmentTestFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + representativeFragmentTest: b32, +} + +PipelineRepresentativeFragmentTestStateCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + representativeFragmentTestEnable: b32, +} + +PhysicalDeviceImageViewImageFormatInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + imageViewType: ImageViewType, +} + +FilterCubicImageViewImageFormatPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + filterCubic: b32, + filterCubicMinmax: b32, +} + +ImportMemoryHostPointerInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + handleType: ExternalMemoryHandleTypeFlags, + pHostPointer: rawptr, +} + +MemoryHostPointerPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + memoryTypeBits: u32, +} + +PhysicalDeviceExternalMemoryHostPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + minImportedHostPointerAlignment: DeviceSize, +} + +PipelineCompilerControlCreateInfoAMD :: struct { + sType: StructureType, + pNext: rawptr, + compilerControlFlags: PipelineCompilerControlFlagsAMD, +} + +CalibratedTimestampInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + timeDomain: TimeDomainEXT, +} + +PhysicalDeviceShaderCorePropertiesAMD :: struct { + sType: StructureType, + pNext: rawptr, + shaderEngineCount: u32, + shaderArraysPerEngineCount: u32, + computeUnitsPerShaderArray: u32, + simdPerComputeUnit: u32, + wavefrontsPerSimd: u32, + wavefrontSize: u32, + sgprsPerSimd: u32, + minSgprAllocation: u32, + maxSgprAllocation: u32, + sgprAllocationGranularity: u32, + vgprsPerSimd: u32, + minVgprAllocation: u32, + maxVgprAllocation: u32, + vgprAllocationGranularity: u32, +} + +DeviceMemoryOverallocationCreateInfoAMD :: struct { + sType: StructureType, + pNext: rawptr, + overallocationBehavior: MemoryOverallocationBehaviorAMD, +} + +PhysicalDeviceVertexAttributeDivisorPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + maxVertexAttribDivisor: u32, +} + +VertexInputBindingDivisorDescriptionEXT :: struct { + binding: u32, + divisor: u32, +} + +PipelineVertexInputDivisorStateCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + vertexBindingDivisorCount: u32, + pVertexBindingDivisors: [^]VertexInputBindingDivisorDescriptionEXT, +} + +PhysicalDeviceVertexAttributeDivisorFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + vertexAttributeInstanceRateDivisor: b32, + vertexAttributeInstanceRateZeroDivisor: b32, +} + +PhysicalDeviceComputeShaderDerivativesFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + computeDerivativeGroupQuads: b32, + computeDerivativeGroupLinear: b32, +} + +PhysicalDeviceMeshShaderFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + taskShader: b32, + meshShader: b32, +} + +PhysicalDeviceMeshShaderPropertiesNV :: struct { + sType: StructureType, + pNext: rawptr, + maxDrawMeshTasksCount: u32, + maxTaskWorkGroupInvocations: u32, + maxTaskWorkGroupSize: [3]u32, + maxTaskTotalMemorySize: u32, + maxTaskOutputCount: u32, + maxMeshWorkGroupInvocations: u32, + maxMeshWorkGroupSize: [3]u32, + maxMeshTotalMemorySize: u32, + maxMeshOutputVertices: u32, + maxMeshOutputPrimitives: u32, + maxMeshMultiviewViewCount: u32, + meshOutputPerVertexGranularity: u32, + meshOutputPerPrimitiveGranularity: u32, +} + +DrawMeshTasksIndirectCommandNV :: struct { + taskCount: u32, + firstTask: u32, +} + +PhysicalDeviceShaderImageFootprintFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + imageFootprint: b32, +} + +PipelineViewportExclusiveScissorStateCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + exclusiveScissorCount: u32, + pExclusiveScissors: [^]Rect2D, +} + +PhysicalDeviceExclusiveScissorFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + exclusiveScissor: b32, +} + +QueueFamilyCheckpointPropertiesNV :: struct { + sType: StructureType, + pNext: rawptr, + checkpointExecutionStageMask: PipelineStageFlags, +} + +CheckpointDataNV :: struct { + sType: StructureType, + pNext: rawptr, + stage: PipelineStageFlags, + pCheckpointMarker: rawptr, +} + +PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL :: struct { + sType: StructureType, + pNext: rawptr, + shaderIntegerFunctions2: b32, +} + +PerformanceValueDataINTEL :: struct #raw_union { + value32: u32, + value64: u64, + valueFloat: f32, + valueBool: b32, + valueString: cstring, +} + +PerformanceValueINTEL :: struct { + type: PerformanceValueTypeINTEL, + data: PerformanceValueDataINTEL, +} + +InitializePerformanceApiInfoINTEL :: struct { + sType: StructureType, + pNext: rawptr, + pUserData: rawptr, +} + +QueryPoolPerformanceQueryCreateInfoINTEL :: struct { + sType: StructureType, + pNext: rawptr, + performanceCountersSampling: QueryPoolSamplingModeINTEL, +} + +PerformanceMarkerInfoINTEL :: struct { + sType: StructureType, + pNext: rawptr, + marker: u64, +} + +PerformanceStreamMarkerInfoINTEL :: struct { + sType: StructureType, + pNext: rawptr, + marker: u32, +} + +PerformanceOverrideInfoINTEL :: struct { + sType: StructureType, + pNext: rawptr, + type: PerformanceOverrideTypeINTEL, + enable: b32, + parameter: u64, +} + +PerformanceConfigurationAcquireInfoINTEL :: struct { + sType: StructureType, + pNext: rawptr, + type: PerformanceConfigurationTypeINTEL, +} + +PhysicalDevicePCIBusInfoPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + pciDomain: u32, + pciBus: u32, + pciDevice: u32, + pciFunction: u32, +} + +DisplayNativeHdrSurfaceCapabilitiesAMD :: struct { + sType: StructureType, + pNext: rawptr, + localDimmingSupport: b32, +} + +SwapchainDisplayNativeHdrCreateInfoAMD :: struct { + sType: StructureType, + pNext: rawptr, + localDimmingEnable: b32, +} + +PhysicalDeviceFragmentDensityMapFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + fragmentDensityMap: b32, + fragmentDensityMapDynamic: b32, + fragmentDensityMapNonSubsampledImages: b32, +} + +PhysicalDeviceFragmentDensityMapPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + minFragmentDensityTexelSize: Extent2D, + maxFragmentDensityTexelSize: Extent2D, + fragmentDensityInvocations: b32, +} + +RenderPassFragmentDensityMapCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + fragmentDensityMapAttachment: AttachmentReference, +} + +PhysicalDeviceShaderCoreProperties2AMD :: struct { + sType: StructureType, + pNext: rawptr, + shaderCoreFeatures: ShaderCorePropertiesFlagsAMD, + activeComputeUnitCount: u32, +} + +PhysicalDeviceCoherentMemoryFeaturesAMD :: struct { + sType: StructureType, + pNext: rawptr, + deviceCoherentMemory: b32, +} + +PhysicalDeviceShaderImageAtomicInt64FeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + shaderImageInt64Atomics: b32, + sparseImageInt64Atomics: b32, +} + +PhysicalDeviceMemoryBudgetPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + heapBudget: [MAX_MEMORY_HEAPS]DeviceSize, + heapUsage: [MAX_MEMORY_HEAPS]DeviceSize, +} + +PhysicalDeviceMemoryPriorityFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + memoryPriority: b32, +} + +MemoryPriorityAllocateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + priority: f32, +} + +PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + dedicatedAllocationImageAliasing: b32, +} + +PhysicalDeviceBufferDeviceAddressFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + bufferDeviceAddress: b32, + bufferDeviceAddressCaptureReplay: b32, + bufferDeviceAddressMultiDevice: b32, +} + +BufferDeviceAddressCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + deviceAddress: DeviceAddress, +} + +ValidationFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + enabledValidationFeatureCount: u32, + pEnabledValidationFeatures: [^]ValidationFeatureEnableEXT, + disabledValidationFeatureCount: u32, + pDisabledValidationFeatures: [^]ValidationFeatureDisableEXT, +} + +CooperativeMatrixPropertiesNV :: struct { + sType: StructureType, + pNext: rawptr, + MSize: u32, + NSize: u32, + KSize: u32, + AType: ComponentTypeNV, + BType: ComponentTypeNV, + CType: ComponentTypeNV, + DType: ComponentTypeNV, + scope: ScopeNV, +} + +PhysicalDeviceCooperativeMatrixFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + cooperativeMatrix: b32, + cooperativeMatrixRobustBufferAccess: b32, +} + +PhysicalDeviceCooperativeMatrixPropertiesNV :: struct { + sType: StructureType, + pNext: rawptr, + cooperativeMatrixSupportedStages: ShaderStageFlags, +} + +PhysicalDeviceCoverageReductionModeFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + coverageReductionMode: b32, +} + +PipelineCoverageReductionStateCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineCoverageReductionStateCreateFlagsNV, + coverageReductionMode: CoverageReductionModeNV, +} + +FramebufferMixedSamplesCombinationNV :: struct { + sType: StructureType, + pNext: rawptr, + coverageReductionMode: CoverageReductionModeNV, + rasterizationSamples: SampleCountFlags, + depthStencilSamples: SampleCountFlags, + colorSamples: SampleCountFlags, +} + +PhysicalDeviceFragmentShaderInterlockFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + fragmentShaderSampleInterlock: b32, + fragmentShaderPixelInterlock: b32, + fragmentShaderShadingRateInterlock: b32, +} + +PhysicalDeviceYcbcrImageArraysFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + ycbcrImageArrays: b32, +} + +PhysicalDeviceProvokingVertexFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + provokingVertexLast: b32, + transformFeedbackPreservesProvokingVertex: b32, +} + +PhysicalDeviceProvokingVertexPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + provokingVertexModePerPipeline: b32, + transformFeedbackPreservesTriangleFanProvokingVertex: b32, +} + +PipelineRasterizationProvokingVertexStateCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + provokingVertexMode: ProvokingVertexModeEXT, +} + +HeadlessSurfaceCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: HeadlessSurfaceCreateFlagsEXT, +} + +PhysicalDeviceLineRasterizationFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + rectangularLines: b32, + bresenhamLines: b32, + smoothLines: b32, + stippledRectangularLines: b32, + stippledBresenhamLines: b32, + stippledSmoothLines: b32, +} + +PhysicalDeviceLineRasterizationPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + lineSubPixelPrecisionBits: u32, +} + +PipelineRasterizationLineStateCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + lineRasterizationMode: LineRasterizationModeEXT, + stippledLineEnable: b32, + lineStippleFactor: u32, + lineStipplePattern: u16, +} + +PhysicalDeviceShaderAtomicFloatFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + shaderBufferFloat32Atomics: b32, + shaderBufferFloat32AtomicAdd: b32, + shaderBufferFloat64Atomics: b32, + shaderBufferFloat64AtomicAdd: b32, + shaderSharedFloat32Atomics: b32, + shaderSharedFloat32AtomicAdd: b32, + shaderSharedFloat64Atomics: b32, + shaderSharedFloat64AtomicAdd: b32, + shaderImageFloat32Atomics: b32, + shaderImageFloat32AtomicAdd: b32, + sparseImageFloat32Atomics: b32, + sparseImageFloat32AtomicAdd: b32, +} + +PhysicalDeviceIndexTypeUint8FeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + indexTypeUint8: b32, +} + +PhysicalDeviceExtendedDynamicStateFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + extendedDynamicState: b32, +} + +PhysicalDeviceShaderAtomicFloat2FeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + shaderBufferFloat16Atomics: b32, + shaderBufferFloat16AtomicAdd: b32, + shaderBufferFloat16AtomicMinMax: b32, + shaderBufferFloat32AtomicMinMax: b32, + shaderBufferFloat64AtomicMinMax: b32, + shaderSharedFloat16Atomics: b32, + shaderSharedFloat16AtomicAdd: b32, + shaderSharedFloat16AtomicMinMax: b32, + shaderSharedFloat32AtomicMinMax: b32, + shaderSharedFloat64AtomicMinMax: b32, + shaderImageFloat32AtomicMinMax: b32, + sparseImageFloat32AtomicMinMax: b32, +} + +SurfacePresentModeEXT :: struct { + sType: StructureType, + pNext: rawptr, + presentMode: PresentModeKHR, +} + +SurfacePresentScalingCapabilitiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + supportedPresentScaling: PresentScalingFlagsEXT, + supportedPresentGravityX: PresentGravityFlagsEXT, + supportedPresentGravityY: PresentGravityFlagsEXT, + minScaledImageExtent: Extent2D, + maxScaledImageExtent: Extent2D, +} + +SurfacePresentModeCompatibilityEXT :: struct { + sType: StructureType, + pNext: rawptr, + presentModeCount: u32, + pPresentModes: [^]PresentModeKHR, +} + +PhysicalDeviceSwapchainMaintenance1FeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + swapchainMaintenance1: b32, +} + +SwapchainPresentFenceInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + swapchainCount: u32, + pFences: [^]Fence, +} + +SwapchainPresentModesCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + presentModeCount: u32, + pPresentModes: [^]PresentModeKHR, +} + +SwapchainPresentModeInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + swapchainCount: u32, + pPresentModes: [^]PresentModeKHR, +} + +SwapchainPresentScalingCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + scalingBehavior: PresentScalingFlagsEXT, + presentGravityX: PresentGravityFlagsEXT, + presentGravityY: PresentGravityFlagsEXT, +} + +ReleaseSwapchainImagesInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + swapchain: SwapchainKHR, + imageIndexCount: u32, + pImageIndices: [^]u32, +} + +PhysicalDeviceDeviceGeneratedCommandsPropertiesNV :: struct { + sType: StructureType, + pNext: rawptr, + maxGraphicsShaderGroupCount: u32, + maxIndirectSequenceCount: u32, + maxIndirectCommandsTokenCount: u32, + maxIndirectCommandsStreamCount: u32, + maxIndirectCommandsTokenOffset: u32, + maxIndirectCommandsStreamStride: u32, + minSequencesCountBufferOffsetAlignment: u32, + minSequencesIndexBufferOffsetAlignment: u32, + minIndirectCommandsBufferOffsetAlignment: u32, +} + +PhysicalDeviceDeviceGeneratedCommandsFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + deviceGeneratedCommands: b32, +} + +GraphicsShaderGroupCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + stageCount: u32, + pStages: [^]PipelineShaderStageCreateInfo, + pVertexInputState: ^PipelineVertexInputStateCreateInfo, + pTessellationState: ^PipelineTessellationStateCreateInfo, +} + +GraphicsPipelineShaderGroupsCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + groupCount: u32, + pGroups: [^]GraphicsShaderGroupCreateInfoNV, + pipelineCount: u32, + pPipelines: [^]Pipeline, +} + +BindShaderGroupIndirectCommandNV :: struct { + groupIndex: u32, +} + +BindIndexBufferIndirectCommandNV :: struct { + bufferAddress: DeviceAddress, + size: u32, + indexType: IndexType, +} + +BindVertexBufferIndirectCommandNV :: struct { + bufferAddress: DeviceAddress, + size: u32, + stride: u32, +} + +SetStateFlagsIndirectCommandNV :: struct { + data: u32, +} + +IndirectCommandsStreamNV :: struct { + buffer: Buffer, + offset: DeviceSize, +} + +IndirectCommandsLayoutTokenNV :: struct { + sType: StructureType, + pNext: rawptr, + tokenType: IndirectCommandsTokenTypeNV, + stream: u32, + offset: u32, + vertexBindingUnit: u32, + vertexDynamicStride: b32, + pushconstantPipelineLayout: PipelineLayout, + pushconstantShaderStageFlags: ShaderStageFlags, + pushconstantOffset: u32, + pushconstantSize: u32, + indirectStateFlags: IndirectStateFlagsNV, + indexTypeCount: u32, + pIndexTypes: [^]IndexType, + pIndexTypeValues: [^]u32, +} + +IndirectCommandsLayoutCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + flags: IndirectCommandsLayoutUsageFlagsNV, + pipelineBindPoint: PipelineBindPoint, + tokenCount: u32, + pTokens: [^]IndirectCommandsLayoutTokenNV, + streamCount: u32, + pStreamStrides: [^]u32, +} + +GeneratedCommandsInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + pipelineBindPoint: PipelineBindPoint, + pipeline: Pipeline, + indirectCommandsLayout: IndirectCommandsLayoutNV, + streamCount: u32, + pStreams: [^]IndirectCommandsStreamNV, + sequencesCount: u32, + preprocessBuffer: Buffer, + preprocessOffset: DeviceSize, + preprocessSize: DeviceSize, + sequencesCountBuffer: Buffer, + sequencesCountOffset: DeviceSize, + sequencesIndexBuffer: Buffer, + sequencesIndexOffset: DeviceSize, +} + +GeneratedCommandsMemoryRequirementsInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + pipelineBindPoint: PipelineBindPoint, + pipeline: Pipeline, + indirectCommandsLayout: IndirectCommandsLayoutNV, + maxSequencesCount: u32, +} + +PhysicalDeviceInheritedViewportScissorFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + inheritedViewportScissor2D: b32, +} + +CommandBufferInheritanceViewportScissorInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + viewportScissor2D: b32, + viewportDepthCount: u32, + pViewportDepths: [^]Viewport, +} + +PhysicalDeviceTexelBufferAlignmentFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + texelBufferAlignment: b32, +} + +RenderPassTransformBeginInfoQCOM :: struct { + sType: StructureType, + pNext: rawptr, + transform: SurfaceTransformFlagsKHR, +} + +CommandBufferInheritanceRenderPassTransformInfoQCOM :: struct { + sType: StructureType, + pNext: rawptr, + transform: SurfaceTransformFlagsKHR, + renderArea: Rect2D, +} + +PhysicalDeviceDeviceMemoryReportFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + deviceMemoryReport: b32, +} + +DeviceMemoryReportCallbackDataEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: DeviceMemoryReportFlagsEXT, + type: DeviceMemoryReportEventTypeEXT, + memoryObjectId: u64, + size: DeviceSize, + objectType: ObjectType, + objectHandle: u64, + heapIndex: u32, +} + +DeviceDeviceMemoryReportCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: DeviceMemoryReportFlagsEXT, + pfnUserCallback: ProcDeviceMemoryReportCallbackEXT, + pUserData: rawptr, +} + +PhysicalDeviceRobustness2FeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + robustBufferAccess2: b32, + robustImageAccess2: b32, + nullDescriptor: b32, +} + +PhysicalDeviceRobustness2PropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + robustStorageBufferAccessSizeAlignment: DeviceSize, + robustUniformBufferAccessSizeAlignment: DeviceSize, +} + +SamplerCustomBorderColorCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + customBorderColor: ClearColorValue, + format: Format, +} + +PhysicalDeviceCustomBorderColorPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + maxCustomBorderColorSamplers: u32, +} + +PhysicalDeviceCustomBorderColorFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + customBorderColors: b32, + customBorderColorWithoutFormat: b32, +} + +PhysicalDevicePresentBarrierFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + presentBarrier: b32, +} + +SurfaceCapabilitiesPresentBarrierNV :: struct { + sType: StructureType, + pNext: rawptr, + presentBarrierSupported: b32, +} + +SwapchainPresentBarrierCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + presentBarrierEnable: b32, +} + +PhysicalDeviceDiagnosticsConfigFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + diagnosticsConfig: b32, +} + +DeviceDiagnosticsConfigCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + flags: DeviceDiagnosticsConfigFlagsNV, +} + +QueryLowLatencySupportNV :: struct { + sType: StructureType, + pNext: rawptr, + pQueriedLowLatencyData: rawptr, +} + +PhysicalDeviceDescriptorBufferPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + combinedImageSamplerDescriptorSingleArray: b32, + bufferlessPushDescriptors: b32, + allowSamplerImageViewPostSubmitCreation: b32, + descriptorBufferOffsetAlignment: DeviceSize, + maxDescriptorBufferBindings: u32, + maxResourceDescriptorBufferBindings: u32, + maxSamplerDescriptorBufferBindings: u32, + maxEmbeddedImmutableSamplerBindings: u32, + maxEmbeddedImmutableSamplers: u32, + bufferCaptureReplayDescriptorDataSize: int, + imageCaptureReplayDescriptorDataSize: int, + imageViewCaptureReplayDescriptorDataSize: int, + samplerCaptureReplayDescriptorDataSize: int, + accelerationStructureCaptureReplayDescriptorDataSize: int, + samplerDescriptorSize: int, + combinedImageSamplerDescriptorSize: int, + sampledImageDescriptorSize: int, + storageImageDescriptorSize: int, + uniformTexelBufferDescriptorSize: int, + robustUniformTexelBufferDescriptorSize: int, + storageTexelBufferDescriptorSize: int, + robustStorageTexelBufferDescriptorSize: int, + uniformBufferDescriptorSize: int, + robustUniformBufferDescriptorSize: int, + storageBufferDescriptorSize: int, + robustStorageBufferDescriptorSize: int, + inputAttachmentDescriptorSize: int, + accelerationStructureDescriptorSize: int, + maxSamplerDescriptorBufferRange: DeviceSize, + maxResourceDescriptorBufferRange: DeviceSize, + samplerDescriptorBufferAddressSpaceSize: DeviceSize, + resourceDescriptorBufferAddressSpaceSize: DeviceSize, + descriptorBufferAddressSpaceSize: DeviceSize, +} + +PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + combinedImageSamplerDensityMapDescriptorSize: int, +} + +PhysicalDeviceDescriptorBufferFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + descriptorBuffer: b32, + descriptorBufferCaptureReplay: b32, + descriptorBufferImageLayoutIgnored: b32, + descriptorBufferPushDescriptors: b32, +} + +DescriptorAddressInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + address: DeviceAddress, + range: DeviceSize, + format: Format, +} + +DescriptorBufferBindingInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + address: DeviceAddress, + usage: BufferUsageFlags, +} + +DescriptorBufferBindingPushDescriptorBufferHandleEXT :: struct { + sType: StructureType, + pNext: rawptr, + buffer: Buffer, +} + +DescriptorDataEXT :: struct #raw_union { + pSampler: ^Sampler, + pCombinedImageSampler: ^DescriptorImageInfo, + pInputAttachmentImage: ^DescriptorImageInfo, + pSampledImage: ^DescriptorImageInfo, + pStorageImage: ^DescriptorImageInfo, + pUniformTexelBuffer: ^DescriptorAddressInfoEXT, + pStorageTexelBuffer: ^DescriptorAddressInfoEXT, + pUniformBuffer: ^DescriptorAddressInfoEXT, + pStorageBuffer: ^DescriptorAddressInfoEXT, + accelerationStructure: DeviceAddress, +} + +DescriptorGetInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + type: DescriptorType, + data: DescriptorDataEXT, +} + +BufferCaptureDescriptorDataInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + buffer: Buffer, +} + +ImageCaptureDescriptorDataInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + image: Image, +} + +ImageViewCaptureDescriptorDataInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + imageView: ImageView, +} + +SamplerCaptureDescriptorDataInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + sampler: Sampler, +} + +OpaqueCaptureDescriptorDataCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + opaqueCaptureDescriptorData: rawptr, +} + +AccelerationStructureCaptureDescriptorDataInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + accelerationStructure: AccelerationStructureKHR, + accelerationStructureNV: AccelerationStructureNV, +} + +PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + graphicsPipelineLibrary: b32, +} + +PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + graphicsPipelineLibraryFastLinking: b32, + graphicsPipelineLibraryIndependentInterpolationDecoration: b32, +} + +GraphicsPipelineLibraryCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: GraphicsPipelineLibraryFlagsEXT, +} + +PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD :: struct { + sType: StructureType, + pNext: rawptr, + shaderEarlyAndLateFragmentTests: b32, +} + +PhysicalDeviceFragmentShadingRateEnumsFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + fragmentShadingRateEnums: b32, + supersampleFragmentShadingRates: b32, + noInvocationFragmentShadingRates: b32, +} + +PhysicalDeviceFragmentShadingRateEnumsPropertiesNV :: struct { + sType: StructureType, + pNext: rawptr, + maxFragmentShadingRateInvocationCount: SampleCountFlags, +} + +PipelineFragmentShadingRateEnumStateCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + shadingRateType: FragmentShadingRateTypeNV, + shadingRate: FragmentShadingRateNV, + combinerOps: [2]FragmentShadingRateCombinerOpKHR, +} + +DeviceOrHostAddressConstKHR :: struct #raw_union { + deviceAddress: DeviceAddress, + hostAddress: rawptr, +} + +AccelerationStructureGeometryMotionTrianglesDataNV :: struct { + sType: StructureType, + pNext: rawptr, + vertexData: DeviceOrHostAddressConstKHR, +} + +AccelerationStructureMotionInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + maxInstances: u32, + flags: AccelerationStructureMotionInfoFlagsNV, +} + +AccelerationStructureMatrixMotionInstanceNV :: struct { + transformT0: TransformMatrixKHR, + transformT1: TransformMatrixKHR, + instanceCustomIndexAndMask: u32, // Most significant byte is mask + instanceShaderBindingTableRecordOffsetAndFlags: u32, // Most significant byte is flags + accelerationStructureReference: u64, +} + +SRTDataNV :: struct { + sx: f32, + a: f32, + b: f32, + pvx: f32, + sy: f32, + c: f32, + pvy: f32, + sz: f32, + pvz: f32, + qx: f32, + qy: f32, + qz: f32, + qw: f32, + tx: f32, + ty: f32, + tz: f32, +} + +AccelerationStructureSRTMotionInstanceNV :: struct { + transformT0: SRTDataNV, + transformT1: SRTDataNV, + instanceCustomIndexAndMask: u32, // Most significant byte is mask + instanceShaderBindingTableRecordOffsetAndFlags: u32, // Most significant byte is flags + accelerationStructureReference: u64, +} + +AccelerationStructureMotionInstanceDataNV :: struct #raw_union { + staticInstance: AccelerationStructureInstanceKHR, + matrixMotionInstance: AccelerationStructureMatrixMotionInstanceNV, + srtMotionInstance: AccelerationStructureSRTMotionInstanceNV, +} + +AccelerationStructureMotionInstanceNV :: struct { + type: AccelerationStructureMotionInstanceTypeNV, + flags: AccelerationStructureMotionInstanceFlagsNV, + data: AccelerationStructureMotionInstanceDataNV, +} + +PhysicalDeviceRayTracingMotionBlurFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + rayTracingMotionBlur: b32, + rayTracingMotionBlurPipelineTraceRaysIndirect: b32, +} + +PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + ycbcr2plane444Formats: b32, +} + +PhysicalDeviceFragmentDensityMap2FeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + fragmentDensityMapDeferred: b32, +} + +PhysicalDeviceFragmentDensityMap2PropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + subsampledLoads: b32, + subsampledCoarseReconstructionEarlyAccess: b32, + maxSubsampledArrayLayers: u32, + maxDescriptorSetSubsampledSamplers: u32, +} + +CopyCommandTransformInfoQCOM :: struct { + sType: StructureType, + pNext: rawptr, + transform: SurfaceTransformFlagsKHR, +} + +PhysicalDeviceImageCompressionControlFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + imageCompressionControl: b32, +} + +ImageCompressionControlEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: ImageCompressionFlagsEXT, + compressionControlPlaneCount: u32, + pFixedRateFlags: [^]ImageCompressionFixedRateFlagsEXT, +} + +SubresourceLayout2EXT :: struct { + sType: StructureType, + pNext: rawptr, + subresourceLayout: SubresourceLayout, +} + +ImageSubresource2EXT :: struct { + sType: StructureType, + pNext: rawptr, + imageSubresource: ImageSubresource, +} + +ImageCompressionPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + imageCompressionFlags: ImageCompressionFlagsEXT, + imageCompressionFixedRateFlags: ImageCompressionFixedRateFlagsEXT, +} + +PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + attachmentFeedbackLoopLayout: b32, +} + +PhysicalDevice4444FormatsFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + formatA4R4G4B4: b32, + formatA4B4G4R4: b32, +} + +PhysicalDeviceFaultFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + deviceFault: b32, + deviceFaultVendorBinary: b32, +} + +DeviceFaultCountsEXT :: struct { + sType: StructureType, + pNext: rawptr, + addressInfoCount: u32, + vendorInfoCount: u32, + vendorBinarySize: DeviceSize, +} + +DeviceFaultAddressInfoEXT :: struct { + addressType: DeviceFaultAddressTypeEXT, + reportedAddress: DeviceAddress, + addressPrecision: DeviceSize, +} + +DeviceFaultVendorInfoEXT :: struct { + description: [MAX_DESCRIPTION_SIZE]byte, + vendorFaultCode: u64, + vendorFaultData: u64, +} + +DeviceFaultInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + description: [MAX_DESCRIPTION_SIZE]byte, + pAddressInfos: [^]DeviceFaultAddressInfoEXT, + pVendorInfos: [^]DeviceFaultVendorInfoEXT, + pVendorBinaryData: rawptr, +} + +DeviceFaultVendorBinaryHeaderVersionOneEXT :: struct { + headerSize: u32, + headerVersion: DeviceFaultVendorBinaryHeaderVersionEXT, + vendorID: u32, + deviceID: u32, + driverVersion: u32, + pipelineCacheUUID: [UUID_SIZE]u8, + applicationNameOffset: u32, + applicationVersion: u32, + engineNameOffset: u32, + engineVersion: u32, + apiVersion: u32, +} + +PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + rasterizationOrderColorAttachmentAccess: b32, + rasterizationOrderDepthAttachmentAccess: b32, + rasterizationOrderStencilAttachmentAccess: b32, +} + +PhysicalDeviceRGBA10X6FormatsFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + formatRgba10x6WithoutYCbCrSampler: b32, +} + +PhysicalDeviceMutableDescriptorTypeFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + mutableDescriptorType: b32, +} + +MutableDescriptorTypeListEXT :: struct { + descriptorTypeCount: u32, + pDescriptorTypes: [^]DescriptorType, +} + +MutableDescriptorTypeCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + mutableDescriptorTypeListCount: u32, + pMutableDescriptorTypeLists: [^]MutableDescriptorTypeListEXT, +} + +PhysicalDeviceVertexInputDynamicStateFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + vertexInputDynamicState: b32, +} + +VertexInputBindingDescription2EXT :: struct { + sType: StructureType, + pNext: rawptr, + binding: u32, + stride: u32, + inputRate: VertexInputRate, + divisor: u32, +} + +VertexInputAttributeDescription2EXT :: struct { + sType: StructureType, + pNext: rawptr, + location: u32, + binding: u32, + format: Format, + offset: u32, +} + +PhysicalDeviceDrmPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + hasPrimary: b32, + hasRender: b32, + primaryMajor: i64, + primaryMinor: i64, + renderMajor: i64, + renderMinor: i64, +} + +PhysicalDeviceAddressBindingReportFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + reportAddressBinding: b32, +} + +DeviceAddressBindingCallbackDataEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: DeviceAddressBindingFlagsEXT, + baseAddress: DeviceAddress, + size: DeviceSize, + bindingType: DeviceAddressBindingTypeEXT, +} + +PhysicalDeviceDepthClipControlFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + depthClipControl: b32, +} + +PipelineViewportDepthClipControlCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + negativeOneToOne: b32, +} + +PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + primitiveTopologyListRestart: b32, + primitiveTopologyPatchListRestart: b32, +} + +SubpassShadingPipelineCreateInfoHUAWEI :: struct { + sType: StructureType, + pNext: rawptr, + renderPass: RenderPass, + subpass: u32, +} + +PhysicalDeviceSubpassShadingFeaturesHUAWEI :: struct { + sType: StructureType, + pNext: rawptr, + subpassShading: b32, +} + +PhysicalDeviceSubpassShadingPropertiesHUAWEI :: struct { + sType: StructureType, + pNext: rawptr, + maxSubpassShadingWorkgroupSizeAspectRatio: u32, +} + +PhysicalDeviceInvocationMaskFeaturesHUAWEI :: struct { + sType: StructureType, + pNext: rawptr, + invocationMask: b32, +} + +MemoryGetRemoteAddressInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + memory: DeviceMemory, + handleType: ExternalMemoryHandleTypeFlags, +} + +PhysicalDeviceExternalMemoryRDMAFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + externalMemoryRDMA: b32, +} + +PipelinePropertiesIdentifierEXT :: struct { + sType: StructureType, + pNext: rawptr, + pipelineIdentifier: [UUID_SIZE]u8, +} + +PhysicalDevicePipelinePropertiesFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + pipelinePropertiesIdentifier: b32, +} + +PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + multisampledRenderToSingleSampled: b32, +} + +SubpassResolvePerformanceQueryEXT :: struct { + sType: StructureType, + pNext: rawptr, + optimal: b32, +} + +MultisampledRenderToSingleSampledInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + multisampledRenderToSingleSampledEnable: b32, + rasterizationSamples: SampleCountFlags, +} + +PhysicalDeviceExtendedDynamicState2FeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + extendedDynamicState2: b32, + extendedDynamicState2LogicOp: b32, + extendedDynamicState2PatchControlPoints: b32, +} + +PhysicalDeviceColorWriteEnableFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + colorWriteEnable: b32, +} + +PipelineColorWriteCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + attachmentCount: u32, + pColorWriteEnables: [^]b32, +} + +PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + primitivesGeneratedQuery: b32, + primitivesGeneratedQueryWithRasterizerDiscard: b32, + primitivesGeneratedQueryWithNonZeroStreams: b32, +} + +PhysicalDeviceImageViewMinLodFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + minLod: b32, +} + +ImageViewMinLodCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + minLod: f32, +} + +PhysicalDeviceMultiDrawFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + multiDraw: b32, +} + +PhysicalDeviceMultiDrawPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + maxMultiDrawCount: u32, +} + +MultiDrawInfoEXT :: struct { + firstVertex: u32, + vertexCount: u32, +} + +MultiDrawIndexedInfoEXT :: struct { + firstIndex: u32, + indexCount: u32, + vertexOffset: i32, +} + +PhysicalDeviceImage2DViewOf3DFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + image2DViewOf3D: b32, + sampler2DViewOf3D: b32, +} + +PhysicalDeviceShaderTileImageFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + shaderTileImageColorReadAccess: b32, + shaderTileImageDepthReadAccess: b32, + shaderTileImageStencilReadAccess: b32, +} + +PhysicalDeviceShaderTileImagePropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + shaderTileImageCoherentReadAccelerated: b32, + shaderTileImageReadSampleFromPixelRateInvocation: b32, + shaderTileImageReadFromHelperInvocation: b32, +} + +MicromapUsageEXT :: struct { + count: u32, + subdivisionLevel: u32, + format: u32, +} + +DeviceOrHostAddressKHR :: struct #raw_union { + deviceAddress: DeviceAddress, + hostAddress: rawptr, +} + +MicromapBuildInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + type: MicromapTypeEXT, + flags: BuildMicromapFlagsEXT, + mode: BuildMicromapModeEXT, + dstMicromap: MicromapEXT, + usageCountsCount: u32, + pUsageCounts: [^]MicromapUsageEXT, + ppUsageCounts: ^[^]MicromapUsageEXT, + data: DeviceOrHostAddressConstKHR, + scratchData: DeviceOrHostAddressKHR, + triangleArray: DeviceOrHostAddressConstKHR, + triangleArrayStride: DeviceSize, +} + +MicromapCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + createFlags: MicromapCreateFlagsEXT, + buffer: Buffer, + offset: DeviceSize, + size: DeviceSize, + type: MicromapTypeEXT, + deviceAddress: DeviceAddress, +} + +PhysicalDeviceOpacityMicromapFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + micromap: b32, + micromapCaptureReplay: b32, + micromapHostCommands: b32, +} + +PhysicalDeviceOpacityMicromapPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + maxOpacity2StateSubdivisionLevel: u32, + maxOpacity4StateSubdivisionLevel: u32, +} + +MicromapVersionInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + pVersionData: ^u8, +} + +CopyMicromapToMemoryInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + src: MicromapEXT, + dst: DeviceOrHostAddressKHR, + mode: CopyMicromapModeEXT, +} + +CopyMemoryToMicromapInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + src: DeviceOrHostAddressConstKHR, + dst: MicromapEXT, + mode: CopyMicromapModeEXT, +} + +CopyMicromapInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + src: MicromapEXT, + dst: MicromapEXT, + mode: CopyMicromapModeEXT, +} + +MicromapBuildSizesInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + micromapSize: DeviceSize, + buildScratchSize: DeviceSize, + discardable: b32, +} + +AccelerationStructureTrianglesOpacityMicromapEXT :: struct { + sType: StructureType, + pNext: rawptr, + indexType: IndexType, + indexBuffer: DeviceOrHostAddressConstKHR, + indexStride: DeviceSize, + baseTriangle: u32, + usageCountsCount: u32, + pUsageCounts: [^]MicromapUsageEXT, + ppUsageCounts: ^[^]MicromapUsageEXT, + micromap: MicromapEXT, +} + +MicromapTriangleEXT :: struct { + dataOffset: u32, + subdivisionLevel: u16, + format: u16, +} + +PhysicalDeviceClusterCullingShaderFeaturesHUAWEI :: struct { + sType: StructureType, + pNext: rawptr, + clustercullingShader: b32, + multiviewClusterCullingShader: b32, +} + +PhysicalDeviceClusterCullingShaderPropertiesHUAWEI :: struct { + sType: StructureType, + pNext: rawptr, + maxWorkGroupCount: [3]u32, + maxWorkGroupSize: [3]u32, + maxOutputClusterCount: u32, + indirectBufferOffsetAlignment: DeviceSize, +} + +PhysicalDeviceBorderColorSwizzleFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + borderColorSwizzle: b32, + borderColorSwizzleFromImage: b32, +} + +SamplerBorderColorComponentMappingCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + components: ComponentMapping, + srgb: b32, +} + +PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + pageableDeviceLocalMemory: b32, +} + +PhysicalDeviceShaderCorePropertiesARM :: struct { + sType: StructureType, + pNext: rawptr, + pixelRate: u32, + texelRate: u32, + fmaRate: u32, +} + +PhysicalDeviceImageSlicedViewOf3DFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + imageSlicedViewOf3D: b32, +} + +ImageViewSlicedCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + sliceOffset: u32, + sliceCount: u32, +} + +PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE :: struct { + sType: StructureType, + pNext: rawptr, + descriptorSetHostMapping: b32, +} + +DescriptorSetBindingReferenceVALVE :: struct { + sType: StructureType, + pNext: rawptr, + descriptorSetLayout: DescriptorSetLayout, + binding: u32, +} + +DescriptorSetLayoutHostMappingInfoVALVE :: struct { + sType: StructureType, + pNext: rawptr, + descriptorOffset: int, + descriptorSize: u32, +} + +PhysicalDeviceDepthClampZeroOneFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + depthClampZeroOne: b32, +} + +PhysicalDeviceNonSeamlessCubeMapFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + nonSeamlessCubeMap: b32, +} + +PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM :: struct { + sType: StructureType, + pNext: rawptr, + fragmentDensityMapOffset: b32, +} + +PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM :: struct { + sType: StructureType, + pNext: rawptr, + fragmentDensityOffsetGranularity: Extent2D, +} + +SubpassFragmentDensityMapOffsetEndInfoQCOM :: struct { + sType: StructureType, + pNext: rawptr, + fragmentDensityOffsetCount: u32, + pFragmentDensityOffsets: [^]Offset2D, +} + +CopyMemoryIndirectCommandNV :: struct { + srcAddress: DeviceAddress, + dstAddress: DeviceAddress, + size: DeviceSize, +} + +CopyMemoryToImageIndirectCommandNV :: struct { + srcAddress: DeviceAddress, + bufferRowLength: u32, + bufferImageHeight: u32, + imageSubresource: ImageSubresourceLayers, + imageOffset: Offset3D, + imageExtent: Extent3D, +} + +PhysicalDeviceCopyMemoryIndirectFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + indirectCopy: b32, +} + +PhysicalDeviceCopyMemoryIndirectPropertiesNV :: struct { + sType: StructureType, + pNext: rawptr, + supportedQueues: QueueFlags, +} + +DecompressMemoryRegionNV :: struct { + srcAddress: DeviceAddress, + dstAddress: DeviceAddress, + compressedSize: DeviceSize, + decompressedSize: DeviceSize, + decompressionMethod: MemoryDecompressionMethodFlagsNV, +} + +PhysicalDeviceMemoryDecompressionFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + memoryDecompression: b32, +} + +PhysicalDeviceMemoryDecompressionPropertiesNV :: struct { + sType: StructureType, + pNext: rawptr, + decompressionMethods: MemoryDecompressionMethodFlagsNV, + maxDecompressionIndirectCount: u64, +} + +PhysicalDeviceLinearColorAttachmentFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + linearColorAttachment: b32, +} + +PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + imageCompressionControlSwapchain: b32, +} + +ImageViewSampleWeightCreateInfoQCOM :: struct { + sType: StructureType, + pNext: rawptr, + filterCenter: Offset2D, + filterSize: Extent2D, + numPhases: u32, +} + +PhysicalDeviceImageProcessingFeaturesQCOM :: struct { + sType: StructureType, + pNext: rawptr, + textureSampleWeighted: b32, + textureBoxFilter: b32, + textureBlockMatch: b32, +} + +PhysicalDeviceImageProcessingPropertiesQCOM :: struct { + sType: StructureType, + pNext: rawptr, + maxWeightFilterPhases: u32, + maxWeightFilterDimension: Extent2D, + maxBlockMatchRegion: Extent2D, + maxBoxFilterBlockSize: Extent2D, +} + +PhysicalDeviceExtendedDynamicState3FeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + extendedDynamicState3TessellationDomainOrigin: b32, + extendedDynamicState3DepthClampEnable: b32, + extendedDynamicState3PolygonMode: b32, + extendedDynamicState3RasterizationSamples: b32, + extendedDynamicState3SampleMask: b32, + extendedDynamicState3AlphaToCoverageEnable: b32, + extendedDynamicState3AlphaToOneEnable: b32, + extendedDynamicState3LogicOpEnable: b32, + extendedDynamicState3ColorBlendEnable: b32, + extendedDynamicState3ColorBlendEquation: b32, + extendedDynamicState3ColorWriteMask: b32, + extendedDynamicState3RasterizationStream: b32, + extendedDynamicState3ConservativeRasterizationMode: b32, + extendedDynamicState3ExtraPrimitiveOverestimationSize: b32, + extendedDynamicState3DepthClipEnable: b32, + extendedDynamicState3SampleLocationsEnable: b32, + extendedDynamicState3ColorBlendAdvanced: b32, + extendedDynamicState3ProvokingVertexMode: b32, + extendedDynamicState3LineRasterizationMode: b32, + extendedDynamicState3LineStippleEnable: b32, + extendedDynamicState3DepthClipNegativeOneToOne: b32, + extendedDynamicState3ViewportWScalingEnable: b32, + extendedDynamicState3ViewportSwizzle: b32, + extendedDynamicState3CoverageToColorEnable: b32, + extendedDynamicState3CoverageToColorLocation: b32, + extendedDynamicState3CoverageModulationMode: b32, + extendedDynamicState3CoverageModulationTableEnable: b32, + extendedDynamicState3CoverageModulationTable: b32, + extendedDynamicState3CoverageReductionMode: b32, + extendedDynamicState3RepresentativeFragmentTestEnable: b32, + extendedDynamicState3ShadingRateImageEnable: b32, +} + +PhysicalDeviceExtendedDynamicState3PropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + dynamicPrimitiveTopologyUnrestricted: b32, +} + +ColorBlendEquationEXT :: struct { + srcColorBlendFactor: BlendFactor, + dstColorBlendFactor: BlendFactor, + colorBlendOp: BlendOp, + srcAlphaBlendFactor: BlendFactor, + dstAlphaBlendFactor: BlendFactor, + alphaBlendOp: BlendOp, +} + +ColorBlendAdvancedEXT :: struct { + advancedBlendOp: BlendOp, + srcPremultiplied: b32, + dstPremultiplied: b32, + blendOverlap: BlendOverlapEXT, + clampResults: b32, +} + +PhysicalDeviceSubpassMergeFeedbackFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + subpassMergeFeedback: b32, +} + +RenderPassCreationControlEXT :: struct { + sType: StructureType, + pNext: rawptr, + disallowMerging: b32, +} + +RenderPassCreationFeedbackInfoEXT :: struct { + postMergeSubpassCount: u32, +} + +RenderPassCreationFeedbackCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + pRenderPassFeedback: ^RenderPassCreationFeedbackInfoEXT, +} + +RenderPassSubpassFeedbackInfoEXT :: struct { + subpassMergeStatus: SubpassMergeStatusEXT, + description: [MAX_DESCRIPTION_SIZE]byte, + postMergeIndex: u32, +} + +RenderPassSubpassFeedbackCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + pSubpassFeedback: ^RenderPassSubpassFeedbackInfoEXT, +} + +DirectDriverLoadingInfoLUNARG :: struct { + sType: StructureType, + pNext: rawptr, + flags: DirectDriverLoadingFlagsLUNARG, + pfnGetInstanceProcAddr: ProcGetInstanceProcAddrLUNARG, +} + +DirectDriverLoadingListLUNARG :: struct { + sType: StructureType, + pNext: rawptr, + mode: DirectDriverLoadingModeLUNARG, + driverCount: u32, + pDrivers: [^]DirectDriverLoadingInfoLUNARG, +} + +PhysicalDeviceShaderModuleIdentifierFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + shaderModuleIdentifier: b32, +} + +PhysicalDeviceShaderModuleIdentifierPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + shaderModuleIdentifierAlgorithmUUID: [UUID_SIZE]u8, +} + +PipelineShaderStageModuleIdentifierCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + identifierSize: u32, + pIdentifier: ^u8, +} + +ShaderModuleIdentifierEXT :: struct { + sType: StructureType, + pNext: rawptr, + identifierSize: u32, + identifier: [MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]u8, +} + +PhysicalDeviceOpticalFlowFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + opticalFlow: b32, +} + +PhysicalDeviceOpticalFlowPropertiesNV :: struct { + sType: StructureType, + pNext: rawptr, + supportedOutputGridSizes: OpticalFlowGridSizeFlagsNV, + supportedHintGridSizes: OpticalFlowGridSizeFlagsNV, + hintSupported: b32, + costSupported: b32, + bidirectionalFlowSupported: b32, + globalFlowSupported: b32, + minWidth: u32, + minHeight: u32, + maxWidth: u32, + maxHeight: u32, + maxNumRegionsOfInterest: u32, +} + +OpticalFlowImageFormatInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + usage: OpticalFlowUsageFlagsNV, +} + +OpticalFlowImageFormatPropertiesNV :: struct { + sType: StructureType, + pNext: rawptr, + format: Format, +} + +OpticalFlowSessionCreateInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + width: u32, + height: u32, + imageFormat: Format, + flowVectorFormat: Format, + costFormat: Format, + outputGridSize: OpticalFlowGridSizeFlagsNV, + hintGridSize: OpticalFlowGridSizeFlagsNV, + performanceLevel: OpticalFlowPerformanceLevelNV, + flags: OpticalFlowSessionCreateFlagsNV, +} + +OpticalFlowSessionCreatePrivateDataInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + id: u32, + size: u32, + pPrivateData: rawptr, +} + +OpticalFlowExecuteInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + flags: OpticalFlowExecuteFlagsNV, + regionCount: u32, + pRegions: [^]Rect2D, +} + +PhysicalDeviceLegacyDitheringFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + legacyDithering: b32, +} + +PhysicalDevicePipelineProtectedAccessFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + pipelineProtectedAccess: b32, +} + +PhysicalDeviceShaderObjectFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + shaderObject: b32, +} + +PhysicalDeviceShaderObjectPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + shaderBinaryUUID: [UUID_SIZE]u8, + shaderBinaryVersion: u32, +} + +ShaderCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: ShaderCreateFlagsEXT, + stage: ShaderStageFlags, + nextStage: ShaderStageFlags, + codeType: ShaderCodeTypeEXT, + codeSize: int, + pCode: rawptr, + pName: cstring, + setLayoutCount: u32, + pSetLayouts: [^]DescriptorSetLayout, + pushConstantRangeCount: u32, + pPushConstantRanges: [^]PushConstantRange, + pSpecializationInfo: ^SpecializationInfo, +} + +PhysicalDeviceTilePropertiesFeaturesQCOM :: struct { + sType: StructureType, + pNext: rawptr, + tileProperties: b32, +} + +TilePropertiesQCOM :: struct { + sType: StructureType, + pNext: rawptr, + tileSize: Extent3D, + apronSize: Extent2D, + origin: Offset2D, +} + +PhysicalDeviceAmigoProfilingFeaturesSEC :: struct { + sType: StructureType, + pNext: rawptr, + amigoProfiling: b32, +} + +AmigoProfilingSubmitInfoSEC :: struct { + sType: StructureType, + pNext: rawptr, + firstDrawTimestamp: u64, + swapBufferTimestamp: u64, +} + +PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM :: struct { + sType: StructureType, + pNext: rawptr, + multiviewPerViewViewports: b32, +} + +PhysicalDeviceRayTracingInvocationReorderPropertiesNV :: struct { + sType: StructureType, + pNext: rawptr, + rayTracingInvocationReorderReorderingHint: RayTracingInvocationReorderModeNV, +} + +PhysicalDeviceRayTracingInvocationReorderFeaturesNV :: struct { + sType: StructureType, + pNext: rawptr, + rayTracingInvocationReorder: b32, +} + +PhysicalDeviceShaderCoreBuiltinsFeaturesARM :: struct { + sType: StructureType, + pNext: rawptr, + shaderCoreBuiltins: b32, +} + +PhysicalDeviceShaderCoreBuiltinsPropertiesARM :: struct { + sType: StructureType, + pNext: rawptr, + shaderCoreMask: u64, + shaderCoreCount: u32, + shaderWarpsPerCore: u32, +} + +PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + pipelineLibraryGroupHandles: b32, +} + +PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM :: struct { + sType: StructureType, + pNext: rawptr, + multiviewPerViewRenderAreas: b32, +} + +MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM :: struct { + sType: StructureType, + pNext: rawptr, + perViewRenderAreaCount: u32, + pPerViewRenderAreas: [^]Rect2D, +} + +PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + attachmentFeedbackLoopDynamicState: b32, +} + +AccelerationStructureBuildRangeInfoKHR :: struct { + primitiveCount: u32, + primitiveOffset: u32, + firstVertex: u32, + transformOffset: u32, +} + +AccelerationStructureGeometryTrianglesDataKHR :: struct { + sType: StructureType, + pNext: rawptr, + vertexFormat: Format, + vertexData: DeviceOrHostAddressConstKHR, + vertexStride: DeviceSize, + maxVertex: u32, + indexType: IndexType, + indexData: DeviceOrHostAddressConstKHR, + transformData: DeviceOrHostAddressConstKHR, +} + +AccelerationStructureGeometryAabbsDataKHR :: struct { + sType: StructureType, + pNext: rawptr, + data: DeviceOrHostAddressConstKHR, + stride: DeviceSize, +} + +AccelerationStructureGeometryInstancesDataKHR :: struct { + sType: StructureType, + pNext: rawptr, + arrayOfPointers: b32, + data: DeviceOrHostAddressConstKHR, +} + +AccelerationStructureGeometryDataKHR :: struct #raw_union { + triangles: AccelerationStructureGeometryTrianglesDataKHR, + aabbs: AccelerationStructureGeometryAabbsDataKHR, + instances: AccelerationStructureGeometryInstancesDataKHR, +} + +AccelerationStructureGeometryKHR :: struct { + sType: StructureType, + pNext: rawptr, + geometryType: GeometryTypeKHR, + geometry: AccelerationStructureGeometryDataKHR, + flags: GeometryFlagsKHR, +} + +AccelerationStructureBuildGeometryInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + type: AccelerationStructureTypeKHR, + flags: BuildAccelerationStructureFlagsKHR, + mode: BuildAccelerationStructureModeKHR, + srcAccelerationStructure: AccelerationStructureKHR, + dstAccelerationStructure: AccelerationStructureKHR, + geometryCount: u32, + pGeometries: [^]AccelerationStructureGeometryKHR, + ppGeometries: ^[^]AccelerationStructureGeometryKHR, + scratchData: DeviceOrHostAddressKHR, +} + +AccelerationStructureCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + createFlags: AccelerationStructureCreateFlagsKHR, + buffer: Buffer, + offset: DeviceSize, + size: DeviceSize, + type: AccelerationStructureTypeKHR, + deviceAddress: DeviceAddress, +} + +WriteDescriptorSetAccelerationStructureKHR :: struct { + sType: StructureType, + pNext: rawptr, + accelerationStructureCount: u32, + pAccelerationStructures: [^]AccelerationStructureKHR, +} + +PhysicalDeviceAccelerationStructureFeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + accelerationStructure: b32, + accelerationStructureCaptureReplay: b32, + accelerationStructureIndirectBuild: b32, + accelerationStructureHostCommands: b32, + descriptorBindingAccelerationStructureUpdateAfterBind: b32, +} + +PhysicalDeviceAccelerationStructurePropertiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + maxGeometryCount: u64, + maxInstanceCount: u64, + maxPrimitiveCount: u64, + maxPerStageDescriptorAccelerationStructures: u32, + maxPerStageDescriptorUpdateAfterBindAccelerationStructures: u32, + maxDescriptorSetAccelerationStructures: u32, + maxDescriptorSetUpdateAfterBindAccelerationStructures: u32, + minAccelerationStructureScratchOffsetAlignment: u32, +} + +AccelerationStructureDeviceAddressInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + accelerationStructure: AccelerationStructureKHR, +} + +AccelerationStructureVersionInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + pVersionData: ^u8, +} + +CopyAccelerationStructureToMemoryInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + src: AccelerationStructureKHR, + dst: DeviceOrHostAddressKHR, + mode: CopyAccelerationStructureModeKHR, +} + +CopyMemoryToAccelerationStructureInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + src: DeviceOrHostAddressConstKHR, + dst: AccelerationStructureKHR, + mode: CopyAccelerationStructureModeKHR, +} + +CopyAccelerationStructureInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + src: AccelerationStructureKHR, + dst: AccelerationStructureKHR, + mode: CopyAccelerationStructureModeKHR, +} + +AccelerationStructureBuildSizesInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + accelerationStructureSize: DeviceSize, + updateScratchSize: DeviceSize, + buildScratchSize: DeviceSize, +} + +RayTracingShaderGroupCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + type: RayTracingShaderGroupTypeKHR, + generalShader: u32, + closestHitShader: u32, + anyHitShader: u32, + intersectionShader: u32, + pShaderGroupCaptureReplayHandle: rawptr, +} + +RayTracingPipelineInterfaceCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + maxPipelineRayPayloadSize: u32, + maxPipelineRayHitAttributeSize: u32, +} + +RayTracingPipelineCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: PipelineCreateFlags, + stageCount: u32, + pStages: [^]PipelineShaderStageCreateInfo, + groupCount: u32, + pGroups: [^]RayTracingShaderGroupCreateInfoKHR, + maxPipelineRayRecursionDepth: u32, + pLibraryInfo: ^PipelineLibraryCreateInfoKHR, + pLibraryInterface: ^RayTracingPipelineInterfaceCreateInfoKHR, + pDynamicState: ^PipelineDynamicStateCreateInfo, + layout: PipelineLayout, + basePipelineHandle: Pipeline, + basePipelineIndex: i32, +} + +PhysicalDeviceRayTracingPipelineFeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + rayTracingPipeline: b32, + rayTracingPipelineShaderGroupHandleCaptureReplay: b32, + rayTracingPipelineShaderGroupHandleCaptureReplayMixed: b32, + rayTracingPipelineTraceRaysIndirect: b32, + rayTraversalPrimitiveCulling: b32, +} + +PhysicalDeviceRayTracingPipelinePropertiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + shaderGroupHandleSize: u32, + maxRayRecursionDepth: u32, + maxShaderGroupStride: u32, + shaderGroupBaseAlignment: u32, + shaderGroupHandleCaptureReplaySize: u32, + maxRayDispatchInvocationCount: u32, + shaderGroupHandleAlignment: u32, + maxRayHitAttributeSize: u32, +} + +StridedDeviceAddressRegionKHR :: struct { + deviceAddress: DeviceAddress, + stride: DeviceSize, + size: DeviceSize, +} + +TraceRaysIndirectCommandKHR :: struct { + width: u32, + height: u32, + depth: u32, +} + +PhysicalDeviceRayQueryFeaturesKHR :: struct { + sType: StructureType, + pNext: rawptr, + rayQuery: b32, +} + +PhysicalDeviceMeshShaderFeaturesEXT :: struct { + sType: StructureType, + pNext: rawptr, + taskShader: b32, + meshShader: b32, + multiviewMeshShader: b32, + primitiveFragmentShadingRateMeshShader: b32, + meshShaderQueries: b32, +} + +PhysicalDeviceMeshShaderPropertiesEXT :: struct { + sType: StructureType, + pNext: rawptr, + maxTaskWorkGroupTotalCount: u32, + maxTaskWorkGroupCount: [3]u32, + maxTaskWorkGroupInvocations: u32, + maxTaskWorkGroupSize: [3]u32, + maxTaskPayloadSize: u32, + maxTaskSharedMemorySize: u32, + maxTaskPayloadAndSharedMemorySize: u32, + maxMeshWorkGroupTotalCount: u32, + maxMeshWorkGroupCount: [3]u32, + maxMeshWorkGroupInvocations: u32, + maxMeshWorkGroupSize: [3]u32, + maxMeshSharedMemorySize: u32, + maxMeshPayloadAndSharedMemorySize: u32, + maxMeshOutputMemorySize: u32, + maxMeshPayloadAndOutputMemorySize: u32, + maxMeshOutputComponents: u32, + maxMeshOutputVertices: u32, + maxMeshOutputPrimitives: u32, + maxMeshOutputLayers: u32, + maxMeshMultiviewViewCount: u32, + meshOutputPerVertexGranularity: u32, + meshOutputPerPrimitiveGranularity: u32, + maxPreferredTaskWorkGroupInvocations: u32, + maxPreferredMeshWorkGroupInvocations: u32, + prefersLocalInvocationVertexOutput: b32, + prefersLocalInvocationPrimitiveOutput: b32, + prefersCompactVertexOutput: b32, + prefersCompactPrimitiveOutput: b32, +} + +DrawMeshTasksIndirectCommandEXT :: struct { + groupCountX: u32, + groupCountY: u32, + groupCountZ: u32, +} + +Win32SurfaceCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: Win32SurfaceCreateFlagsKHR, + hinstance: HINSTANCE, + hwnd: HWND, +} + +ImportMemoryWin32HandleInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + handleType: ExternalMemoryHandleTypeFlags, + handle: HANDLE, + name: LPCWSTR, +} + +ExportMemoryWin32HandleInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + pAttributes: [^]SECURITY_ATTRIBUTES, + dwAccess: DWORD, + name: LPCWSTR, +} + +MemoryWin32HandlePropertiesKHR :: struct { + sType: StructureType, + pNext: rawptr, + memoryTypeBits: u32, +} + +MemoryGetWin32HandleInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + memory: DeviceMemory, + handleType: ExternalMemoryHandleTypeFlags, +} + +Win32KeyedMutexAcquireReleaseInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + acquireCount: u32, + pAcquireSyncs: [^]DeviceMemory, + pAcquireKeys: [^]u64, + pAcquireTimeouts: [^]u32, + releaseCount: u32, + pReleaseSyncs: [^]DeviceMemory, + pReleaseKeys: [^]u64, +} + +ImportSemaphoreWin32HandleInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + semaphore: Semaphore, + flags: SemaphoreImportFlags, + handleType: ExternalSemaphoreHandleTypeFlags, + handle: HANDLE, + name: LPCWSTR, +} + +ExportSemaphoreWin32HandleInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + pAttributes: [^]SECURITY_ATTRIBUTES, + dwAccess: DWORD, + name: LPCWSTR, +} + +D3D12FenceSubmitInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + waitSemaphoreValuesCount: u32, + pWaitSemaphoreValues: [^]u64, + signalSemaphoreValuesCount: u32, + pSignalSemaphoreValues: [^]u64, +} + +SemaphoreGetWin32HandleInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + semaphore: Semaphore, + handleType: ExternalSemaphoreHandleTypeFlags, +} + +ImportFenceWin32HandleInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + fence: Fence, + flags: FenceImportFlags, + handleType: ExternalFenceHandleTypeFlags, + handle: HANDLE, + name: LPCWSTR, +} + +ExportFenceWin32HandleInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + pAttributes: [^]SECURITY_ATTRIBUTES, + dwAccess: DWORD, + name: LPCWSTR, +} + +FenceGetWin32HandleInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + fence: Fence, + handleType: ExternalFenceHandleTypeFlags, +} + +ImportMemoryWin32HandleInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + handleType: ExternalMemoryHandleTypeFlagsNV, + handle: HANDLE, +} + +ExportMemoryWin32HandleInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + pAttributes: [^]SECURITY_ATTRIBUTES, + dwAccess: DWORD, +} + +Win32KeyedMutexAcquireReleaseInfoNV :: struct { + sType: StructureType, + pNext: rawptr, + acquireCount: u32, + pAcquireSyncs: [^]DeviceMemory, + pAcquireKeys: [^]u64, + pAcquireTimeoutMilliseconds: [^]u32, + releaseCount: u32, + pReleaseSyncs: [^]DeviceMemory, + pReleaseKeys: [^]u64, +} + +SurfaceFullScreenExclusiveInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + fullScreenExclusive: FullScreenExclusiveEXT, +} + +SurfaceCapabilitiesFullScreenExclusiveEXT :: struct { + sType: StructureType, + pNext: rawptr, + fullScreenExclusiveSupported: b32, +} + +SurfaceFullScreenExclusiveWin32InfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + hmonitor: HMONITOR, +} + +MetalSurfaceCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + flags: MetalSurfaceCreateFlagsEXT, + pLayer: ^CAMetalLayer, +} + +ExportMetalObjectCreateInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + exportObjectType: ExportMetalObjectTypeFlagsEXT, +} + +ExportMetalObjectsInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, +} + +ExportMetalDeviceInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + mtlDevice: MTLDevice_id, +} + +ExportMetalCommandQueueInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + queue: Queue, + mtlCommandQueue: MTLCommandQueue_id, +} + +ExportMetalBufferInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + memory: DeviceMemory, + mtlBuffer: MTLBuffer_id, +} + +ImportMetalBufferInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + mtlBuffer: MTLBuffer_id, +} + +ExportMetalTextureInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + image: Image, + imageView: ImageView, + bufferView: BufferView, + plane: ImageAspectFlags, + mtlTexture: MTLTexture_id, +} + +ImportMetalTextureInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + plane: ImageAspectFlags, + mtlTexture: MTLTexture_id, +} + +ExportMetalIOSurfaceInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + image: Image, + ioSurface: IOSurfaceRef, +} + +ImportMetalIOSurfaceInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + ioSurface: IOSurfaceRef, +} + +ExportMetalSharedEventInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + semaphore: Semaphore, + event: Event, + mtlSharedEvent: MTLSharedEvent_id, +} + +ImportMetalSharedEventInfoEXT :: struct { + sType: StructureType, + pNext: rawptr, + mtlSharedEvent: MTLSharedEvent_id, +} + +MacOSSurfaceCreateInfoMVK :: struct { + sType: StructureType, + pNext: rawptr, + flags: MacOSSurfaceCreateFlagsMVK, + pView: rawptr, +} + +IOSSurfaceCreateInfoMVK :: struct { + sType: StructureType, + pNext: rawptr, + flags: IOSSurfaceCreateFlagsMVK, + pView: rawptr, +} + +WaylandSurfaceCreateInfoKHR :: struct { + sType: StructureType, + pNext: rawptr, + flags: WaylandSurfaceCreateFlagsKHR, + display: ^wl_display, + surface: ^wl_surface, +} + +VideoH264SpsVuiFlags :: struct { + bit_field: u32, +} + +VideoH264HrdParameters :: struct { + cpb_cnt_minus1: u8, + bit_rate_scale: u8, + cpb_size_scale: u8, + reserved1: u8, + bit_rate_value_minus1: [VIDEO_H264_CPB_CNT_LIST_SIZE]u32, + cpb_size_value_minus1: [VIDEO_H264_CPB_CNT_LIST_SIZE]u32, + cbr_flag: [VIDEO_H264_CPB_CNT_LIST_SIZE]u8, + initial_cpb_removal_delay_length_minus1: u32, + cpb_removal_delay_length_minus1: u32, + dpb_output_delay_length_minus1: u32, + time_offset_length: u32, +} + +VideoH264SequenceParameterSetVui :: struct { + flags: VideoH264SpsVuiFlags, + aspect_ratio_idc: VideoH264AspectRatioIdc, + sar_width: u16, + sar_height: u16, + video_format: u8, + colour_primaries: u8, + transfer_characteristics: u8, + matrix_coefficients: u8, + num_units_in_tick: u32, + time_scale: u32, + max_num_reorder_frames: u8, + max_dec_frame_buffering: u8, + chroma_sample_loc_type_top_field: u8, + chroma_sample_loc_type_bottom_field: u8, + reserved1: u32, + pHrdParameters: [^]VideoH264HrdParameters, +} + +VideoH264SpsFlags :: struct { + bit_field: u32, +} + +VideoH264ScalingLists :: struct { + scaling_list_present_mask: u16, + use_default_scaling_matrix_mask: u16, + ScalingList4x4: [VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS]u8, + ScalingList8x8: [VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS]u8, +} + +VideoH264SequenceParameterSet :: struct { + flags: VideoH264SpsFlags, + profile_idc: VideoH264ProfileIdc, + level_idc: VideoH264LevelIdc, + chroma_format_idc: VideoH264ChromaFormatIdc, + seq_parameter_set_id: u8, + bit_depth_luma_minus8: u8, + bit_depth_chroma_minus8: u8, + log2_max_frame_num_minus4: u8, + pic_order_cnt_type: VideoH264PocType, + offset_for_non_ref_pic: i32, + offset_for_top_to_bottom_field: i32, + log2_max_pic_order_cnt_lsb_minus4: u8, + num_ref_frames_in_pic_order_cnt_cycle: u8, + max_num_ref_frames: u8, + reserved1: u8, + pic_width_in_mbs_minus1: u32, + pic_height_in_map_units_minus1: u32, + frame_crop_left_offset: u32, + frame_crop_right_offset: u32, + frame_crop_top_offset: u32, + frame_crop_bottom_offset: u32, + reserved2: u32, + pOffsetForRefFrame: ^i32, + pScalingLists: [^]VideoH264ScalingLists, + pSequenceParameterSetVui: ^VideoH264SequenceParameterSetVui, +} + +VideoH264PpsFlags :: struct { + bit_field: u32, +} + +VideoH264PictureParameterSet :: struct { + flags: VideoH264PpsFlags, + seq_parameter_set_id: u8, + pic_parameter_set_id: u8, + num_ref_idx_l0_default_active_minus1: u8, + num_ref_idx_l1_default_active_minus1: u8, + weighted_bipred_idc: VideoH264WeightedBipredIdc, + pic_init_qp_minus26: i8, + pic_init_qs_minus26: i8, + chroma_qp_index_offset: i8, + second_chroma_qp_index_offset: i8, + pScalingLists: [^]VideoH264ScalingLists, +} + +VideoH265DecPicBufMgr :: struct { + max_latency_increase_plus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u32, + max_dec_pic_buffering_minus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u8, + max_num_reorder_pics: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u8, +} + +VideoH265SubLayerHrdParameters :: struct { + bit_rate_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32, + cpb_size_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32, + cpb_size_du_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32, + bit_rate_du_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32, + cbr_flag: u32, +} + +VideoH265HrdFlags :: struct { + bit_field: u32, +} + +VideoH265HrdParameters :: struct { + flags: VideoH265HrdFlags, + tick_divisor_minus2: u8, + du_cpb_removal_delay_increment_length_minus1: u8, + dpb_output_delay_du_length_minus1: u8, + bit_rate_scale: u8, + cpb_size_scale: u8, + cpb_size_du_scale: u8, + initial_cpb_removal_delay_length_minus1: u8, + au_cpb_removal_delay_length_minus1: u8, + dpb_output_delay_length_minus1: u8, + cpb_cnt_minus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u8, + elemental_duration_in_tc_minus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u16, + reserved: [3]u16, + pSubLayerHrdParametersNal: ^VideoH265SubLayerHrdParameters, + pSubLayerHrdParametersVcl: ^VideoH265SubLayerHrdParameters, +} + +VideoH265VpsFlags :: struct { + bit_field: u32, +} + +VideoH265ProfileTierLevelFlags :: struct { + bit_field: u32, +} + +VideoH265ProfileTierLevel :: struct { + flags: VideoH265ProfileTierLevelFlags, + general_profile_idc: VideoH265ProfileIdc, + general_level_idc: VideoH265LevelIdc, +} + +VideoH265VideoParameterSet :: struct { + flags: VideoH265VpsFlags, + vps_video_parameter_set_id: u8, + vps_max_sub_layers_minus1: u8, + reserved1: u8, + reserved2: u8, + vps_num_units_in_tick: u32, + vps_time_scale: u32, + vps_num_ticks_poc_diff_one_minus1: u32, + reserved3: u32, + pDecPicBufMgr: ^VideoH265DecPicBufMgr, + pHrdParameters: [^]VideoH265HrdParameters, + pProfileTierLevel: ^VideoH265ProfileTierLevel, +} + +VideoH265ScalingLists :: struct { + ScalingList4x4: [VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS]u8, + ScalingList8x8: [VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS]u8, + ScalingList16x16: [VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS]u8, + ScalingList32x32: [VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS]u8, + ScalingListDCCoef16x16: [VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS]u8, + ScalingListDCCoef32x32: [VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS]u8, +} + +VideoH265SpsVuiFlags :: struct { + bit_field: u32, +} + +VideoH265SequenceParameterSetVui :: struct { + flags: VideoH265SpsVuiFlags, + aspect_ratio_idc: VideoH265AspectRatioIdc, + sar_width: u16, + sar_height: u16, + video_format: u8, + colour_primaries: u8, + transfer_characteristics: u8, + matrix_coeffs: u8, + chroma_sample_loc_type_top_field: u8, + chroma_sample_loc_type_bottom_field: u8, + reserved1: u8, + reserved2: u8, + def_disp_win_left_offset: u16, + def_disp_win_right_offset: u16, + def_disp_win_top_offset: u16, + def_disp_win_bottom_offset: u16, + vui_num_units_in_tick: u32, + vui_time_scale: u32, + vui_num_ticks_poc_diff_one_minus1: u32, + min_spatial_segmentation_idc: u16, + reserved3: u16, + max_bytes_per_pic_denom: u8, + max_bits_per_min_cu_denom: u8, + log2_max_mv_length_horizontal: u8, + log2_max_mv_length_vertical: u8, + pHrdParameters: [^]VideoH265HrdParameters, +} + +VideoH265PredictorPaletteEntries :: struct { + PredictorPaletteEntries: [VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE]u16, +} + +VideoH265SpsFlags :: struct { + bit_field: u32, +} + +VideoH265ShortTermRefPicSetFlags :: struct { + bit_field: u32, +} + +VideoH265ShortTermRefPicSet :: struct { + flags: VideoH265ShortTermRefPicSetFlags, + delta_idx_minus1: u32, + use_delta_flag: u16, + abs_delta_rps_minus1: u16, + used_by_curr_pic_flag: u16, + used_by_curr_pic_s0_flag: u16, + used_by_curr_pic_s1_flag: u16, + reserved1: u16, + reserved2: u8, + reserved3: u8, + num_negative_pics: u8, + num_positive_pics: u8, + delta_poc_s0_minus1: [VIDEO_H265_MAX_DPB_SIZE]u16, + delta_poc_s1_minus1: [VIDEO_H265_MAX_DPB_SIZE]u16, +} + +VideoH265LongTermRefPicsSps :: struct { + used_by_curr_pic_lt_sps_flag: u32, + lt_ref_pic_poc_lsb_sps: [VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS]u32, +} + +VideoH265SequenceParameterSet :: struct { + flags: VideoH265SpsFlags, + chroma_format_idc: VideoH265ChromaFormatIdc, + pic_width_in_luma_samples: u32, + pic_height_in_luma_samples: u32, + sps_video_parameter_set_id: u8, + sps_max_sub_layers_minus1: u8, + sps_seq_parameter_set_id: u8, + bit_depth_luma_minus8: u8, + bit_depth_chroma_minus8: u8, + log2_max_pic_order_cnt_lsb_minus4: u8, + log2_min_luma_coding_block_size_minus3: u8, + log2_diff_max_min_luma_coding_block_size: u8, + log2_min_luma_transform_block_size_minus2: u8, + log2_diff_max_min_luma_transform_block_size: u8, + max_transform_hierarchy_depth_inter: u8, + max_transform_hierarchy_depth_intra: u8, + num_short_term_ref_pic_sets: u8, + num_long_term_ref_pics_sps: u8, + pcm_sample_bit_depth_luma_minus1: u8, + pcm_sample_bit_depth_chroma_minus1: u8, + log2_min_pcm_luma_coding_block_size_minus3: u8, + log2_diff_max_min_pcm_luma_coding_block_size: u8, + reserved1: u8, + reserved2: u8, + palette_max_size: u8, + delta_palette_max_predictor_size: u8, + motion_vector_resolution_control_idc: u8, + sps_num_palette_predictor_initializers_minus1: u8, + conf_win_left_offset: u32, + conf_win_right_offset: u32, + conf_win_top_offset: u32, + conf_win_bottom_offset: u32, + pProfileTierLevel: ^VideoH265ProfileTierLevel, + pDecPicBufMgr: ^VideoH265DecPicBufMgr, + pScalingLists: [^]VideoH265ScalingLists, + pShortTermRefPicSet: ^VideoH265ShortTermRefPicSet, + pLongTermRefPicsSps: [^]VideoH265LongTermRefPicsSps, + pSequenceParameterSetVui: ^VideoH265SequenceParameterSetVui, + pPredictorPaletteEntries: [^]VideoH265PredictorPaletteEntries, +} + +VideoH265PpsFlags :: struct { + bit_field: u32, +} + +VideoH265PictureParameterSet :: struct { + flags: VideoH265PpsFlags, + pps_pic_parameter_set_id: u8, + pps_seq_parameter_set_id: u8, + sps_video_parameter_set_id: u8, + num_extra_slice_header_bits: u8, + num_ref_idx_l0_default_active_minus1: u8, + num_ref_idx_l1_default_active_minus1: u8, + init_qp_minus26: i8, + diff_cu_qp_delta_depth: u8, + pps_cb_qp_offset: i8, + pps_cr_qp_offset: i8, + pps_beta_offset_div2: i8, + pps_tc_offset_div2: i8, + log2_parallel_merge_level_minus2: u8, + log2_max_transform_skip_block_size_minus2: u8, + diff_cu_chroma_qp_offset_depth: u8, + chroma_qp_offset_list_len_minus1: u8, + cb_qp_offset_list: [VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]i8, + cr_qp_offset_list: [VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]i8, + log2_sao_offset_scale_luma: u8, + log2_sao_offset_scale_chroma: u8, + pps_act_y_qp_offset_plus5: i8, + pps_act_cb_qp_offset_plus5: i8, + pps_act_cr_qp_offset_plus3: i8, + pps_num_palette_predictor_initializers: u8, + luma_bit_depth_entry_minus8: u8, + chroma_bit_depth_entry_minus8: u8, + num_tile_columns_minus1: u8, + num_tile_rows_minus1: u8, + reserved1: u8, + reserved2: u8, + column_width_minus1: [VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE]u16, + row_height_minus1: [VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE]u16, + reserved3: u32, + pScalingLists: [^]VideoH265ScalingLists, + pPredictorPaletteEntries: [^]VideoH265PredictorPaletteEntries, +} + +VideoDecodeH264PictureInfoFlags :: struct { + bit_field: u32, +} + +VideoDecodeH264PictureInfo :: struct { + flags: VideoDecodeH264PictureInfoFlags, + seq_parameter_set_id: u8, + pic_parameter_set_id: u8, + reserved1: u8, + reserved2: u8, + frame_num: u16, + idr_pic_id: u16, + PicOrderCnt: [VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]i32, +} + +VideoDecodeH264ReferenceInfoFlags :: struct { + bit_field: u32, +} + +VideoDecodeH264ReferenceInfo :: struct { + flags: VideoDecodeH264ReferenceInfoFlags, + FrameNum: u16, + reserved: u16, + PicOrderCnt: [VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]i32, +} + +VideoDecodeH265PictureInfoFlags :: struct { + bit_field: u32, +} + +VideoDecodeH265PictureInfo :: struct { + flags: VideoDecodeH265PictureInfoFlags, + sps_video_parameter_set_id: u8, + pps_seq_parameter_set_id: u8, + pps_pic_parameter_set_id: u8, + NumDeltaPocsOfRefRpsIdx: u8, + PicOrderCntVal: i32, + NumBitsForSTRefPicSetInSlice: u16, + reserved: u16, + RefPicSetStCurrBefore: [VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]u8, + RefPicSetStCurrAfter: [VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]u8, + RefPicSetLtCurr: [VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]u8, +} + +VideoDecodeH265ReferenceInfoFlags :: struct { + bit_field: u32, +} + +VideoDecodeH265ReferenceInfo :: struct { + flags: VideoDecodeH265ReferenceInfoFlags, + PicOrderCntVal: i32, +} + +// Opaque structs + +wl_surface :: struct {} // Opaque struct defined by Wayland +wl_display :: struct {} // Opaque struct defined by Wayland +IOSurfaceRef :: struct {} // Opaque struct defined by Apple’s CoreGraphics framework +// Aliases +PhysicalDeviceVariablePointerFeatures :: PhysicalDeviceVariablePointersFeatures +PhysicalDeviceShaderDrawParameterFeatures :: PhysicalDeviceShaderDrawParametersFeatures +RenderingFlagsKHR :: RenderingFlags +RenderingFlagKHR :: RenderingFlag +RenderingInfoKHR :: RenderingInfo +RenderingAttachmentInfoKHR :: RenderingAttachmentInfo +PipelineRenderingCreateInfoKHR :: PipelineRenderingCreateInfo +PhysicalDeviceDynamicRenderingFeaturesKHR :: PhysicalDeviceDynamicRenderingFeatures +CommandBufferInheritanceRenderingInfoKHR :: CommandBufferInheritanceRenderingInfo +AttachmentSampleCountInfoNV :: AttachmentSampleCountInfoAMD +RenderPassMultiviewCreateInfoKHR :: RenderPassMultiviewCreateInfo +PhysicalDeviceMultiviewFeaturesKHR :: PhysicalDeviceMultiviewFeatures +PhysicalDeviceMultiviewPropertiesKHR :: PhysicalDeviceMultiviewProperties +PhysicalDeviceFeatures2KHR :: PhysicalDeviceFeatures2 +PhysicalDeviceProperties2KHR :: PhysicalDeviceProperties2 +FormatProperties2KHR :: FormatProperties2 +ImageFormatProperties2KHR :: ImageFormatProperties2 +PhysicalDeviceImageFormatInfo2KHR :: PhysicalDeviceImageFormatInfo2 +QueueFamilyProperties2KHR :: QueueFamilyProperties2 +PhysicalDeviceMemoryProperties2KHR :: PhysicalDeviceMemoryProperties2 +SparseImageFormatProperties2KHR :: SparseImageFormatProperties2 +PhysicalDeviceSparseImageFormatInfo2KHR :: PhysicalDeviceSparseImageFormatInfo2 +PeerMemoryFeatureFlagsKHR :: PeerMemoryFeatureFlags +PeerMemoryFeatureFlagKHR :: PeerMemoryFeatureFlag +MemoryAllocateFlagsKHR :: MemoryAllocateFlags +MemoryAllocateFlagKHR :: MemoryAllocateFlag +MemoryAllocateFlagsInfoKHR :: MemoryAllocateFlagsInfo +DeviceGroupRenderPassBeginInfoKHR :: DeviceGroupRenderPassBeginInfo +DeviceGroupCommandBufferBeginInfoKHR :: DeviceGroupCommandBufferBeginInfo +DeviceGroupSubmitInfoKHR :: DeviceGroupSubmitInfo +DeviceGroupBindSparseInfoKHR :: DeviceGroupBindSparseInfo +BindBufferMemoryDeviceGroupInfoKHR :: BindBufferMemoryDeviceGroupInfo +BindImageMemoryDeviceGroupInfoKHR :: BindImageMemoryDeviceGroupInfo +CommandPoolTrimFlagsKHR :: CommandPoolTrimFlags +PhysicalDeviceGroupPropertiesKHR :: PhysicalDeviceGroupProperties +DeviceGroupDeviceCreateInfoKHR :: DeviceGroupDeviceCreateInfo +ExternalMemoryHandleTypeFlagsKHR :: ExternalMemoryHandleTypeFlags +ExternalMemoryHandleTypeFlagKHR :: ExternalMemoryHandleTypeFlag +ExternalMemoryFeatureFlagsKHR :: ExternalMemoryFeatureFlags +ExternalMemoryFeatureFlagKHR :: ExternalMemoryFeatureFlag +ExternalMemoryPropertiesKHR :: ExternalMemoryProperties +PhysicalDeviceExternalImageFormatInfoKHR :: PhysicalDeviceExternalImageFormatInfo +ExternalImageFormatPropertiesKHR :: ExternalImageFormatProperties +PhysicalDeviceExternalBufferInfoKHR :: PhysicalDeviceExternalBufferInfo +ExternalBufferPropertiesKHR :: ExternalBufferProperties +PhysicalDeviceIDPropertiesKHR :: PhysicalDeviceIDProperties +ExternalMemoryImageCreateInfoKHR :: ExternalMemoryImageCreateInfo +ExternalMemoryBufferCreateInfoKHR :: ExternalMemoryBufferCreateInfo +ExportMemoryAllocateInfoKHR :: ExportMemoryAllocateInfo +ExternalSemaphoreHandleTypeFlagsKHR :: ExternalSemaphoreHandleTypeFlags +ExternalSemaphoreHandleTypeFlagKHR :: ExternalSemaphoreHandleTypeFlag +ExternalSemaphoreFeatureFlagsKHR :: ExternalSemaphoreFeatureFlags +ExternalSemaphoreFeatureFlagKHR :: ExternalSemaphoreFeatureFlag +PhysicalDeviceExternalSemaphoreInfoKHR :: PhysicalDeviceExternalSemaphoreInfo +ExternalSemaphorePropertiesKHR :: ExternalSemaphoreProperties +SemaphoreImportFlagsKHR :: SemaphoreImportFlags +SemaphoreImportFlagKHR :: SemaphoreImportFlag +ExportSemaphoreCreateInfoKHR :: ExportSemaphoreCreateInfo +PhysicalDeviceShaderFloat16Int8FeaturesKHR :: PhysicalDeviceShaderFloat16Int8Features +PhysicalDeviceFloat16Int8FeaturesKHR :: PhysicalDeviceShaderFloat16Int8Features +PhysicalDevice16BitStorageFeaturesKHR :: PhysicalDevice16BitStorageFeatures +DescriptorUpdateTemplateKHR :: DescriptorUpdateTemplate +DescriptorUpdateTemplateTypeKHR :: DescriptorUpdateTemplateType +DescriptorUpdateTemplateCreateFlagsKHR :: DescriptorUpdateTemplateCreateFlags +DescriptorUpdateTemplateEntryKHR :: DescriptorUpdateTemplateEntry +DescriptorUpdateTemplateCreateInfoKHR :: DescriptorUpdateTemplateCreateInfo +PhysicalDeviceImagelessFramebufferFeaturesKHR :: PhysicalDeviceImagelessFramebufferFeatures +FramebufferAttachmentsCreateInfoKHR :: FramebufferAttachmentsCreateInfo +FramebufferAttachmentImageInfoKHR :: FramebufferAttachmentImageInfo +RenderPassAttachmentBeginInfoKHR :: RenderPassAttachmentBeginInfo +RenderPassCreateInfo2KHR :: RenderPassCreateInfo2 +AttachmentDescription2KHR :: AttachmentDescription2 +AttachmentReference2KHR :: AttachmentReference2 +SubpassDescription2KHR :: SubpassDescription2 +SubpassDependency2KHR :: SubpassDependency2 +SubpassBeginInfoKHR :: SubpassBeginInfo +SubpassEndInfoKHR :: SubpassEndInfo +ExternalFenceHandleTypeFlagsKHR :: ExternalFenceHandleTypeFlags +ExternalFenceHandleTypeFlagKHR :: ExternalFenceHandleTypeFlag +ExternalFenceFeatureFlagsKHR :: ExternalFenceFeatureFlags +ExternalFenceFeatureFlagKHR :: ExternalFenceFeatureFlag +PhysicalDeviceExternalFenceInfoKHR :: PhysicalDeviceExternalFenceInfo +ExternalFencePropertiesKHR :: ExternalFenceProperties +FenceImportFlagsKHR :: FenceImportFlags +FenceImportFlagKHR :: FenceImportFlag +ExportFenceCreateInfoKHR :: ExportFenceCreateInfo +PointClippingBehaviorKHR :: PointClippingBehavior +TessellationDomainOriginKHR :: TessellationDomainOrigin +PhysicalDevicePointClippingPropertiesKHR :: PhysicalDevicePointClippingProperties +RenderPassInputAttachmentAspectCreateInfoKHR :: RenderPassInputAttachmentAspectCreateInfo +InputAttachmentAspectReferenceKHR :: InputAttachmentAspectReference +ImageViewUsageCreateInfoKHR :: ImageViewUsageCreateInfo +PipelineTessellationDomainOriginStateCreateInfoKHR :: PipelineTessellationDomainOriginStateCreateInfo +PhysicalDeviceVariablePointerFeaturesKHR :: PhysicalDeviceVariablePointersFeatures +PhysicalDeviceVariablePointersFeaturesKHR :: PhysicalDeviceVariablePointersFeatures +MemoryDedicatedRequirementsKHR :: MemoryDedicatedRequirements +MemoryDedicatedAllocateInfoKHR :: MemoryDedicatedAllocateInfo +BufferMemoryRequirementsInfo2KHR :: BufferMemoryRequirementsInfo2 +ImageMemoryRequirementsInfo2KHR :: ImageMemoryRequirementsInfo2 +ImageSparseMemoryRequirementsInfo2KHR :: ImageSparseMemoryRequirementsInfo2 +MemoryRequirements2KHR :: MemoryRequirements2 +SparseImageMemoryRequirements2KHR :: SparseImageMemoryRequirements2 +ImageFormatListCreateInfoKHR :: ImageFormatListCreateInfo +SamplerYcbcrConversionKHR :: SamplerYcbcrConversion +SamplerYcbcrModelConversionKHR :: SamplerYcbcrModelConversion +SamplerYcbcrRangeKHR :: SamplerYcbcrRange +ChromaLocationKHR :: ChromaLocation +SamplerYcbcrConversionCreateInfoKHR :: SamplerYcbcrConversionCreateInfo +SamplerYcbcrConversionInfoKHR :: SamplerYcbcrConversionInfo +BindImagePlaneMemoryInfoKHR :: BindImagePlaneMemoryInfo +ImagePlaneMemoryRequirementsInfoKHR :: ImagePlaneMemoryRequirementsInfo +PhysicalDeviceSamplerYcbcrConversionFeaturesKHR :: PhysicalDeviceSamplerYcbcrConversionFeatures +SamplerYcbcrConversionImageFormatPropertiesKHR :: SamplerYcbcrConversionImageFormatProperties +BindBufferMemoryInfoKHR :: BindBufferMemoryInfo +BindImageMemoryInfoKHR :: BindImageMemoryInfo +PhysicalDeviceMaintenance3PropertiesKHR :: PhysicalDeviceMaintenance3Properties +DescriptorSetLayoutSupportKHR :: DescriptorSetLayoutSupport +PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR :: PhysicalDeviceShaderSubgroupExtendedTypesFeatures +PhysicalDevice8BitStorageFeaturesKHR :: PhysicalDevice8BitStorageFeatures +PhysicalDeviceShaderAtomicInt64FeaturesKHR :: PhysicalDeviceShaderAtomicInt64Features +DriverIdKHR :: DriverId +ConformanceVersionKHR :: ConformanceVersion +PhysicalDeviceDriverPropertiesKHR :: PhysicalDeviceDriverProperties +ShaderFloatControlsIndependenceKHR :: ShaderFloatControlsIndependence +PhysicalDeviceFloatControlsPropertiesKHR :: PhysicalDeviceFloatControlsProperties +ResolveModeFlagKHR :: ResolveModeFlag +ResolveModeFlagsKHR :: ResolveModeFlags +SubpassDescriptionDepthStencilResolveKHR :: SubpassDescriptionDepthStencilResolve +PhysicalDeviceDepthStencilResolvePropertiesKHR :: PhysicalDeviceDepthStencilResolveProperties +SemaphoreTypeKHR :: SemaphoreType +SemaphoreWaitFlagKHR :: SemaphoreWaitFlag +SemaphoreWaitFlagsKHR :: SemaphoreWaitFlags +PhysicalDeviceTimelineSemaphoreFeaturesKHR :: PhysicalDeviceTimelineSemaphoreFeatures +PhysicalDeviceTimelineSemaphorePropertiesKHR :: PhysicalDeviceTimelineSemaphoreProperties +SemaphoreTypeCreateInfoKHR :: SemaphoreTypeCreateInfo +TimelineSemaphoreSubmitInfoKHR :: TimelineSemaphoreSubmitInfo +SemaphoreWaitInfoKHR :: SemaphoreWaitInfo +SemaphoreSignalInfoKHR :: SemaphoreSignalInfo +PhysicalDeviceVulkanMemoryModelFeaturesKHR :: PhysicalDeviceVulkanMemoryModelFeatures +PhysicalDeviceShaderTerminateInvocationFeaturesKHR :: PhysicalDeviceShaderTerminateInvocationFeatures +PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR :: PhysicalDeviceSeparateDepthStencilLayoutsFeatures +AttachmentReferenceStencilLayoutKHR :: AttachmentReferenceStencilLayout +AttachmentDescriptionStencilLayoutKHR :: AttachmentDescriptionStencilLayout +PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR :: PhysicalDeviceUniformBufferStandardLayoutFeatures +PhysicalDeviceBufferDeviceAddressFeaturesKHR :: PhysicalDeviceBufferDeviceAddressFeatures +BufferDeviceAddressInfoKHR :: BufferDeviceAddressInfo +BufferOpaqueCaptureAddressCreateInfoKHR :: BufferOpaqueCaptureAddressCreateInfo +MemoryOpaqueCaptureAddressAllocateInfoKHR :: MemoryOpaqueCaptureAddressAllocateInfo +DeviceMemoryOpaqueCaptureAddressInfoKHR :: DeviceMemoryOpaqueCaptureAddressInfo +PhysicalDeviceShaderIntegerDotProductFeaturesKHR :: PhysicalDeviceShaderIntegerDotProductFeatures +PhysicalDeviceShaderIntegerDotProductPropertiesKHR :: PhysicalDeviceShaderIntegerDotProductProperties +PipelineStageFlags2KHR :: PipelineStageFlags2 +PipelineStageFlag2KHR :: PipelineStageFlag2 +AccessFlags2KHR :: AccessFlags2 +AccessFlag2KHR :: AccessFlag2 +SubmitFlagKHR :: SubmitFlag +SubmitFlagsKHR :: SubmitFlags +MemoryBarrier2KHR :: MemoryBarrier2 +BufferMemoryBarrier2KHR :: BufferMemoryBarrier2 +ImageMemoryBarrier2KHR :: ImageMemoryBarrier2 +DependencyInfoKHR :: DependencyInfo +SubmitInfo2KHR :: SubmitInfo2 +SemaphoreSubmitInfoKHR :: SemaphoreSubmitInfo +CommandBufferSubmitInfoKHR :: CommandBufferSubmitInfo +PhysicalDeviceSynchronization2FeaturesKHR :: PhysicalDeviceSynchronization2Features +PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR :: PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures +CopyBufferInfo2KHR :: CopyBufferInfo2 +CopyImageInfo2KHR :: CopyImageInfo2 +CopyBufferToImageInfo2KHR :: CopyBufferToImageInfo2 +CopyImageToBufferInfo2KHR :: CopyImageToBufferInfo2 +BlitImageInfo2KHR :: BlitImageInfo2 +ResolveImageInfo2KHR :: ResolveImageInfo2 +BufferCopy2KHR :: BufferCopy2 +ImageCopy2KHR :: ImageCopy2 +ImageBlit2KHR :: ImageBlit2 +BufferImageCopy2KHR :: BufferImageCopy2 +ImageResolve2KHR :: ImageResolve2 +FormatFeatureFlags2KHR :: FormatFeatureFlags2 +FormatFeatureFlag2KHR :: FormatFeatureFlag2 +FormatProperties3KHR :: FormatProperties3 +PhysicalDeviceMaintenance4FeaturesKHR :: PhysicalDeviceMaintenance4Features +PhysicalDeviceMaintenance4PropertiesKHR :: PhysicalDeviceMaintenance4Properties +DeviceBufferMemoryRequirementsKHR :: DeviceBufferMemoryRequirements +DeviceImageMemoryRequirementsKHR :: DeviceImageMemoryRequirements +PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT :: PhysicalDeviceTextureCompressionASTCHDRFeatures +SamplerReductionModeEXT :: SamplerReductionMode +SamplerReductionModeCreateInfoEXT :: SamplerReductionModeCreateInfo +PhysicalDeviceSamplerFilterMinmaxPropertiesEXT :: PhysicalDeviceSamplerFilterMinmaxProperties +PhysicalDeviceInlineUniformBlockFeaturesEXT :: PhysicalDeviceInlineUniformBlockFeatures +PhysicalDeviceInlineUniformBlockPropertiesEXT :: PhysicalDeviceInlineUniformBlockProperties +WriteDescriptorSetInlineUniformBlockEXT :: WriteDescriptorSetInlineUniformBlock +DescriptorPoolInlineUniformBlockCreateInfoEXT :: DescriptorPoolInlineUniformBlockCreateInfo +DescriptorBindingFlagEXT :: DescriptorBindingFlag +DescriptorBindingFlagsEXT :: DescriptorBindingFlags +DescriptorSetLayoutBindingFlagsCreateInfoEXT :: DescriptorSetLayoutBindingFlagsCreateInfo +PhysicalDeviceDescriptorIndexingFeaturesEXT :: PhysicalDeviceDescriptorIndexingFeatures +PhysicalDeviceDescriptorIndexingPropertiesEXT :: PhysicalDeviceDescriptorIndexingProperties +DescriptorSetVariableDescriptorCountAllocateInfoEXT :: DescriptorSetVariableDescriptorCountAllocateInfo +DescriptorSetVariableDescriptorCountLayoutSupportEXT :: DescriptorSetVariableDescriptorCountLayoutSupport +RayTracingShaderGroupTypeNV :: RayTracingShaderGroupTypeKHR +GeometryTypeNV :: GeometryTypeKHR +AccelerationStructureTypeNV :: AccelerationStructureTypeKHR +CopyAccelerationStructureModeNV :: CopyAccelerationStructureModeKHR +GeometryFlagsNV :: GeometryFlagsKHR +GeometryFlagNV :: GeometryFlagKHR +GeometryInstanceFlagsNV :: GeometryInstanceFlagsKHR +GeometryInstanceFlagNV :: GeometryInstanceFlagKHR +BuildAccelerationStructureFlagsNV :: BuildAccelerationStructureFlagsKHR +BuildAccelerationStructureFlagNV :: BuildAccelerationStructureFlagKHR +TransformMatrixNV :: TransformMatrixKHR +AabbPositionsNV :: AabbPositionsKHR +AccelerationStructureInstanceNV :: AccelerationStructureInstanceKHR +QueueGlobalPriorityEXT :: QueueGlobalPriorityKHR +DeviceQueueGlobalPriorityCreateInfoEXT :: DeviceQueueGlobalPriorityCreateInfoKHR +PipelineCreationFeedbackFlagEXT :: PipelineCreationFeedbackFlag +PipelineCreationFeedbackFlagsEXT :: PipelineCreationFeedbackFlags +PipelineCreationFeedbackCreateInfoEXT :: PipelineCreationFeedbackCreateInfo +PipelineCreationFeedbackEXT :: PipelineCreationFeedback +PhysicalDeviceFragmentShaderBarycentricFeaturesNV :: PhysicalDeviceFragmentShaderBarycentricFeaturesKHR +QueryPoolCreateInfoINTEL :: QueryPoolPerformanceQueryCreateInfoINTEL +PhysicalDeviceScalarBlockLayoutFeaturesEXT :: PhysicalDeviceScalarBlockLayoutFeatures +PhysicalDeviceSubgroupSizeControlFeaturesEXT :: PhysicalDeviceSubgroupSizeControlFeatures +PhysicalDeviceSubgroupSizeControlPropertiesEXT :: PhysicalDeviceSubgroupSizeControlProperties +PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT :: PipelineShaderStageRequiredSubgroupSizeCreateInfo +PhysicalDeviceBufferAddressFeaturesEXT :: PhysicalDeviceBufferDeviceAddressFeaturesEXT +BufferDeviceAddressInfoEXT :: BufferDeviceAddressInfo +ToolPurposeFlagEXT :: ToolPurposeFlag +ToolPurposeFlagsEXT :: ToolPurposeFlags +PhysicalDeviceToolPropertiesEXT :: PhysicalDeviceToolProperties +ImageStencilUsageCreateInfoEXT :: ImageStencilUsageCreateInfo +PhysicalDeviceHostQueryResetFeaturesEXT :: PhysicalDeviceHostQueryResetFeatures +PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT :: PhysicalDeviceShaderDemoteToHelperInvocationFeatures +PhysicalDeviceTexelBufferAlignmentPropertiesEXT :: PhysicalDeviceTexelBufferAlignmentProperties +PrivateDataSlotEXT :: PrivateDataSlot +PrivateDataSlotCreateFlagsEXT :: PrivateDataSlotCreateFlags +PhysicalDevicePrivateDataFeaturesEXT :: PhysicalDevicePrivateDataFeatures +DevicePrivateDataCreateInfoEXT :: DevicePrivateDataCreateInfo +PrivateDataSlotCreateInfoEXT :: PrivateDataSlotCreateInfo +PhysicalDevicePipelineCreationCacheControlFeaturesEXT :: PhysicalDevicePipelineCreationCacheControlFeatures +PhysicalDeviceImageRobustnessFeaturesEXT :: PhysicalDeviceImageRobustnessFeatures +PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM :: PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT +PhysicalDeviceMutableDescriptorTypeFeaturesVALVE :: PhysicalDeviceMutableDescriptorTypeFeaturesEXT +MutableDescriptorTypeListVALVE :: MutableDescriptorTypeListEXT +MutableDescriptorTypeCreateInfoVALVE :: MutableDescriptorTypeCreateInfoEXT +PipelineInfoEXT :: PipelineInfoKHR +PhysicalDeviceGlobalPriorityQueryFeaturesEXT :: PhysicalDeviceGlobalPriorityQueryFeaturesKHR +QueueFamilyGlobalPriorityPropertiesEXT :: QueueFamilyGlobalPriorityPropertiesKHR +MemoryDecompressionMethodFlagNV :: Flags64 +MemoryDecompressionMethodFlagsNV :: Flags64 +ShaderRequiredSubgroupSizeCreateInfoEXT :: PipelineShaderStageRequiredSubgroupSizeCreateInfo + + |