[{"data":1,"prerenderedAt":772},["ShallowReactive",2],{"G2zLgEeMFJ":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":771,"_id":4},"VkQueueFamilyProperties","Structure providing information about a queue family","VK_VERSION_1_0","structs",[],{"type":10,"children":11,"toc":769},"root",[12,28,277,358,370,382,702,738,750,763],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,26],{"type":18,"value":19},"text","The ",{"type":13,"tag":21,"props":22,"children":24},"code",{"className":23},[],[25],{"type":18,"value":4},{"type":18,"value":27}," structure is defined as:",{"type":13,"tag":29,"props":30,"children":31},"code-group",{},[32,121],{"type":13,"tag":33,"props":34,"children":40},"pre",{"className":35,"code":36,"filename":37,"language":38,"meta":39,"style":39},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkQueueFamilyProperties {\n VkQueueFlags queueFlags;\n uint32_t queueCount;\n uint32_t timestampValidBits;\n VkExtent3D minImageTransferGranularity;\n} VkQueueFamilyProperties;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,90,103,112],{"type":13,"tag":45,"props":46,"children":49},"span",{"class":47,"line":48},"line",1,[50,56,61],{"type":13,"tag":45,"props":51,"children":53},{"style":52},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[54],{"type":18,"value":55},"typedef",{"type":13,"tag":45,"props":57,"children":58},{"style":52},[59],{"type":18,"value":60}," struct",{"type":13,"tag":45,"props":62,"children":64},{"style":63},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[65],{"type":18,"value":66}," VkQueueFamilyProperties {\n",{"type":13,"tag":45,"props":68,"children":70},{"class":47,"line":69},2,[71],{"type":13,"tag":45,"props":72,"children":73},{"style":63},[74],{"type":18,"value":75}," VkQueueFlags queueFlags;\n",{"type":13,"tag":45,"props":77,"children":79},{"class":47,"line":78},3,[80,85],{"type":13,"tag":45,"props":81,"children":82},{"style":52},[83],{"type":18,"value":84}," uint32_t",{"type":13,"tag":45,"props":86,"children":87},{"style":63},[88],{"type":18,"value":89}," queueCount;\n",{"type":13,"tag":45,"props":91,"children":93},{"class":47,"line":92},4,[94,98],{"type":13,"tag":45,"props":95,"children":96},{"style":52},[97],{"type":18,"value":84},{"type":13,"tag":45,"props":99,"children":100},{"style":63},[101],{"type":18,"value":102}," timestampValidBits;\n",{"type":13,"tag":45,"props":104,"children":106},{"class":47,"line":105},5,[107],{"type":13,"tag":45,"props":108,"children":109},{"style":63},[110],{"type":18,"value":111}," VkExtent3D minImageTransferGranularity;\n",{"type":13,"tag":45,"props":113,"children":115},{"class":47,"line":114},6,[116],{"type":13,"tag":45,"props":117,"children":118},{"style":63},[119],{"type":18,"value":120},"} VkQueueFamilyProperties;\n",{"type":13,"tag":33,"props":122,"children":127},{"className":123,"code":124,"filename":125,"language":126,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct QueueFamilyProperties {\n queue_flags: vk::QueueFlags, // Queue flags\n queue_count: u32,\n timestamp_valid_bits: u32,\n min_image_transfer_granularity: vk::Extent3D, // Minimum alignment requirement for image transfers\n}\n","Rust","rs",[128],{"type":13,"tag":21,"props":129,"children":130},{"__ignoreMap":39},[131,154,193,215,235,269],{"type":13,"tag":45,"props":132,"children":133},{"class":47,"line":48},[134,139,143,149],{"type":13,"tag":45,"props":135,"children":136},{"style":52},[137],{"type":18,"value":138},"pub",{"type":13,"tag":45,"props":140,"children":141},{"style":52},[142],{"type":18,"value":60},{"type":13,"tag":45,"props":144,"children":146},{"style":145},"--shiki-default:#953800;--shiki-dark:#FFA657",[147],{"type":18,"value":148}," QueueFamilyProperties",{"type":13,"tag":45,"props":150,"children":151},{"style":63},[152],{"type":18,"value":153}," {\n",{"type":13,"tag":45,"props":155,"children":156},{"class":47,"line":69},[157,162,167,172,177,182,187],{"type":13,"tag":45,"props":158,"children":159},{"style":63},[160],{"type":18,"value":161}," queue_flags",{"type":13,"tag":45,"props":163,"children":164},{"style":52},[165],{"type":18,"value":166},":",{"type":13,"tag":45,"props":168,"children":169},{"style":145},[170],{"type":18,"value":171}," vk",{"type":13,"tag":45,"props":173,"children":174},{"style":52},[175],{"type":18,"value":176},"::",{"type":13,"tag":45,"props":178,"children":179},{"style":145},[180],{"type":18,"value":181},"QueueFlags",{"type":13,"tag":45,"props":183,"children":184},{"style":63},[185],{"type":18,"value":186},", ",{"type":13,"tag":45,"props":188,"children":190},{"style":189},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[191],{"type":18,"value":192},"// Queue flags\n",{"type":13,"tag":45,"props":194,"children":195},{"class":47,"line":78},[196,201,205,210],{"type":13,"tag":45,"props":197,"children":198},{"style":63},[199],{"type":18,"value":200}," queue_count",{"type":13,"tag":45,"props":202,"children":203},{"style":52},[204],{"type":18,"value":166},{"type":13,"tag":45,"props":206,"children":207},{"style":145},[208],{"type":18,"value":209}," u32",{"type":13,"tag":45,"props":211,"children":212},{"style":63},[213],{"type":18,"value":214},",\n",{"type":13,"tag":45,"props":216,"children":217},{"class":47,"line":92},[218,223,227,231],{"type":13,"tag":45,"props":219,"children":220},{"style":63},[221],{"type":18,"value":222}," timestamp_valid_bits",{"type":13,"tag":45,"props":224,"children":225},{"style":52},[226],{"type":18,"value":166},{"type":13,"tag":45,"props":228,"children":229},{"style":145},[230],{"type":18,"value":209},{"type":13,"tag":45,"props":232,"children":233},{"style":63},[234],{"type":18,"value":214},{"type":13,"tag":45,"props":236,"children":237},{"class":47,"line":105},[238,243,247,251,255,260,264],{"type":13,"tag":45,"props":239,"children":240},{"style":63},[241],{"type":18,"value":242}," min_image_transfer_granularity",{"type":13,"tag":45,"props":244,"children":245},{"style":52},[246],{"type":18,"value":166},{"type":13,"tag":45,"props":248,"children":249},{"style":145},[250],{"type":18,"value":171},{"type":13,"tag":45,"props":252,"children":253},{"style":52},[254],{"type":18,"value":176},{"type":13,"tag":45,"props":256,"children":257},{"style":145},[258],{"type":18,"value":259},"Extent3D",{"type":13,"tag":45,"props":261,"children":262},{"style":63},[263],{"type":18,"value":186},{"type":13,"tag":45,"props":265,"children":266},{"style":189},[267],{"type":18,"value":268},"// Minimum alignment requirement for image transfers\n",{"type":13,"tag":45,"props":270,"children":271},{"class":47,"line":114},[272],{"type":13,"tag":45,"props":273,"children":274},{"style":63},[275],{"type":18,"value":276},"}\n",{"type":13,"tag":278,"props":279,"children":280},"ul",{},[281,302,320,347],{"type":13,"tag":282,"props":283,"children":284},"li",{},[285,291,293,300],{"type":13,"tag":21,"props":286,"children":288},{"className":287},[],[289],{"type":18,"value":290},"queueFlags",{"type":18,"value":292}," is a bitmask of ",{"type":13,"tag":294,"props":295,"children":297},"a",{"href":296},"/man/VkQueueFlagBits",[298],{"type":18,"value":299},"VkQueueFlagBits",{"type":18,"value":301}," indicating\ncapabilities of the queues in this queue family.",{"type":13,"tag":282,"props":303,"children":304},{},[305,311,313,318],{"type":13,"tag":21,"props":306,"children":308},{"className":307},[],[309],{"type":18,"value":310},"queueCount",{"type":18,"value":312}," is the unsigned integer count of queues in this queue\nfamily.\nEach queue family ",{"type":13,"tag":314,"props":315,"children":317},"normative",{"type":316},"must",[],{"type":18,"value":319}," support at least one queue.",{"type":13,"tag":282,"props":321,"children":322},{},[323,329,331,337,339,345],{"type":13,"tag":21,"props":324,"children":326},{"className":325},[],[327],{"type":18,"value":328},"timestampValidBits",{"type":18,"value":330}," is the unsigned integer count of meaningful\nbits in the timestamps written via\n",{"type":13,"tag":294,"props":332,"children":334},{"href":333},"/man/vkCmdWriteTimestamp2",[335],{"type":18,"value":336},"vkCmdWriteTimestamp2",{"type":18,"value":338}," or\n",{"type":13,"tag":294,"props":340,"children":342},{"href":341},"/man/vkCmdWriteTimestamp",[343],{"type":18,"value":344},"vkCmdWriteTimestamp",{"type":18,"value":346},".\nThe valid range for the count is 36 to 64 bits, or a value of 0,\nindicating no support for timestamps.\nBits outside the valid range are guaranteed to be zeros.",{"type":13,"tag":282,"props":348,"children":349},{},[350,356],{"type":13,"tag":21,"props":351,"children":353},{"className":352},[],[354],{"type":18,"value":355},"minImageTransferGranularity",{"type":18,"value":357}," is the minimum granularity supported\nfor image transfer operations on the queues in this queue family.",{"type":13,"tag":14,"props":359,"children":360},{},[361,363,368],{"type":18,"value":362},"The value returned in ",{"type":13,"tag":21,"props":364,"children":366},{"className":365},[],[367],{"type":18,"value":355},{"type":18,"value":369}," has a unit of\ncompressed texel blocks for images having a block-compressed format, and a\nunit of texels otherwise.",{"type":13,"tag":14,"props":371,"children":372},{},[373,375,380],{"type":18,"value":374},"Possible values of ",{"type":13,"tag":21,"props":376,"children":378},{"className":377},[],[379],{"type":18,"value":355},{"type":18,"value":381}," are:",{"type":13,"tag":278,"props":383,"children":384},{},[385,477],{"type":13,"tag":282,"props":386,"children":387},{},[388,390,393,395],{"type":18,"value":389},"(0,0,0) specifies that only whole mip levels ",{"type":13,"tag":314,"props":391,"children":392},{"type":316},[],{"type":18,"value":394}," be transferred\nusing the image transfer operations on the corresponding queues.\nIn this case, the following restrictions apply to all offset and extent\nparameters of image transfer operations:",{"type":13,"tag":278,"props":396,"children":397},{},[398,438],{"type":13,"tag":282,"props":399,"children":400},{},[401,402,408,409,415,417,423,425,431,433,436],{"type":18,"value":19},{"type":13,"tag":21,"props":403,"children":405},{"className":404},[],[406],{"type":18,"value":407},"x",{"type":18,"value":186},{"type":13,"tag":21,"props":410,"children":412},{"className":411},[],[413],{"type":18,"value":414},"y",{"type":18,"value":416},", and ",{"type":13,"tag":21,"props":418,"children":420},{"className":419},[],[421],{"type":18,"value":422},"z",{"type":18,"value":424}," members of a ",{"type":13,"tag":294,"props":426,"children":428},{"href":427},"/man/VkOffset3D",[429],{"type":18,"value":430},"VkOffset3D",{"type":18,"value":432},"\nparameter ",{"type":13,"tag":314,"props":434,"children":435},{"type":316},[],{"type":18,"value":437}," always be zero.",{"type":13,"tag":282,"props":439,"children":440},{},[441,442,448,449,455,456,462,464,470,472,475],{"type":18,"value":19},{"type":13,"tag":21,"props":443,"children":445},{"className":444},[],[446],{"type":18,"value":447},"width",{"type":18,"value":186},{"type":13,"tag":21,"props":450,"children":452},{"className":451},[],[453],{"type":18,"value":454},"height",{"type":18,"value":416},{"type":13,"tag":21,"props":457,"children":459},{"className":458},[],[460],{"type":18,"value":461},"depth",{"type":18,"value":463}," members of a\n",{"type":13,"tag":294,"props":465,"children":467},{"href":466},"/man/VkExtent3D",[468],{"type":18,"value":469},"VkExtent3D",{"type":18,"value":471}," parameter ",{"type":13,"tag":314,"props":473,"children":474},{"type":316},[],{"type":18,"value":476}," always match the width, height, and\ndepth of the image subresource corresponding to the parameter,\nrespectively.",{"type":13,"tag":282,"props":478,"children":479},{},[480,482,487,489,493,494,498,500,504,505,509,511,515,517],{"type":18,"value":481},"(A",{"type":13,"tag":483,"props":484,"children":485},"sub",{},[486],{"type":18,"value":407},{"type":18,"value":488},", A",{"type":13,"tag":483,"props":490,"children":491},{},[492],{"type":18,"value":414},{"type":18,"value":488},{"type":13,"tag":483,"props":495,"children":496},{},[497],{"type":18,"value":422},{"type":18,"value":499},") where A",{"type":13,"tag":483,"props":501,"children":502},{},[503],{"type":18,"value":407},{"type":18,"value":488},{"type":13,"tag":483,"props":506,"children":507},{},[508],{"type":18,"value":414},{"type":18,"value":510},", and A",{"type":13,"tag":483,"props":512,"children":513},{},[514],{"type":18,"value":422},{"type":18,"value":516},"\nare all integer powers of two.\nIn this case the following restrictions apply to all image transfer\noperations:",{"type":13,"tag":278,"props":518,"children":519},{},[520,568,612,652,692],{"type":13,"tag":282,"props":521,"children":522},{},[523,528,529,534,535,540,542,546,547,550,552,556,557,561,562,566],{"type":13,"tag":21,"props":524,"children":526},{"className":525},[],[527],{"type":18,"value":407},{"type":18,"value":186},{"type":13,"tag":21,"props":530,"children":532},{"className":531},[],[533],{"type":18,"value":414},{"type":18,"value":416},{"type":13,"tag":21,"props":536,"children":538},{"className":537},[],[539],{"type":18,"value":422},{"type":18,"value":541}," of a ",{"type":13,"tag":294,"props":543,"children":544},{"href":427},[545],{"type":18,"value":430},{"type":18,"value":471},{"type":13,"tag":314,"props":548,"children":549},{"type":316},[],{"type":18,"value":551}," be\ninteger multiples of A",{"type":13,"tag":483,"props":553,"children":554},{},[555],{"type":18,"value":407},{"type":18,"value":488},{"type":13,"tag":483,"props":558,"children":559},{},[560],{"type":18,"value":414},{"type":18,"value":510},{"type":13,"tag":483,"props":563,"children":564},{},[565],{"type":18,"value":422},{"type":18,"value":567},",\nrespectively.",{"type":13,"tag":282,"props":569,"children":570},{},[571,576,577,581,582,585,587,591,593,598,600,605,607,610],{"type":13,"tag":21,"props":572,"children":574},{"className":573},[],[575],{"type":18,"value":447},{"type":18,"value":541},{"type":13,"tag":294,"props":578,"children":579},{"href":466},[580],{"type":18,"value":469},{"type":18,"value":471},{"type":13,"tag":314,"props":583,"children":584},{"type":316},[],{"type":18,"value":586}," be an integer\nmultiple of A",{"type":13,"tag":483,"props":588,"children":589},{},[590],{"type":18,"value":407},{"type":18,"value":592},", or else ",{"type":13,"tag":21,"props":594,"children":596},{"className":595},[],[597],{"type":18,"value":407},{"type":18,"value":599}," + ",{"type":13,"tag":21,"props":601,"children":603},{"className":602},[],[604],{"type":18,"value":447},{"type":18,"value":606}," ",{"type":13,"tag":314,"props":608,"children":609},{"type":316},[],{"type":18,"value":611},"\nequal the width of the image subresource corresponding to the\nparameter.",{"type":13,"tag":282,"props":613,"children":614},{},[615,620,621,625,626,629,630,634,635,640,641,646,647,650],{"type":13,"tag":21,"props":616,"children":618},{"className":617},[],[619],{"type":18,"value":454},{"type":18,"value":541},{"type":13,"tag":294,"props":622,"children":623},{"href":466},[624],{"type":18,"value":469},{"type":18,"value":471},{"type":13,"tag":314,"props":627,"children":628},{"type":316},[],{"type":18,"value":586},{"type":13,"tag":483,"props":631,"children":632},{},[633],{"type":18,"value":414},{"type":18,"value":592},{"type":13,"tag":21,"props":636,"children":638},{"className":637},[],[639],{"type":18,"value":414},{"type":18,"value":599},{"type":13,"tag":21,"props":642,"children":644},{"className":643},[],[645],{"type":18,"value":454},{"type":18,"value":606},{"type":13,"tag":314,"props":648,"children":649},{"type":316},[],{"type":18,"value":651},"\nequal the height of the image subresource corresponding to the\nparameter.",{"type":13,"tag":282,"props":653,"children":654},{},[655,660,661,665,666,669,670,674,675,680,681,686,687,690],{"type":13,"tag":21,"props":656,"children":658},{"className":657},[],[659],{"type":18,"value":461},{"type":18,"value":541},{"type":13,"tag":294,"props":662,"children":663},{"href":466},[664],{"type":18,"value":469},{"type":18,"value":471},{"type":13,"tag":314,"props":667,"children":668},{"type":316},[],{"type":18,"value":586},{"type":13,"tag":483,"props":671,"children":672},{},[673],{"type":18,"value":422},{"type":18,"value":592},{"type":13,"tag":21,"props":676,"children":678},{"className":677},[],[679],{"type":18,"value":422},{"type":18,"value":599},{"type":13,"tag":21,"props":682,"children":684},{"className":683},[],[685],{"type":18,"value":461},{"type":18,"value":606},{"type":13,"tag":314,"props":688,"children":689},{"type":316},[],{"type":18,"value":691},"\nequal the depth of the image subresource corresponding to the\nparameter.",{"type":13,"tag":282,"props":693,"children":694},{},[695,697,700],{"type":18,"value":696},"If the format of the image corresponding to the parameters is one of\nthe block-compressed formats then for the purposes of the above\ncalculations the granularity ",{"type":13,"tag":314,"props":698,"children":699},{"type":316},[],{"type":18,"value":701}," be scaled up by the compressed texel\nblock dimensions.",{"type":13,"tag":14,"props":703,"children":704},{},[705,707,710,712,717,719,723,725,730,732,736],{"type":18,"value":706},"Queues supporting graphics and/or compute operations ",{"type":13,"tag":314,"props":708,"children":709},{"type":316},[],{"type":18,"value":711}," report\n(1,1,1) in ",{"type":13,"tag":21,"props":713,"children":715},{"className":714},[],[716],{"type":18,"value":355},{"type":18,"value":718},", meaning that there are\nno additional restrictions on the granularity of image transfer operations\nfor these queues.\nOther queues supporting image transfer operations are only ",{"type":13,"tag":314,"props":720,"children":722},{"type":721},"required",[],{"type":18,"value":724}," to\nsupport whole mip level transfers, thus ",{"type":13,"tag":21,"props":726,"children":728},{"className":727},[],[729],{"type":18,"value":355},{"type":18,"value":731},"\nfor queues belonging to such queue families ",{"type":13,"tag":314,"props":733,"children":735},{"type":734},"may",[],{"type":18,"value":737}," be (0,0,0).",{"type":13,"tag":14,"props":739,"children":740},{},[741,742,748],{"type":18,"value":19},{"type":13,"tag":294,"props":743,"children":745},{"href":744},"/chapters/memory#memory-device",[746],{"type":18,"value":747},"Device Memory",{"type":18,"value":749}," section describes memory properties\nqueried from the physical device.",{"type":13,"tag":14,"props":751,"children":752},{},[753,755,761],{"type":18,"value":754},"For physical device feature queries see the ",{"type":13,"tag":294,"props":756,"children":758},{"href":757},"/chapters/features#features",[759],{"type":18,"value":760},"Features",{"type":18,"value":762}," chapter.",{"type":13,"tag":764,"props":765,"children":766},"style",{},[767],{"type":18,"value":768},"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":39,"searchDepth":69,"depth":69,"links":770},[],"markdown",1725732581869]