[{"data":1,"prerenderedAt":2252},["ShallowReactive",2],{"ZbjLNNPltz":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":2251,"_id":4},"VkSubpassDependency","Structure specifying a subpass dependency","VK_VERSION_1_0","structs",[],{"type":10,"children":11,"toc":2249},"root",[12,28,389,540,645,681,772,849,886,918,938,1056,2127,2243],{"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,148],{"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 VkSubpassDependency {\n uint32_t srcSubpass;\n uint32_t dstSubpass;\n VkPipelineStageFlags srcStageMask;\n VkPipelineStageFlags dstStageMask;\n VkAccessFlags srcAccessMask;\n VkAccessFlags dstAccessMask;\n VkDependencyFlags dependencyFlags;\n} VkSubpassDependency;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,81,94,103,112,121,130,139],{"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}," VkSubpassDependency {\n",{"type":13,"tag":45,"props":68,"children":70},{"class":47,"line":69},2,[71,76],{"type":13,"tag":45,"props":72,"children":73},{"style":52},[74],{"type":18,"value":75}," uint32_t",{"type":13,"tag":45,"props":77,"children":78},{"style":63},[79],{"type":18,"value":80}," srcSubpass;\n",{"type":13,"tag":45,"props":82,"children":84},{"class":47,"line":83},3,[85,89],{"type":13,"tag":45,"props":86,"children":87},{"style":52},[88],{"type":18,"value":75},{"type":13,"tag":45,"props":90,"children":91},{"style":63},[92],{"type":18,"value":93}," dstSubpass;\n",{"type":13,"tag":45,"props":95,"children":97},{"class":47,"line":96},4,[98],{"type":13,"tag":45,"props":99,"children":100},{"style":63},[101],{"type":18,"value":102}," VkPipelineStageFlags srcStageMask;\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}," VkPipelineStageFlags dstStageMask;\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}," VkAccessFlags srcAccessMask;\n",{"type":13,"tag":45,"props":122,"children":124},{"class":47,"line":123},7,[125],{"type":13,"tag":45,"props":126,"children":127},{"style":63},[128],{"type":18,"value":129}," VkAccessFlags dstAccessMask;\n",{"type":13,"tag":45,"props":131,"children":133},{"class":47,"line":132},8,[134],{"type":13,"tag":45,"props":135,"children":136},{"style":63},[137],{"type":18,"value":138}," VkDependencyFlags dependencyFlags;\n",{"type":13,"tag":45,"props":140,"children":142},{"class":47,"line":141},9,[143],{"type":13,"tag":45,"props":144,"children":145},{"style":63},[146],{"type":18,"value":147},"} VkSubpassDependency;\n",{"type":13,"tag":33,"props":149,"children":154},{"className":150,"code":151,"filename":152,"language":153,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct SubpassDependency {\n src_subpass: u32,\n dst_subpass: u32,\n src_stage_mask: vk::PipelineStageFlags,\n dst_stage_mask: vk::PipelineStageFlags,\n src_access_mask: vk::AccessFlags, // Memory accesses from the source of the dependency to synchronize\n dst_access_mask: vk::AccessFlags, // Memory accesses from the destination of the dependency to synchronize\n dependency_flags: vk::DependencyFlags,\n}\n","Rust","rs",[155],{"type":13,"tag":21,"props":156,"children":157},{"__ignoreMap":39},[158,181,204,224,255,283,319,352,381],{"type":13,"tag":45,"props":159,"children":160},{"class":47,"line":48},[161,166,170,176],{"type":13,"tag":45,"props":162,"children":163},{"style":52},[164],{"type":18,"value":165},"pub",{"type":13,"tag":45,"props":167,"children":168},{"style":52},[169],{"type":18,"value":60},{"type":13,"tag":45,"props":171,"children":173},{"style":172},"--shiki-default:#953800;--shiki-dark:#FFA657",[174],{"type":18,"value":175}," SubpassDependency",{"type":13,"tag":45,"props":177,"children":178},{"style":63},[179],{"type":18,"value":180}," {\n",{"type":13,"tag":45,"props":182,"children":183},{"class":47,"line":69},[184,189,194,199],{"type":13,"tag":45,"props":185,"children":186},{"style":63},[187],{"type":18,"value":188}," src_subpass",{"type":13,"tag":45,"props":190,"children":191},{"style":52},[192],{"type":18,"value":193},":",{"type":13,"tag":45,"props":195,"children":196},{"style":172},[197],{"type":18,"value":198}," u32",{"type":13,"tag":45,"props":200,"children":201},{"style":63},[202],{"type":18,"value":203},",\n",{"type":13,"tag":45,"props":205,"children":206},{"class":47,"line":83},[207,212,216,220],{"type":13,"tag":45,"props":208,"children":209},{"style":63},[210],{"type":18,"value":211}," dst_subpass",{"type":13,"tag":45,"props":213,"children":214},{"style":52},[215],{"type":18,"value":193},{"type":13,"tag":45,"props":217,"children":218},{"style":172},[219],{"type":18,"value":198},{"type":13,"tag":45,"props":221,"children":222},{"style":63},[223],{"type":18,"value":203},{"type":13,"tag":45,"props":225,"children":226},{"class":47,"line":96},[227,232,236,241,246,251],{"type":13,"tag":45,"props":228,"children":229},{"style":63},[230],{"type":18,"value":231}," src_stage_mask",{"type":13,"tag":45,"props":233,"children":234},{"style":52},[235],{"type":18,"value":193},{"type":13,"tag":45,"props":237,"children":238},{"style":172},[239],{"type":18,"value":240}," vk",{"type":13,"tag":45,"props":242,"children":243},{"style":52},[244],{"type":18,"value":245},"::",{"type":13,"tag":45,"props":247,"children":248},{"style":172},[249],{"type":18,"value":250},"PipelineStageFlags",{"type":13,"tag":45,"props":252,"children":253},{"style":63},[254],{"type":18,"value":203},{"type":13,"tag":45,"props":256,"children":257},{"class":47,"line":105},[258,263,267,271,275,279],{"type":13,"tag":45,"props":259,"children":260},{"style":63},[261],{"type":18,"value":262}," dst_stage_mask",{"type":13,"tag":45,"props":264,"children":265},{"style":52},[266],{"type":18,"value":193},{"type":13,"tag":45,"props":268,"children":269},{"style":172},[270],{"type":18,"value":240},{"type":13,"tag":45,"props":272,"children":273},{"style":52},[274],{"type":18,"value":245},{"type":13,"tag":45,"props":276,"children":277},{"style":172},[278],{"type":18,"value":250},{"type":13,"tag":45,"props":280,"children":281},{"style":63},[282],{"type":18,"value":203},{"type":13,"tag":45,"props":284,"children":285},{"class":47,"line":114},[286,291,295,299,303,308,313],{"type":13,"tag":45,"props":287,"children":288},{"style":63},[289],{"type":18,"value":290}," src_access_mask",{"type":13,"tag":45,"props":292,"children":293},{"style":52},[294],{"type":18,"value":193},{"type":13,"tag":45,"props":296,"children":297},{"style":172},[298],{"type":18,"value":240},{"type":13,"tag":45,"props":300,"children":301},{"style":52},[302],{"type":18,"value":245},{"type":13,"tag":45,"props":304,"children":305},{"style":172},[306],{"type":18,"value":307},"AccessFlags",{"type":13,"tag":45,"props":309,"children":310},{"style":63},[311],{"type":18,"value":312},", ",{"type":13,"tag":45,"props":314,"children":316},{"style":315},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[317],{"type":18,"value":318},"// Memory accesses from the source of the dependency to synchronize\n",{"type":13,"tag":45,"props":320,"children":321},{"class":47,"line":123},[322,327,331,335,339,343,347],{"type":13,"tag":45,"props":323,"children":324},{"style":63},[325],{"type":18,"value":326}," dst_access_mask",{"type":13,"tag":45,"props":328,"children":329},{"style":52},[330],{"type":18,"value":193},{"type":13,"tag":45,"props":332,"children":333},{"style":172},[334],{"type":18,"value":240},{"type":13,"tag":45,"props":336,"children":337},{"style":52},[338],{"type":18,"value":245},{"type":13,"tag":45,"props":340,"children":341},{"style":172},[342],{"type":18,"value":307},{"type":13,"tag":45,"props":344,"children":345},{"style":63},[346],{"type":18,"value":312},{"type":13,"tag":45,"props":348,"children":349},{"style":315},[350],{"type":18,"value":351},"// Memory accesses from the destination of the dependency to synchronize\n",{"type":13,"tag":45,"props":353,"children":354},{"class":47,"line":132},[355,360,364,368,372,377],{"type":13,"tag":45,"props":356,"children":357},{"style":63},[358],{"type":18,"value":359}," dependency_flags",{"type":13,"tag":45,"props":361,"children":362},{"style":52},[363],{"type":18,"value":193},{"type":13,"tag":45,"props":365,"children":366},{"style":172},[367],{"type":18,"value":240},{"type":13,"tag":45,"props":369,"children":370},{"style":52},[371],{"type":18,"value":245},{"type":13,"tag":45,"props":373,"children":374},{"style":172},[375],{"type":18,"value":376},"DependencyFlags",{"type":13,"tag":45,"props":378,"children":379},{"style":63},[380],{"type":18,"value":203},{"type":13,"tag":45,"props":382,"children":383},{"class":47,"line":141},[384],{"type":13,"tag":45,"props":385,"children":386},{"style":63},[387],{"type":18,"value":388},"}\n",{"type":13,"tag":390,"props":391,"children":392},"ul",{},[393,413,430,457,477,502,523],{"type":13,"tag":394,"props":395,"children":396},"li",{},[397,403,405,411],{"type":13,"tag":21,"props":398,"children":400},{"className":399},[],[401],{"type":18,"value":402},"srcSubpass",{"type":18,"value":404}," is the subpass index of the first subpass in the\ndependency, or ",{"type":13,"tag":21,"props":406,"children":408},{"className":407},[],[409],{"type":18,"value":410},"VK_SUBPASS_EXTERNAL",{"type":18,"value":412},".",{"type":13,"tag":394,"props":414,"children":415},{},[416,422,424,429],{"type":13,"tag":21,"props":417,"children":419},{"className":418},[],[420],{"type":18,"value":421},"dstSubpass",{"type":18,"value":423}," is the subpass index of the second subpass in the\ndependency, or ",{"type":13,"tag":21,"props":425,"children":427},{"className":426},[],[428],{"type":18,"value":410},{"type":18,"value":412},{"type":13,"tag":394,"props":431,"children":432},{},[433,439,441,448,450,456],{"type":13,"tag":21,"props":434,"children":436},{"className":435},[],[437],{"type":18,"value":438},"srcStageMask",{"type":18,"value":440}," is a bitmask of ",{"type":13,"tag":442,"props":443,"children":445},"a",{"href":444},"/man/VkPipelineStageFlagBits",[446],{"type":18,"value":447},"VkPipelineStageFlagBits",{"type":18,"value":449},"\nspecifying the ",{"type":13,"tag":442,"props":451,"children":453},{"href":452},"/chapters/synchronization#synchronization-pipeline-stages-masks",[454],{"type":18,"value":455},"source stage\nmask",{"type":18,"value":412},{"type":13,"tag":394,"props":458,"children":459},{},[460,466,467,471,472],{"type":13,"tag":21,"props":461,"children":463},{"className":462},[],[464],{"type":18,"value":465},"dstStageMask",{"type":18,"value":440},{"type":13,"tag":442,"props":468,"children":469},{"href":444},[470],{"type":18,"value":447},{"type":18,"value":449},{"type":13,"tag":442,"props":473,"children":474},{"href":452},[475],{"type":18,"value":476},"destination\nstage mask",{"type":13,"tag":394,"props":478,"children":479},{},[480,486,487,493,495,501],{"type":13,"tag":21,"props":481,"children":483},{"className":482},[],[484],{"type":18,"value":485},"srcAccessMask",{"type":18,"value":440},{"type":13,"tag":442,"props":488,"children":490},{"href":489},"/man/VkAccessFlagBits",[491],{"type":18,"value":492},"VkAccessFlagBits",{"type":18,"value":494}," specifying a\n",{"type":13,"tag":442,"props":496,"children":498},{"href":497},"/chapters/synchronization#synchronization-access-masks",[499],{"type":18,"value":500},"source access mask",{"type":18,"value":412},{"type":13,"tag":394,"props":503,"children":504},{},[505,511,512,516,517,522],{"type":13,"tag":21,"props":506,"children":508},{"className":507},[],[509],{"type":18,"value":510},"dstAccessMask",{"type":18,"value":440},{"type":13,"tag":442,"props":513,"children":514},{"href":489},[515],{"type":18,"value":492},{"type":18,"value":494},{"type":13,"tag":442,"props":518,"children":519},{"href":497},[520],{"type":18,"value":521},"destination access mask",{"type":18,"value":412},{"type":13,"tag":394,"props":524,"children":525},{},[526,532,533,539],{"type":13,"tag":21,"props":527,"children":529},{"className":528},[],[530],{"type":18,"value":531},"dependencyFlags",{"type":18,"value":440},{"type":13,"tag":442,"props":534,"children":536},{"href":535},"/man/VkDependencyFlagBits",[537],{"type":18,"value":538},"VkDependencyFlagBits",{"type":18,"value":412},{"type":13,"tag":14,"props":541,"children":542},{},[543,545,550,552,557,559,564,566,572,574,579,581,587,589,594,596,599,601,605,607,612,614,617,619,625,627,632,633,636,638,644],{"type":18,"value":544},"If ",{"type":13,"tag":21,"props":546,"children":548},{"className":547},[],[549],{"type":18,"value":402},{"type":18,"value":551}," is equal to ",{"type":13,"tag":21,"props":553,"children":555},{"className":554},[],[556],{"type":18,"value":421},{"type":18,"value":558}," then the\n",{"type":13,"tag":442,"props":560,"children":562},{"href":561},"/man/VkSubpassDependency",[563],{"type":18,"value":4},{"type":18,"value":565}," does not directly define a\n",{"type":13,"tag":442,"props":567,"children":569},{"href":568},"/chapters/synchronization#synchronization-dependencies",[570],{"type":18,"value":571},"dependency",{"type":18,"value":573},".\nInstead, it enables pipeline barriers to be used in a render pass instance\nwithin the identified subpass, where the scopes of one pipeline barrier\n",{"type":13,"tag":575,"props":576,"children":578},"normative",{"type":577},"must",[],{"type":18,"value":580}," be a subset of those described by one subpass dependency.\nSubpass dependencies specified in this way that include\n",{"type":13,"tag":442,"props":582,"children":584},{"href":583},"/chapters/synchronization#synchronization-framebuffer-regions",[585],{"type":18,"value":586},"framebuffer-space stages",{"type":18,"value":588}," in the\n",{"type":13,"tag":21,"props":590,"children":592},{"className":591},[],[593],{"type":18,"value":438},{"type":18,"value":595}," ",{"type":13,"tag":575,"props":597,"children":598},{"type":577},[],{"type":18,"value":600}," only include\n",{"type":13,"tag":442,"props":602,"children":603},{"href":583},[604],{"type":18,"value":586},{"type":18,"value":606}," in\n",{"type":13,"tag":21,"props":608,"children":610},{"className":609},[],[611],{"type":18,"value":465},{"type":18,"value":613},", and ",{"type":13,"tag":575,"props":615,"children":616},{"type":577},[],{"type":18,"value":618}," include ",{"type":13,"tag":21,"props":620,"children":622},{"className":621},[],[623],{"type":18,"value":624},"VK_DEPENDENCY_BY_REGION_BIT",{"type":18,"value":626},".\nWhen a subpass dependency is specified in this way for a subpass that has\nmore than one view in its view mask, its ",{"type":13,"tag":21,"props":628,"children":630},{"className":629},[],[631],{"type":18,"value":531},{"type":18,"value":595},{"type":13,"tag":575,"props":634,"children":635},{"type":577},[],{"type":18,"value":637}," include\n",{"type":13,"tag":21,"props":639,"children":641},{"className":640},[],[642],{"type":18,"value":643},"VK_DEPENDENCY_VIEW_LOCAL_BIT",{"type":18,"value":412},{"type":13,"tag":14,"props":646,"children":647},{},[648,649,654,656,661,663,667,669,674,675,680],{"type":18,"value":544},{"type":13,"tag":21,"props":650,"children":652},{"className":651},[],[653],{"type":18,"value":402},{"type":18,"value":655}," and ",{"type":13,"tag":21,"props":657,"children":659},{"className":658},[],[660],{"type":18,"value":421},{"type":18,"value":662}," are not equal, when a render pass\ninstance which includes a subpass dependency is submitted to a queue, it\ndefines a ",{"type":13,"tag":442,"props":664,"children":665},{"href":568},[666],{"type":18,"value":571},{"type":18,"value":668}," between the subpasses\nidentified by ",{"type":13,"tag":21,"props":670,"children":672},{"className":671},[],[673],{"type":18,"value":402},{"type":18,"value":655},{"type":13,"tag":21,"props":676,"children":678},{"className":677},[],[679],{"type":18,"value":421},{"type":18,"value":412},{"type":13,"tag":14,"props":682,"children":683},{},[684,685,690,691,696,698,704,706,712,714,720,722,727,729,735,736,742,744,750,752,757,759,764,766,771],{"type":18,"value":544},{"type":13,"tag":21,"props":686,"children":688},{"className":687},[],[689],{"type":18,"value":402},{"type":18,"value":551},{"type":13,"tag":21,"props":692,"children":694},{"className":693},[],[695],{"type":18,"value":410},{"type":18,"value":697},", the first\n",{"type":13,"tag":442,"props":699,"children":701},{"href":700},"/chapters/synchronization#synchronization-dependencies-scopes",[702],{"type":18,"value":703},"synchronization scope",{"type":18,"value":705}," includes\ncommands that occur earlier in ",{"type":13,"tag":442,"props":707,"children":709},{"href":708},"/chapters/synchronization#synchronization-submission-order",[710],{"type":18,"value":711},"submission\norder",{"type":18,"value":713}," than the ",{"type":13,"tag":442,"props":715,"children":717},{"href":716},"/man/vkCmdBeginRenderPass",[718],{"type":18,"value":719},"vkCmdBeginRenderPass",{"type":18,"value":721}," used to begin the render pass\ninstance.\nOtherwise, the first set of commands includes all commands submitted as part\nof the subpass instance identified by ",{"type":13,"tag":21,"props":723,"children":725},{"className":724},[],[726],{"type":18,"value":402},{"type":18,"value":728}," and any\n",{"type":13,"tag":442,"props":730,"children":732},{"href":731},"/chapters/renderpass#renderpass-load-operations",[733],{"type":18,"value":734},"load",{"type":18,"value":312},{"type":13,"tag":442,"props":737,"children":739},{"href":738},"/chapters/renderpass#renderpass-store-operations",[740],{"type":18,"value":741},"store",{"type":18,"value":743},", or ",{"type":13,"tag":442,"props":745,"children":747},{"href":746},"/chapters/renderpass#renderpass-resolve-operations",[748],{"type":18,"value":749},"multisample resolve",{"type":18,"value":751},"\noperations on attachments used in ",{"type":13,"tag":21,"props":753,"children":755},{"className":754},[],[756],{"type":18,"value":402},{"type":18,"value":758},".\nIn either case, the first synchronization scope is limited to operations on\nthe pipeline stages determined by the\n",{"type":13,"tag":442,"props":760,"children":761},{"href":452},[762],{"type":18,"value":763},"source stage mask",{"type":18,"value":765}," specified by\n",{"type":13,"tag":21,"props":767,"children":769},{"className":768},[],[770],{"type":18,"value":438},{"type":18,"value":412},{"type":13,"tag":14,"props":773,"children":774},{},[775,776,781,782,787,789,793,795,799,800,806,808,813,814,818,819,823,824,828,829,834,836,841,843,848],{"type":18,"value":544},{"type":13,"tag":21,"props":777,"children":779},{"className":778},[],[780],{"type":18,"value":421},{"type":18,"value":551},{"type":13,"tag":21,"props":783,"children":785},{"className":784},[],[786],{"type":18,"value":410},{"type":18,"value":788},", the second\n",{"type":13,"tag":442,"props":790,"children":791},{"href":700},[792],{"type":18,"value":703},{"type":18,"value":794}," includes\ncommands that occur later in ",{"type":13,"tag":442,"props":796,"children":797},{"href":708},[798],{"type":18,"value":711},{"type":18,"value":713},{"type":13,"tag":442,"props":801,"children":803},{"href":802},"/man/vkCmdEndRenderPass",[804],{"type":18,"value":805},"vkCmdEndRenderPass",{"type":18,"value":807}," used to end the render pass\ninstance.\nOtherwise, the second set of commands includes all commands submitted as\npart of the subpass instance identified by ",{"type":13,"tag":21,"props":809,"children":811},{"className":810},[],[812],{"type":18,"value":421},{"type":18,"value":728},{"type":13,"tag":442,"props":815,"children":816},{"href":731},[817],{"type":18,"value":734},{"type":18,"value":312},{"type":13,"tag":442,"props":820,"children":821},{"href":738},[822],{"type":18,"value":741},{"type":18,"value":613},{"type":13,"tag":442,"props":825,"children":826},{"href":746},[827],{"type":18,"value":749},{"type":18,"value":751},{"type":13,"tag":21,"props":830,"children":832},{"className":831},[],[833],{"type":18,"value":421},{"type":18,"value":835},".\nIn either case, the second synchronization scope is limited to operations on\nthe pipeline stages determined by the\n",{"type":13,"tag":442,"props":837,"children":838},{"href":452},[839],{"type":18,"value":840},"destination stage mask",{"type":18,"value":842}," specified\nby ",{"type":13,"tag":21,"props":844,"children":846},{"className":845},[],[847],{"type":18,"value":465},{"type":18,"value":412},{"type":13,"tag":14,"props":850,"children":851},{},[852,854,860,862,866,867,872,874,878,880,885],{"type":18,"value":853},"The first ",{"type":13,"tag":442,"props":855,"children":857},{"href":856},"/chapters/synchronization#synchronization-dependencies-access-scopes",[858],{"type":18,"value":859},"access scope",{"type":18,"value":861}," is\nlimited to accesses in the pipeline stages determined by the\n",{"type":13,"tag":442,"props":863,"children":864},{"href":452},[865],{"type":18,"value":763},{"type":18,"value":765},{"type":13,"tag":21,"props":868,"children":870},{"className":869},[],[871],{"type":18,"value":438},{"type":18,"value":873},".\nIt is also limited to access types in the ",{"type":13,"tag":442,"props":875,"children":876},{"href":497},[877],{"type":18,"value":500},{"type":18,"value":879}," specified by ",{"type":13,"tag":21,"props":881,"children":883},{"className":882},[],[884],{"type":18,"value":485},{"type":18,"value":412},{"type":13,"tag":14,"props":887,"children":888},{},[889,891,895,896,900,901,906,907,911,912,917],{"type":18,"value":890},"The second ",{"type":13,"tag":442,"props":892,"children":893},{"href":856},[894],{"type":18,"value":859},{"type":18,"value":861},{"type":13,"tag":442,"props":897,"children":898},{"href":452},[899],{"type":18,"value":840},{"type":18,"value":842},{"type":13,"tag":21,"props":902,"children":904},{"className":903},[],[905],{"type":18,"value":465},{"type":18,"value":873},{"type":13,"tag":442,"props":908,"children":909},{"href":497},[910],{"type":18,"value":521},{"type":18,"value":879},{"type":13,"tag":21,"props":913,"children":915},{"className":914},[],[916],{"type":18,"value":510},{"type":18,"value":412},{"type":13,"tag":14,"props":919,"children":920},{},[921,922,928,930,936],{"type":18,"value":19},{"type":13,"tag":442,"props":923,"children":925},{"href":924},"/chapters/synchronization#synchronization-dependencies-available-and-visible",[926],{"type":18,"value":927},"availability and\nvisibility operations",{"type":18,"value":929}," defined by a subpass dependency affect the execution\nof ",{"type":13,"tag":442,"props":931,"children":933},{"href":932},"/chapters/renderpass#renderpass-layout-transitions",[934],{"type":18,"value":935},"image layout transitions",{"type":18,"value":937}," within the\nrender pass.",{"type":13,"tag":939,"props":940,"children":941},"note",{},[942,990,1017],{"type":13,"tag":14,"props":943,"children":944},{},[945,947,953,955,960,961,966,968,974,976,981,983,988],{"type":18,"value":946},"For non-attachment resources, the memory dependency expressed by subpass\ndependency is nearly identical to that of a ",{"type":13,"tag":442,"props":948,"children":950},{"href":949},"/man/VkMemoryBarrier",[951],{"type":18,"value":952},"VkMemoryBarrier",{"type":18,"value":954}," (with\nmatching ",{"type":13,"tag":21,"props":956,"children":958},{"className":957},[],[959],{"type":18,"value":485},{"type":18,"value":655},{"type":13,"tag":21,"props":962,"children":964},{"className":963},[],[965],{"type":18,"value":510},{"type":18,"value":967}," parameters) submitted\nas a part of a ",{"type":13,"tag":442,"props":969,"children":971},{"href":970},"/man/vkCmdPipelineBarrier",[972],{"type":18,"value":973},"vkCmdPipelineBarrier",{"type":18,"value":975}," (with matching ",{"type":13,"tag":21,"props":977,"children":979},{"className":978},[],[980],{"type":18,"value":438},{"type":18,"value":982},"\nand ",{"type":13,"tag":21,"props":984,"children":986},{"className":985},[],[987],{"type":18,"value":465},{"type":18,"value":989}," parameters).\nThe only difference being that its scopes are limited to the identified\nsubpasses rather than potentially affecting everything before and after.",{"type":13,"tag":14,"props":991,"children":992},{},[993,995,1001,1003,1007,1009,1015],{"type":18,"value":994},"For attachments however, subpass dependencies work more like a\n",{"type":13,"tag":442,"props":996,"children":998},{"href":997},"/man/VkImageMemoryBarrier",[999],{"type":18,"value":1000},"VkImageMemoryBarrier",{"type":18,"value":1002}," defined similarly to the ",{"type":13,"tag":442,"props":1004,"children":1005},{"href":949},[1006],{"type":18,"value":952},{"type":18,"value":1008},"\nabove, the queue family indices set to ",{"type":13,"tag":21,"props":1010,"children":1012},{"className":1011},[],[1013],{"type":18,"value":1014},"VK_QUEUE_FAMILY_IGNORED",{"type":18,"value":1016},", and\nlayouts as follows:",{"type":13,"tag":390,"props":1018,"children":1019},{},[1020,1039],{"type":13,"tag":394,"props":1021,"children":1022},{},[1023,1025,1031,1033,1038],{"type":18,"value":1024},"The equivalent to ",{"type":13,"tag":21,"props":1026,"children":1028},{"className":1027},[],[1029],{"type":18,"value":1030},"oldLayout",{"type":18,"value":1032}," is the attachment’s layout according\nto the subpass description for ",{"type":13,"tag":21,"props":1034,"children":1036},{"className":1035},[],[1037],{"type":18,"value":402},{"type":18,"value":412},{"type":13,"tag":394,"props":1040,"children":1041},{},[1042,1043,1049,1050,1055],{"type":18,"value":1024},{"type":13,"tag":21,"props":1044,"children":1046},{"className":1045},[],[1047],{"type":18,"value":1048},"newLayout",{"type":18,"value":1032},{"type":13,"tag":21,"props":1051,"children":1053},{"className":1052},[],[1054],{"type":18,"value":421},{"type":18,"value":412},{"type":13,"tag":1057,"props":1058,"children":1060},"validity-group",{"name":1059},"Valid Usage",[1061,1100,1144,1180,1215,1250,1286,1321,1368,1405,1451,1483,1521,1553,1585,1617,1649,1681,1721,1753,1791,1823,1852,1900,1933,1961,2018,2055,2090],{"type":13,"tag":1062,"props":1063,"children":1065},"validity-field",{"name":1064},"VUID-VkSubpassDependency-srcStageMask-04090",[1066],{"type":13,"tag":14,"props":1067,"children":1068},{},[1069,1071,1081,1083,1088,1089,1092,1094],{"type":18,"value":1070},"If the ",{"type":13,"tag":442,"props":1072,"children":1074},{"href":1073},"/man/VkPhysicalDeviceFeatures#features-geometryShader",[1075],{"type":13,"tag":21,"props":1076,"children":1078},{"className":1077},[],[1079],{"type":18,"value":1080},"geometryShader",{"type":18,"value":1082}," feature is not\nenabled, ",{"type":13,"tag":21,"props":1084,"children":1086},{"className":1085},[],[1087],{"type":18,"value":438},{"type":18,"value":595},{"type":13,"tag":575,"props":1090,"children":1091},{"type":577},[],{"type":18,"value":1093}," not contain\n",{"type":13,"tag":21,"props":1095,"children":1097},{"className":1096},[],[1098],{"type":18,"value":1099},"VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT",{"type":13,"tag":1062,"props":1101,"children":1103},{"name":1102},"VUID-VkSubpassDependency-srcStageMask-04091",[1104],{"type":13,"tag":14,"props":1105,"children":1106},{},[1107,1108,1118,1120,1125,1126,1129,1130,1136,1138],{"type":18,"value":1070},{"type":13,"tag":442,"props":1109,"children":1111},{"href":1110},"/man/VkPhysicalDeviceFeatures#features-tessellationShader",[1112],{"type":13,"tag":21,"props":1113,"children":1115},{"className":1114},[],[1116],{"type":18,"value":1117},"tessellationShader",{"type":18,"value":1119}," feature\nis not enabled, ",{"type":13,"tag":21,"props":1121,"children":1123},{"className":1122},[],[1124],{"type":18,"value":438},{"type":18,"value":595},{"type":13,"tag":575,"props":1127,"children":1128},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1131,"children":1133},{"className":1132},[],[1134],{"type":18,"value":1135},"VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT",{"type":18,"value":1137}," or\n",{"type":13,"tag":21,"props":1139,"children":1141},{"className":1140},[],[1142],{"type":18,"value":1143},"VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT",{"type":13,"tag":1062,"props":1145,"children":1147},{"name":1146},"VUID-VkSubpassDependency-srcStageMask-04092",[1148],{"type":13,"tag":14,"props":1149,"children":1150},{},[1151,1152,1162,1164,1169,1170,1173,1174],{"type":18,"value":1070},{"type":13,"tag":442,"props":1153,"children":1155},{"href":1154},"/man/VkPhysicalDeviceConditionalRenderingFeaturesEXT#features-conditionalRendering",[1156],{"type":13,"tag":21,"props":1157,"children":1159},{"className":1158},[],[1160],{"type":18,"value":1161},"conditionalRendering",{"type":18,"value":1163},"\nfeature is not enabled, ",{"type":13,"tag":21,"props":1165,"children":1167},{"className":1166},[],[1168],{"type":18,"value":438},{"type":18,"value":595},{"type":13,"tag":575,"props":1171,"children":1172},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1175,"children":1177},{"className":1176},[],[1178],{"type":18,"value":1179},"VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT",{"type":13,"tag":1062,"props":1181,"children":1183},{"name":1182},"VUID-VkSubpassDependency-srcStageMask-04093",[1184],{"type":13,"tag":14,"props":1185,"children":1186},{},[1187,1188,1198,1199,1204,1205,1208,1209],{"type":18,"value":1070},{"type":13,"tag":442,"props":1189,"children":1191},{"href":1190},"/man/VkPhysicalDeviceFragmentDensityMapFeaturesEXT#features-fragmentDensityMap",[1192],{"type":13,"tag":21,"props":1193,"children":1195},{"className":1194},[],[1196],{"type":18,"value":1197},"fragmentDensityMap",{"type":18,"value":1119},{"type":13,"tag":21,"props":1200,"children":1202},{"className":1201},[],[1203],{"type":18,"value":438},{"type":18,"value":595},{"type":13,"tag":575,"props":1206,"children":1207},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1210,"children":1212},{"className":1211},[],[1213],{"type":18,"value":1214},"VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT",{"type":13,"tag":1062,"props":1216,"children":1218},{"name":1217},"VUID-VkSubpassDependency-srcStageMask-04094",[1219],{"type":13,"tag":14,"props":1220,"children":1221},{},[1222,1223,1233,1234,1239,1240,1243,1244],{"type":18,"value":1070},{"type":13,"tag":442,"props":1224,"children":1226},{"href":1225},"/man/VkPhysicalDeviceTransformFeedbackFeaturesEXT#features-transformFeedback",[1227],{"type":13,"tag":21,"props":1228,"children":1230},{"className":1229},[],[1231],{"type":18,"value":1232},"transformFeedback",{"type":18,"value":1119},{"type":13,"tag":21,"props":1235,"children":1237},{"className":1236},[],[1238],{"type":18,"value":438},{"type":18,"value":595},{"type":13,"tag":575,"props":1241,"children":1242},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1245,"children":1247},{"className":1246},[],[1248],{"type":18,"value":1249},"VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT",{"type":13,"tag":1062,"props":1251,"children":1253},{"name":1252},"VUID-VkSubpassDependency-srcStageMask-04095",[1254],{"type":13,"tag":14,"props":1255,"children":1256},{},[1257,1258,1268,1270,1275,1276,1279,1280],{"type":18,"value":1070},{"type":13,"tag":442,"props":1259,"children":1261},{"href":1260},"/man/VkPhysicalDeviceMeshShaderFeaturesEXT#features-meshShader",[1262],{"type":13,"tag":21,"props":1263,"children":1265},{"className":1264},[],[1266],{"type":18,"value":1267},"meshShader",{"type":18,"value":1269}," feature is not enabled,\n",{"type":13,"tag":21,"props":1271,"children":1273},{"className":1272},[],[1274],{"type":18,"value":438},{"type":18,"value":595},{"type":13,"tag":575,"props":1277,"children":1278},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1281,"children":1283},{"className":1282},[],[1284],{"type":18,"value":1285},"VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT",{"type":13,"tag":1062,"props":1287,"children":1289},{"name":1288},"VUID-VkSubpassDependency-srcStageMask-04096",[1290],{"type":13,"tag":14,"props":1291,"children":1292},{},[1293,1294,1304,1305,1310,1311,1314,1315],{"type":18,"value":1070},{"type":13,"tag":442,"props":1295,"children":1297},{"href":1296},"/man/VkPhysicalDeviceMeshShaderFeaturesEXT#features-taskShader",[1298],{"type":13,"tag":21,"props":1299,"children":1301},{"className":1300},[],[1302],{"type":18,"value":1303},"taskShader",{"type":18,"value":1269},{"type":13,"tag":21,"props":1306,"children":1308},{"className":1307},[],[1309],{"type":18,"value":438},{"type":18,"value":595},{"type":13,"tag":575,"props":1312,"children":1313},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1316,"children":1318},{"className":1317},[],[1319],{"type":18,"value":1320},"VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT",{"type":13,"tag":1062,"props":1322,"children":1324},{"name":1323},"VUID-VkSubpassDependency-srcStageMask-07318",[1325],{"type":13,"tag":14,"props":1326,"children":1327},{},[1328,1330,1340,1341,1351,1353,1358,1361,1362],{"type":18,"value":1329},"If neither the ",{"type":13,"tag":442,"props":1331,"children":1333},{"href":1332},"/man/VkPhysicalDeviceShadingRateImageFeaturesNV#features-shadingRateImage",[1334],{"type":13,"tag":21,"props":1335,"children":1337},{"className":1336},[],[1338],{"type":18,"value":1339},"shadingRateImage",{"type":18,"value":1137},{"type":13,"tag":442,"props":1342,"children":1344},{"href":1343},"/man/VkPhysicalDeviceFragmentShadingRateFeaturesKHR#features-attachmentFragmentShadingRate",[1345],{"type":13,"tag":21,"props":1346,"children":1348},{"className":1347},[],[1349],{"type":18,"value":1350},"attachmentFragmentShadingRate",{"type":18,"value":1352}," are enabled, ",{"type":13,"tag":21,"props":1354,"children":1356},{"className":1355},[],[1357],{"type":18,"value":438},{"type":13,"tag":575,"props":1359,"children":1360},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1363,"children":1365},{"className":1364},[],[1366],{"type":18,"value":1367},"VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR",{"type":13,"tag":1062,"props":1369,"children":1371},{"name":1370},"VUID-VkSubpassDependency-srcStageMask-03937",[1372],{"type":13,"tag":14,"props":1373,"children":1374},{},[1375,1376,1386,1388,1393,1394,1397,1399],{"type":18,"value":1070},{"type":13,"tag":442,"props":1377,"children":1379},{"href":1378},"/man/VkPhysicalDeviceSynchronization2Features#features-synchronization2",[1380],{"type":13,"tag":21,"props":1381,"children":1383},{"className":1382},[],[1384],{"type":18,"value":1385},"synchronization2",{"type":18,"value":1387}," feature is\nnot enabled, ",{"type":13,"tag":21,"props":1389,"children":1391},{"className":1390},[],[1392],{"type":18,"value":438},{"type":18,"value":595},{"type":13,"tag":575,"props":1395,"children":1396},{"type":577},[],{"type":18,"value":1398}," not be ",{"type":13,"tag":21,"props":1400,"children":1402},{"className":1401},[],[1403],{"type":18,"value":1404},"0",{"type":13,"tag":1062,"props":1406,"children":1408},{"name":1407},"VUID-VkSubpassDependency-srcStageMask-07949",[1409],{"type":13,"tag":14,"props":1410,"children":1411},{},[1412,1413,1419,1421,1433,1435,1440,1441,1444,1445],{"type":18,"value":1329},{"type":13,"tag":442,"props":1414,"children":1416},{"href":1415},"/extensions/VK_NV_ray_tracing",[1417],{"type":18,"value":1418},"VK_NV_ray_tracing",{"type":18,"value":1420}," extension or\n",{"type":13,"tag":442,"props":1422,"children":1424},{"href":1423},"/man/VkPhysicalDeviceRayTracingPipelineFeaturesKHR#features-rayTracingPipeline",[1425,1431],{"type":13,"tag":21,"props":1426,"children":1428},{"className":1427},[],[1429],{"type":18,"value":1430},"rayTracingPipeline",{"type":18,"value":1432}," feature",{"type":18,"value":1434}," are\nenabled, ",{"type":13,"tag":21,"props":1436,"children":1438},{"className":1437},[],[1439],{"type":18,"value":438},{"type":18,"value":595},{"type":13,"tag":575,"props":1442,"children":1443},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1446,"children":1448},{"className":1447},[],[1449],{"type":18,"value":1450},"VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR",{"type":13,"tag":1062,"props":1452,"children":1454},{"name":1453},"VUID-VkSubpassDependency-dstStageMask-04090",[1455],{"type":13,"tag":14,"props":1456,"children":1457},{},[1458,1459,1467,1468,1473,1474,1477,1478],{"type":18,"value":1070},{"type":13,"tag":442,"props":1460,"children":1461},{"href":1073},[1462],{"type":13,"tag":21,"props":1463,"children":1465},{"className":1464},[],[1466],{"type":18,"value":1080},{"type":18,"value":1082},{"type":13,"tag":21,"props":1469,"children":1471},{"className":1470},[],[1472],{"type":18,"value":465},{"type":18,"value":595},{"type":13,"tag":575,"props":1475,"children":1476},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1479,"children":1481},{"className":1480},[],[1482],{"type":18,"value":1099},{"type":13,"tag":1062,"props":1484,"children":1486},{"name":1485},"VUID-VkSubpassDependency-dstStageMask-04091",[1487],{"type":13,"tag":14,"props":1488,"children":1489},{},[1490,1491,1499,1500,1505,1506,1509,1510,1515,1516],{"type":18,"value":1070},{"type":13,"tag":442,"props":1492,"children":1493},{"href":1110},[1494],{"type":13,"tag":21,"props":1495,"children":1497},{"className":1496},[],[1498],{"type":18,"value":1117},{"type":18,"value":1119},{"type":13,"tag":21,"props":1501,"children":1503},{"className":1502},[],[1504],{"type":18,"value":465},{"type":18,"value":595},{"type":13,"tag":575,"props":1507,"children":1508},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1511,"children":1513},{"className":1512},[],[1514],{"type":18,"value":1135},{"type":18,"value":1137},{"type":13,"tag":21,"props":1517,"children":1519},{"className":1518},[],[1520],{"type":18,"value":1143},{"type":13,"tag":1062,"props":1522,"children":1524},{"name":1523},"VUID-VkSubpassDependency-dstStageMask-04092",[1525],{"type":13,"tag":14,"props":1526,"children":1527},{},[1528,1529,1537,1538,1543,1544,1547,1548],{"type":18,"value":1070},{"type":13,"tag":442,"props":1530,"children":1531},{"href":1154},[1532],{"type":13,"tag":21,"props":1533,"children":1535},{"className":1534},[],[1536],{"type":18,"value":1161},{"type":18,"value":1163},{"type":13,"tag":21,"props":1539,"children":1541},{"className":1540},[],[1542],{"type":18,"value":465},{"type":18,"value":595},{"type":13,"tag":575,"props":1545,"children":1546},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1549,"children":1551},{"className":1550},[],[1552],{"type":18,"value":1179},{"type":13,"tag":1062,"props":1554,"children":1556},{"name":1555},"VUID-VkSubpassDependency-dstStageMask-04093",[1557],{"type":13,"tag":14,"props":1558,"children":1559},{},[1560,1561,1569,1570,1575,1576,1579,1580],{"type":18,"value":1070},{"type":13,"tag":442,"props":1562,"children":1563},{"href":1190},[1564],{"type":13,"tag":21,"props":1565,"children":1567},{"className":1566},[],[1568],{"type":18,"value":1197},{"type":18,"value":1119},{"type":13,"tag":21,"props":1571,"children":1573},{"className":1572},[],[1574],{"type":18,"value":465},{"type":18,"value":595},{"type":13,"tag":575,"props":1577,"children":1578},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1581,"children":1583},{"className":1582},[],[1584],{"type":18,"value":1214},{"type":13,"tag":1062,"props":1586,"children":1588},{"name":1587},"VUID-VkSubpassDependency-dstStageMask-04094",[1589],{"type":13,"tag":14,"props":1590,"children":1591},{},[1592,1593,1601,1602,1607,1608,1611,1612],{"type":18,"value":1070},{"type":13,"tag":442,"props":1594,"children":1595},{"href":1225},[1596],{"type":13,"tag":21,"props":1597,"children":1599},{"className":1598},[],[1600],{"type":18,"value":1232},{"type":18,"value":1119},{"type":13,"tag":21,"props":1603,"children":1605},{"className":1604},[],[1606],{"type":18,"value":465},{"type":18,"value":595},{"type":13,"tag":575,"props":1609,"children":1610},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1613,"children":1615},{"className":1614},[],[1616],{"type":18,"value":1249},{"type":13,"tag":1062,"props":1618,"children":1620},{"name":1619},"VUID-VkSubpassDependency-dstStageMask-04095",[1621],{"type":13,"tag":14,"props":1622,"children":1623},{},[1624,1625,1633,1634,1639,1640,1643,1644],{"type":18,"value":1070},{"type":13,"tag":442,"props":1626,"children":1627},{"href":1260},[1628],{"type":13,"tag":21,"props":1629,"children":1631},{"className":1630},[],[1632],{"type":18,"value":1267},{"type":18,"value":1269},{"type":13,"tag":21,"props":1635,"children":1637},{"className":1636},[],[1638],{"type":18,"value":465},{"type":18,"value":595},{"type":13,"tag":575,"props":1641,"children":1642},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1645,"children":1647},{"className":1646},[],[1648],{"type":18,"value":1285},{"type":13,"tag":1062,"props":1650,"children":1652},{"name":1651},"VUID-VkSubpassDependency-dstStageMask-04096",[1653],{"type":13,"tag":14,"props":1654,"children":1655},{},[1656,1657,1665,1666,1671,1672,1675,1676],{"type":18,"value":1070},{"type":13,"tag":442,"props":1658,"children":1659},{"href":1296},[1660],{"type":13,"tag":21,"props":1661,"children":1663},{"className":1662},[],[1664],{"type":18,"value":1303},{"type":18,"value":1269},{"type":13,"tag":21,"props":1667,"children":1669},{"className":1668},[],[1670],{"type":18,"value":465},{"type":18,"value":595},{"type":13,"tag":575,"props":1673,"children":1674},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1677,"children":1679},{"className":1678},[],[1680],{"type":18,"value":1320},{"type":13,"tag":1062,"props":1682,"children":1684},{"name":1683},"VUID-VkSubpassDependency-dstStageMask-07318",[1685],{"type":13,"tag":14,"props":1686,"children":1687},{},[1688,1689,1697,1698,1706,1707,1712,1715,1716],{"type":18,"value":1329},{"type":13,"tag":442,"props":1690,"children":1691},{"href":1332},[1692],{"type":13,"tag":21,"props":1693,"children":1695},{"className":1694},[],[1696],{"type":18,"value":1339},{"type":18,"value":1137},{"type":13,"tag":442,"props":1699,"children":1700},{"href":1343},[1701],{"type":13,"tag":21,"props":1702,"children":1704},{"className":1703},[],[1705],{"type":18,"value":1350},{"type":18,"value":1352},{"type":13,"tag":21,"props":1708,"children":1710},{"className":1709},[],[1711],{"type":18,"value":465},{"type":13,"tag":575,"props":1713,"children":1714},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1717,"children":1719},{"className":1718},[],[1720],{"type":18,"value":1367},{"type":13,"tag":1062,"props":1722,"children":1724},{"name":1723},"VUID-VkSubpassDependency-dstStageMask-03937",[1725],{"type":13,"tag":14,"props":1726,"children":1727},{},[1728,1729,1737,1738,1743,1744,1747,1748],{"type":18,"value":1070},{"type":13,"tag":442,"props":1730,"children":1731},{"href":1378},[1732],{"type":13,"tag":21,"props":1733,"children":1735},{"className":1734},[],[1736],{"type":18,"value":1385},{"type":18,"value":1387},{"type":13,"tag":21,"props":1739,"children":1741},{"className":1740},[],[1742],{"type":18,"value":465},{"type":18,"value":595},{"type":13,"tag":575,"props":1745,"children":1746},{"type":577},[],{"type":18,"value":1398},{"type":13,"tag":21,"props":1749,"children":1751},{"className":1750},[],[1752],{"type":18,"value":1404},{"type":13,"tag":1062,"props":1754,"children":1756},{"name":1755},"VUID-VkSubpassDependency-dstStageMask-07949",[1757],{"type":13,"tag":14,"props":1758,"children":1759},{},[1760,1761,1765,1766,1775,1776,1781,1782,1785,1786],{"type":18,"value":1329},{"type":13,"tag":442,"props":1762,"children":1763},{"href":1415},[1764],{"type":18,"value":1418},{"type":18,"value":1420},{"type":13,"tag":442,"props":1767,"children":1768},{"href":1423},[1769,1774],{"type":13,"tag":21,"props":1770,"children":1772},{"className":1771},[],[1773],{"type":18,"value":1430},{"type":18,"value":1432},{"type":18,"value":1434},{"type":13,"tag":21,"props":1777,"children":1779},{"className":1778},[],[1780],{"type":18,"value":465},{"type":18,"value":595},{"type":13,"tag":575,"props":1783,"children":1784},{"type":577},[],{"type":18,"value":1093},{"type":13,"tag":21,"props":1787,"children":1789},{"className":1788},[],[1790],{"type":18,"value":1450},{"type":13,"tag":1062,"props":1792,"children":1794},{"name":1793},"VUID-VkSubpassDependency-srcSubpass-00864",[1795],{"type":13,"tag":14,"props":1796,"children":1797},{},[1798,1803,1804,1807,1809,1814,1816,1821],{"type":13,"tag":21,"props":1799,"children":1801},{"className":1800},[],[1802],{"type":18,"value":402},{"type":18,"value":595},{"type":13,"tag":575,"props":1805,"children":1806},{"type":577},[],{"type":18,"value":1808}," be less than or equal to ",{"type":13,"tag":21,"props":1810,"children":1812},{"className":1811},[],[1813],{"type":18,"value":421},{"type":18,"value":1815},", unless\none of them is ",{"type":13,"tag":21,"props":1817,"children":1819},{"className":1818},[],[1820],{"type":18,"value":410},{"type":18,"value":1822},", to avoid cyclic dependencies\nand ensure a valid execution order",{"type":13,"tag":1062,"props":1824,"children":1826},{"name":1825},"VUID-VkSubpassDependency-srcSubpass-00865",[1827],{"type":13,"tag":14,"props":1828,"children":1829},{},[1830,1835,1836,1841,1842,1845,1847],{"type":13,"tag":21,"props":1831,"children":1833},{"className":1832},[],[1834],{"type":18,"value":402},{"type":18,"value":655},{"type":13,"tag":21,"props":1837,"children":1839},{"className":1838},[],[1840],{"type":18,"value":421},{"type":18,"value":595},{"type":13,"tag":575,"props":1843,"children":1844},{"type":577},[],{"type":18,"value":1846}," not both be equal to\n",{"type":13,"tag":21,"props":1848,"children":1850},{"className":1849},[],[1851],{"type":18,"value":410},{"type":13,"tag":1062,"props":1853,"children":1855},{"name":1854},"VUID-VkSubpassDependency-srcSubpass-06809",[1856],{"type":13,"tag":14,"props":1857,"children":1858},{},[1859,1860,1865,1866,1871,1872,1877,1879,1884,1885,1890,1891,1894,1896],{"type":18,"value":544},{"type":13,"tag":21,"props":1861,"children":1863},{"className":1862},[],[1864],{"type":18,"value":402},{"type":18,"value":551},{"type":13,"tag":21,"props":1867,"children":1869},{"className":1868},[],[1870],{"type":18,"value":421},{"type":18,"value":655},{"type":13,"tag":21,"props":1873,"children":1875},{"className":1874},[],[1876],{"type":18,"value":438},{"type":18,"value":1878},"\nincludes a ",{"type":13,"tag":442,"props":1880,"children":1881},{"href":583},[1882],{"type":18,"value":1883},"framebuffer-space\nstage",{"type":18,"value":312},{"type":13,"tag":21,"props":1886,"children":1888},{"className":1887},[],[1889],{"type":18,"value":465},{"type":18,"value":595},{"type":13,"tag":575,"props":1892,"children":1893},{"type":577},[],{"type":18,"value":1895}," only contain\n",{"type":13,"tag":442,"props":1897,"children":1898},{"href":583},[1899],{"type":18,"value":586},{"type":13,"tag":1062,"props":1901,"children":1903},{"name":1902},"VUID-VkSubpassDependency-srcAccessMask-00868",[1904],{"type":13,"tag":14,"props":1905,"children":1906},{},[1907,1909,1914,1915,1918,1920,1925,1927],{"type":18,"value":1908},"Any access flag included in ",{"type":13,"tag":21,"props":1910,"children":1912},{"className":1911},[],[1913],{"type":18,"value":485},{"type":18,"value":595},{"type":13,"tag":575,"props":1916,"children":1917},{"type":577},[],{"type":18,"value":1919}," be supported by\none of the pipeline stages in ",{"type":13,"tag":21,"props":1921,"children":1923},{"className":1922},[],[1924],{"type":18,"value":438},{"type":18,"value":1926},", as specified in the\n",{"type":13,"tag":442,"props":1928,"children":1930},{"href":1929},"/man/VkAccessFlagBits#synchronization-access-types-supported",[1931],{"type":18,"value":1932},"table of supported access\ntypes",{"type":13,"tag":1062,"props":1934,"children":1936},{"name":1935},"VUID-VkSubpassDependency-dstAccessMask-00869",[1937],{"type":13,"tag":14,"props":1938,"children":1939},{},[1940,1941,1946,1947,1950,1951,1956,1957],{"type":18,"value":1908},{"type":13,"tag":21,"props":1942,"children":1944},{"className":1943},[],[1945],{"type":18,"value":510},{"type":18,"value":595},{"type":13,"tag":575,"props":1948,"children":1949},{"type":577},[],{"type":18,"value":1919},{"type":13,"tag":21,"props":1952,"children":1954},{"className":1953},[],[1955],{"type":18,"value":465},{"type":18,"value":1926},{"type":13,"tag":442,"props":1958,"children":1959},{"href":1929},[1960],{"type":18,"value":1932},{"type":13,"tag":1062,"props":1962,"children":1964},{"name":1963},"VUID-VkSubpassDependency-srcSubpass-02243",[1965],{"type":13,"tag":14,"props":1966,"children":1967},{},[1968,1969,1974,1976,1981,1982,1987,1989,1994,1996,2001,2003,2008,2009,2012,2013],{"type":18,"value":544},{"type":13,"tag":21,"props":1970,"children":1972},{"className":1971},[],[1973],{"type":18,"value":402},{"type":18,"value":1975}," equals ",{"type":13,"tag":21,"props":1977,"children":1979},{"className":1978},[],[1980],{"type":18,"value":421},{"type":18,"value":613},{"type":13,"tag":21,"props":1983,"children":1985},{"className":1984},[],[1986],{"type":18,"value":438},{"type":18,"value":1988}," and\n",{"type":13,"tag":21,"props":1990,"children":1992},{"className":1991},[],[1993],{"type":18,"value":465},{"type":18,"value":1995}," both include a\n",{"type":13,"tag":442,"props":1997,"children":1998},{"href":583},[1999],{"type":18,"value":2000},"framebuffer-space stage",{"type":18,"value":2002},", then\n",{"type":13,"tag":21,"props":2004,"children":2006},{"className":2005},[],[2007],{"type":18,"value":531},{"type":18,"value":595},{"type":13,"tag":575,"props":2010,"children":2011},{"type":577},[],{"type":18,"value":618},{"type":13,"tag":21,"props":2014,"children":2016},{"className":2015},[],[2017],{"type":18,"value":624},{"type":13,"tag":1062,"props":2019,"children":2021},{"name":2020},"VUID-VkSubpassDependency-dependencyFlags-02520",[2022],{"type":13,"tag":14,"props":2023,"children":2024},{},[2025,2026,2031,2033,2038,2039,2044,2045,2048,2050],{"type":18,"value":544},{"type":13,"tag":21,"props":2027,"children":2029},{"className":2028},[],[2030],{"type":18,"value":531},{"type":18,"value":2032}," includes ",{"type":13,"tag":21,"props":2034,"children":2036},{"className":2035},[],[2037],{"type":18,"value":643},{"type":18,"value":203},{"type":13,"tag":21,"props":2040,"children":2042},{"className":2041},[],[2043],{"type":18,"value":402},{"type":18,"value":595},{"type":13,"tag":575,"props":2046,"children":2047},{"type":577},[],{"type":18,"value":2049}," not be equal to ",{"type":13,"tag":21,"props":2051,"children":2053},{"className":2052},[],[2054],{"type":18,"value":410},{"type":13,"tag":1062,"props":2056,"children":2058},{"name":2057},"VUID-VkSubpassDependency-dependencyFlags-02521",[2059],{"type":13,"tag":14,"props":2060,"children":2061},{},[2062,2063,2068,2069,2074,2075,2080,2081,2084,2085],{"type":18,"value":544},{"type":13,"tag":21,"props":2064,"children":2066},{"className":2065},[],[2067],{"type":18,"value":531},{"type":18,"value":2032},{"type":13,"tag":21,"props":2070,"children":2072},{"className":2071},[],[2073],{"type":18,"value":643},{"type":18,"value":203},{"type":13,"tag":21,"props":2076,"children":2078},{"className":2077},[],[2079],{"type":18,"value":421},{"type":18,"value":595},{"type":13,"tag":575,"props":2082,"children":2083},{"type":577},[],{"type":18,"value":2049},{"type":13,"tag":21,"props":2086,"children":2088},{"className":2087},[],[2089],{"type":18,"value":410},{"type":13,"tag":1062,"props":2091,"children":2093},{"name":2092},"VUID-VkSubpassDependency-srcSubpass-00872",[2094],{"type":13,"tag":14,"props":2095,"children":2096},{},[2097,2098,2103,2104,2109,2111,2116,2117,2120,2122],{"type":18,"value":544},{"type":13,"tag":21,"props":2099,"children":2101},{"className":2100},[],[2102],{"type":18,"value":402},{"type":18,"value":1975},{"type":13,"tag":21,"props":2105,"children":2107},{"className":2106},[],[2108],{"type":18,"value":421},{"type":18,"value":2110}," and that subpass has more\nthan one bit set in the view mask, then ",{"type":13,"tag":21,"props":2112,"children":2114},{"className":2113},[],[2115],{"type":18,"value":531},{"type":18,"value":595},{"type":13,"tag":575,"props":2118,"children":2119},{"type":577},[],{"type":18,"value":2121},"\ninclude ",{"type":13,"tag":21,"props":2123,"children":2125},{"className":2124},[],[2126],{"type":18,"value":643},{"type":13,"tag":1057,"props":2128,"children":2130},{"name":2129},"Valid Usage (Implicit)",[2131,2155,2177,2199,2221],{"type":13,"tag":1062,"props":2132,"children":2134},{"name":2133},"VUID-VkSubpassDependency-srcStageMask-parameter",[2135],{"type":13,"tag":14,"props":2136,"children":2137},{},[2138,2143,2144,2147,2149,2153],{"type":13,"tag":21,"props":2139,"children":2141},{"className":2140},[],[2142],{"type":18,"value":438},{"type":18,"value":595},{"type":13,"tag":575,"props":2145,"children":2146},{"type":577},[],{"type":18,"value":2148}," be a valid combination of ",{"type":13,"tag":442,"props":2150,"children":2151},{"href":444},[2152],{"type":18,"value":447},{"type":18,"value":2154}," values",{"type":13,"tag":1062,"props":2156,"children":2158},{"name":2157},"VUID-VkSubpassDependency-dstStageMask-parameter",[2159],{"type":13,"tag":14,"props":2160,"children":2161},{},[2162,2167,2168,2171,2172,2176],{"type":13,"tag":21,"props":2163,"children":2165},{"className":2164},[],[2166],{"type":18,"value":465},{"type":18,"value":595},{"type":13,"tag":575,"props":2169,"children":2170},{"type":577},[],{"type":18,"value":2148},{"type":13,"tag":442,"props":2173,"children":2174},{"href":444},[2175],{"type":18,"value":447},{"type":18,"value":2154},{"type":13,"tag":1062,"props":2178,"children":2180},{"name":2179},"VUID-VkSubpassDependency-srcAccessMask-parameter",[2181],{"type":13,"tag":14,"props":2182,"children":2183},{},[2184,2189,2190,2193,2194,2198],{"type":13,"tag":21,"props":2185,"children":2187},{"className":2186},[],[2188],{"type":18,"value":485},{"type":18,"value":595},{"type":13,"tag":575,"props":2191,"children":2192},{"type":577},[],{"type":18,"value":2148},{"type":13,"tag":442,"props":2195,"children":2196},{"href":489},[2197],{"type":18,"value":492},{"type":18,"value":2154},{"type":13,"tag":1062,"props":2200,"children":2202},{"name":2201},"VUID-VkSubpassDependency-dstAccessMask-parameter",[2203],{"type":13,"tag":14,"props":2204,"children":2205},{},[2206,2211,2212,2215,2216,2220],{"type":13,"tag":21,"props":2207,"children":2209},{"className":2208},[],[2210],{"type":18,"value":510},{"type":18,"value":595},{"type":13,"tag":575,"props":2213,"children":2214},{"type":577},[],{"type":18,"value":2148},{"type":13,"tag":442,"props":2217,"children":2218},{"href":489},[2219],{"type":18,"value":492},{"type":18,"value":2154},{"type":13,"tag":1062,"props":2222,"children":2224},{"name":2223},"VUID-VkSubpassDependency-dependencyFlags-parameter",[2225],{"type":13,"tag":14,"props":2226,"children":2227},{},[2228,2233,2234,2237,2238,2242],{"type":13,"tag":21,"props":2229,"children":2231},{"className":2230},[],[2232],{"type":18,"value":531},{"type":18,"value":595},{"type":13,"tag":575,"props":2235,"children":2236},{"type":577},[],{"type":18,"value":2148},{"type":13,"tag":442,"props":2239,"children":2240},{"href":535},[2241],{"type":18,"value":538},{"type":18,"value":2154},{"type":13,"tag":2244,"props":2245,"children":2246},"style",{},[2247],{"type":18,"value":2248},"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":2250},[],"markdown",1729612482320]