[{"data":1,"prerenderedAt":458},["ShallowReactive",2],{"V6XMCgzGe3":3},{"title":4,"description":5,"parent":6,"cmd_buf_level":7,"render_pass_scope":9,"supported_queue_types":10,"tasks":12,"type":16,"xrefs":17,"body":18,"_type":457,"_id":4},"vkCmdEndRenderPass","End the current render pass","VK_VERSION_1_0",[8],"primary","inside",[11],"graphics",[13,14,15],"action","state","synchronization","protos",[],{"type":19,"children":20,"toc":455},"root",[21,29,163,178,183,270,403,449],{"type":22,"tag":23,"props":24,"children":25},"element","p",{},[26],{"type":27,"value":28},"text","To record a command to end a render pass instance after recording the\ncommands for the last subpass, call:",{"type":22,"tag":30,"props":31,"children":32},"code-group",{},[33,90],{"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 vkCmdEndRenderPass(\n VkCommandBuffer commandBuffer);\n","C","c","",[42],{"type":22,"tag":43,"props":44,"children":45},"code",{"__ignoreMap":40},[46,70],{"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}," vkCmdEndRenderPass",{"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":34,"props":91,"children":96},{"className":92,"code":93,"filename":94,"language":95,"meta":40,"style":40},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn cmd_end_render_pass(\n command_buffer: vk::CommandBuffer,\n);\n","Rust","rs",[97],{"type":22,"tag":43,"props":98,"children":99},{"__ignoreMap":40},[100,122,155],{"type":22,"tag":47,"props":101,"children":102},{"class":49,"line":50},[103,108,113,118],{"type":22,"tag":47,"props":104,"children":105},{"style":54},[106],{"type":27,"value":107},"pub",{"type":22,"tag":47,"props":109,"children":110},{"style":54},[111],{"type":27,"value":112}," fn",{"type":22,"tag":47,"props":114,"children":115},{"style":60},[116],{"type":27,"value":117}," cmd_end_render_pass",{"type":22,"tag":47,"props":119,"children":120},{"style":66},[121],{"type":27,"value":69},{"type":22,"tag":47,"props":123,"children":124},{"class":49,"line":72},[125,130,135,140,145,150],{"type":22,"tag":47,"props":126,"children":127},{"style":66},[128],{"type":27,"value":129}," command_buffer",{"type":22,"tag":47,"props":131,"children":132},{"style":54},[133],{"type":27,"value":134},":",{"type":22,"tag":47,"props":136,"children":137},{"style":81},[138],{"type":27,"value":139}," vk",{"type":22,"tag":47,"props":141,"children":142},{"style":54},[143],{"type":27,"value":144},"::",{"type":22,"tag":47,"props":146,"children":147},{"style":81},[148],{"type":27,"value":149},"CommandBuffer",{"type":22,"tag":47,"props":151,"children":152},{"style":66},[153],{"type":27,"value":154},",\n",{"type":22,"tag":47,"props":156,"children":158},{"class":49,"line":157},3,[159],{"type":22,"tag":47,"props":160,"children":161},{"style":66},[162],{"type":27,"value":89},{"type":22,"tag":164,"props":165,"children":166},"ul",{},[167],{"type":22,"tag":168,"props":169,"children":170},"li",{},[171,176],{"type":22,"tag":43,"props":172,"children":174},{"className":173},[],[175],{"type":27,"value":84},{"type":27,"value":177}," is the command buffer in which to end the current\nrender pass instance.",{"type":22,"tag":23,"props":179,"children":180},{},[181],{"type":27,"value":182},"Ending a render pass instance performs any multisample resolve operations on\nthe final subpass.",{"type":22,"tag":184,"props":185,"children":187},"validity-group",{"name":186},"Valid Usage",[188,205,219,240],{"type":22,"tag":189,"props":190,"children":192},"validity-field",{"name":191},"VUID-vkCmdEndRenderPass-None-00910",[193],{"type":22,"tag":23,"props":194,"children":195},{},[196,198,203],{"type":27,"value":197},"The current subpass index ",{"type":22,"tag":199,"props":200,"children":202},"normative",{"type":201},"must",[],{"type":27,"value":204}," be equal to the number of subpasses in\nthe render pass minus one",{"type":22,"tag":189,"props":206,"children":208},{"name":207},"VUID-vkCmdEndRenderPass-None-02351",[209],{"type":22,"tag":23,"props":210,"children":211},{},[212,214,217],{"type":27,"value":213},"This command ",{"type":22,"tag":199,"props":215,"children":216},{"type":201},[],{"type":27,"value":218}," not be recorded when transform feedback is active",{"type":22,"tag":189,"props":220,"children":222},{"name":221},"VUID-vkCmdEndRenderPass-None-06170",[223],{"type":22,"tag":23,"props":224,"children":225},{},[226,228,231,233],{"type":27,"value":227},"The current render pass instance ",{"type":22,"tag":199,"props":229,"children":230},{"type":201},[],{"type":27,"value":232}," not have been begun with\n",{"type":22,"tag":234,"props":235,"children":237},"a",{"href":236},"/man/vkCmdBeginRendering",[238],{"type":27,"value":239},"vkCmdBeginRendering",{"type":22,"tag":189,"props":241,"children":243},{"name":242},"VUID-vkCmdEndRenderPass-None-07004",[244],{"type":22,"tag":23,"props":245,"children":246},{},[247,249,255,257,263,265,268],{"type":27,"value":248},"If ",{"type":22,"tag":43,"props":250,"children":252},{"className":251},[],[253],{"type":27,"value":254},"vkCmdBeginQuery",{"type":27,"value":256},"* was called within a subpass of the render\npass, the corresponding ",{"type":22,"tag":43,"props":258,"children":260},{"className":259},[],[261],{"type":27,"value":262},"vkCmdEndQuery",{"type":27,"value":264},"* ",{"type":22,"tag":199,"props":266,"children":267},{"type":201},[],{"type":27,"value":269}," have been called\nsubsequently within the same subpass",{"type":22,"tag":184,"props":271,"children":273},{"name":272},"Valid Usage (Implicit)",[274,301,325,354,367,380],{"type":22,"tag":189,"props":275,"children":277},{"name":276},"VUID-vkCmdEndRenderPass-commandBuffer-parameter",[278],{"type":22,"tag":23,"props":279,"children":280},{},[281,286,288,291,293,299],{"type":22,"tag":43,"props":282,"children":284},{"className":283},[],[285],{"type":27,"value":84},{"type":27,"value":287}," ",{"type":22,"tag":199,"props":289,"children":290},{"type":201},[],{"type":27,"value":292}," be a valid ",{"type":22,"tag":234,"props":294,"children":296},{"href":295},"/man/VkCommandBuffer",[297],{"type":27,"value":298},"VkCommandBuffer",{"type":27,"value":300}," handle",{"type":22,"tag":189,"props":302,"children":304},{"name":303},"VUID-vkCmdEndRenderPass-commandBuffer-recording",[305],{"type":22,"tag":23,"props":306,"children":307},{},[308,313,314,317,319],{"type":22,"tag":43,"props":309,"children":311},{"className":310},[],[312],{"type":27,"value":84},{"type":27,"value":287},{"type":22,"tag":199,"props":315,"children":316},{"type":201},[],{"type":27,"value":318}," be in the ",{"type":22,"tag":234,"props":320,"children":322},{"href":321},"/chapters/commandbuffers#commandbuffers-lifecycle",[323],{"type":27,"value":324},"recording state",{"type":22,"tag":189,"props":326,"children":328},{"name":327},"VUID-vkCmdEndRenderPass-commandBuffer-cmdpool",[329],{"type":22,"tag":23,"props":330,"children":331},{},[332,334,340,342,347,349,352],{"type":27,"value":333},"The ",{"type":22,"tag":43,"props":335,"children":337},{"className":336},[],[338],{"type":27,"value":339},"VkCommandPool",{"type":27,"value":341}," that ",{"type":22,"tag":43,"props":343,"children":345},{"className":344},[],[346],{"type":27,"value":84},{"type":27,"value":348}," was allocated from ",{"type":22,"tag":199,"props":350,"children":351},{"type":201},[],{"type":27,"value":353}," support graphics operations",{"type":22,"tag":189,"props":355,"children":357},{"name":356},"VUID-vkCmdEndRenderPass-renderpass",[358],{"type":22,"tag":23,"props":359,"children":360},{},[361,362,365],{"type":27,"value":213},{"type":22,"tag":199,"props":363,"children":364},{"type":201},[],{"type":27,"value":366}," only be called inside of a render pass instance",{"type":22,"tag":189,"props":368,"children":370},{"name":369},"VUID-vkCmdEndRenderPass-videocoding",[371],{"type":22,"tag":23,"props":372,"children":373},{},[374,375,378],{"type":27,"value":213},{"type":22,"tag":199,"props":376,"children":377},{"type":201},[],{"type":27,"value":379}," only be called outside of a video coding scope",{"type":22,"tag":189,"props":381,"children":383},{"name":382},"VUID-vkCmdEndRenderPass-bufferlevel",[384],{"type":22,"tag":23,"props":385,"children":386},{},[387,392,393,396,398],{"type":22,"tag":43,"props":388,"children":390},{"className":389},[],[391],{"type":27,"value":84},{"type":27,"value":287},{"type":22,"tag":199,"props":394,"children":395},{"type":201},[],{"type":27,"value":397}," be a primary ",{"type":22,"tag":43,"props":399,"children":401},{"className":400},[],[402],{"type":27,"value":298},{"type":22,"tag":404,"props":405,"children":407},"validity-box",{"name":406},"Host Synchronization",[408],{"type":22,"tag":164,"props":409,"children":410},{},[411,427],{"type":22,"tag":168,"props":412,"children":413},{},[414,416,421,422,425],{"type":27,"value":415},"Host access to ",{"type":22,"tag":43,"props":417,"children":419},{"className":418},[],[420],{"type":27,"value":84},{"type":27,"value":287},{"type":22,"tag":199,"props":423,"children":424},{"type":201},[],{"type":27,"value":426}," be externally synchronized",{"type":22,"tag":168,"props":428,"children":429},{},[430,432,437,438,443,444,447],{"type":27,"value":431},"Host access to the ",{"type":22,"tag":43,"props":433,"children":435},{"className":434},[],[436],{"type":27,"value":339},{"type":27,"value":341},{"type":22,"tag":43,"props":439,"children":441},{"className":440},[],[442],{"type":27,"value":84},{"type":27,"value":348},{"type":22,"tag":199,"props":445,"children":446},{"type":201},[],{"type":27,"value":448}," be externally synchronized\n::",{"type":22,"tag":450,"props":451,"children":452},"style",{},[453],{"type":27,"value":454},"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":456},[],"markdown",1725732605169]