[{"data":1,"prerenderedAt":249},["ShallowReactive",2],{"WSuSQaSUT6":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":11,"_type":248,"_id":4},"VkFlags","Vulkan bitmasks","VK_VERSION_1_0","basetypes",[9,10],"VkColorComponentFlags","VkFlags64",{"type":12,"children":13,"toc":245},"root",[14,30,65,98,117,180,210,215,239],{"type":15,"tag":16,"props":17,"children":18},"element","p",{},[19,22,28],{"type":20,"value":21},"text","A collection of flags is represented by a bitmask using the type\n",{"type":15,"tag":23,"props":24,"children":26},"a",{"href":25},"/man/VkFlags",[27],{"type":20,"value":4},{"type":20,"value":29},":",{"type":15,"tag":31,"props":32,"children":37},"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-c shiki shiki-themes github-light-default github-dark-default","typedef uint32_t VkFlags;\n","c","",[38],{"type":15,"tag":39,"props":40,"children":41},"code",{"__ignoreMap":36},[42],{"type":15,"tag":43,"props":44,"children":47},"span",{"class":45,"line":46},"line",1,[48,54,59],{"type":15,"tag":43,"props":49,"children":51},{"style":50},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[52],{"type":20,"value":53},"typedef",{"type":15,"tag":43,"props":55,"children":56},{"style":50},[57],{"type":20,"value":58}," uint32_t",{"type":15,"tag":43,"props":60,"children":62},{"style":61},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[63],{"type":20,"value":64}," VkFlags;\n",{"type":15,"tag":16,"props":66,"children":67},{},[68,70,74,76,82,84,88,90,96],{"type":20,"value":69},"Bitmasks are passed to many commands and structures to compactly represent\noptions, but ",{"type":15,"tag":23,"props":71,"children":72},{"href":25},[73],{"type":20,"value":4},{"type":20,"value":75}," is not used directly in the API.\nInstead, a ",{"type":15,"tag":39,"props":77,"children":79},{"className":78},[],[80],{"type":20,"value":81},"Vk*Flags",{"type":20,"value":83}," type which is an alias of ",{"type":15,"tag":23,"props":85,"children":86},{"href":25},[87],{"type":20,"value":4},{"type":20,"value":89},", and\nwhose name matches the corresponding ",{"type":15,"tag":39,"props":91,"children":93},{"className":92},[],[94],{"type":20,"value":95},"Vk*FlagBits",{"type":20,"value":97}," that are valid for\nthat type, is used.",{"type":15,"tag":16,"props":99,"children":100},{},[101,103,108,110,115],{"type":20,"value":102},"Any ",{"type":15,"tag":39,"props":104,"children":106},{"className":105},[],[107],{"type":20,"value":81},{"type":20,"value":109}," member or parameter used in the API as an input ",{"type":15,"tag":111,"props":112,"children":114},"normative",{"type":113},"must",[],{"type":20,"value":116}," be\na valid combination of bit flags.\nA valid combination is either zero or the bitwise OR of valid bit flags.",{"type":15,"tag":16,"props":118,"children":119},{},[120,122,127,129,135,137,142,144,150,152,158,160,165,167,170,172,178],{"type":20,"value":121},"An individual bit flag is valid for a ",{"type":15,"tag":39,"props":123,"children":125},{"className":124},[],[126],{"type":20,"value":81},{"type":20,"value":128}," type if it would be a\n",{"type":15,"tag":23,"props":130,"children":132},{"href":131},"/chapters/fundamentals#fundamentals-validusage-enums",[133],{"type":20,"value":134},"valid enumerant",{"type":20,"value":136}," when used with the\nequivalent ",{"type":15,"tag":39,"props":138,"children":140},{"className":139},[],[141],{"type":20,"value":95},{"type":20,"value":143}," type, where the bits type is obtained by taking\nthe flag type and replacing the trailing ",{"type":15,"tag":39,"props":145,"children":147},{"className":146},[],[148],{"type":20,"value":149},"Flags",{"type":20,"value":151}," with ",{"type":15,"tag":39,"props":153,"children":155},{"className":154},[],[156],{"type":20,"value":157},"FlagBits",{"type":20,"value":159},".\nFor example, a flag value of type ",{"type":15,"tag":23,"props":161,"children":163},{"href":162},"/man/VkColorComponentFlags",[164],{"type":20,"value":9},{"type":20,"value":166}," ",{"type":15,"tag":111,"props":168,"children":169},{"type":113},[],{"type":20,"value":171}," contain\nonly bit flags defined by ",{"type":15,"tag":23,"props":173,"children":175},{"href":174},"/man/VkColorComponentFlagBits",[176],{"type":20,"value":177},"VkColorComponentFlagBits",{"type":20,"value":179},".",{"type":15,"tag":16,"props":181,"children":182},{},[183,184,189,191,195,197,202,204,208],{"type":20,"value":102},{"type":15,"tag":39,"props":185,"children":187},{"className":186},[],[188],{"type":20,"value":81},{"type":20,"value":190}," member or parameter returned from a query command or\notherwise output from Vulkan to the application ",{"type":15,"tag":111,"props":192,"children":194},{"type":193},"may",[],{"type":20,"value":196}," contain bit flags\nundefined: in its corresponding ",{"type":15,"tag":39,"props":198,"children":200},{"className":199},[],[201],{"type":20,"value":95},{"type":20,"value":203}," type.\nAn application ",{"type":15,"tag":111,"props":205,"children":207},{"type":206},"cannot",[],{"type":20,"value":209}," rely on the state of these unspecified bits.",{"type":15,"tag":16,"props":211,"children":212},{},[213],{"type":20,"value":214},"Only the low-order 31 bits (bit positions zero through 30) are available for\nuse as flag bits.",{"type":15,"tag":216,"props":217,"children":218},"note",{},[219],{"type":15,"tag":16,"props":220,"children":221},{},[222,224,230,232,237],{"type":20,"value":223},"This restriction is due to poorly defined behavior by C compilers given a C\nenumerant value of ",{"type":15,"tag":39,"props":225,"children":227},{"className":226},[],[228],{"type":20,"value":229},"0x80000000",{"type":20,"value":231},".\nIn some cases adding this enumerant value may increase the size of the\nunderlying ",{"type":15,"tag":39,"props":233,"children":235},{"className":234},[],[236],{"type":20,"value":95},{"type":20,"value":238}," type, breaking the ABI.",{"type":15,"tag":240,"props":241,"children":242},"style",{},[243],{"type":20,"value":244},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":246,"depth":246,"links":247},2,[],"markdown",1729612448627]