[{"data":1,"prerenderedAt":798},["ShallowReactive",2],{"$fKMxMfA23owHRV-QemkAyGUDkaTgtxJGAdZHrcZlQS5A":3},{"title":4,"description":5,"parent":6,"cmd_buf_level":7,"render_pass_scope":10,"supported_queue_types":11,"tasks":13,"type":16,"xrefs":17,"body":18,"_type":797,"_id":4},"vkCmdEndRendering2KHR","End a dynamic render pass instance","VK_KHR_maintenance10",[8,9],"primary","secondary","inside",[12],"VK_QUEUE_GRAPHICS_BIT",[14,15],"action","state","protos",[],{"type":19,"children":20,"toc":795},"root",[21,29,225,381,424,453,485,575,744,789],{"type":22,"tag":23,"props":24,"children":25},"element","p",{},[26],{"type":27,"value":28},"text","To end a render pass instance, call:",{"type":22,"tag":30,"props":31,"children":32},"code-group",{},[33,119],{"type":22,"tag":34,"props":35,"children":41},"pre",{"className":36,"code":37,"filename":38,"language":39,"meta":40,"style":40},"language-c shiki shiki-themes github-light-default github-dark-default","void vkCmdEndRendering2KHR(\n VkCommandBuffer commandBuffer,\n const VkRenderingEndInfoKHR* pRenderingEndInfo);\n","C","c","",[42],{"type":22,"tag":43,"props":44,"children":45},"code",{"__ignoreMap":40},[46,70,90],{"type":22,"tag":47,"props":48,"children":51},"span",{"class":49,"line":50},"line",1,[52,58,64],{"type":22,"tag":47,"props":53,"children":55},{"style":54},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[56],{"type":27,"value":57},"void",{"type":22,"tag":47,"props":59,"children":61},{"style":60},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[62],{"type":27,"value":63}," vkCmdEndRendering2KHR",{"type":22,"tag":47,"props":65,"children":67},{"style":66},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[68],{"type":27,"value":69},"(\n",{"type":22,"tag":47,"props":71,"children":73},{"class":49,"line":72},2,[74,79,85],{"type":22,"tag":47,"props":75,"children":76},{"style":66},[77],{"type":27,"value":78}," VkCommandBuffer ",{"type":22,"tag":47,"props":80,"children":82},{"style":81},"--shiki-default:#953800;--shiki-dark:#FFA657",[83],{"type":27,"value":84},"commandBuffer",{"type":22,"tag":47,"props":86,"children":87},{"style":66},[88],{"type":27,"value":89},",\n",{"type":22,"tag":47,"props":91,"children":93},{"class":49,"line":92},3,[94,99,104,109,114],{"type":22,"tag":47,"props":95,"children":96},{"style":54},[97],{"type":27,"value":98}," const",{"type":22,"tag":47,"props":100,"children":101},{"style":66},[102],{"type":27,"value":103}," VkRenderingEndInfoKHR",{"type":22,"tag":47,"props":105,"children":106},{"style":54},[107],{"type":27,"value":108},"*",{"type":22,"tag":47,"props":110,"children":111},{"style":81},[112],{"type":27,"value":113}," pRenderingEndInfo",{"type":22,"tag":47,"props":115,"children":116},{"style":66},[117],{"type":27,"value":118},");\n",{"type":22,"tag":34,"props":120,"children":125},{"className":121,"code":122,"filename":123,"language":124,"meta":40,"style":40},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn cmd_end_rendering2_khr(\n command_buffer: vk::CommandBuffer,\n p_rendering_end_info: *const vk::RenderingEndInfoKHR,\n);\n","Rust","rs",[126],{"type":22,"tag":43,"props":127,"children":128},{"__ignoreMap":40},[129,151,183,217],{"type":22,"tag":47,"props":130,"children":131},{"class":49,"line":50},[132,137,142,147],{"type":22,"tag":47,"props":133,"children":134},{"style":54},[135],{"type":27,"value":136},"pub",{"type":22,"tag":47,"props":138,"children":139},{"style":54},[140],{"type":27,"value":141}," fn",{"type":22,"tag":47,"props":143,"children":144},{"style":60},[145],{"type":27,"value":146}," cmd_end_rendering2_khr",{"type":22,"tag":47,"props":148,"children":149},{"style":66},[150],{"type":27,"value":69},{"type":22,"tag":47,"props":152,"children":153},{"class":49,"line":72},[154,159,164,169,174,179],{"type":22,"tag":47,"props":155,"children":156},{"style":66},[157],{"type":27,"value":158}," command_buffer",{"type":22,"tag":47,"props":160,"children":161},{"style":54},[162],{"type":27,"value":163},":",{"type":22,"tag":47,"props":165,"children":166},{"style":81},[167],{"type":27,"value":168}," vk",{"type":22,"tag":47,"props":170,"children":171},{"style":54},[172],{"type":27,"value":173},"::",{"type":22,"tag":47,"props":175,"children":176},{"style":81},[177],{"type":27,"value":178},"CommandBuffer",{"type":22,"tag":47,"props":180,"children":181},{"style":66},[182],{"type":27,"value":89},{"type":22,"tag":47,"props":184,"children":185},{"class":49,"line":92},[186,191,195,200,204,208,213],{"type":22,"tag":47,"props":187,"children":188},{"style":66},[189],{"type":27,"value":190}," p_rendering_end_info",{"type":22,"tag":47,"props":192,"children":193},{"style":54},[194],{"type":27,"value":163},{"type":22,"tag":47,"props":196,"children":197},{"style":54},[198],{"type":27,"value":199}," *const",{"type":22,"tag":47,"props":201,"children":202},{"style":81},[203],{"type":27,"value":168},{"type":22,"tag":47,"props":205,"children":206},{"style":54},[207],{"type":27,"value":173},{"type":22,"tag":47,"props":209,"children":210},{"style":81},[211],{"type":27,"value":212},"RenderingEndInfoKHR",{"type":22,"tag":47,"props":214,"children":215},{"style":66},[216],{"type":27,"value":89},{"type":22,"tag":47,"props":218,"children":220},{"class":49,"line":219},4,[221],{"type":22,"tag":47,"props":222,"children":223},{"style":66},[224],{"type":27,"value":118},{"type":22,"tag":30,"props":226,"children":227},{},[228,289],{"type":22,"tag":34,"props":229,"children":231},{"className":36,"code":230,"filename":38,"language":39,"meta":40,"style":40},"void vkCmdEndRendering2EXT(\n VkCommandBuffer commandBuffer,\n const VkRenderingEndInfoKHR* pRenderingEndInfo);\n",[232],{"type":22,"tag":43,"props":233,"children":234},{"__ignoreMap":40},[235,251,266],{"type":22,"tag":47,"props":236,"children":237},{"class":49,"line":50},[238,242,247],{"type":22,"tag":47,"props":239,"children":240},{"style":54},[241],{"type":27,"value":57},{"type":22,"tag":47,"props":243,"children":244},{"style":60},[245],{"type":27,"value":246}," vkCmdEndRendering2EXT",{"type":22,"tag":47,"props":248,"children":249},{"style":66},[250],{"type":27,"value":69},{"type":22,"tag":47,"props":252,"children":253},{"class":49,"line":72},[254,258,262],{"type":22,"tag":47,"props":255,"children":256},{"style":66},[257],{"type":27,"value":78},{"type":22,"tag":47,"props":259,"children":260},{"style":81},[261],{"type":27,"value":84},{"type":22,"tag":47,"props":263,"children":264},{"style":66},[265],{"type":27,"value":89},{"type":22,"tag":47,"props":267,"children":268},{"class":49,"line":92},[269,273,277,281,285],{"type":22,"tag":47,"props":270,"children":271},{"style":54},[272],{"type":27,"value":98},{"type":22,"tag":47,"props":274,"children":275},{"style":66},[276],{"type":27,"value":103},{"type":22,"tag":47,"props":278,"children":279},{"style":54},[280],{"type":27,"value":108},{"type":22,"tag":47,"props":282,"children":283},{"style":81},[284],{"type":27,"value":113},{"type":22,"tag":47,"props":286,"children":287},{"style":66},[288],{"type":27,"value":118},{"type":22,"tag":34,"props":290,"children":292},{"className":121,"code":291,"filename":123,"language":124,"meta":40,"style":40},"pub fn cmd_end_rendering2_ext(\n command_buffer: vk::CommandBuffer,\n p_rendering_end_info: *const vk::RenderingEndInfoKHR,\n);\n",[293],{"type":22,"tag":43,"props":294,"children":295},{"__ignoreMap":40},[296,316,343,374],{"type":22,"tag":47,"props":297,"children":298},{"class":49,"line":50},[299,303,307,312],{"type":22,"tag":47,"props":300,"children":301},{"style":54},[302],{"type":27,"value":136},{"type":22,"tag":47,"props":304,"children":305},{"style":54},[306],{"type":27,"value":141},{"type":22,"tag":47,"props":308,"children":309},{"style":60},[310],{"type":27,"value":311}," cmd_end_rendering2_ext",{"type":22,"tag":47,"props":313,"children":314},{"style":66},[315],{"type":27,"value":69},{"type":22,"tag":47,"props":317,"children":318},{"class":49,"line":72},[319,323,327,331,335,339],{"type":22,"tag":47,"props":320,"children":321},{"style":66},[322],{"type":27,"value":158},{"type":22,"tag":47,"props":324,"children":325},{"style":54},[326],{"type":27,"value":163},{"type":22,"tag":47,"props":328,"children":329},{"style":81},[330],{"type":27,"value":168},{"type":22,"tag":47,"props":332,"children":333},{"style":54},[334],{"type":27,"value":173},{"type":22,"tag":47,"props":336,"children":337},{"style":81},[338],{"type":27,"value":178},{"type":22,"tag":47,"props":340,"children":341},{"style":66},[342],{"type":27,"value":89},{"type":22,"tag":47,"props":344,"children":345},{"class":49,"line":92},[346,350,354,358,362,366,370],{"type":22,"tag":47,"props":347,"children":348},{"style":66},[349],{"type":27,"value":190},{"type":22,"tag":47,"props":351,"children":352},{"style":54},[353],{"type":27,"value":163},{"type":22,"tag":47,"props":355,"children":356},{"style":54},[357],{"type":27,"value":199},{"type":22,"tag":47,"props":359,"children":360},{"style":81},[361],{"type":27,"value":168},{"type":22,"tag":47,"props":363,"children":364},{"style":54},[365],{"type":27,"value":173},{"type":22,"tag":47,"props":367,"children":368},{"style":81},[369],{"type":27,"value":212},{"type":22,"tag":47,"props":371,"children":372},{"style":66},[373],{"type":27,"value":89},{"type":22,"tag":47,"props":375,"children":376},{"class":49,"line":219},[377],{"type":22,"tag":47,"props":378,"children":379},{"style":66},[380],{"type":27,"value":118},{"type":22,"tag":382,"props":383,"children":384},"ul",{},[385,396],{"type":22,"tag":386,"props":387,"children":388},"li",{},[389,394],{"type":22,"tag":43,"props":390,"children":392},{"className":391},[],[393],{"type":27,"value":84},{"type":27,"value":395}," is the command buffer in which to record the\ncommand.",{"type":22,"tag":386,"props":397,"children":398},{},[399,405,407,413,415,422],{"type":22,"tag":43,"props":400,"children":402},{"className":401},[],[403],{"type":27,"value":404},"pRenderingEndInfo",{"type":27,"value":406}," is ",{"type":22,"tag":43,"props":408,"children":410},{"className":409},[],[411],{"type":27,"value":412},"NULL",{"type":27,"value":414}," or a pointer to a\n",{"type":22,"tag":416,"props":417,"children":419},"a",{"href":418},"/man/VkRenderingEndInfoKHR",[420],{"type":27,"value":421},"VkRenderingEndInfoKHR",{"type":27,"value":423}," structure containing information about how\nthe render pass will be ended.",{"type":22,"tag":23,"props":425,"children":426},{},[427,429,435,437,443,445,451],{"type":27,"value":428},"If the value of ",{"type":22,"tag":43,"props":430,"children":432},{"className":431},[],[433],{"type":27,"value":434},"pRenderingInfo→flags",{"type":27,"value":436}," used to begin this render pass\ninstance included ",{"type":22,"tag":43,"props":438,"children":440},{"className":439},[],[441],{"type":27,"value":442},"VK_RENDERING_SUSPENDING_BIT",{"type":27,"value":444},", then this render pass\nis suspended and will be resumed later in\n",{"type":22,"tag":416,"props":446,"children":448},{"href":447},"/chapters/synchronization#synchronization-submission-order",[449],{"type":27,"value":450},"submission order",{"type":27,"value":452},".",{"type":22,"tag":454,"props":455,"children":456},"note",{},[457,470,475,480],{"type":22,"tag":23,"props":458,"children":459},{},[460,462,468],{"type":27,"value":461},"There is no implicit ordering between separate render passes, even in the\nsame command buffer, and even when the attachments match.\nSome applications rely on the continuation of\n",{"type":22,"tag":416,"props":463,"children":465},{"href":464},"/chapters/primsrast#primsrast-order",[466],{"type":27,"value":467},"rasterization order",{"type":27,"value":469}," between multiple render passes with\nattachments defined in the same way, in order to perform non-rendering\noperations (such as copies or compute operations) between draw calls, but\nthis has never been required by the specification.\nThere is also no explicit barrier currently in the API that provides the\nguarantee that applications rely on without additional performance\npenalties.",{"type":22,"tag":23,"props":471,"children":472},{},[473],{"type":27,"value":474},"New applications should avoid relying on this ordering until an appropriate\nbarrier is added to the API.",{"type":22,"tag":23,"props":476,"children":477},{},[478],{"type":27,"value":479},"Implementations where applications are performing this splitting are\nencouraged to continue supporting this guarantee until a suitable barrier is\nadded to the API.",{"type":22,"tag":23,"props":481,"children":482},{},[483],{"type":27,"value":484},"Existing applications relying on this ordering should expect that it will\ncontinue working on platforms where it currently does.\nOnce a new extension adds support for a new barrier, developers are\nencouraged to adapt their applications to use this when available.",{"type":22,"tag":486,"props":487,"children":489},"validity-group",{"name":488},"Valid Usage",[490,513,531,545],{"type":22,"tag":491,"props":492,"children":494},"validity-field",{"name":493},"VUID-vkCmdEndRendering2KHR-None-10610",[495],{"type":22,"tag":23,"props":496,"children":497},{},[498,500,505,507],{"type":27,"value":499},"The current render pass instance ",{"type":22,"tag":501,"props":502,"children":504},"normative",{"type":503},"must",[],{"type":27,"value":506}," have been begun with\n",{"type":22,"tag":416,"props":508,"children":510},{"href":509},"/man/vkCmdBeginRendering",[511],{"type":27,"value":512},"vkCmdBeginRendering",{"type":22,"tag":491,"props":514,"children":516},{"name":515},"VUID-vkCmdEndRendering2KHR-commandBuffer-10611",[517],{"type":22,"tag":23,"props":518,"children":519},{},[520,521,524,526],{"type":27,"value":499},{"type":22,"tag":501,"props":522,"children":523},{"type":503},[],{"type":27,"value":525}," have been begun in\n",{"type":22,"tag":43,"props":527,"children":529},{"className":528},[],[530],{"type":27,"value":84},{"type":22,"tag":491,"props":532,"children":534},{"name":533},"VUID-vkCmdEndRendering2KHR-None-10612",[535],{"type":22,"tag":23,"props":536,"children":537},{},[538,540,543],{"type":27,"value":539},"This command ",{"type":22,"tag":501,"props":541,"children":542},{"type":503},[],{"type":27,"value":544}," not be recorded when transform feedback is active",{"type":22,"tag":491,"props":546,"children":548},{"name":547},"VUID-vkCmdEndRendering2KHR-None-10613",[549],{"type":22,"tag":23,"props":550,"children":551},{},[552,554,560,562,568,570,573],{"type":27,"value":553},"If ",{"type":22,"tag":43,"props":555,"children":557},{"className":556},[],[558],{"type":27,"value":559},"vkCmdBeginQuery",{"type":27,"value":561},"* was called within the render pass, the\ncorresponding ",{"type":22,"tag":43,"props":563,"children":565},{"className":564},[],[566],{"type":27,"value":567},"vkCmdEndQuery",{"type":27,"value":569},"* ",{"type":22,"tag":501,"props":571,"children":572},{"type":503},[],{"type":27,"value":574}," have been called subsequently\nwithin the same subpass",{"type":22,"tag":486,"props":576,"children":578},{"name":577},"Valid Usage (Implicit)",[579,606,645,669,705,718,731],{"type":22,"tag":491,"props":580,"children":582},{"name":581},"VUID-vkCmdEndRendering2KHR-commandBuffer-parameter",[583],{"type":22,"tag":23,"props":584,"children":585},{},[586,591,593,596,598,604],{"type":22,"tag":43,"props":587,"children":589},{"className":588},[],[590],{"type":27,"value":84},{"type":27,"value":592}," ",{"type":22,"tag":501,"props":594,"children":595},{"type":503},[],{"type":27,"value":597}," be a valid ",{"type":22,"tag":416,"props":599,"children":601},{"href":600},"/man/VkCommandBuffer",[602],{"type":27,"value":603},"VkCommandBuffer",{"type":27,"value":605}," handle",{"type":22,"tag":491,"props":607,"children":609},{"name":608},"VUID-vkCmdEndRendering2KHR-pRenderingEndInfo-parameter",[610],{"type":22,"tag":23,"props":611,"children":612},{},[613,614,619,621,626,628,633,634,637,639,643],{"type":27,"value":553},{"type":22,"tag":43,"props":615,"children":617},{"className":616},[],[618],{"type":27,"value":404},{"type":27,"value":620}," is not ",{"type":22,"tag":43,"props":622,"children":624},{"className":623},[],[625],{"type":27,"value":412},{"type":27,"value":627},", ",{"type":22,"tag":43,"props":629,"children":631},{"className":630},[],[632],{"type":27,"value":404},{"type":27,"value":592},{"type":22,"tag":501,"props":635,"children":636},{"type":503},[],{"type":27,"value":638}," be a valid pointer to a valid ",{"type":22,"tag":416,"props":640,"children":641},{"href":418},[642],{"type":27,"value":421},{"type":27,"value":644}," structure",{"type":22,"tag":491,"props":646,"children":648},{"name":647},"VUID-vkCmdEndRendering2KHR-commandBuffer-recording",[649],{"type":22,"tag":23,"props":650,"children":651},{},[652,657,658,661,663],{"type":22,"tag":43,"props":653,"children":655},{"className":654},[],[656],{"type":27,"value":84},{"type":27,"value":592},{"type":22,"tag":501,"props":659,"children":660},{"type":503},[],{"type":27,"value":662}," be in the ",{"type":22,"tag":416,"props":664,"children":666},{"href":665},"/chapters/commandbuffers#commandbuffers-lifecycle",[667],{"type":27,"value":668},"recording state",{"type":22,"tag":491,"props":670,"children":672},{"name":671},"VUID-vkCmdEndRendering2KHR-commandBuffer-cmdpool",[673],{"type":22,"tag":23,"props":674,"children":675},{},[676,678,684,686,691,693,696,698,703],{"type":27,"value":677},"The ",{"type":22,"tag":43,"props":679,"children":681},{"className":680},[],[682],{"type":27,"value":683},"VkCommandPool",{"type":27,"value":685}," that ",{"type":22,"tag":43,"props":687,"children":689},{"className":688},[],[690],{"type":27,"value":84},{"type":27,"value":692}," was allocated from ",{"type":22,"tag":501,"props":694,"children":695},{"type":503},[],{"type":27,"value":697}," support ",{"type":22,"tag":43,"props":699,"children":701},{"className":700},[],[702],{"type":27,"value":12},{"type":27,"value":704}," operations",{"type":22,"tag":491,"props":706,"children":708},{"name":707},"VUID-vkCmdEndRendering2KHR-renderpass",[709],{"type":22,"tag":23,"props":710,"children":711},{},[712,713,716],{"type":27,"value":539},{"type":22,"tag":501,"props":714,"children":715},{"type":503},[],{"type":27,"value":717}," only be called inside of a render pass instance",{"type":22,"tag":491,"props":719,"children":721},{"name":720},"VUID-vkCmdEndRendering2KHR-suspended",[722],{"type":22,"tag":23,"props":723,"children":724},{},[725,726,729],{"type":27,"value":539},{"type":22,"tag":501,"props":727,"children":728},{"type":503},[],{"type":27,"value":730}," not be called between suspended render pass instances",{"type":22,"tag":491,"props":732,"children":734},{"name":733},"VUID-vkCmdEndRendering2KHR-videocoding",[735],{"type":22,"tag":23,"props":736,"children":737},{},[738,739,742],{"type":27,"value":539},{"type":22,"tag":501,"props":740,"children":741},{"type":503},[],{"type":27,"value":743}," only be called outside of a video coding scope",{"type":22,"tag":745,"props":746,"children":748},"validity-box",{"name":747},"Host Synchronization",[749],{"type":22,"tag":382,"props":750,"children":751},{},[752,768],{"type":22,"tag":386,"props":753,"children":754},{},[755,757,762,763,766],{"type":27,"value":756},"Host access to ",{"type":22,"tag":43,"props":758,"children":760},{"className":759},[],[761],{"type":27,"value":84},{"type":27,"value":592},{"type":22,"tag":501,"props":764,"children":765},{"type":503},[],{"type":27,"value":767}," be externally synchronized",{"type":22,"tag":386,"props":769,"children":770},{},[771,773,778,779,784,785,788],{"type":27,"value":772},"Host access to the ",{"type":22,"tag":43,"props":774,"children":776},{"className":775},[],[777],{"type":27,"value":683},{"type":27,"value":685},{"type":22,"tag":43,"props":780,"children":782},{"className":781},[],[783],{"type":27,"value":84},{"type":27,"value":692},{"type":22,"tag":501,"props":786,"children":787},{"type":503},[],{"type":27,"value":767},{"type":22,"tag":790,"props":791,"children":792},"style",{},[793],{"type":27,"value":794},"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":40,"searchDepth":72,"depth":72,"links":796},[],"markdown",1773054798352]